THINGS TO DO ============ * ED CO*.* opens the file but saving (obviously) fails * New text editor * Ramdisk for TF 2005 internal RAM * CON80.SYS is buggy as hell. * TYPE /P and MORE do not count long lines correctly * ICD: ARC X sometimes crashes when unpacking long files. * ICD: ARC A has sometimes a problem packing such long files. * ICD: ARC can only access archives which are located on real disks. * COPY does not preserve file's attributes (especially +P) - should it? * ACTION monitor doesn't display commands if QUICKED is loaded. * Reading raw directory from CAR: reveals bogus file sizes. * MYDUP.COM only works when COMEXE.SYS is loaded. * JIFFY.SYS, when running overnight, allows the date to turn e.g. to 31 November. Changes in SpartaDOS X 4.43 (relative to 4.43rc2) ================================================= KERNEL ------ * SpartaDOS X should now work on SECAM Ataris (equipped with FGTIA). DRIVERS ------- * ARCLOCK.SYS will now reset the clock to 1-Jan-2000 00:00:00 when it discovers that the current setting is invalid (i.e. when the chip is first powered). * Fixed buggy ATARIDOS.SYS code that was to be finding end of VTOC on MyDOS disks. Plus the driver will now report to the system the correct value of total sectors on disk (previously it was equal to the initial number of free sectors). UTILITIES --------- * DOSKEY has a new parameter: when you pass an /X switch at the end of the parameter line while loading DOSKEY, a special shortcut will get activated: every empty line (containing EOL character alone) will be translated to a "DIR" command, and executed. * COPY /M will now always clear the archived-bit (+A) on moved files. Changes in SpartaDOS X 4.43rc2 (relative to 4.43rc) =================================================== TOOLKIT ------- * New utilities: DELDUP.COM, DD.COM * New driver: PCLINK.SYS * Updated with numerous "old" (already existing) utilities KERNEL ------ * CIO "Get record" will now return error 137 ("truncated record"), if the buffer fills before an EOL is read. Previously the error was not signalled and causing problems with functions like INPUT in BASIC (old ICD bug). * CAR: caused wrong error to be reported when a non-supported function was invoked (old ICD bug). * CAR: now supports FILELENG. * Any kernel device may now request the getc/putc operations to be buffered by the kernel. Previously the buffering was limited to DSK: and CAR: devices. * new kernel function: $14 kchvol (change volume name) LIBRARY ------- * _CRUNCH (also known as ZCRNAME, the backward-compatibility routine to parse command lines) will now act upon arguments as follows: - device names which can be directly translated to CIO devices, will be translated so: DSK: -> D:, CON: -> E:, PRN: -> P: - device names which cannot be translated directly, will be prefixed with a "D": CLK: -> DCLK:, CAR: -> DCAR:, NUL: -> DNUL: Previously everything except CON: and PRN: was translated into D: which didn't make much sense. * New library symbol and function: CHVOL (change volume name) * Symbols CARVARS and S_CLEAR have been removed. * It is now possible to read the Help key or Shift/Ctrl+key combos via U_GETKEY routine. DRIVERS ------- * DIR will now display more correct lengths of files, when done for an AtariDOS disk. The previous versions simply multiplied the amount of sectors by 128 in SD/ED and by 256 in DD, while they should have done mul by 125 or 253 respectively (old ICD bug). * Files written to an AtariDOS disk should now get correct sector count in the directory (old ICD bug). * SIO drivers no longer force device type to "disk drive" (DDEVIC=$31), this is now set by kernel drivers (such as SPARTA.SYS). * SIO now properly handles data transfers of any size. It was previously limited to 2-256 bytes and a multiply of 256 bytes. * Default SIO NMI threshold index is back set at 8. Problems were reported with threshold set at 6 and SDrive hardware. * QUICKED.SYS and Z.SYS are no longer dependent on XL OS call PENTV ($E486). * ARCLOCK.SYS now performs the clock recognition and does not load when none is found. A new option /F (force) bypasses this test. * RTIME8.SYS does not load when Maxflash8 hardware is used. This has been introduced to prevent hang-up caused by hardware conflict. UTILITIES --------- * FSTRUCT sometimes interpreted relocatable files incorrectly and failed to report an error. This counts for two bugs fixed. * ED should now work correctly with the old OS (on 400/800). * COMP will now recognize two new parameters, the syntax is: COMP [d:][path]fname1 [d:][path]fname2 [offset1 offset2] where "offset" is the initial offset to start reading both files from. The default offsets are 0. * DEV is a new utility to display information on kernel devices. * SORTDIR will now strictly require its "path" parameter to be terminated with a path separator (">" or "\"). * AUTOEXEC.BAT will now be executed before displaying the DOS prompt. * DELTREE internal operation changed so that the program can now be used on non-disks. * COPY sometimes picked up deleted directory entries as files to copy. Also the cosmetic issue sometimes appearing when doing COPY /R should now be gone. * COPY has a new switch: /B backup mode, which: 1) skips source files which have +A set, 2) source files, which are not skipped, are marked +A. If /BR is specified, copied directories are not automatically marked, but these which have +A set, are skipped. /B automatically disables /M (move). * COMMAND.COM, once entered, will now search for the env variable $SCRDEF$ and, if found, fetch from it the display's foreground and background colors respectively. The variable should be defined as follows: SET SCRDEF=fc,bc where 'fc' is the Atari palette numeric value for the foreground color and 'bc' is the corresponding value for the background color. * COMMAND.COM now features a switch to the CLS command: if /F is added (as in "force"), then the screen will get re-initialized instead of getting cleared (the code will perform GRAPHICS 0 rather than ? CHR$(125)). Changes in SpartaDOS X 4.43rc (relative to 4.42f) ================================================= KERNEL ------ * SDX hardware handling procedures have been moved from CAR: utilities (CAR.COM, X.COM, COMMAND.COM) to the kernel, which now is the only hardware-dependent part of the system (SDX128, Maxflash etc.). * If the external cartridge is of Maxflash 1MB type, it will be properly switched off when returning to DOS. DRIVERS ------- * SIO routines have been optimized to support transfers at higher speeds. UTILTIES -------- * S2S.COM: New utility for users of SIO2SD interface (similar to S2I). * CAR.COM: MAC/65 cartridge hang-up has been eliminated. Its variables stored on page 4 during boot-time initialization could have been overwritten. Now, if CAR or BASIC command is run and CAR.SAV or BASIC.SAV does not exist, the cartridge (or BASIC) is cold initialized. * CAR.COM: CAR and BASIC commands have the new option "/I" which forces cold reinitialization and skips reading .SAV file, if one exists. * SIOSET now has an option to set the lowest high speed index at which NMI interrupts are intact. This index now defaults to 6 (it used to be 8). Below the value NMIs are turned off to keep time requirements for high speeds. Increase the threshold if you experience transfer errors or lock-ups at the corresponding speed. Decrease the value if you want to keep NMIs on, what is required by some programs (may affect transfer reliability). Usage: SIOSET NMI [index]. Changes in SpartaDOS X 4.42f (relative to 4.42e) ================================================ TOOLKIT ------- * New file: MAKE.BAT, a BAT file example (kindly provided by Tomo Hornacek) * New file: X.BAT, another BAT example (the one printed in the manual) * Update: CLX17C.ARC * Moved from CAR: CON80.SYS * Moved from CAR: INIDOS.SYS (also updated) * Moved from CAR: INVERSE.COM DRIVERS ------- * CON80.SYS moved to the Toolkit. * INDUS.SYS updated, now 68,2 kbps is available for CA-2001 drives. * CA2001.SYS removed - not needed anymore (see above). UTILTIES -------- * TIME command now allows to omit seconds (00 is assumed). As a side effect, DATE now allows to omit the year (you guessed it, they use the same procedure to fetch the user input). * PWD: new utility (or rather an old one, made by Lizard, and now finally found and imported into the cartridge). * DOSKEY will now clear the screen when you use Shift/Clear key combo. Also version number bumped to 1.0. * COMMAND.COM: the SWAP command will now operate on all 15 drives. * INVERSE.COM and INIDOS.SYS moved to the Toolkit. BUGFIXES -------- * COMMAND.COM: DATE won't accept four-digit numbers as the year anymore. * COMMAND.COM: env. variable evaluator was able to overflow the line buffer. * ATARIDOS.SYS: AtariDOS directory header used to have random date stamp when it should have none. This was normally invisible unless someone opened the directory for direct reading. * LESS.COM didn't close the file before exiting. This is normally harmless as long as LESS is executed from COMMAND.COM (which closes all files after its "child processes"). Changes in SpartaDOS X 4.42e (relative to 4.42d) ================================================ TOOLKIT ------- * CLX17B.ARC: CLX 1.7b * TAR15.ARC: the TAR archiver, now version 1.5 FORMATTER --------- * "High" density added to the list of available densities. UTILTIES -------- * SORTDIR.COM will now refuse to sort Atari DOS 1.0/2.0/2.5 directories, as this operation destroys the DOS I/II file system structure. * COMMAND.COM will now colorize the directory listings, when running on the VBXE 80-column console. Do SET DIRCOLORS=d,f,pd,pf to enable, where 'd', 'f', 'pd' and 'pf' are Atari palette numeric color values for directory, file, protected directory and protected file entries respectively. BUGFIXES -------- * EXIT when executed not in a batch file produced a spurious "No function in device handler" message. * DIR /W sometimes didn't list the directory, if the first directory entry did not have the date/time stamp. * A patch proposed by Flashjazzcat has been applied to TD.COM: the program should not crash anymore when the DL contained a JMP instruction. Changes in SpartaDOS X 4.42d (relative to 4.42) =============================================== TOOLKIT ------- * APETIME.SYS, BSDTIME.SYS: read time and date from APE and SIO2BSD. * MYDUP.ARC: MyDOS-like menu for MyDOS lovers. ENHANCEMENTS AND NEW FEATURES ============================= KERNEL ------ * $MAXDRV=O: specifying the maximum available drive is declared at startup. * $MANPATH=CAR: is declared at startup in Maxflash 8MB builds. * COM: device (undefined anyway) has been removed from the internal device table. LIBRARY ------- * The forward slash ("/") character found at the beginning of the line is now considered a valid parameter. Thanks to that it can be now defined as an alias in DOSKEY.SYS (users accustomed to DOS II+/D may want to define such an alias for DIR). * MALLOC is now able to automatically align memory blocks to page boundary. * U_LOAD is now able to automatically align binary blocks to page boundary (the SDX binary header defines an additional flag for that). * New error condition: 183 Environment full (cure that by loading ENV.SYS) FORMATTER --------- * Automatic switch to another sector skew will now only occur, when the drive responds with NAK to the FORMAT DISK command (and not just on any error). Any other error will abort formatting. * When VBXE driver (S_VBXE.SYS from the Toolkit) is loaded, the formatter will use it to temporarily disable the 80-column display, so that it does not interfere with formatter menu. * It is now possible to select "Dual" density for a stock 1050. * DD 512 bootloader updated so that it can be booted from a PBI hard drive even under stock XL OS (provided the drive's BIOS respects DBYT $0308/9). DRIVERS ------- * SPARTA.SYS directory formatting routines provide now three more places for free sector count in directory listings (purpose: future file system extension). * RAMDISK.SYS uses $MAXDRV value as the default ramdisk drive spec (or O: if not declared). * SIO.SYS: when the transmission speed has not yet been determined, SIO first sends GET STATUS and gives up immediately when it timeouts. This saves time when scanning all the drive identifiers when most of the corresponding drives are not connected. * QUICKED.SYS now copies the "E:" vector table via HATABS entry, not directly from the ROM. This should make it cooperate better with other "E:" drivers. UTILITIES --------- * MEM /X displays the amount of free banked memory in kilobytes. * DF and CHKDSK (without /X) now display the total capacity and free space figures in KB, rounding the numbers up as necessary. * When listing the archive's contents with ARC V, if the screen is wide enough (64 columns or more), the complete listing is displayed, like on the PC version. * ARC provides more places in the archive listing for the length of the file (8 now, like the original), also on 40 columns. * COPY now forbids using +S for the source filespec (this was useless). * COPY /R now displays the source filespecs of the directories being copied. * COPY /A disables ANTIC DMA during copying. * COPY /M now forbids a filename in the destination filespec (MOVE is not a RENAME). * COPY /M now forbids to specify the same directory as both source and destination. * TD now evaluates $DAYTIME after every TD ON * X should not produce ugly screen blink/flicker when switching the cartridge bank on and off anymore. * X now does not change Antic's DMA state when switching the cart bank on/off (this is VBXE 80-column display support). * X will now always setup the OS memtop ($02E5) value as if the GR.0 console was active, and allow the "E:" driver to change it later, if appropriate. This solves problems with memtop value under various screen drivers. * COMMAND.COM: the '$'-character can be now used to terminate a name of an environment variable, so that it can be referenced not only as $var but also as $var$. This makes possible to insert a variable into a longer string which does not contain usual path separators (try ECHO $BOOT$;$PATH on 4.42 and 4.43 to see the difference). * COMMAND.COM: the PEEK command will now behave identically whether given a symbol or an explicit numeric address. The symbol will be first translated into an address, and then PEEK will proceed with this address normally. Data to be displayed is fetched from the memory the symbol points to. * DOSKEY does not use the LOGCOL OS variable anymore. This should improve its compatibility with XEP-80 drivers. * KEY does not buffer keystrokes generated by auto-repetition. * DF scans the drives up to $MAXDRV (or up to O: if not declared) BUGFIXES AND THE LIKE ===================== ICD bugs -------- * MALLOC now uses OS memtop ($02E5) instead of an internal variable to check if the allocated block fits in the conventional memory. This solves MALLOC's problems with finding the top of RAM when the console uses other screen mode than GR.0 (aka "after CON64.SYS gets enabled, CLX crashes instead of reporting out of memory error"). * FORMATTER now zeroes DAUX1/2 before sending the FORMAT DISK command. This should improve compatibility with non standard floppy drives. * %b in PRINTF printed a space instead of the zero in numbers like n0n (e.g. 100, 101, 202 etc.). This is why PEEK 709 displayed "2 2" instead of "202". DLT bugs -------- * SORTDIR, when invoked without arguments, now behaves as described in the manual (i.e. displays available options instead of sorting the current directory). * COPY, when the source file is CON:, NUL: or the like, now assigns current date/time to the file created (instead of assigning its own datestamp). * when COMMAND.COM was made resident, every VER after the first one produced wrong results. * MENU had problems when the user selected the "View" option, and hit Break when it was displaying something. * MENU: if FileSpec wasn't "*.*", tagging a file made it disappear from the directory listing. * MENU: the FileSpec "window" was not correctly cleared after redefining the mask to a shorter one. * MAN will now not abort searching through $MANPATH, when it encounters an inaccessible directory. * RENDIR now updates the header of the directory being renamed (that was forgotten before; when doing a DIR in it, the listing used to show the old name; use CLX to repair that). * the /W switch is now disabled for DIRS. * DOSKEY crashed when a line longer than 256 characters was typed in. The length of the line is now limited to 64 characters (that's the supported amount). * DOSKEY, when fed with multiple commands (separated with '&') in one line, was supposed to switch the echo off during execution, but did that only for the first line typed so. * Library: PRINTF now _really_ prints a "%" when it meets a "%%" in the string, as described in the programming manual.