[fa.info-cpm] Morrow 2D BIOS

C70:info-cpm (07/15/82)

>From fylstra.tsca@Sri-Unix Wed Jul 14 20:22:24 1982
Alan Bomberger's message reminds me of something I always wished I'd
understood...how my Morrow 2D BIOS actually boots.  I am using
Morrow's CP/M 2.2 implementation by Bobby Dale Gifford (of G&G
Engineering fame).  This BIOS checks the sector density (128, 256,
512, or 1024) and the single/double-sidedness of the drive when the
drive is first selected, and an appropriate DPH is selected
accordingly.  That part is relatively straightforward.  Another detail
is that during the booting process a standardized copy of the firmware
is loaded into the controller RAM, and all subsequent BIOS calls to
the firmware actually call the code in RAM; the ROM is never used!
Apparently there were many old revision boards out there with
various levels of bug fixes in ROM, so they decided to bypass the
problem by never using the ROM at all.

Those of you who have this BIOS have probably marvelled at the long
list of sectors in the beginning of the code similar to the
traditional Digital Research list of CCP/BDOS/BIOS memory pages and
corresponding disk sectors.  Things in ABOOT.ASM are not much clearer.
One section of code is designed to fit exactly into a 256-byte sector,
the next fits into a 512-byte sector, etc.  The exact order of events
for booting from a disk of a given sector size is not explained, nor
is the procedure for copying ABOOT to the disk.  One reason this is of
interest is that the information would help in creating a bootable
version of another operating system, such as MARC (to take a totally
random example).  Has anyone deciphered any of this and would like to
shed some light on it?

Dave Fylstra