Archive for March, 2009

Eprom Programmer (Part 2)

Tuesday, March 31st, 2009

Following 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:

  1. The Eprom was defect
  2. 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…..

Whitewater Works!

Friday, March 27th, 2009
Whitewater apron with clear starpost

Whitewater apron with clear starpost

I have now verified, that the mechanical dimensions of the Whitewater apron and that of the TAF are identical, so that I can use this apron in my TAF. Only one slight problem, the Whitewater apron has a star post at the top right of the apron (see photo – courtesy www.ipdb.org).

No great problem here, but interesting.

Whitewater Apron

Thursday, March 26th, 2009
Whitewater Apron

Whitewater Apron

Received the used Whitewater apron today having successfully won it on eBay. I’ve bought this to replace my exisiting apron.

I need to first check how this compares to my exisiting TAF apron (mechanically) before starting with the work of painting and applying decals….

Had a quicky!

Sunday, March 22nd, 2009

I was in the cellar today and was joined by my three year old son. He saw my pinball and wanted to play it. As I’ve already removed the Thing hand, motor and mechanism, I really didn’t want to, but he was so insistant!

So I turned on the pinball and I got the error messages, that Thing’s Optos weren’t working (no surprise there, as the opto board wasn’t connected either). But still the machine went into attract mode. My son was so excited.

I set up a few credits,  set my son on a chair and started a game. And everything worked. Amazing (especially after my “machine shake” experience from last month!). However, Thing Flips (where the second left flipper automatically flips the ball into the Swamp) wasn’t too accurate. So I stopped by son from playing briefly (which he didn’t like) and “trained” the system by activating the first inlane rollover switch (Lites Thing Flips) and sending the pinball (manually) up the centre ramp. Sure enough, after 6 iterations, Thing got it right – incredible!

Through all this, my son was watching totally awestruck. And when I let him play again, he kept on trying to catch the ball on the playfield in order to throw it up the centre ramp! Having gently persuaded my son, that this wasn’t really the done thing, we got on with playing again. And boy,  it was fun.

After this short session, I decided to change the machine configuration to give my son (and me) a longer stay at the table per game in the future, by increasing the number of balls per game from 3 to 5. This was simply achieved by opening the coin door, putting the pinball into system/programme mode (by pushing the right button of the set of four buttons on the back-side of the door twice) finding the right configuration (01 under the Adjustments menu) and setting the number of balls to 5. The escape button (far left button on the bank of four) is then used to revert the pinball back to Attract mode, ready for the start of a new game.

Credit where credit’s due

Tuesday, March 10th, 2009

I had been meaning to take a look at it for some time and today I managed to solve the problem:

Between the coin mechanism and coin processing board in the pinball machine, there’s a mini PCB with an LED, a row of mini-switches an IC and a miniature potentiometer. I wanted to know what each of these parts did.

Originally the pinball machine came with three coin slots for three different coin denominations. These three had been reduced to just one coin slot able to take three different coins in my machine. The output from this coin mechanism was then taken to the mini PCB and the output of this board taken to the coin interface board of the pinball. So my assumption was, that this mini PCB took the data signal from the coin mechanism and converted it into coin pulses (the number of pulses being directly linked to the value of the coin inserted), which were then registered by the coin interface board on the pinball. But what was unclear to me was what each of the controlls, particularly the potentiometer and mini switches did.

So I carefully prised the PCB off of its mounting and discovered that it was a miniCredit V1.0 from a company in Germany called DoubleYou GmbH (an interseting name for a German company, especially in a country where the locals have a problem pronouncing the letter “W”). This information had been helpfully etched onto the PCB. The board was also copyright 1997, so there was a good chance I might find out more about this board on the internet.

Sure enough I found www.double-you.de. On this site was a product called the miniCredit, albeit in Version 1.1. A quick eMail to DoubleYou confirmed that the two boards were essentially identical and that the documentation for the miniCredit was on the company’s web page (and now available here).

Sure enough the bank of switches sets the number of credits per coin (of which there are only four variants) and the potentiometer varies the length of each “coin pulse”.

Another quick email to DoubleYou confirmed that for any other variants of the number of credits per coin, the PIC processor would need to be reprogrammed by them (at a cost of €15).

An Eprom Programmer (Off Topic)

Sunday, March 1st, 2009
GQ-3X Eprom Programmer

GQ-3X Eprom Programmer

Back in January whilst scouring through RGP (The rec.games.pinball newsgroup) I came across a post referring to an Eprom Programmer which was meant to be good value for money.

So I surfed to MCUMail (in Canada) and found this Eprom Programmer which looked very interesting. Basically it can connect to a Windows PC via a USB cable and doesn’t need an additional power supply and could programme Eprom devices from the 2716 (16 kBit = 2 kbyte) upwards.

Just what I needed.

You see it turns out that many, many years ago I designed my own LED based Moving Message Panel (MMP). Basically a dot-matrix display. However, the stored messages didn’t move per se, each message was a collection of 4 “frames” which could be displayed one after the other.

To store the messages, I used a 32k battery backed static ram. To get the messages into the static ram, I used a memory expansion board on my then Commodore VIC20 (yes, it was a long, long time ago), having taken out one of the static rams from the expansion board and replaced it with an IC socket, into which I could plug my battery backed static ram. It was then simply a case of “poking” the correct values into the correct memory locations for each of the messages.

When the messages were completed, I then only had to take the static ram out of the expansion board and plug it into the MMP – because of the piggy-backed battery, the SRAM didn’t lose the data on the removal of external power.

It was a simple solution and worked – the only caveat being, that the battery had a life expectancy of 10 years…

Having recently “found” my MMP again, I turned it on, not expecting to find it working (as not only was it far more than 10 years ago that I programmed the SRAM, but the MMP had been through 5 house-moves in that time). However, to my surprise, it worked. I was delighted.

So my first thought was to save the messages from the battery backed SRAM to Eprom,  as I wasn’t too hopeful on the battery on the SRAM lasting much longer.

Hence my interest in an Eprom programmer, and one which could programme at least an old TMS2532 32k Eprom, which this one does.

So I bought one.

As far as the (old) 2532 Eproms are concerned, I was delighted to be able to buy some on eBay, meaning that I was now in posession of everything required to commit my MMP messages to a safer medium.

Well today I managed to set everything up and actually read the battery backed static ram into my PC and then to burn the messages to Eprom using my new Eprom programmer. Wonderful. Now that’s one less problem to worry about.

So now I’ve got an Eprom programmer and a pinball machine which uses Eprom for its programme storage. And there are different software versions for my TAF (I’ve already bought the H-4 Eprom and a set of TAF Gold Eproms to complement the L-2 Eprom which came in the machine when it was delivered – in fact it’s the H-4 version which is currently in my TAF). So in theory, I’ve now got everything I need (apart from the software and Eproms) to have an Eprom for each version of TAF software ever written.

I’ll definitely come back to this later.