Eprom Programmer (Part 2)
Tuesday, March 31st, 2009Following on from my success at programming an Eprom for my MMP at the begiining of the month, I bought some 4 MBit (512k Byte) Eproms on eBay from a seller, who happened to just live around the corner from me. As such, I was able to pick up the Eproms immediately.
I chose the 4 MBit type, as this is the variant required for the newer versions of TAF software. I say newer, because the original (L-2) software in my TAF came on a 2 MBit (256 kByte) Eprom.
The Eproms I picked up were all Intel D27C040. This Eprom was immediately recognised by my programmer software and configured itself automatically. I downloaded the L-7 software from the Pinball Database at www.ipdb.org and loaded it into the software programme on my Windows XP computer. It was then just a case of hitting the burn button and waiting the 2 minutes for the programme to be burned to Eprom and the programme then verified. Easy.
However, when I plugged this newly burned Eprom into my TAF and switched the machine on, nothing happened! The pinball machine just didn’t turn on. Something was wrong.
Time to fault find.
The only things which occured to me could have gone wrong were:
- The Eprom was defect
- The downloaded programme was incorrect.
The first could be easily checked with the programmer (verifying the contents with the progamme loaded in the software programme). It checked out OK. The second proved to be more difficult.
Could it be that the software from the Pinball Database couldn’t simply be burned onto Eprom, as I had done? Was there a trick, maybe?
To check this, I downloaded the H-4 version of the software from ipdb.org to a local file on my computer and also dumped the software from my actual H-4 Eprom to another file using the programmer. Now I only had to check that both of these files were the same, or if not, what the difference was. But then I face another problem…
To compare two text files in Windows is easy. There are plenty of freely available programmes to let you do this. However, I was after a Windows programme to compare two binary files and (if possible) to easily see where the differences were (not forgetting of course, that we’re comparing over 4 million pieces of information here). And all this with a free programme.
I spent the next three quarters of an hour looking for a suitable progamme online, without success. In the end, I had to settle for a shareware programme, which although it would compare the contents of both files would only show the first 256kBytes of the files (until, of course, I had paid for the programme). My reasoning was that if there was a descrepancy between the files, that this descrepancy would in fact be in the first few bytes of the TAF software.
However, when I came to load both files into the software to compare, the software complained that the file sizes were different. Strange. However, when I looked at the attributes for both files in Windows it was true: the dowloaded file size was 512k Bytes, whereas the dumped Eprom code had a file size of just 256k Byte. Now I was really confused. Why should the dumped Eprom code only be 256k Byte in size?
To cut a long story short, the problem lay with the programmer’s software. The D27C040 was defined in the programme as belonging to the 27C020 family, meaning that the programmer thought that the device was a 2 MBit part instead of a 4 MBit part. This resulted in the programmer just dumping the first 256k Bytes of data rather than the full 512k Bytes of data. It also meant, of course, that my 4 Mbit Eprom was only being programmed as a 2MBit device, meaning that half of the code was missing from the Eprom.
So I got a new 4 MBit Eprom, set up the device in the programmer as being a TMS27C040 (which had the right size) and programmed (and verified) the device.
When I inserted this Eprom into my TAF and switched on, there was an enormous boinging sound. The Eprom had been recognised and the boot sequence started, which, because of the new Eprom, reset all of my saved settings – including the volume setting! But at least it worked! Yippee! I now have L-7 code on my TAF. Wonderful.
PS Isn’t it just typical: the first time I try to programme my TAF, I purchase the only Eprom type that’s set up incorrectly in my Eprom programmer. What’s the likelyhood of that happening? Probably one in over a million. Maybe I should play the lottery this weekend…..