Changes in SpartaDOS X 4.46 (relative to 4.45) ============================================== KERNEL ------ * CONFIG's keyword MERGE now allows merging portions of CONFIG.SYS from arbitrary drive/path. Details: The merged config file will be read using SDX device drivers, not OS routines (as before). This allows drives/partitions that are accessible only via SDX drivers (SIDE, MyIDE etc.) to hold the merged configuration part for easy change. The main config should contain USE command (memory configuration), device drivers (such as DEVICE SIO, DEVICE SIDE) and then "MERGE filename.cfg" to attach the device-resident part of the configuration. Additionally, in case the filename contains either a device name, a drive number or a path, the merged config will be loaded using SDX filesystem drivers (such as SPARTA.SYS). This way a file from a different directory/filesystem can be merged (for example MERGE D2:>CONFIG>XTRA.CFG). Note that this requires SDX filesystem driver to be loaded earlier (DEVICE SPARTA). Also beware that the merged files cannot exceed 1KB. If just the filename is given (like in previous SDX versions), the filesystem drivers are not used to get the merged config. In such case the merged file must be located in the same directory as the file that merges. If the file is merged from the default config (CAR:CONFIG.SYS), it should be stored in the root directory of the boot drive. If no file name is given (MERGE without a parameter), SDX config selector is invoked to let you choose from multitple CFG files stored in SPARTA.DOS directory (see the manual for details). Note that in case of OS-compliant boot drive, the config selector is shown regardless of MERGE command. If a user hold OPTION key during system startup, no files are merged. * Expanded support for standard RAM extensions: internal variables now not only hold the current number of free extended banks, but also the default one. Thanks to that, MEM can now display the information how much ext RAM is there in general (not only, what is free, as before). * Added support for 65C816 high RAM: when 65C816 is detected, the DOS will now do a non-destructive sizing of that memory at reset time and store the following information on that: the starting segment number (such as $01 when the high RAM starts at $010000), and the number of extra segments besides the segment 0 (i.e. besides the 6502 conventional 64k space). Both numbers are 0 when nothing is detected. Again, MEM will now use this information, if applicable. * Added experimental support for an Axlon-type extension on XL/XE computers. The controlling register should be at $CFFF (write-only), and should only be active when PB0=1. Unlike on Atari 800, there is no shadow assumed at $0FC0. The extension is only tested for when the test for a standard type extension returns 0 banks. Up to 127 extra banks (2032 KB) can be detected. When Axlon is detected, only two memory configurations are possible: USE NONE or USE BANKED. USE OSRAM is ignored. * MEMLO somewhat (around ~40 bytes) lowered. * 16kbyte cartridges (Microsoft Basic II, Logo, etc.) will occupy memory from $8000 only when they are active, i.e. when CAR command is invoked. Such cartridges caused a lock in SDX 4.4x or reserved the area upon bootup even when they were inactive (SDX 4.2x). DRIVERS AND RESIDENT PROGRAMS ----------------------------- * the serial I/O driver will now always have the lowest possible priority among all the other SIO-like drivers (ramdisks, SIDE/MyIDE drivers and such), regardless of the order of loading. * directory formatting routines, when writing the final "FREE SECTORS" line to the output buffer, will now zero out the status byte in the directory buffer. This enables programs which read the formatted directory byte by byte to detect the final line of the directory listing before its is completely read out. * INDUS.SYS did not work, fixed. Also, in default CONFIG.SYS, the number of drives to scan for the INDUS.SYS has been limited to 4 (D1:-D4:). If you want it to act on higher drives, edit the CAR:CONFIG.SYS and change or remove the parameter digit in DEVICE INDUS line. * File system drivers modified to return DOS 2.0 "status $03". The effect is that Turbo BASIC XL "BLOAD" command now works. * RAMDISK.SYS fixed to work with Axlon extension (this was broken, apologies). * RAMDISK.SYS has a new switch: /S forces loading the "standard" 6502 RAM driver module even on 65816 machines. The 6502 module is much slower, but has an advantage of occupying much less memory than 65816 mods. * CON64.SYS now works on computers with Axlon extension. * ENV.SYS now works on computers with Axlon extension. * ATARIDOS.SYS will now mark zero-length files in the directory as occupying 1 sector, not 0 sectors as before. LIBRARY ------- * S_NEXT, new symbol to walk through symbol list. * S_ADD now does not add a symbol, if there is not enough memory left to create one. * U_LOAD (and its equivalent located inside X.COM) will now store an absolute path in 'path' ($07a0) to the directory where the executable is residing. Therefore a program will be able to easily retrieve its path upon execution (provided that no other I/O was done in meantime). This seems to fix the problem with MyDUP requiring COMEXE.SYS to be resident: it should not require that anymore. * SLEEP, new symbol to make precise delays. * BLDDIR_P, new symbol to build directories overriding the device-returned PERCOM block. * BUILDDIR will now correctly mark double sided disks as double sided. UTILITIES --------- * COPY: when a file being copied has no timestamp, current time and date gets assigned to it. * MEM /X will now display the total amount of extended RAM in banks and kilobytes, besides the free amount. * MEM /X also displays the amount of 65C816 high RAM, if applicable. * ED will not quit after Esc/Return, if saving the file fails. Also Shift+Delete will set modification flag. * X.COM experimentally shortened by moving a portion of code to the cart. * CHKDSK /X display blurp underwent some cosmetic changes. Plus some bugs fixed related to correct distinctions between physical sectors and logical clusters. * DF: changes similar to the ones made to CHKDSK, internal changes of code which deals with logical and physical sector size calculations. * DATE and TIME syntax is now "DATE [/T|dd-mm-yy]" and "TIME [/T|hh:mm:ss]", respectively. When used with /T parameter, will now only display current date or time and will not prompt for entering new values. When fed with a valid date/time value in the command line, it will set the specified value as current. * PAUSE now optionally accepts a number of seconds to wait, ranged from 0 to 65535. * TYPE /P and MORE should work better when displaying text files containing long lines. * ARC will now no longer ask if to overwrite a file when unpacking an archive to NUL: * ARC is now able to fetch files to be archivized from any file-oriented device, not only from regular disks (DSK:) as before. * DELTREE has now more MS-like syntax: DELTREE [/YV] [d:]path. The /V switch enables a "verbose" mode, which allows to watch what files are currently being deleted. * DELTREE now displays complete pathnames of the directories being deleted, and files too, if asked to (see above). * MENU should no longer accept random garbage it finds in the directory buffer, when it fails to load the directory selected. * LESS has a new function: when you press the 'G' key, you'll be prompted for a line number the viewer should jump to. * LESS now expands TABs rather than converting each one to a single space. * LESS now automatically detects MS-DOS (CP/M) and Unix line endings and converts the text accordingly on the fly. Therefore, you now may use the command to convert MS-DOS and Unix text files to Atari format, in this manner: LESS FOO.TXT >> BAR.TXT will convert a PC-like text file FOO.TXT into Atari-like BAR.TXT. Only EOL and TAB characters will be converted, but that's enough most of the time. TOOLKIT ------- * SL utility updated, please replace. * STAT, new utility to display detailed information on a directory entry. * FATFS, new driver to read MS-DOS FAT12 and FAT16 formatted media (read only and limited to 32 MB, consider it a demo version ;)) * CPMFS, new driver to read Indus CP/M formatted floppies (read only) * SC utility updated, please replace once upgraded to new SDX version * S_VBXE driver updated for new FX core release (1.26) * RC_GR8 driver updated: added basic terminal functions such as display scrolling. * Eddy updated to version 2.01, with improved support for Indus CP/M and MS-DOS formats. * MKATR, a new utility to create ATR images. * DELDUP made much faster. * CLX updated to version 1.9. * FSTRUCT, when run on an 80-column display, will now display offsets at which segments start. ADD-ONS -------