[sebhc] H17 ROM and disk info

Walter Moore waltm22 at comcast.net
Sat May 22 15:54:44 CDT 2004


I may be about ready to put my foot in my mouth, but after another almost
sleepless night waiting for a mare to foal, here it goes...

What is the goal of having "H-17" emulation in the emulator?  Is it to allow
any application which may have been written to run under the emulator, even
if it does some really weird stuff with the disk controller, or is it to be
able to read disk images and have some form of disk I/O under the emulator?

Speaking for HDOS 2.0, the only reason to have support for the H17 is to
boot an H-17 disk.  The H-17 boot disk will have for its SY.DVD the H-17
specific device driver, which HDOS will go looking for upon boot up.  For
those of us with H-47 drives instead, the SY.DVD will be specific to the
H-47, and that is what will be looked for.

Now, I can tell you from personal experience that HDOS 2.0 will run without
an H-17 installed in the system.  That implies no dependence on all those
little extra functions which they were nice enough to tell you about in the
partial source code they gave out.  It even implies no dependence on
anything in the ROM.  Heck, throw out the ROM image!  You don't need it!

What you do need is enough of a driver to read bytes and write bytes.
Examples of this were supplied on the HDOS 2.0 distribution disks.  (This is
where I need to power the system back up and look at the files supplied with
HDOS 2.0 to see what all was on the disk.  I remember making a version of
the SY.DVD without all the extra disk initialization baggage.  It saved me
space on the boot disk by not carrying it around!  I think I built it from
the source supplied, I just don't remember.)

Anyway, by having an emulator specific boot disk image made by replacing
SY.DVD with one named, say ED.SYS (emulator disk), you could have the
emulator recognize the read/write sector program execution addresses and do
the appropriate "disk I/O" (e.g. read/write bytes into/from a disk image).
This is how HDOS does it.  It simply asks for a certain number of bytes to
be read/written. The boot sector might need some modification, but that
would also be easy to do (I would have to look at some code to check that
out, easy to do). You could also have up to something like seven disks
mounted under this guy if you wanted to.

I would not worry about writing initialization code for such a driver.  Just
keep a blank image around and allow a way to change the volume number
(remember, on the 8" disks it isn't written in each sector header).  These
blank images can have the H-17 boot sector on them.  If they are never
booted from, it just doesn't mater.

Anyway, from my perspective I want to run HDOS 2.0 and have disk I/O
available.  I don't want to do fancy tricks with the disk controller.  I
also don't currently care about HDOS 1.5 and 1.6.  I just want to read and
write disk images.  This can be done the quickest with a small system device
driver were the emulator can recognize a couple of addresses to trap on and
perform a sector read/write, or even through a couple of unused I/O port
address which are emulated.  Very simple.

Remember, HDOS proper only cares about reading/writing disks sectors.  It
doesn't care where they come from.  They can even come from the ether!

..walt




--
Delivered by the SEBHC Mailing List



More information about the Sebhc mailing list