Atari BootStuffer
Randy Boyd
This short, handy program for all eight-bit Atari computers lets you store as many as ten boot programs on a single disk and execute any of the programs just by pressing one key. A disk drive is required.
If you're like many Atari computer users, you probably have a number of disks that contain nothing but a single boot program. Even if you don't mind the expense of storing only one program per disk, that's not a very efficient arrangement. "Atari BootStuffer" allows you to put as many as ten boot programs on a single disk (depending on how long each program is), and still use each program as if it were alone on the disk.
Type in Atari BootStuffer from the listing below, and save it. As listed here, the program works on an Atari 800 with an 810 disk drive. If you have an XL or XE model, change the numbers in line 750 as shown in the REM in line 740. If you have a 1050 disk drive with DOS 2.5 or 3.0 and wish to use enhanced-density, change lines 1140, 1170, 1300 and 1340 as indicated in the REM lines in the program listing. Changing those lines gives you 1040 sectors per disk (of course, this is not possible on an 810 disk drive, which doesn't support enhanced-density).
Creating A BootStuffer Disk
Before running Atari BootStuffer, format a disk to be used as the special BootStuffer disk. Now run the program and insert the freshly formatted disk in the drive. When you press the space bar, the screen turns green and the drive spins for about one minute. When the screen turns red, the special disk is ready to use. Reboot the system: The computer loads and executes a machine language program which lets you use the BootStuffer disk. When the prompt appears, you can press S to save a program on the disk or press L to load and run a program.
Since you just formatted the disk, it doesn't yet contain any programs you can load. Press S to choose the save option. The program indicates how many sectors are free in the current block and asks whether you want to load the target program from disk (press D) or cassette (press C). From that point onward, simply follow the prompts on the screen: The target program is loaded into memory and saved on the boot disk. If a load error occurs, the screen flashes red and the program starts over again. By repeating this process, you can save as many as ten boot programs on one disk (of course, the number of programs you can fit on one disk depends on how long they are).
BootStuffer prepares the disk by dividing it into ten blocks numbered 0–9, each containing 255 sectors. Since it uses the operating system boot routines, this program is not able to read sectors 256, 512, 768 or 1024. The BootStuffer code occupies the 13 lowest-numbered sectors on the disk, so a single-density disk can store programs only in sectors 13–255, 257–511 and 513–720. An enhanced-density disk with 1040 sectors can use all of the single-density sectors plus sectors 513–767, 769–1023 and 1025–1040.
It's important that you arrange the boot programs to fit into the BootStuffer disk without wasting too many sectors. The program tells you how many sectors are left in the current block, and how many sectors are in the program you're trying to save. If a program is too large to fit in the current block, BootStuffer prompts you to save a smaller program in that block. If you don't have a smaller program, you can press N to advance to the next block. However, skipping to the next block wastes the free sectors remaining in the last block. If you try to save a program that requires more space than is left on the disk, BootStuffer generates a DISK FULL message and permits you to save a smaller program in the same space.
When you name a program to be saved on the disk, make sure the name is ten characters or less. Once you have saved as many programs as you want, put the BootStuffer disk in the drive and reboot the system, then press L to choose the load option. The contents of all ten blocks are displayed, and you're prompted to choose which program you want to execute. Press a number key from 0–9: The program in that block automatically loads from disk and executes. Blocks that don't contain a program are marked as empty. Don't select an empty block from the load menu: You may cause the system to crash.