*<>*<>*› 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. › *=*=*=*››