Changes in SpartaDOS X 4.48 (relative to 4.47) ============================================== KERNEL ------ * Added a new special build for MyIDE II with SDX stored in ROM (512kB), not in RAM (128kB) as in the regular build. * Added the Super Cart build (for now: same as SIDE2, but pass-through). * Fixed an old ICD bug in the CIO interface, Atari Font Maker now works. * Added handling of the DLI to the custom NMI handler (executed when the ROM OS is off). But it will now be handled only by returning from the interrupt immediately. That seems to be the safest way between ignoring completely and fully servicing (that last is risky, because the DLIV vector may be pointing to ROM, which is off during execution of the routine in question). * Putting the ECHO keyword before the USE keyword in CONFIG.SYS caused the USE to get ignored. Now USE is not strictly required to be the first keyword in CONFIG.SYS, it only must be executed before any DEVICE or SET. * Improved compatibility of 1 MB RAMBO and 576k Compy Shop RAM extensions with the internal BASIC on XL/XE. * Small bugfix inside hwctrl procedure (may affect MEMLO on non-passthrough hardware). * Fixed the problem which caused the MACH.COM program to display bogus values for CPU speed percentage when in USE OSRAM mode. * Corrected implementation of XIO 13 (FILE STATUS). Atari Artist now works. DRIVERS AND RESIDENT PROGRAMS ----------------------------- * SIOSET now accepts a new option WAITACK to define a custom SIO command response timeout (2 is the default). You can adjust it for devices that do not conform fully to SIO standards. For example "SIOSET WAITACK $10" will handle SIO2BT device (without using customized OS routines). * Fixed an inveterate bug in IDEPTIME.SYS (IDE+2.0 clock driver) which made reading NVRAM impossible. * TD: 1) fixed a bug in displaying the time in the US format (am/pm); 2) the seconds should now go stabler on NTSC computers; 3) fixes made to prevent occasional stability problems, especially in USE OSRAM mode; 4) I_TDON will now return (in the accumulator) the previous state of the TD Line (0 OFF, 1 ON). * ENV will now occupy 14 bytes less of the main memory at some expense in the Ext RAM. * SPARTA.SYS will now occupy 9 bytes less of the main memory (at expense of the Ext RAM). * SIO2.OVL, SIO4.OVL and SIO5.OVL will now each occupy 3 bytes less in the main RAM (as above, at the expense of the Ext RAM). * ATARIDOS.SYS: 6 bytes main saved using the same principles as above. * In case of accessing file systems larger than 32 MB (like these handled by FATFS) now the IDE+2.0/U1MB PBI XDCB protocol will be used instead of the old IDEa extended SIO addressing protocol. In either case this only applies to the PBI devices, serial drives are unaffected. LIBRARY ------- * Fixed a bug which caused the Sparta Commander to overflow the error trap stack after starting a handful of programs. The symptoms were various stability problems while using the Sparta Commander, especially hangs or reboots after a RESET. * PRINTF now accepts strings longer than 255 characters. Also ASCII 0 may now be printed out by using the new escape sequence \z. * PRINTF has a new escape sequence \i which toggles the inverse video mode on an off for the strings being printed. * Fixed a bug that caused GETDFREE to return improper values of X and P registers, when its execution succeeded. * U_GETADR can now parse expressions such as 'address+constant', 'address-constant', where the 'address' part is a numeric address value or a symbol, and the 'constant' part is a numeric constant. Therefore the utilities which use this call (BLOAD, DPOKE, PEEK, POKE, MDUMP) will now allow syntax like: 'PEEK COMTAB2-4' or 'POKE 1536+32,1'. The constant is only added to (or subtracted from) the lower 16 bits of the address, thus when the result exceeds 65535, the low word will wrap back to 0. UTILITIES --------- * CAR.COM: 1) added support for the Weronika cartridge: to run the dedicated programs, use CAR /F filename.ext; 2) fixed a problem with calculating the hash value of the internal BASIC ROM on machines equipped with 576k Compy Shop and 1 MB RAMBO RAM extensions. * RS232.COM repaired, it did not work. Apologies. * COMP.COM will now 1) display offsets counting from 0, not from 1; 2) accept 24-bit offsets to both compared files, not 16-bit; 3) use larger buffers and therefore be much faster; 4) signalize EOF on either file instead of silently quitting. * LESS.COM will now complain when the specified file does not fit in the buffer. * COMMAND.COM: 1) SET PROMPT=D$N will now automatically display a colon after the drive number, as it is done after the drive letter for $L; 2) allow the user to switch to another default device than a disk: you can now set e.g. CAR: as the default device; 3) when the default device is not a disk, its identifier will be automatically displayed before the unit number ($N) or unit letter ($L); 4) corrected spelling of the "FTe" in the welcome message (thanks, Kyle!) in COMMAND.COM. 5) ECHO FOOBAR >>FOO.BAR will now strip the extra blank it used to output at the end (thanks, mono, for pointing this out!). 6) ECHO /N FOOBAR >>FOO.BAR will also suppress the EOL. * X.COM: 1) fixed a bug that seriously contributed to the garbage visible on screen during loading programs while TD Line was active; 2) old ICD bug fixed, CLSN Pascal now works without using an external loader; 3) now sets the system variable RAMSIZ ($02E4) along with the RAMTOP when disabling and enabling the SDX cartridge ROM. As a consequence, InterLISP/65 now starts without complaining that there is a cartridge inserted, even if there is none; 4) also a slight correction which prevents screen garbage which used to occur after this: POKE 106,PEEK(106)-4:GR.0:DOS made in TBXL. * APPEND.COM will now consider the path separators '\' and '>' identical while doing string comparisons. * MAN.COM will now silently ignore non-accessible paths included in the $MANPATH (instead of exiting with an error). * CHKDSK.COM: the /V switch (and its code) has been removed, use CLX instead. * MDUMP.COM has a new switch: /R when given will cause addresses to be displayed as offsets relative to the given starting address. * When the screen is 80-column wide, DUMP and MDUMP will now display the memory contents in rows containing information about 16 bytes each. * COPY -A will now not pick directories to be copied in "flat" mode (i.e. without recursing into subdirs). Previously specifying any attribute enabled the command to pick directories and copy them as files. Thanks, Walter, for pointing that out! * The BAT command GOSUB was broken, apologies. Fixed now. TOOLKIT ------- * Fixed a minor bug in MKATR.COM, the program asked if to replace an already existing ATR file, but behaved the same regardless of the user's response. * INIDOS.SYS should now work for SIDE2. * PCLINK: the /S switch removed, this mode was buggy and it anyways was an old test code which would not work correctly in some configurations (like USE OSRAM). * Fixed a major bug in the S_VBXE driver, which caused occasional hang ups after the Reset key was pressed. * CON.SYS: 80-column mode can now survive a warm reset. * CON.SYS: fixed a bug which sometimes caused crashes when switching from a pixel mode to the 80-column console mode. * EDDY.EXE: fixed a bug in the Search function, it now works as it should. Also fixed a bug causing the file selector to crash when accessing an AtariDOS/MyDOS disk. Few other minor problems cleaned up. * RAPIDUS.SYS and 65816.SYS drivers now version 1.2 (bugfix + size optimization). * RUN.COM: added extended memory support and 65C816 support. * CHKFAT.COM: new command line tool to verify FAT file systems compatibility with our FATFS driver (see the archive with the driver). * STAT.COM will now display the estimated size of the specified file or directory in logical sectors. * MEMINFO.COM, a new tool that displays internal DOS' information about the extended RAM. * XVER utility updated for MyIDE-II builds. * KTRACE: new utility to trace SDX system calls. * RC_GR8.SYS now version 0.86: MEMTOP 245 bytes higher (= 245 bytes more free RAM when the 80-column display is active), added font loading, scrolling the display horizontally (xio 117 and 118), various fixes. * XVER made work with old (4.2x) SpartaDOS versions. * HRAMTST will now also test the linearity of a 64k segment. * HRAMSPD adds a check if the OS allows to switch the 65C816 into the native mode. * FSTRUCT will now accept attribute parameters (+/-AHPS) before the file name so that you can use the program on a file which has e.g. +H set. * New program: MD5 hash tool. * TAR 1.7: 1) fixed reporting bogus error codes (like -245); 2) fixed a problem with opening subdirectories for recursive scanning under SpartaDOS 3.x; 3) command line options may be now preceded with the slash character /, as in other SpartaDOS utilities; the - sign still works; 4) the problems with I/O redirection (TAR /TV FOO.TAR >>FOO.TXT) should be now gone; 5) corrections in date stamp conversion between the SpartaDOS format and the Unix format; 6) when no files match the given mask, TAR will now display a suitable message and do nothing instead of creating an empty archive containing nothing but the EOF mark (eventhough the latter thing is what the BSD TAR does in this situation). * New program: DU.COM, scans a directory (yes, recursively) and outputs information on the total size of the files and subdirectories inside. * SC now version 1.0.0: 1) added stripping trailing blanks in the command line before it gets passed on to the system; 2) command lines will now be remembered by DOSKEY (if loaded); 3) filenames without an ext will now get a dot appended; 4) new user functions: Fmask, cHmod, mKdir, Rename; 5) fixed a bug in Del; 6) added a requester to Edit; 7) better cooperation with RAM-disks; 8) added some colors (on VBXE); 9) added small, 24-hour clock display; 10) SC will now respect the $SCRDEF variable. Also a bugfix added in program's initialization (thanks, Walter!). 11) SAV file format changed, it should now be averagely several times smaller. 12) the Help and Shift/Help keys are now doubled as as Ctrl/I and Shift/Ctrl/I (for 400/800, where there is no Help key on the keyboard); 13) SC.INI has new keywords: EDIT= and VIEW=, with them you can define programs to be launched when the user selects Ctrl/E or Ctrl/V; 14) the macro processor can now substitute actual values for variables named in the macro string: %cs% (cursor selection), %csfile% (cursor selection, file), %csdir% (cursor selection, dir), %cdev%, %odev% (devices opened in active and inactive panel, respectively), %cpath%, %opath% (paths to directories opened in respective panels), %cmask%, %omask% (the respective file masks in both panels). 15) macros may now predefine an answer to the question "Run in 40- column mode?", if it is about to appear for the defined macro string. 16) the maximum number of macros increased to 13. ADD-ONS -------