📄 history.txt
字号:
* hdr/fat.h, fatdir.c, fatfs.c, fattab.c, prf.c, proto.h: + FAT32 kernels should ignore the upper word of the cluster number for FAT16 partitions (just like FAT16 kernels do) + added extra checks to make sure that invalid FAT entries are never followed + print a message in case of FAT corruption + some small optimizations and header cleanups (some suggested by Arkady) * config.c: Make strupr code unambiguous * filelist, sys/makefile, sys/sys.c, sys/talloc.c: ~1K size reduction for sys.com by using Tom's talloc.c malloc/free functions and using our own filelength for watcomc. * initdisk.c: Better (for FAT32) and simpler FAT default value calculations. Also use 16-bit instead of 32-bit quantities where possible to save code size. Use a FAT32 table so that FATs won't be too big for drives <= 64 GB * dosfns.c: Do not clobber the DTA if findfirst or findnext fails. Fixes bug #1712 * fatfs.c: Rename blockio by rqblockio (namespace conflict with dsk.c) * inthndlr.c: FAT32 kernels should fail int21/ah=71 with al=0, carry set. * hdr/portab.h, nls.c: (as reported by Tom) Fix nls upcase problem with SS!=DS. * fatfs.c: Move permission check to better place (only for necessary for opening existing files), not for creating them -- suggested by Steffen. Force r/o open for FCB and legacy creat if the file is read-only * fatfs.c: Move common code in media_check() to a new blockio() function. * fcbfns.c, globals.h, inthndlr.c: Change FcbReadWrite to handle multiple records at once; this allows for the optimization of FcbRandomBlockIO. * fcbfns.c: Divide optimisation (ceiling) + some small cleanups * fcbfns.c, globals.h, kernel.asm: Rename the global lpFcb variable to sda_lpFcb. Then use local lpFcb variables where necessary. This clears up the confusing shadowing. * fcbfns.c, inthndlr.c, proto.h: Fix FCB problems with int21/ah=27,28 (RandomBlockIO) * boot32.asm: jmp -> jmp short (necessary for nasm 0.98) * dosfns.c, inthndlr.c, proto.h: Implement support for int2f/ax=1220. Fix int2f/ax=1216 (needs sft handles, not psp handles, and to return the relative handle in BX, and to deal with carry) * boot.asm: Fix problem with FAT12+ Changes Eric Luttmann <ecl@users.sourceforge.net>: * main.c: Fix for multisegmented device drivers: If there are multiple device drivers in a single driver file, only the END ADDRESS returned by the last INIT call should be the used. It is recommended that all the device drivers in the file return the same address. This fixes a load problem with DUSE. * config.c, init-mod.h, main.c: fix for multi-segment device drivers; preserve rq_endaddr between init calls for the same driver.+ Changes Lucho: * inthndlr.c: Remove AL=0 check for AH=6c (from Arkady) Optimize DL check. * main.c, serial.asm: (with some help from Tom): initialize serial ports and retry serial reads on timeout. * sys.c, boot.asm, boot32.asm, boot32lb.asm: SYS 3.0 changes: added /L parameter to SYS to be able to change the kernel boot segment + a few boot sector changes to get the pointer at the same magic place for all boot sectors. * makefile: clean up *.lnk files for "clean" and "clobber". * dsk.c: the DJ mechanism needs to affect MEM 0050h:0004h - MS-DOS LOGICAL DRIVE FOR SINGLE-FLOPPY SYSTEM (A: / B:) Size:BYTE * int2f.asm, generic.mak: basic implementation of INT 2F/ax=4a33 - CHECK MS-DOS VERSION 7; necessary for SpinRite (Steve Gibson) * inthndlr.c: implement int2f/ax=1211 NORMALIZE ASCIZ FILENAME * config.c, init-mod.h, main.c: Added SET support to config.sys2003 Sep 24 - Build 2032a-------- Bart Oldeman (bart@dosemu.org)+ Changes Bart * fix segment problems with ctrl-c and character uppercase handlers * fix critical error callers to set the critical error code immediately before calling the handler (in case they call DOS-59); don't set the critical error in inthndlr.c if something else already did. Return with an errorcode if "truename" and "read"/"write" encountered a critical error. * sys.c: add /k kernname.sys option to and straighten out SYS option processing; remove the metakern magic. * config.c: ignore the segment part for multi-part device drivers2003 Sep 21 - Build 2032-------- Bart Oldeman (bart@dosemu.org)+ Changes Rune Espeseth <re@icd.no> (modified by Bart) * config.txt, config.c: Full screen config.sys menus (use MENUCOLOR=)+ Changes Michal Bakowski (mb@orad.pl) * initdisk.c, kernel.asm: Change the boot drive to always be C: if DLASortByDriveNo==1+ Changes Arkady * dsk.c: Use memcpy instead of fmemcpy; avoid downcasting from far to near. * sysclk.c: err if sizeof(struct ClockRecord) != rp->r_count move year init below reading the BIOS * main.c: init_device corrections/cleanups * device.h: Change r_status and dh_name to unsigned quantities. * task.c: Free memory if there is an error in the relocation table. * floppy.asm, getvec.asm, rdatclk.asm, rdpcclk.asm, wrpcclk.asm: driver .asm files optimizations (also from Bart); remove obsolete rdatclk. * build.txt: Fix some typos. * inthndlr.c: Add missing (); small optimization for DosGetdate/time.+ Changes Lucho * boot.asm, boot32.asm, boot32lb.asm, sys.c: add metakern support: sys looks for a file metakern.sys which is a multiple of 512. * break.c: Fix ctrl-break bug. * ioctl.c: IOCTL 4406 provided reverse AL output on regular files - FF if EOF, 0 if not. It should output 0 if EOF, FF if not. * initclk.c: Initclk changes * config.c, init-mod.h, initoem.c: Support for switches=/e[[:]nnnn] and for moving the EBDA * fatfs.c: Use 0x10000UL (avoids Turbo C warning) * sys.c: Move manually added "RCS" entries to the CVS log. * main.c: Adjustments for MSVC. * ioctl.c: int21/ax=440d lock/unlock logical/physical volume simulate success for MS-DOS 7+ SCANDISK etc. --LG * main.c: && should be || in check for \, / and : * task.c: Adjust registers used when starting programs. Some demos expect undocumented values (with Bart). * mscl8.mak: Forgotten HMA_TEXT for MS compilers. * sys.c: Add lock/unlock drive to SYS * history.txt: Changelog correction. * fatfs.c: Use near bpb on the stack in bpb_to_dpb. Make sure the number of FAT sectors is actually enough to hold that many clusters. Otherwise back the number of clusters down * procsupt.asm, proto.h, task.c: Don't disable a20 for "exit" int21/ah=4c+ Changes Lucho, Tom, Eric * boot.asm, boot32.asm, boot32lb.asm, makefiles, sys.c: * boot.asm modified to support non-512 byte sectors (e.g. 1.2 MB NEC diskettes) * 512 byte sector size check removed (although Eric's boot32ea.asm does require 512-byte sectors, all LBA FAT32 volumes have 512-byte sectors anyway). * boot.asm cleaned up and modified to support Metakern bsDriveNumber updated by SYS even #ifndef STORE_BOOT_INFO * (nothing in common) * SYS Now supports and includes the following new boot sectors: 1) the combined CHS+LBA FAT12/FAT16 boot sector by Tom Ehlert(29 July) 2) the CHS-only FAT32 boot sector -- as patched by Jon Gentle(08 July) 3) the LBA-only FAT32 boot sector by Eric Auer and Jon Gentle (19 July) * The old combined (CHS+LBA), no-CALCPARAMS, no-resizable, non-Ghostable, non-standard FAT32 boot sector and STORE_BOOT_INFO is no longer used. * dump_sector() showed ASCII debug printout for the old sector only - fixed. * Put a boot sector only if sector size= 512 (may it not be so in Japan?!). If non-512 byte sectors encountered, report to the fd-kernel mailing list. * Now puts boot sector before copying kernel/shell so it works in WinNT now. * check_space() now implemented at last (required significant modifications) * New (FAT type) detection method according to a MS White Paper. * Now BOOTONLY works even without preceding boot sector image file name. * Some minor code cleanups. * Bart: some cleanups to the above; replaced 386 code for CHS FAT32 by 8088 code. Use boot32lb.asm instead of boot32ea.asm+ Changes Bart * portab.h, process.h, init-mod.h, inithma.c, kernel.asm, main.c, task.c: * add support for the far jmp at "int 30" (0000:00c0) * mirror it for the HMA (ffff:00d0) * put all DOS int handler (and the CPM entry jumped to from int30) jumpers in the "CONST" portion of DGROUP (instead of LGROUP) This helps Turbo C++ 1.01 make with the -S (swap) switch. * adjustments to set the relevant PSP fields in task.c * blockio.c: Always use huge block sectors if the relevant bit is set in the device header. This solves a problem with xmsdsk. * chario.c: Small optimizations * clobber.bat: Remove duplicate clobber. * Flip some slashes for Linux compat and simplifications in makefiles * device.h, portab.h: Use STATIC=static for watcom C (statics are in the mapfile); remove some cruft. * makefile, wlinker.bat: More verbose mapfiles for watcom C; some slash preparations to allow cross-building on Linux * exeflat.c, patchobj.c: Fix warnings reported by Turbo C * break.c, chario.c, dosfns.c, globals.h, inthndlr.c, proto.h, systime.c: (with a little help from Arkady) Simplifications and cleanups. Pass a near pointer to the far pointer that points to the device instead of an SFT index (in general). Make cooked_write much faster by only testing for input every 32 characters. No longer test for ctl_s on syscon if writing to the printer: just read from the printer which will return zero characters. Fix reading/writing zero characters by returning "256" (special code). Adjust interfaces in other files. * portab.h: New UNREFERENCED_PARAMETER macro that appears to work for all compilers. * floppy.asm: Remove unused code. * init-mod.h: Solve compilation problem with Borland C++ 3.1 * config.b: "-p" is no longer necessary in config.bat * kernel.asm: Add necessary "BootHardDiskSeconds" for non UPXed kernels. * chario.c, dosfns.c: Add necessary casts to ? : constructions; cleanup read_line_handle a little. * portab.h: Add peek and poke #defines * chario.c: Fix pointer overflow problem for reading line using handle. * makefiles, exeflat.c Clean cleans a bit more; change () to (void) * main.c: Set the PSP before the DTA. This solves an interrupt vector table corruption. * kernel.asm: Use "local" (instead of "global") disable/enable A20. This solves the problems with NIOS. * asmsupt.asm, misc.c, proto.h, strings.c: Remove (unused) strncpy.2003 Jul 19 - Build 2031-------- Bart Oldeman (bart@dosemu.org)+ Changes Luchezar Georgiev * (with Bart) add extra low disk buffer to avoid HMA problems with certain device drivers. * Add an extra space character at the end of the command line for device drivers to prevent wrong behavior at empty command line. * point to a correct environment for INSTALL= (fixes problems with xmsdsk). * change device driver error code check (using S_ERROR | S_DONE) (fixes problem with the SystemSoft PCMCIA socket services driver) * correct parameter order in inthndlr.c, chario.c * INSTALLHIGH correction.+ Changes Tom * Fix a problem with the 'BootFromHarddiskIfNoKeyHit' option. that occurred with some Compaq and Fujitsu/Siemens highend equipment.+ Changes Bernd Blaauw * config.txt updates+ Changes Steffen Kaiser * NLS adjustments+ Changes Bart * Correct problem with multiple UMBs (bug #1671) * main.c: there aren't lastdrive open file handles but a maximum of 20. * Make "unable to disable A20" message #ifdef DEBUG only. * config.c,main.c: Small size optimizations (some proposed by Arkady Belousov) * asmsupt.asm: Removed unnecessary jcxz's (Arkady) * intr.asm: intr() cleanup and small optimizations (Arkady) * Use PASCAL calling convention by default for Turbo compilers. * Move more externs to header files * SFT init cleanup (+3 files need to be low) * config.c, main.c: Fix bug in block device driver init of DPBs (bug #1969, TDSK problem)2003 Jun 18 - Build 2030-------- Bart Oldeman (bart@dosemu.org)+ Changes Tom * if user left accidentally floppy or CD in drive, give him a chance to continue to boot from HD. disabled by default, enablable by SYS CONFIG (BOOTHARDDISKSECONDS)+ Changes Lixing Yuan * dosnames.c cleanup, fix for truename if the filename contains wildcards and a trailing dot.+ Changes Eric Auer * add sanity check to initdisk.c for (driveParam->chs.Sector == 0) + some display tweaks * add EECHO (echo with $=ESC) support to the config.sys parser. * distinguish between the builtin DOS version and the settable DOS version. * console.asm now accepts extended scancodes (modified by Bart, fixes
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -