• Please review our updated Terms and Rules here

Struggling To Program BIOS EPROMs For IBM 5162

ctrl-alt-rees

Member
Joined
Jul 26, 2007
Messages
49
Location
The Midlands, UK
Hi All,

I'm currently in the process of trying to see how fast my IBM 5162 can go, but I've run into an issue with BIOS EPROMs.

Firstly I should say that I have a generic AMI BIOS, and it boots fine at speeds up to and including 10MHz (using a 20MHz crystal). But I'd really like to use the leaked "internal use only" 1989 BIOS for this machine as it feels more authentic to me.

I've purchased various 27256 variants, and even though the chips program and verify successfully (using either the original 1986 BIOS or the 1989 BIOS with the extra HDD types and speed restrictions removed) and nothing works!

So as a last ditch attempt and an act of wanton vintage vandalism I dumped, erased and reprogrammed the original - confirmed working - Intel D27256 EPROMs. They are now no longer booting in a completely stock setup.

I'm definitely doing something wrong here but I can't quite work out what. I'm using XGecu Pro (AKA Xgpro) with a TL866 II Plus. I've programmed EPROMs with this setup before with no problems.

The EPROMs always read back and verify OK. They just don't work when I insert them into the 5162 motherboard.

Very confused by all this but I don't have a huge amount of experience in this field so perhaps I'm missing something obvious like a setting somewhere.

TIA.
 
The 2 EPROMS have to have the odd and even bytes split across the 2 of them. I wonder if that has something to do with it.
 
Just to clarify, you dumped the original EPROMs, erased them, and reprogrammed them with the dumps just captured? Or did you reprogram them with something else?
 
The 2 EPROMS have to have the odd and even bytes split across the 2 of them. I wonder if that has something to do with it.

The images that I have are split - one for U34 and one for U35. But I'm wondering if there's some kind of address offset or something I'm supposed to be using when programming.
 
I will bring up (just in case) that odd/even bios chips do not require the image split in half, but rather interleaved byte-by-byte. Also, if you use larger bios chips you will have to mirror the image to fill the whole chip.
 
The images that I have are split - one for U34 and one for U35. But I'm wondering if there's some kind of address offset or something I'm supposed to be using when programming.
I had a look at that bios you linked to, Both images are 32KB in size which is correct for the 5162, I have not tried them but somebody in that thread said they work so i assume they do. I assume your programmer is using the correct VPP voltages for the Eproms you have tried ? and you are using compatible Eproms, Where are you getting your Eproms from ?
 
If you dumped the original EPROMs, wiped them and then programmed them with the exact same images, then what do you get if you read them again in the programmer? Obviously it should be the same images that you programmed them with, but maybe worth checking.
 
I had a look at that bios you linked to, Both images are 32KB in size which is correct for the 5162, I have not tried them but somebody in that thread said they work so i assume they do. I assume your programmer is using the correct VPP voltages for the Eproms you have tried ? and you are using compatible Eproms, Where are you getting your Eproms from ?

I believe they're compatible, I've tried ST M27C256B and Mitsubishi M5L27256K. But the strange thing is that the original EPROMs don't work when reprogrammed with the stock BIOS, so I'm convinced it's something to do with the programming process even though they appear to read back OK.
 
If you dumped the original EPROMs, wiped them and then programmed them with the exact same images, then what do you get if you read them again in the programmer? Obviously it should be the same images that you programmed them with, but maybe worth checking.

Thanks, this is a good tip and I did try this. Re-reading the chips and saving the images, then comparing in WinMerge shows me that the files are identical.
 
One thing to try is burning the image multiple times, like five, in a row. For some reason I had to do this when burning character generator ROMs for my Apple II. Burning it only once would cause sparkling characters (even read back fine on the TL866). After burning the EPROM multiple times, the characters stabilized. Someone else had this same problem that was resolved by burning the image multiple times. It may not be your solution, but it's easy to test.
 
One thing to try is burning the image multiple times, like five, in a row. For some reason I had to do this when burning character generator ROMs for my Apple II. Burning it only once would cause sparkling characters (even read back fine on the TL866). After burning the EPROM multiple times, the characters stabilized. Someone else had this same problem that was resolved by burning the image multiple times. It may not be your solution, but it's easy to test.

Very interesting. Will try this. Thanks!
 
So there has been a further development... I took the known working AMI BIOS I have and dumped that. Then burned it to the original Intel D27256 EPROMs as originally shipped in the PC. They work!

Of course it just adds to the confusion as I used the exact same process to dump the original IBM 5162 BIOS, but I guess it proves my EPROM programmer is programming correctly...
 
Just wanted to confirm that I've burned the AMI BIOS to the Mitsubishi chips now and that also works fine. Evidently there's something wrong with the IBM BIOS images I have. I'm going to stick with AMI as I know it also works fine at 10MHz clock speed.

Incidentally it's a really nice BIOS with a lot of great features and I haven't been able to find it online anywhere - version string is DH12-1164-083090-K0. It dates from 1990 so it's a late one. If there's any interest I can upload it to archive.org so it's preserved.
 
Maybe the motherboard was replaced and is not actually an IBM 5162?
 
But I'd really like to use the leaked "internal use only" 1989 BIOS for this machine as it feels more authentic to me.
Evidently there's something wrong with the IBM BIOS images I have. I'm going to stick with AMI as I know it also works fine at 10MHz clock speed.
Presumably, the BIOS images that you have are the ones posted in post #1 of the 'IBM 5162 BIOS dated 1989-04-28' thread (pointed to in post #1).

Post #24 of that same thread indicates that member fritz successfully used the ROM images, and I note that fritz used a 16 MHz crystal. Are you in a position to change your 20 MHz crystal down to 16 MHz (or lower)? Why? Because maybe the speed restriction was not removed, just the upper speed bound of the restriction changed.
 
Check the data sheets for the EPROMs and verify your programmer is using the correct voltages when programming them. There are 25, 21, and 12v Vpp (programming voltage) requirements and some over voltage on the +5v line that are different for each manufacturer and series of EPROMs. For example: Intel 27256 would be 12.5v on the programming pin and 6v on the power pin, their 27C256 would be 12.75v for programming and 6.25v for power. If you use 21v to program a 12v EPROM you'll damage it. If you use 12v to program a 21v EPROM you'll have no programming or weak programming that won't work at speed in a circuit. Then there's the part of how many times they pulse each cell for programming and how long the programming pulses are. For example, Intel 27256 uses 1ms pulses where the 27C256 uses 100us pulses.

Be careful when trying different algorithms for different manufacturers. They aren't always compatible in how they pulse the pins during programming and may have the wrong programming voltages leading to improper programming, or worse - chip damage.

RJ
 
Back
Top