ALTOS 8000-2 Boot ROM Questions
Jay Jaeger
cube1 at charter.net
Thu Jul 16 20:06:28 CDT 2015
OK, so I got my nice shiny Z80-A CTC chip in the mail today, stuck it
into the ALTOS, and I now get the expected "%" prompt. So, one problem
fixed.
So, not having a real floppy with the diagnostics or CP/M image on it, I
ran the Single Sided, Single Density diagnostic image on
bitsavers.org/bits/altos/Altos_8000_Family_disk_images/Non-DMA_Version_-_single_density_format/ALTS8DIA.TD0
which is the ALTOS Diagnostic Monitor Version 1.11 into my HxC Floppy
Simulator (with a suitable 8" to 5" connector).
I have tested this device before on an IMSAI with a 4FDC using the
"Mini" connector (which has more standard signals available, as opposed
to the 4FDC's 50 pin connector, which depends upon a data separator in
the drive), with a standard IBM format 77 track image, and it works fine
- can run CP/M that way, for example. But this cable is new, though
thoroughly checked when I built it last week.
On the ALTOS, the disk image does not boot. This usually results in
repeated % prompts as the system tries to boot. (but not always - it
may not do this, I think, if certain of the below commands have been
entered.)
And it seems to know whether or not a floppy is available, probably by
monitoring the READY signal.
With no floppy media present, then after the "%", I get a "*" prompt
from the boot ROM. After playing around I discovered the following
commands, and was wondering if anyone can give me insight into the
behavior of B, F, I, J, P and U. The ACS 8000 documentation on
bitsavers talks about the "%" oputput, but nothing else.
B - I have no idea what this does (Does NOT seem to be a Branch)
D xxxx - Dumps 16 bytes beginning at xxxx
F - This appears floppy related, and responds with a two digit response.
F1 seeks to track 136 (odd, that, but that is what it does - on a real
drive it seeks to the stop past track 76). F0 seeks back to track 0.
F2 seeks to track 137 if you are already at 136.
(I am currently wondering if this just sends a command to the floppy
controller - have to look at its command structure).
I - I have no idea what this does
J xxxx - Not 100% sure what this does, but if I put "C3 00 10" at
location 1000 with the "S" command, below, then after a reset (or not),
if I do a "D 1000" then "J 1000" goes into lala land, and if I put a "C3
00 00" at location 1000, then "J 1000" gives me the % prompt (the Boot
ROM starts at location 0). This suggests it is probably a Jump command.
However, if you don't do a "D" command first, "J" seems to just dump
the memory at the indicated location.
P xxxx - I have no idea what this does, but it repeats a line starting
with xxxx, so it knows what xxxx is.
S xxxx hh hh hh hh .... - Substitutes into memory starting at address xxxx
U - I have no idea what this does, either, but it seems to be sensitive
to the floppy.
Thanks in advance for any help.
(The good news here is that between D, S and J I can probably arrange to
load in little diagnostics programs to test this and that).
JRJ
More information about the cctech
mailing list