What's new in SpartaDOS 4.40 ============================ News in no particular order. KERNEL ------ * handle 128k cartridges and Maxflash cartridges. * fixed the banked memory management so that all PORTB-based memory extensions are handled properly. * the user can now force the DOS to use the specified RAM bank when in BANKED mode. * the CONFIG.SYS file can now contain comments: any line starting with a semicolon is ignored. * the default CONFIG.SYS is now stored as a file on the CAR: device and loaded from there instead of being hardcoded inside the kernel. * CONFIG.SYS selection mechanism integrated with the kernel: if there's a subdir named SELECT.CFG in the main directory of the boot drive, and it contains *.CFG files, a menu is displayed allowing the user to use any of the *.CFG files instead of the main CONFIG.SYS file to configure the system. * do not force boot drive number to D1:, unless it is unset by the OS. * make CRUNCH recognize a comma as an argument separator in command lines. * new symbol U_GETKEY pointing to a routine reading a byte from the keyboard. Make it to be done through HATABS. COMMAND.COM & friends now use the symbol. * new symbols: COMTAB2, DEVSPEC, DEVNAME giving access to new variables and device tables. * detect and use the 65C816 CPU for faster DOS initialization, if present. Also set a flag (at COMTAB2+$B4) for programs, indicating the presence of this CPU. * fixes to load CONFIG.SYS from extended FS. * fixes to use 15 disks. * an attempt to overwrite DOS kernel or I/O library while loading a file aborts the loading and causes the error 179 "Memory conflict" to occur. * new version of the SpartaDOS filesystem (2.1), able to cope with sectors greater than 256 bytes, implemented in the formatter's BUILDDIR function. * new density (DD 512) added to the formatter's menu. * PRINTF has a new subfunction: %L - print long (32-bit) decimal. * NUL: (null) device is now available; writing to the device has no effect, reading from NUL1: (NUL:) causes end of file error, NUL2: returns unlimited zeros, NUL3: returns unlimited random bytes. * closer integration of the SpartaDOS-specific devices (CON:, PRN:) with the underlying OS. Installing any E: driver changes the CON: driver now as well. * the international charset is now usable in OSRAM modes (in SPARTA OSRAM only if not more than 6 buffers are defined). SPARTA.SYS ---------- * fixed to access 15 disks (A: - O:) * implemented new, extended version of the SpartaDOS filesystem, able to handle 512-byte sectors. Partitions up to 32 MB are now possible. * implemented user-selectable date/time formatting for directories. * for files larger than 999999 bytes, display the file size in kilobytes when listing the directory. * added new function of the misc entry: 32-bit integer to decimal ASCII conversion (misc 11). * the MKDIR bug (wrong status code in the new directory header) is fixed. * the RMDIR bug (while removing a directory, the status byte was set to a value identical as for a deleted file, so you could never undelete a directory reliably) is fixed. * the ERASE bug (when the file being deleted was marked as "boot", the boot pointer in the bootsector remained unchanged) is fixed. * the GETCWD bug, causing it to omit filename extensions in the path returned, is fixed. * the RENAME function is modified so that you shouldn't be able to generate two (or more) files with the same name using the RENAME command. * fixed the bug in directory formatting routines causing it to screw up displaying the year number in the directory listing. * fixed the 'Y2K' bug in directory formatting (when year == 2000, the datestamp was not displayed). * ODATER/OTIMER/TDOVER are back. * FS inconsistency no longer causes the DOS to halt, it now aborts the operation and displays an error 181 "Filesystem corrupt". * warm reset no longer resets current directories. * the SEEK (i.e. POINT) function should now be much faster on very long files. DRIVERS ------- * XEP80.SYS fixed to work with PAL computers. * RAMDISK.SYS and SIO.SYS fixed to access 15 disks. * RAMDISK.SYS uses 65C816 block move instructions if the new CPU is present. * RAMDISK.SYS now defaults to the O: drive. * new SIO driver SIO.SYS featuring better serial speeds control and other nifty stuff. * new COMMAND.COM extensions: RUNEXT.SYS and COMEXE.SYS. The former provides custom filetype associations, the latter automatically manages the module while executing an *.EXE file. * new driver: ARCCLOCK.SYS (ARC clock driver) * new driver: CA2001.SYS (CA-2001 Synchromesh) * new driver: PBI.SYS fixing the problem with burst transfers from a harddisk to the memory at $D800-$DFFF. * new driver: Z.SYS, allows you to access the time/date functions from BASIC (compatible with the old ZHAND from SpartaDOS 3.2). * new driver: QUICKED.SYS, a software screen accelerator. UTILITIES --------- * imported available utilities and incorporated into the CAR device. * make DUMP.COM recognize the /A switch (activating the ICD's code present in the program, but not actually used). * fixed a bug in DELTREE.COM causing it to hang occasionally (DELTREE is former KILLDIR). * INIDOS.SYS cleaned up, made more idiot proof. It can now initialize the Maxflash version also. * CHKDSK command removed from the command.com and added as a separate and a bit more sophisticated program (try CHKDSK /B). * minor cleanups in MDUMP.COM. * CHVOL.COM and RPM.COM fixed to work with the new FS. * TD.COM fixed to be Y2K compliant. It now also exports new symbol I_TDON, so that user programs might control the TD Line externally. * similar thing made to KEY.COM (I_KEYON is the symbol exported). Some cleanups made, too. * COMMAND.COM is now extensible. * preceding a binary filename with a # in COMMAND.COM now forces the SDX module to be switched off before loading. * the COMMAND.COM can now do ECHO ON/OFF while executing batch files. * cleanups in FIND.COM * fixes in the DF.COM related to 15 disks and other problems. * CAR.COM now can execute internal BASIC properly even if the computer has a 1 MB RAM extension. * CS.SYS obsolete, now integrated with the kernel. * quite a few new utility programs added. * UNERASE.COM famous bug (described by Nelson Nieves in 1991) is fixed. ENVIRONMENT ----------- 1) CAR=d:>CAR.SAV, BASIC=d:>BASIC.SAV These variables used to point to the I: drive in a fixed manner. Now they are set by RAMDISK.SYS to the actual ramdisk drive number (O: by default), unless already set by user. 2) COMSPEC=CAR:COMMAND.COM This variable does not get set by the system now - you can still define it on your own, though, and its function is the same as before. 3) COPY=d:>path>fname.com Should point to an existing executable. If defined, the Command Processor uses this executable instead of its internal COPY command. 4) DAYTIME=1 or DAYTIME=2 Selects the date/time format for SPARTA.SYS and the Command Processor. 1 is MM/DD/YY and 2 is DD/MM/YY. 5) TEMP=d: Points to the disk where temporary files are welcome. Set by RAMDISK.SYS to its drive number (O: by default) unless it was already set by user before. CREDITS ======= - based on works done by: Prof!, MMMG, DLT Ltd. - new code and design: DLT Ltd. - hardware: Pasiu/SSG, Jad, Zenon/Dial, DLT Ltd. - hosting: krap.pl - devtools: DLT Ltd., Tebe/Madteam, others - other support: Epi/TRS, Krap, Mikey, Pin/TRS