Changes in SpartaDOS 4.42 (relative to 4.41) ============================================ NEW FEATURES ============ KERNEL ------ * in OSRAM mode, unless the ENV.SYS was loaded, the environment is now kept under the MATH PACK ROM. This leaves a bit more memory under the main OS ROM to load drivers. * generic interrupt vectors for 65C816 native mode are put under ROM. For now they point to a RTI. * 65C816-specific OS-es detected at startup, and a flag is set if it is allowed to use interrupts in native mode. * The new directory formatting modes are now "connected" to CIO and available in f.e. BASIC. LIBRARY ------- * Internal calls to GETENV and PUTENV are now always routed through the symbol list (this is necessary for the new ENV.SYS extension to work properly). * new library function: RENDIR (rename directory). * More error messages, and changes in already existing ones. * switches like /AB can be now given separately /A /B * new symbol: XCOMLI * FCLOSE on a non-opened file won't generate an error now. * Error messages are now stored on CAR: in a plain-text file, and the library uses $SYSERR to locate this file. * PRINTF now recognizes the following Escape-sequences in strings: \a, \b, \e, \f, \n, \r, \t, \\ FORMATTER --------- * The formatter can now verify, if the drive can really execute the formatting with the parameters selected by the user. In Std and High mode it will be verified before, and in the UltraSpeed mode - after formatting. (this is because of the format protocol differences between Std/High and UltraSpeed, sorry). DRIVERS ------- * Minor improvement in QUICKED.SYS. * CON64.SYS and CON80.SYS are now responsible for reconfiguring the screen and memory pointers when X.COM switches the library module off and on, and the console is under their control. * CON64.SYS i CON80.SYS provide new functions for user programs, and both are a bit faster. * SIO drivers reorganized: instead of three separate SIO.SYS, SIOOLD.SYS and SIO2.SYS, the user will see only one SIO.SYS, which in turn loads appropriate SIO module depending on parameters passed to in the CONFIG.SYS file and depending on the memory configuration. * OS SIO can now be used in OSRAM mode, even if the buffers are located under the ROM. * RAMDISK.SYS split into three modules: for 6502, for 65C816+standard OS and for 65C816+customized OS. That last leaves interrupts on when switching to the native mode. * The 6502 RAMDISK.SYS module uses now around 150 bytes less main memory than before (MEMLO 150 bytes lower). * SPARTA.SYS now always keeps the DISK and FILE structures under the MATH PACK ROM, when USE OSRAM was selected. Previously these structures were put to the same memory where the disk buffers were kept. * SPARTA.SYS can now output the file's length as the full, ten-digit bytecount (previously: only six-digit byte count for files smaller than 1 MB, or kilobyte count for greater ones) in the long directory format. * New driver: ENV.SYS, provides 16k for environment variables. * New driver: DOSKEY.SYS, provides command history buffer for COMMAND.COM, multiple commands per one command line and command aliases. UTILITIES --------- * X.COM, when the screen memory is not GR.0, now asks the CON: driver to reconfigure the memory when the library bank is being switched off and on. * X.COM, when used with /C switch, clears now all the memory from MEMLO to MEMTOP, $80-$FF & pages 4,5,6. * MAN.COM now displays the list of available manuals when invoked without an argument. /? displays help and copyright information. * MAN.COM can now use external text viewer. * MAN.COM now accepts commas as separators in $MANPATH. * FSYMBOL removed, its functionality integrated with shell's PEEK command (try PEEK symbol_name). * CON64.COM and CON80.COM, controlling the 64- and 80-column screen drivers, replaced with a single utility CON.COM * New internal command in COMMAND.COM: RENDIR. * The batch command FI is now incorporated into the COMMAND.COM. * IF has now MSDOS-like string comparisons. * MENU.COM now works properly on 64- and 80-column display provided by the CON??.SYS drivers. * DF.COM has new switch: /A, try it. * New version of SORTDIR.COM, even very long directories (~1400 entries) should now fit in the buffer. * In DELTREE.COM the /Y switch suppresses the confirmation request (MS-DOS like). * DELTREE.COM can now delete directory trees containing more than 256 nested levels (limited by available memory, practical limit somewhere between 2000 and 3000 levels). * The COMMAND.COM now supports pipes, try DIR | MORE. * The COMMAND.COM now adjusts the directory listings according to the screen width (try DIR in 64 col. mode for example). * Environment variables typed in the command line at the DOS prompt and prefixed with the $ character will get evaluated and their value is substituted (try "ECHO $PROMPT"). * '-' is now special filename for COMMAND.COM, the pipe filename is substituted for that. Try "DIR | TYPE - /P" or "DIR | ARC A PIPE -" * COPY has a variety of new options: /DIMNQRV and can copy or move entire directory trees recursively. * New utilities to dump/restore ramdisk: RDDUMP and RDLOAD. * New text viewer utility: LESS (better than MORE). * New text filter: FMT BUGFIXES AND THE LIKE ===================== ICD bugs, available ;) at least since 4.20 ------------------------------------------ * If a file was opened R/W, it was possible to read past the EOF and these reads actually enlarged the file adding zeros to its end. * If FOO file existed in current directory, doing MKDIR FOO replaced the file. * It is now not possible to rename a file to FOO, if a directory FOO exists in the same directory, and vice versa. * It was possible to use FOPEN to create a file with the +S attribute set - and CLEANUP is not able to fix that! * In OPEN #1,x,0,"D:FOO.BAR" any value of 'x' was accepted, and most of them (0 for instance) actually created an uncloseable file (= invalid directory entry). * Hitting RESET when a file was opened for write used to leave an invalid directory entry on the disk. RESET now closes all files cleanly. * In DIRS listing, when the sector count of the file's length exceeded 999, three last digits of the actual sector count was printed. It will now be "999". * MENU.COM now properly handles directory names with extensions (like SPARTA.DOS>) Fresh DLT bugs -------------- * Eliminated zero-page conflict between CON64.SYS and some programs (like TAR.EXE). * The bug in CON80.SYS causing problems with reading text lines longer than ~175 characters from the console is now fixed. * The bug in SPARTA.SYS allowing to rename protected directory entries in certain circumstances is now fixed. * Unsetting the $DAYTIME variable now properly resets the date/time format to default (i.e. EU). * Wrong formatting for the "DIR" text in the oldstyle (not the default) DIRS directory listing is fixed. * MEM.COM assumed $FFFF as the top of RAM in OSRAM mode, this is wrong, fixed. * Fixed a typo in COMMAND.COM preventing $COPY from being evaluated correctly by the internal COPY command. * DELTREE.COM no longer resets the current directory to '>' when invoked inside a subdirectory. * COMMAND.COM now does not accept invalid dates and times in DATE and TIME commands. * COPY,,d: works again. * INDUS.SYS is back to the default configuration file (it is necessary for Happy drives to work properly). * On the UltraSpeed format command the formatter will no longer feed the drive with random values in the unused part of the buffer (it is now zeroed). * The NUL: device now properly sets the number of bytes read by FREAD. This makes commands like "COPY NUL: fname.ext" work properly. * Making NUL: acknowledge the SEEK operation in 4.41 was wrong, reverted the change. DUMP corrected to justify that.