by Jack MacKenn
Unfortunately, the means of creating a self-booting program required one to actually change some bits in the CP/M program code. This scared a lot of people, this writer included, even though the process was usually thoroughly described in a step by step process. Ralph Mason, for example, authored a fine article on how to do it using Newsweep (I believe) that appeared in the AWAUG newsletter a few years ago. Ralph demonstrated his method at an AWAUG meeting and, following his instructions, I was able to create a self-booting program. One weekend, when I felt bold, I was even able modify the CP/M code using venerable old Uncle Ernie's Toolkit. It worked, but code modification isn't a process that the average user feels comfortable performing. When one starts modifying code, bad things can happen.
One of the many great features of Tony Morehen's TDOS 4.5 is the ability to create a submit (batch) file that will automatically be executed when the system is booted. In the world of MS-DOS, this is called the AUTOEXEC.BAT file. In TDOS, the filename is PROFILE.SUB. When TDOS is booted, it looks for PROFILE.SUB on the A drive. If PROFILE.SUB is there, TDOS executes it. If not, no big deal, the screen comes up with the familiar A0> prompt. For those without a hard drive, this information can be used to create self-booting programs.
The first thing that's necessary is that your A drive must be a tape or disk drive. If you have a ram drive, the TDOS installation program gives you the option of installing the ram drive before or after the disk and tape drives. If you want self-booting programs, the ram drive must be installed AFTER your tape and disk drives.
Next, put TDOS on your MEX disk (FORMAT /S from your TDOS utilities) or put your MEX files on a TDOS formatted disk (by default, the TDOS FORMAT utility installs the system when it formats the media). Then, using an ASCII editor (VDE, Wordstar non-document mode, or the ever popular NT.COM), create a file called PROFILE.SUB. The file should contain only one line; MEX <cr> (that's an actual carriage return). Ensure PROFILE.SUB is on your MEX disk. That's it! Every time you put your MEX disk in the A drive and pull the reset, TDOS 4.5 will load followed immediately by MEX. Other self-booting programs can be created the same way, just substitute the name of the desired program for MEX. Although I used disks in the example, the process works the same for tapes. You can use this method to create a library of your favorite programs, each self-booting.
Try it. It's easy to do, you can't louse up your system, and you'll make your friends who still insist on using plain vanilla CP/M or the Exceptionally Obfuscated System envious.