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
-------
