HD Boot ROM
It is a 32Kbyte image that can be blown onto a 27xxx pin compatible chip such as the AT27C256R, speed can be anything lower that 150μs.
The HD BOOT ROM is a version 3.0 Basic ROM which will boot the DOS from hard disk or floppy disk automatically when the SAM is turned on or reset.
This ROM will also reset the SAA sound chip directly after a reset and defines the function keys F7 as DIR [RETURN] and F8 as DIR PEEK SVAR 7 [RETURN] instead of the tape commands.
Great care was taken to add these features and keep the ROM fully compatible with the original 3.0 ROM. For this reason the original copyright message had to be removed. The copyright message now will be ‘HD BOOT ROM V2’ (After NEW and DOS is already in memory).
How It Works:
When the SAM is turned on or reseted, the SAA sound chip is reseted and the normal reset procedure is continued. Holding the SHIFT key down during reset will give you a 256K SAM to work with. Before the copyright message is printed a test is made if DOS is in memory and if not it will fool basic that key F9 is pressed and the DOS is booted.
The BOOT command works in the same manner as before. But now it boots from hard disk. It is still possible to boot from floppy disk by holding down the SPACE BAR during reset or by disabling the hard disks bootsector (see below).
Making the hard disk bootable:
To make the hard disk bootable the following has to be done:
- Blow an 32kB EPROM with the HD BOOT ROM BIN image.
- Replace the SAM ROM with the HD BOOT ROM.
- Make a boot record.
- Initialise boot sector with the ‘MakeBoot’ program.
Installing the HD BOOT ROM
Disconnect all leads from the SAM and turn it upside down and remove all screws (except those at the plastic label in the middle). Remove the floppy disk and turn it again).
Now lift the keyboard about a cm and then pull it a cm forwards (front side). Now you can lift the front side just far enough to put your hand between it. Before doing so have a look.
You can see two green keyboard leads. One in the middle and one to the right. Pull the one in the middly out of its connector first. After that you can lift the top a bit more so you can reach the other lead. Pull it out also.
After both leads are removed. You can lift the top and put it in a save place.
Just above the middle keyboard connector you can see the SAMs ROM. Remove it by using a small screw driver as a lever.
Put the screw driver at the a side of the ROM and push it Slightly so the ROM gets loose from its socket. Do it also at the otherside and repeat this until the ROM is out of it
Now take the HD BOOT ROM and put it in the ROM socket. Make sure the ROM is placed with the small notch pointing to the ASIC
(black square chip with VLSI in it).
After this re-assemble the SAM.
Making a Boot Record
A boot record is nothing more than a record containing a DOS at the start of a record. Just as with a bootable floppy disk.
Any Record can be used to make a boot record. But record one is recommended because it’s faster.
To make sure the DOS will be at the beginning of a record, use a empty record. When the record isn’t empty. The files in it can be copied to a other record and then be erased, copy B-DOS to it and copy the files back to the record.
In most cases copying and erasing the first file in a record will work too.
The first sector of the hard disk is the boot sector. This sector contains a small machine code program to load the DOS from the boot record and sets some user definable DOS variables.
If the boot sector hasn’t been initialized, is disabled or if there is no bootable DOS in the boot record. The HD BOOT ROM will try to boot DOS from a floppy disk.
The boot sector is not created by B-DOS. But by a seperate program called ‘MakeBoot’ You will find it on the B-DOS disk.
Powering up note:
Once power has been switched on and the hard disk has finished its self test / initialization. The HD BOOT ROM will boot from hard disk.
Sometimes after the power is switched on, it may happen that the HD BOOT ROM boots from floppy instead of hard disk once in a while. When this happens just press the reset button.