[sebhc] H-8-IDE board

Walter Moore waltm22 at comcast.net
Thu Jul 22 10:27:14 CDT 2004

>Soon as I get it built will write a small program to write test data to the
>drive. After verifying the board works (reliably), will write a device
>driver for it. If all goes well the drive should be able to store 65535 x
>512 = 33,553,920 or 33.5 mega-bytes. Due to the way HDOS 2.0 (don't know if
>3.0 is different) allocates files it will only store 400 files per disk
>(including system and directory files). The neat thing is we may be able to
>create SY0 through SY9 (10) disks on one hard drive. That will make up for
>the limited number of files. The device driver will do the mapping between
>drives. Due to memory restrictions I think HDOS only allows 3 or 4 drives to
>be mounted at any one time so some creative drive management may be in

Are you certain about the 400 files?  I haven't given the source code a 
good look in a long time, but I thought that the limit was about 250 
files.  I seem to recall that the allocation tables were all 8-bit, and 
0xFF and 0xFE were taken.

You might only get 16M of file space.  The H-47 driver had to do some work 
to make 128 bytes sectors work under HDOS - HDOS really wanted 256 byte 
sectors.  The file system tracked group (8-bit number) and sector within 
group  (8-bit).  Everything was assumed to be 256 bytes.  (Remember that 
Reagan was just starting his first term when I really last looked at this!)

With the size of current drives and slowness of the H8 and small memory, I 
would consider throwing away half of every sector so that I didn't get into 
read/modify/write for short sectors and having to allocate extra memory for 
the RMW.  This is just a thought.  The performance trade-off might not be 
worth it.  (Can you low-level format an IDE drive for 256 byte sectors?)

I also believe that 8 units is the max (bit flags in a byte are used).  I 
don't recall any restriction on number of mounted drives.  The buffers and 
allocation tables were dynamically allocated, but then I never had a chance 
to use a device with 8 units so maybe there is a limit I missed.

I wanted to write a driver where you could change the number of units, but 
ended up deciding that this could not be easily done.  The number of units 
and capabilities mask were part of the device driver preamble which was not 
written back out to disk.  Darn.  I guess this is why they never fully 
implemented it for the H-47 driver.  A good idea might be to use the set 
command to map unit number to "partition" and have a couple of the unit 
numbers be set for read-only.
This mapping might only apply on boot, I don't know if they can be 
dynamically changed for a directory device.

I had a friend who added a Corvus 10M hard drive to his H8 back around 
'82.  It screamed.  I believe he made each unit 2M.  It was a lot faster 
under HDOS than CP/M because CP/M always wanted to check to see if the disk 
had been swapped while HDOS relied on the "Mount" command (he wasn't a CP/M 
expert and my have missed something that would have allowed it to be faster).

Anyway, if I can get back up and running sometime soon, I'd be willing to 
help out with the device driver.


Delivered by the SEBHC Mailing List

More information about the Sebhc mailing list