[sebhc] H17 ROM ?

Dwight K. Elvey dwight.elvey at amd.com
Fri May 21 16:01:08 CDT 2004

 The other file he should look at, if he is going to trap
I/O is H17def.acm. Also, one of the two, u8250.acm or u8251.acm.
I forget which was on the H17 card. I think it was the 8251.
 There was one thing that I recall. There was a timing error
in the original H17 ROM. It had something to do with action
when writing the last sector of a track. I think it was
a head load timing issue. The normal driver on the HDOS
disk patched this but for someone doing direct calls to
the ROM, one should be aware of this.

>From: "Steven Parker" <sp11 at hotmail.com>
>Dave says:
>>I've been disassembling the H17 ROM (found it in the archive),
>>As far as I can tell, it has very little to do with the disk
>>hardware - it appears to be chock full of various utility
>>subroutines (like divides etc.) but almost no disk functions.
>>Just a little boot stub at the end.
>Are you looking at your disassembly, or just that partial listing in the 
>archives?  (That listing only shows the very beginning of the ROM).   
>Disk-related entry points in the H17 ROM include:
>R.SYDD  EQU     033316A         ROM device driver
>R.MOUNT EQU     033345A         Mount new device
>R.ABORT EQU     033366A         Abort any active I/O
>R.XOK   EQU     033374A         Exit with OK status
>R.XIT   EQU     033375A         Exit
>R.READ  EQU     034077A         Read from disk
>R.READR EQU     034321A         Read regardless of protection
>R.WRITE EQU     034336A         Process disk write
>R.CDE   EQU     035136A         Count disk errors
>R.DTS   EQU     035172A         Decode track and sector
>R.SDT   EQU     035225A         Seek desired track
>R.MAI   EQU     035251A         Move arm in
>R.MAO   EQU     035254A         Move arm out
>R.DLY   EQU     035303A         Delay by clock
>R.LPS   EQU     035321A         Locate proper sector
>R.RDB   EQU     036044A         Read disk byte
>R.SDP   EQU     036062A         Set device parameters
>R.STS   EQU     036165A         Skip this sector
>R.WHD   EQU     036235A         Wait for hole detect
>R.STZ   EQU     036254A         Seek track zero
>R.WNH   EQU     036271A         Wait for no hole
>R.UDLY  EQU     036302A         Microsecond delay loop
>R.WSC   EQU     036307A         Wait for sync character
>R.WSP   EQU     036343A         Write sync pattern
>R.WNB   EQU     036373A         Write next byte
>BOOT    EQU     037014A         Boot disk system
>DDIAG   EQU     037262A         Disk diagnostic
>As you see, the ROM has an entire device driver - but it may be easier to 
>look over the source for the HDOS driver (sydvd.asm) that I mentioned in my 
>last message.
>>I had been assuming that the ROM would contain all the disk
>>functions, so that the operating system could access the disk
>>no matter which controller/drive you had installed
>Different controllers had different ROMs.  The H17 ROM only addresses its 
>own controller.
>Ron said:
>>Look in the PAM-37 Panel Monitor Operation/service Manual. That book
>>contains a listing with routines for and references to all the disk types.
>I don't think the PAM-37 listing has made it into the archives - I've been 
>looking for it myself.  Ironically, even though I am the author of PAM-37, I 
>don't have a copy of the listing!
>But yes, PAM-37 was the only monitor ROM able to boot from all the disk 
>flavors, and that was a major objective of the development project.  
>However, as I recall, it still relied on the code in the controller ROMs.
>- Steven
>FREE pop-up blocking with the new MSN Toolbar – get it now! 
>Delivered by the SEBHC Mailing List

Delivered by the SEBHC Mailing List

More information about the Sebhc mailing list