VOGONS


First post, by Isopodus

User metadata
Rank Newbie
Rank
Newbie

Hi everyone,
I've been looking into installing a hard disk drive into one of my IBM5155 computers. I got my hands on a bunch of ST-225 drives as well as an OMTI-5520 controller to hopefully be able to use it in the system.
However, I ran into an issue when trying to access the controller BIOS - it looks like it is simply not present! After taking a thorough look at the manual and the PCB, it seems like the controller's BIOS ROM would be located at U9, and that IC is simply missing 🙁

The attachment omti5520b-card.webp is no longer available

The U7 is a ROM and U8 is an SRAM. After looking for some other images of this controller on the web, I can see that there are a few different options:
1. U7 and U9 are both present
2. U7 is missing, but U9 is present
3. U7 is present, but U9 is missing (my case)

In my tests I have first of all tried to run the low-level formatting utility that should be located at C800:6, but the system hangs when I try to execute it. It of course made sense when I tried to read the data on that area using DOS debug - there's nothing there. I also checked for CA00:6, which is an optional variant BIOS location that could be chosen with a jumper.

The attachment omti5520b-bios-debug.webp is no longer available

Speaking of jumper settings, I have set up everything according to the manual, so BIOS should be enabled and present at C800:6.
I have also found a schematic of the controller, which is slightly different from the variant I have, but still very similar (the IC identifiers are a bit different).

Another clue for a possibly missing BIOS chip, is that U9's pins are wired directly to ISA addressing lines, which makes a lot of sense for a memory area that should be accessible on common memory space.
When I tried to run SpeedStor - the program said that it was unable to load the controller's BIOS. I also tried CheckIt and it wasn't able to identify presence of any controllers or HDDs as well.
The controller looks to be "rebranded" by HP (?) and it is very much possible that it was intended to use with a machine with some expansion ROMs on the motherboard that have all the HDD utility and would sit at the same C800 address, but I'm not sure if this is really true.

I am very new to all of this, so I'd appreciate a lot to see any comments from some more proficient members. Mainly my questions are:
1. It feels like I really have a missing BIOS chip, but is it really so? Am I missing something and could it be that it is somewhere on the controller but I'm looking for a wrong place?
2. If the BIOS IC is indeed missing, is there a chance that someone who has such controller with a populated U9 would be able to read the ROM contents, so that I could flash a suitable (E)EPROM and install it to the missing slot? I assume it would require some other minor modifications, but that shouldn't be an issue if there's a clean picture of a card with populated U9.

Thanks in advance for any thoughts!
Best regards

Reply 1 of 7, by Deunan

User metadata
Rank l33t
Rank
l33t

MFM controllers are often without their own ROM, the mainboard BIOS should handle what you need. If this particular machine does not, find a different mobo (usually 286 or 386SX, but also some later 386DX and 386/486 mobos) that has a low level HDD format option. AMI BIOS is what I'm familiar with (both the older split SETUP+UTILS and the new color one) but possibly other ones too. Format the HDD on that mobo, with that controller, and just move the prepared HDD and card back to the IBM. As long as the controller is the same the HDD format will work.

Reply 2 of 7, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
Deunan wrote on 2025-07-01, 11:43:

MFM controllers are often without their own ROM, the mainboard BIOS should handle what you need. If this particular machine does not, find a different mobo (usually 286 or 386SX, but also some later 386DX and 386/486 mobos) that has a low level HDD format option. AMI BIOS is what I'm familiar with (both the older split SETUP+UTILS and the new color one) but possibly other ones too. Format the HDD on that mobo, with that controller, and just move the prepared HDD and card back to the IBM. As long as the controller is the same the HDD format will work.

16-bit MFM controllers are often (usually) without their own ROM indeed, but this would be the first 8-bit one I've seen

Reply 3 of 7, by Deunan

User metadata
Rank l33t
Rank
l33t

Now that you've mentioned it... It would be odd for XT-class HDD controller to be ROM-less. The ROM that's on there is most likely just the firmware for the Z8. Well then, perhaps OP is right and this card was meant for some specific machine that had the support built-in already.

Reply 4 of 7, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi, I think some 8-Bit MFM/RLL controllers have an ROM integrated in the WD controller (or similar).
Since the code takes up 8 KB or less, it could been easily implemented in a mask-ROM of the day.

Last edited by Jo22 on 2025-07-01, 13:54. Edited 1 time in total.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 5 of 7, by Horun

User metadata
Rank l33t++
Rank
l33t++

nevermind...

Hate posting a reply and then have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. Stuff: https://archive.org/details/@horun

Reply 6 of 7, by Isopodus

User metadata
Rank Newbie
Rank
Newbie

Hey, thanks everyone for all the ideas!

Hi, I think some 8-Bit MFM/RLL controllers have an ROM integrated in the WD controller (or similar).
Since the code takes up 8 KB or less, it could been easily implemented in a mask-ROM of the day.

Now that you've mentioned it... It would be odd for XT-class HDD controller to be ROM-less. The ROM that's on there is most likely just the firmware for the Z8. Well then, perhaps OP is right and this card was meant for some specific machine that had the support built-in already.

That seems strange for me as well, but so far I'm simply unable to find any BIOS code on the controller. If feels like the controller was originally made with a BIOS (which makes sense since there's an empty spot on PCB).
I assume that the target machine in which the controller was intended to be used had HDD control BIOS located on the PCB that was conflicting with the one on the card by address, so they had to remove it (or order with that IC removed).

Format the HDD on that mobo, with that controller, and just move the prepared HDD and card back to the IBM. As long as the controller is the same the HDD format will work.

That sounds very interesting (!), even though its a bit of a bummer that I'd need to use this controller in a different machine each time I need to low-format an HDD (considering the fact that old MFM drives might not be the most reliable hardware).

This also brings me to a somewhat generic question of how does the boot sequence with an HDD work? For some reason I though that after motherboard BIOS is done it tries to run code from the HDD controller BIOS to read and boot from drive, but I now understand that its not needed, since it instead simply calls an interrupt that would operate a controller (if one exists) at its default 0x320h I/O area? And then the controller would either boot the system if it is able to access the drive, or it would return the handle to the system if the drive is not present on non formatted in the "controller's" way?
If so, I have an ST-225 that I bought together with this controller. I did spin it up, but never tired to run the system with the controller connected, so there is a high chance that this drive was initially formatted using this controller, which means I might be able to use it as it is...
I also though that different system stats software would show some info about the HDD controllers, but as I now understand the controller simply acts as a bridge between system and HDD, so it isn't a self-sustainable device without a drive in pair?

Thanks!

Reply 7 of 7, by Deunan

User metadata
Rank l33t
Rank
l33t
Isopodus wrote on 2025-07-01, 15:48:

This also brings me to a somewhat generic question of how does the boot sequence with an HDD work?

On AT the BIOS on the mobo is already aware of IDE-like interface for HDD controllers that was started with WD chips for MFM. So IDE or MFM, if the register layout is compatible the BIOS will, as part of it's boot procedure, read data from first sector of FDD or HDD, check for signature and run it if one is found.

XT is not something I'm very familiar with but my understanding is there is no such code in the mobo BIOS. The card has to come with ROM that will patch some interrupts when run (BIOS will run all ROM extensions found on discovery) and that patch will cause BIOS to call the ROM again during final boot stage (int 19h). XTIDE works in similar way on both XT and AT.

So without that ROM, if BIOS is not written to handle that card on its own, it won't be able to access the HDD at all. All int 13h will do is work with FDC, which is the same for XT and AT.
Also, this being an XT card, the idea to use AT system to format the disk probably won't work, since a) AT expects the HDD to be 16-bit access and b) on different port than XT. That however gives me an idea, if you can find an image of this missing ROM, flash it to DIP EPROM and put in an 8-bit Ethernet card as boot ROM. This way you can test if it works before soldering anything. In fact it can stay that way if it works.

Isopodus wrote on 2025-07-01, 15:48:

If so, I have an ST-225 that I bought together with this controller. I did spin it up (...)

A reminder that ST-225 is not auto-parking HDD. If you let it spin up, and power it off without parking, it'll leave the heads on cylinder 0. Do not subject unparked HDDs to vibrations or you risk cylinder 0 surface damage, which can make the disk inoperable.

Isopodus wrote on 2025-07-01, 15:48:

as I now understand the controller simply acts as a bridge between system and HDD, so it isn't a self-sustainable device without a drive in pair?

Not sure I understand the question, but MFM drives are like multi-head floppies, with denser track layout. The drive is pretty dumb (*), it can move the heads and will amplify the signal but it doesn't understand any of it without the controller. So if you want to read the original data off it you will need the original controller (or low-level dump, it can be done). The disk can be low level re-formatted though, wiping all the data in the process.

*) Even these newer "dumb" drives have servo tracks though, this is what allows them to not have track 0 sensor, and/or recalibrate any thermal expansions to get higher bit density. But still too dumb to park itself, or understand the bit format. So MFM drive is also RLL if it can deal with higher bitrate without too much noise.