Eprom Programming and 2532 Speech Roms
Stop the Stop the bit rot! bit rot


Pinball ROMs- Not many original ROMs in good condition after 25 (or so) years. I do have a few that still work, and have worked out how to read the original MASK ROMs.

Most of the game and sound code is available for free anyway from Williams, so I program replacement EPROMS as needed for my 80's Pinball games (inculding 2532's for the speech boards). Get in touch if you want help or need replacements and can't do them yourself, I would want to cover the cost of the chips, postage and my time involved.

I would also be willing to supply the "7 digit" green flipper ROM below:
I have found code for a chip that does a "poor man's 7 digit display" by dividing all the scores by 10.  So 1,000,000 would score as 100,000. It's based on the fact that you can't score less than 10 points.

For Firepower and other GREEN Flipper ROM games, here is the
eprom code , and here are game settings to use this as a replacement Green Flipper ROM #2 without any hardware mods. Not a bad solution, once you get used to it.

NO FEAR: Dangerous Plans "This guy is insane!"    Hacking with Williams Sound Cards  

I had an idea to run an adaptor and put a 27128 (or even a 27512) EPROM on a Williams speech board.  This dangerous plan was to "stack" the 4 x 32K ROM files that usually go on 2532 Eproms.  In DOS (cmd window) you just concatinate the files together (look it up on wiki) :  copy /b  v_ic7.532+v_ic6.532+v_ic5.532+v_ic4.532   v_ic4567.128

Note:   /b tells DOS to do a binary copy (as opposed to ascii text) and both the spacing and the order of the files is important for this to work.  If you have more files, you just put in more + signs:  copy /b 7+6+5+4+3+2+1+0 out.bin  where the integers 7-0 represent the game source files.  In my case the 4-7 files were one game's speech, and 0-3 were for another game.  

This is done a lot in arcade conversions and multigame hacks, and makes an apperance in pinball for the same reasons.  It forms the basis of the Firepower Combo Mod that stacks the 3 Masked Roms and game Rom on a 2732 on IC14.  I read up on some of the forums and decided I could attempt this with sound or speech ROMs using bank switching.  The concepts here would apply to quite a few bank switching hacks you could make for pinball.

Looking backwards, it would have been slightly easier to start with a System 9 speech card as supplied with Comet, Sorcerer or Space Shuttle.  It's called a  C-10716 and as this board was made later (1985 or so) it had jumpers which allowed you to strap it for 2732 Eproms. As you can see below, they are a bit more "pin compatible" with the 27128 or 27256.  If you can get one of these boards, my advice is to just use 2732s (or 2764s and double up that way).  Even though Williams moved the sound circuitry to the CPU board by system 9,the speech cards stayed about the same.  But as I didn't have access to one, I had a slightly harder time with my experiment.

Here are the pinouts for a 2732 , 2532  and a 27128 / 27256:

                                                                 __ __
                                                             VPP|  U  |+5V (VCC)
                           __ __              __ __          A12|     |A14
                        A7|  U  |+5V       A7|  U  |+5V       A7|     |A13
                        A6|     |A8        A6|     |A8        A6|     |A8
                        A5|     |A9        A5|     |A9        A5|     |A9
                        A4|     |A11       A4|     |VPP       A4|  2  |A11
                        A3|  2  |!CS       A3|  2  |PD/!PGM   A3|  7  |!CS
                        A2|  7  |A10       A2|  5  |A10       A2|  2  |A10
                        A1|  3  |!CE       A1|  3  |A11       A1|  5  |!CE
                        A0|  2  |D7        A0|  2  |D7        A0|  6  |D7
                        D0|     |D6        D0|     |D6        D0|     |D6
                        D1|     |D5        D1|     |D5        D1|     |D5
                        D2|     |D4        D2|     |D4        D2|     |D4
                       GND|_____|D3       GND|_____|D3       GND|_____|D3

With a 27128 there is no A14 and it's called !PGM other than that it is as shown for a 27256 

Note the similarities between these pinouts.  The upper address lines can "stick out" beyond the normal 24 pin socket.  We would need to move the +5v for the 2532 (and for a 2732) out of the way, provide a !CS signal from the 2532 using some extra logic we need to select the right chip "bank" on the 27128.  We also have to emulate the A12, A13, A14 address lines.  Pins A7 to GND on the left and D3-D7 on the right can go straight through to the chip as can A8 and A9 no wire wrapping is needed.

Complete datasheet for a 2532 is here

If all you want is to make an adaptor to plug a 2732 into a 2532 socket, it's here .  You can use this to read 2532 Eproms, but maybe not program them.  Reading though these instructions will give you a good idea of what is needed to be done here.  It's very similar.

I made one adaptor for a 27xx following the above instructions and decided it would be easier to use a single 27128 (or 27256) eprom adaptor than make any more.

I decided up front to add the ability to swap between two sets of 4 speech chips.  Mainly to support multiple Firepower game versions - Oliver Okagei has a modified multiball FP game with missions that uses all 4 speech chips. The original FP game uses only 3 speech ROMs v_ic5 , v_ic6 and v_ic7.   Alien Poker, Gorgar and Blackout don't use a chip in ic4 for speech.  Black Knight and Pharaoh are examples of original games that do use all 4 chips.

To achieve a bank switch, I would just connect A14 (pin 27 of the 27256) to the centre pin of a 3 pin jumper and force it to either GND (logical 0) or +Vcc (logical 1).  This turned out to be harder than I thought it would be (explained later) and so I actually achieved a single game 27128 conversion first. 

And yes, in theory if you had a 27512 you could add a dip switch or jumpers and do a 4 game speech select using A15 and A14.  But you might have to bank switch the 2716 (or 2732) sound rom on the sound board depending on the game...  I chose Firepower 4 ROM and  Alien Poker 3 ROM speech so I would get different speech when testing the bank switching.  I knew what to expect as I own both games and they can share Sound ROM 3 on the sound board which limited the experiment to speech ROMs.

Logic would be needed to address the correct part of the larger Eprom depending on the "2532 speech ROM" being selected from the sound board.  Examining the schematics, I started out with NAND gates (7420, 7410) using them as "active low" NOR gates and wired up as inverters.  The 74LS10 is used in a similar way for many other pinball designs. It turns out that the easiest solution for the chip select was a quad AND gate. I had a 7408 on hand and used that. Another address decoding chip would work just as well, but is probably overkill. I prefer to see elegance in design, you don't need to use a sledgehammer to crack a nut!

Chip select logic

Note:  IN case you hadn't spotted this, the select of a speech Eprom is done by an active LOW.  So in the example above, using "000" selects ic7 (!B) and "100" selects ic5 (!C).  If !B,!C,!D,!E are NOT selected, then the output of pins 6 and 11 are both high "1" and so pin 3 is also high "1".  In that state the source Eprom is NOT being selected.

I got this to work fairly quickly with a 27128 Eprom and 4 x Firepower speech files, using a 28 pin dip header on veroboard and a 28 pin turned pin socket above that.  This was then  plugged into socket IC4 on the speech card which is a normally unused socket.

Another solution is to have the pins that fit into the ic4 socket made of plain wire looped through two veroboard holes before being soldered. You could use pin headers (as I did) or a wire wrap socket which is much easier. But these pins are thicker and they may wear out the socket at ic4 causing bad contacts when trying to insert an original chip again.  If that happens, in my experience the self test loops sounds with no speech and no gaps for speech.  It is also recommended to stick some vinyl tape to the bottom of the Vero board so it will not cause any shorts while fitted into the sockets.

I added some jumper wires to pick up IC5 , IC6 and IC7 pin20  which are:  !B (Ic7 pin20)   !C (Ic5 pin20)  and !D (Ic6 pin20)   in the diagram.  !E is IC4 pin 20 and I got that from the header and routed it to Ic7408 pin 5 from there.  I actually had the 7408 on a breadboard at this point because I was still unsure that the final circuit world work.  And in the end decided to keep the jumper pins to feed the 7408 logic.  A better v2 solution would be a veroboard that covers all 4 sockets, and has an extra pin to plug into the pin 20's for ic5-7 chip select as well as using a pair of data lines and address lines for reliability.  I would connect pins to both ic4 and ic5 (if I did it again). 

Twilight Zone voice of "The Power": "NO WAY!"   

I cooked up a 27256 with Firepower speech in the "lower" 128 bank (32K bit x 4 roms) and Alien Poker speech in the "upper" 128 bank.  Should be easy from here.  How wrong could I be?

I could NOT get the "upper region" bankswitch to work.  I could hear Firepower speak correctly when I strapped A14 "low" to a GND pin.  But if I put A14 "high" through a 1K ohm resistor, I could faintly hear Alien Poker sounds during a gap where they would go.   It sounded like a distant DJ scratching an Alien Poker record.  The addressing was correct as Firepower worked loudly, I also knew the order of the files matched (which I had designed to be ic7+ic6+ic5+ic4) and I padded out the ic4 file for alien poker with FFs in a file just in case I wanted a different order.  But this could be blank at the end of the chip as long as it was programmed correctly to the top of ic5.  I also knew the same source files (on native 2532 Eproms) would work in the sound and speech boards I was using.  I even made some and proved it.  

Taking the 27256 over to my Eprom Burner, I confirmed the programming was right.  I also could prove the logic was working in the circuit and that the A14 pin was either GND or +VCC with a logic probe. 

I hung the A14 leg out of a cheap socket and checked it on my Eprom Burner. Reading the chip as a 27128 with pin 27 (A14) strapped to the programmer's VCC (+4.5v or so) or GND.  And it read perfectly when bank switched, as both a 128K Firepower chip (bank 0) and a 128K Alien Poker chip (bank 1).  But not on the speech card.  Discussing it with a friend I even said it was a timing problem, maybe it could work in the programmer but not at the 1Mhz or so the speech card was clocking at from the 6808 processor.  Playing around, we got some loud firepower and some loud alien poker speech both together as a "mix"-which was and funny (and strange) but not what I wanted.  I think I got that from connecting 7408 pin 6 to the A14 address line.  I gave up after that.

I kept thinking of that faint scratchy sound... and had a sleepless night wondering why the world is the way it is.  And then it hit me.

Ed Boon voice (as Rudy): "Stop Playing With the CLOCK"

I remembered a note published on the marvin3m.com site about missing speech on these cards and using a .01 mFd (103m) capacitor to "increase the trigger length".  I could vividly see the back of a speech card with a disc capacitor between (I wasn't sure but maybe... ground and a clock pin?)  Bingo.  Thanks for the tip, Clay.   I had nothing to loose by trying it.

Next day after work, I soldered a 103m cap at the back of the speech card.  I had Alien Poker speech loud and clear!  But switching back to GND on pin 27 (A14 bit 0) nothing.  No Firepower speech anymore.

I didn't have a lot of caps laying around, but I knew the value needed to be between nothing and .01 mFd. I tried a 470pF (471K) on the basis that .01 mFd was way too much.  And I got lucky.  Perhaps the speech boards with 55536 CVSD chips (which I was using) are more sesitive to clock problems than other speech boards. It could have worked straight away in another set-up, but I learned something.

Firepower voice: "Firepower - Mission Accomplished"
I could finally switch back & forth cleanly between the 2 ROM sets by moving a single jumper (or you can use a dip switch to ground A14).  Much better than changing out 4 eproms.  Someone may not need to buy 2532's if they read this and want to give the project a try.  If you make an adaptor as I did, the speech board is not changed (that much).  I also confirmed the original 2532 chips will still work with the small 470pF capacitor left in place.  The diagram of what I made follows, if you want to make one. Remember the 27256 is on a header and board ABOVE the 2532 socket at IC4, but that's hard to show. The 7408 can sit next to it. Best of luck.

Logic 102

Please read and take heed of my usual warning:You make any modifictions to your games at your own risk .

Use this information with the understanding that I can not be held responsible for any damage to your pinball boards or games.
I only claim "this has worked well for me" and your milage may vary...

Links to pictures of my "proof of concept" adaptor. Not pretty, but working in my game:

Adaptor3 (a3.jpg) shows what I used to do to swap from Firepower speech to Alien Poker speech (2 cards), I use Adaptor4 (a4.jpg) and just move one jumper or change a DIP switch.
I was hoping to make a "universal speech card" with Williams game voices built in and dip selectable. I have shown it may be possible, but some chips (like the CVSDM chip) are getting more difficult to obtain.

The speech card uses the 55516, 55532 or even a 3417 CVSDM. All obsolete delta-modulator chips designed for speech playback. I think that re-sampling the sounds or changing the method of playback would alter things too much.

Adaptor1       Adaptor2       Adaptor3       Adaptor4


Nothing to do with this article, I just like this Revenge from Mars graphic