Fred Jan Kraan wrote:
There are at least five different boot ROMs for the
Model II. I posted
them with some disassemblies and comment at:
http://fjkraan.home.xs4all.nl/comp/trs80m2/. If someone has knowledge of
another version, please let me know.
I don't know of another ROM version, but I
can explain I/O port EF. It
is used for drive select, density select, and side select.
Bits 3 down to 0 are the drive select bits, which are active low. At
any given time, either all four should be high (no drive selected), or
one should be low and the other three high.
Bit 6 is side select, which should be 1 for side 0, and 0 for side 1. A
single-sided drive will ignore this, but for a double-sided drive it
needs to be set to the correct value, even if the medium is single-sided.
Bit 7 is 0 for FM (single density), and 1 for MFM (double density).
The boot ROM appears to only ever write 4E or 4F (hex) to port EF. 4E
will select drive 0, FM mode, side 0, while 4F selects no drive. This
makes me wonder whether the documentation for bit 7 is correct; do Model
II boot floppies use a single-density boot sector?
If the selected drive is double-sided, Port E0 bit 1 should read 0 for a
single-sided diskette in the drive, and 1 for a double-sided diskette,
as sensed by the index sensor of the drive. (Double-sided diskettes
have the index hole in the jacket at a different angular position, and
double-sided drives have two sensors, to distinguish single-sided from
double-sided media.)
Later versions of the FDC card also allow the WD1791 FDC chip to be
reset by writing to port E8. The data is ignored.
Aside from some of my own comments that have been added, this
information is summarized from the Radio Shack "Technical Reference
Manual TRS-80 Model II Catalog Number 26-4921 Revised Floppy DIsk
Controller Supplement". Any errors above are almost certainly mine.
Eric