For fun, I wanted to see if I could create an Applesoft-free disk that could start on any Apple II with at least 16K. By Applesoft-free, I mean a disk that does not contain any Applesoft BASIC programs, and especially not the HELLO program. I could have used the other option: Integer BASIC to INIT the startup program. Except Integer is only resident on the standard Apple II (right?) and on any other system a HELLO program written in Integer will produce "LANGUAGE NOT AVAILABLE".
It wasn't until I came across the Beagle Bros. Peeks, Pokes, & Pointers (PDF) sheet that I discovered you can use a command file as the DOS startup program. This is more complicated than just writing a BASIC program and issuing the INIT command. So here's how I started:
- I booted the January 1983 version of the DOS 3.3 System Master disk (while emulating an Enhanced IIe). Since I have a penchant for Integer BASIC, I created a little program in Integer that would produce a sequential-access text file named "START".
Lines 10,20, and 80 contain the necessary Control-D characters to invoke DOS file operations. I saved the program as "MAKE START" and ran it. The command file would appear like this if you looked at it in a text viewer:
Normally, command files are run in DOS using the EXEC command. In this case, I can type "
EXEC START", the language card would be loaded with Integer BASIC, and the interpreter would activate. Theoretically, if the system had Integer BASIC resident, the loader routine would be bypassed. (This I don't know.)
- According to the Beagle Bros. sheet linked above, I can type "
POKE 40514,20" and then init a disk. The POKE directs DOS to execute a command file as the startup program instead of a BASIC program. Since I was still in Integer BASIC (though I could have switched to Applesoft), the POKE address would need to be converted to a valid Integer-range number: 40514 - 65536 = -25022. I then INITed the target disk in drive 2 using the name of my START command file.
After initialization, the disk's catalog shows my START file as an Integer BASIC program. This is not what I want; the file type should be a "T" for text. The text file will need to be manually copied from the System Master disk in drive 1 using the FID program. Here are the other files I copied:
After swapping the new disk to drive 1, I restarted the computer. The command file worked. Integer BASIC loaded, the catalog displayed.
- I want this disk to now be a master disk so the disk will boot on any Apple II with at least 16K RAM. This is where I'm having a problem. How can I use MASTER CREATE on a command file? I've tried this:
Except the problem is that the master image replaces the EXEC instruction with RUN. When I boot my modified disk, I get "
FILE TYPE MISMATCH". So now the master image of DOS thinks my START file is a BASIC program again.
Where to go from here? Might there be a way to insert that same EXEC instruction into the master DOS image and then update my disk from the "hacked" version? Attached are the System Master disk and the sample disk I made before updating the DOS image.
Help from anyone would be appreciated!