*<>*<>*¢ SpartaDos X Disk Preparer¢ by Dave Arlington, member JACG¢ ¢ (File is on this July/Aug 1995 OL'¢ HACKERS NEWSLETTER)¢¢ A VALUABLE NEW DOS IN 1989¢ No doubt, the premium product¢ release for the Atari 8-bits in 1989¢ was the SpartaDos X cartridge from¢ ICD, Inc. There have been plenty of¢ words written about it since then, but¢ one of its most powerful capabilities¢ is that you can custom configure the¢ Dos to your system using a file called¢ CONFIG.SYS, and few seem to know it!¢¢ PRIOR CONFIGURATION AT THE FACTORY!¢ As a startoff point, the¢ SpartaDos X cart itself has a default¢ CONFIG.SYS file burned into its ROM¢ that is installed if you do not¢ provide your own on disk or if you¢ hold down the option key while¢ booting. Since ICD has no way of¢ knowing the system configuration of¢ every purchaser, they took their best¢ shot when deciding what to include or¢ not include in the default CONFIG.SYS¢ file. Since chances are the default¢ CONFIG.SYS file will not be exactly¢ right for your system, it really makes¢ sense to write the one sector¢ CONFIG.SYS file to each disk you have.¢ There are several reasons you might¢ want to do this. First, every device¢ driver you load that you don't need or¢ want takes up memory. For instance,¢ the default file loads both CLOCK.SYS¢ and JIFFY.SYS even though you only¢ need one or the other depending on¢ whether you have an R-Time 8 cartridge¢ or not. Secondly, it is annoying to¢ continually see messages like "R-Time¢ 8 not present" or "Error while saving¢ memory" for options you don't have¢ present. Lastly, even when the options¢ apply, I question some of the default¢ choices. On a stock 130XE, the extra¢ memory is made available for¢ programming with Basic XE, rather than¢ being used for a RAMdisk. I think most¢ users would prefer the RAMdisk. When a¢ RAMdisk is installed, it is put on¢ Drive 9, inconvenient if all your¢ software using RAMdisks is set up for¢ Drive 8.¢¢ CONVINCED? OK HERE'S WHAT PREPX DOES!¢ After hopefully imparting the¢ wisdom of creating your own custom¢ CONFIG.SYS files, let me explain what¢ PREPX will do for you. To avoid¢ creating your own CONFIG.SYS files by¢ hand or creating one and having to¢ copy it to many disks, PREPX will let¢ you prepare as many disks as you want¢ in one session. You need only press a¢ couple of keys to customize your disks¢ exactly the way you want them. You can¢ use it to format disks for new¢ storage. If you have 2 free sectors on¢ your old disks, PREPX will write the¢ custom CONFIG.SYS and/or AUTOEXEC.BAT¢ files and then hide them so your¢ directories will not change. If you¢ type the program in using the Action!¢ cartridge, you can even change PREPX's¢ defaults to match your own special¢ system.¢¢ TRICKS OF THE TRADE!¢ Following are the valid¢ keystrokes and a brief explanation of¢ some of SpartaDos X tricks of the¢ trade:¢¢ M - Memory Change. Defaults to 48K for¢ Atari 400/800, 128K for XL/XE models.¢ Every time you press M, the memory¢ size changes to tell PREPX how much¢ memory your system has. The options¢ are 48K, 64K, 128K, and Extnd for¢ anything over 128K. Every time you¢ switch from Extnd to 48K or from 64K¢ to 128K, the defaults for RAMdisk,¢ BASIC memory save, and Cartridge¢ memory save will change. The defaults¢ for all 3 are (N)one for 48K and 64K,¢ and Drive 8 for 128K and Extnd.¢¢ R - RAMdisk. This allows you to set¢ the drive number or (N)one for any¢ internal RAMdisks. Since this refers¢ to internal RAMdisks and not devices¢ like the MIO board, you will not be¢ allowed to specify a drive number if¢ the memory toggle is set to 48K or¢ 64K. To use the 130XE's extra memory¢ for BASIC XE programming, set memory¢ to 128K and RAMdisk to (N)one. Note,¢ every time you change the RAMdisk¢ setting, the BASIC memory save and¢ Cartridge memory save also change to¢ the same option. To toggle these¢ separate from the RAMdisk, toggle¢ these AFTER setting the RAMdisk¢ option.¢¢ B - BASIC memory save and¢ C - Cartridge memory save. This allows¢ you to set the drive number or (N)one¢ for these memory saves. Unlike¢ internal RAMdisks, these can be saved¢ to floppy drives, hard drives, or MIO¢ RAMdisks, so these two toggles are¢ available in 48K or 64K mode. However,¢ a word of caution before you designate¢ the memory saves to a floppy drive.¢ Any time you change memory AT ALL,¢ SpartaDos X saves the whole chunk of¢ memory to disk. For instance, if you¢ load a 32K BASIC program and then type¢ NEW, SpartaDos X will save the whole¢ 32K block of memory anyway since all¢ it sees is that memory has been¢ changed in some way. So use these¢ options with caution with floppy¢ drives.¢¢ A - AtariDos Access. Toggles (Y)es or¢ (N)o. If you want to be able to read¢ and write to or from disks with a¢ standard Atari DOS format (standard¢ meaning DOS 2.0, 2.5, MyDos, SmartDos,¢ Dos XL, but not DOS 3 or DOSXE), leave¢ this option at (Y)es.¢¢ S - High Speed. If you own a Happy or¢ Indus disk drive, leave this at (Y)es¢ for high speed read/writes. Actually,¢ since the Indus driver takes up no¢ memory, it doesn't waste memory to¢ leave this at (Y)es even if you don't¢ have an Indus or Happy drive.¢¢ T - R-Time 8 Cartridge. Uses CLOCK.SYS¢ driver if set at (Y)es, JIFFY.SYS if¢ set at (N)o.¢¢ H - Hide CONFIG.SYS file. If set at¢ (Y)es, the CONFIG.SYS file and/or¢ AUTOEXEC.BAT files will be hidden¢ after being written. There are two¢ nice things about hidden files under¢ SpartaDos X. First, it acts like¢ protecting these files since you¢ cannot overwrite them accidently when¢ using PREPX. Secondly, you won't have¢ the same two files cluttering up every¢ disk directory like DOS.SYS and¢ DUP.SYS always did with DOS 2.5. The¢ only files that have to be seen on a¢ SpartaDos X disk are your actual data¢ and program files. How nice!¢¢ P - D - Prompt and Path Display¢ respectively. Hitting either of these¢ two keys, turns on the cursor in the¢ proper field. You may type in text¢ until you either hit RETURN or reach¢ the end of the edit field area. No¢ real edit checking is done, so what¢ you type is what you'll get. Note the¢ PATH will still always begin with CAR:¢ and edit-checking of the $ symbol in¢ the Prompt is not done for those who¢ want actual $ symbols in their¢ prompt.¢¢ X - XEP-80. Toggle to (Y)es if you¢ want XEP-80 support, leave at (N)o¢ otherwise.¢¢ FOUR MORE OPTIONS FOR YOU!¢ The last four options are¢ interrelated in that they cover¢ popular options on boot-up that are¢ handled in an AUTOEXEC.BAT file rather¢ than in CONFIG.SYS:¢¢ W - Write AUTOEXEC.BAT. If set at¢ (N)o, defaults change to Key Buffer:¢ Off, Left Margin: 2, Prompt for¢ Time/Date: N and these defaults cannot¢ be changed. Conversely, if set at¢ (Y)es and the above three values are¢ in place for the K, L, and I options,¢ the AUTOEXEC.BAT will not be written.¢¢ K - Keyboard Buffer. Toggles On or Off¢ the type-ahead keyboard buffer. The¢ SpartaDos X default is Key Off, unlike¢ SpartaDos 3.2d. Also unlike SpartaDos¢ 3.2d, when the keyboard buffer IS on,¢ the key repeat rate IS NOT speeded up¢ so you can now use the keyboard buffer¢ with Action! for instance. Note the¢ PREPX default is On. This buffer can¢ interfere with some software, so turn¢ it off if you have problems.¢¢ L - Left Margin. Toggles to 0 or 2.¢ PREPX default is 0, default without¢ AUTOEXEC.BAT is 2.¢¢ I - Initialize Time/Date. If set to¢ (Y)es, you will be prompted to enter¢ time and date on boot-up, like an MS-¢ DOS machine. If you indicated you have¢ an R-Time 8 cartridge, this will be¢ set to (N)o and you will not be¢ allowed to change it.¢¢ O.K..... LETS START NOW!¢ When you have selected all your¢ options, press START to continue. The¢ ICD SpartaDos X format menu comes up.¢ If you wish to format the disk, enter¢ the relevant information and press F.¢ If you only wish to write the¢ CONFIG.SYS and/or AUTOEXEC.BAT files¢ to a disk that has already been¢ formatted, press ESCape. When done,¢ you will be returned to the PREPX¢ options menu. From here you may set up¢ for another disk or press ESCape to¢ exit the program.¢¢ BEHIND THE SCENES!¢ The program is pretty¢ straightforward. If you wish to set¢ the initial parameters to fit your own¢ needs, you need only make a couple¢ changes to InitVar() and¢ DrawScreen().¢¢ CheckOption() reads the key¢ pressed and branches to the proper¢ handling section. WriteOptions() calls¢ the SpartaDos X format routine and¢ then writes the actual files.¢¢ For the prompt and path options,¢ I could not get the library procedure¢ InputS() to work properly, hence my¢ own limited GetS() procedure.¢¢ The Toggle() procedure might be¢ of interest to beginning Action!¢ programmers since it covers a¢ technique familiar to C programmers,¢ but one that is not mentioned anywhere¢ in the Action! manual. Unlike BASIC,¢ when you pass variables to an Action!¢ procedure (think of a BASIC¢ subroutine), you are really only¢ passing the VALUE of the variable, not¢ the actual variable itself. This is¢ nice when we want to be sure our main¢ variables are not mysteriously altered¢ by some procedure somewhere.¢ Sometimes though, as with the¢ Toggle() procedure, we do want access¢ to the variable itself so we can¢ change its value. We do this by¢ passing the ADDRESS of the variable¢ (@hide), instead of the value. The¢ procedure being called then uses a¢ pointer of the same type as the¢ varaible. (For instance, in Toggle()¢ we use a BYTE POINTER memloc to hold¢ the address of the variable (a BYTE)¢ being passed.¢ By using this pointer, we have¢ the same access to the variable we had¢ before, using the ^ operator (as in¢ memloc^, which in this example, is¢ like using the variable hide). The¢ additional benefit is that any changes¢ we make to memloc^ are the same as¢ changing the value of the main¢ variable.¢¢ THE START OF MUCH SPARTADOS X SUPPORT?¢ I hope this utility is just the¢ start of a lot of support for the¢ SpartaDos X operating system, and¢ makes customizing your own disks a¢ little easier. ¢ *=*=*=*¢¢