Williams (Stargate) decoder PROMs

DarrenF

Well-known member
Joined
Jan 7, 2011
Messages
5,855
Reaction score
526
Location
Florida
Working my way through a big pile of Williams boards of all stripes.

Currently have a Stargate (only, no REV on PCB) board on the bench. I've traced the issue to the decoder PROMs, as swapping in a pair from another working (no REV Stargate only) PCB fixes it. Of course, I don't have a spare pair of decoder PROMS. I found the website with the details on how to use 2732 EPROMs in place of the OEM PROMs. However, my problem is: on both sets of decoder PROMs I've got (on these two PCBs), the labels are illegible... Need to know the correct decoder numbers for this PCB. I found a couple of pics online, and it appears to be 4 & 5 (vice 4 & 6 that Joust & Robotron, Rev B/C/D, CPU boards have).

Is this correct? Does it matter? (and for bonus points, what are the differences between the various decoder PROMs?)
 
Here's a little secret. The only thing that's important is that they're a pair. So, you can put:

1 and 2
2 and 3
4 and 5
4 and 6

in. If you use 1 and 2, or 2 and 3, it'll work but your ram errors won't be correct when it reports them (if there are any).

So optimal is to use a 4 and 5 or a 4 and 6.

The main, big difference between all of them is that you can't use 1 and 2 in a cocktail.
 
Here's a little secret. The only thing that's important is that they're a pair. So, you can put:

1 and 2
2 and 3
4 and 5
4 and 6

in. If you use 1 and 2, or 2 and 3, it'll work but your ram errors won't be correct when it reports them (if there are any).

So optimal is to use a 4 and 5 or a 4 and 6.

The main, big difference between all of them is that you can't use 1 and 2 in a cocktail.

Thank you. I'll make EPROMs for 4 & 5 and mod the PCB.
 
Steph at Hobby ROMS usually has the correct decoder ROMs as well. Then you won't need to hack the board or the EPROMs.

ken
 
I've seen RAM errors that aren't fixed by replacing the indicated RAM.

That makes sense. The "decoder" PROMs are lookup tables to translate CPU access to the RAM, as well as to facilitate horz or vert screen flipping depending on the game orientation.

In the case of Joust/Robotron/Stargate boards, the main RAM is configured as 3-banks of 16K each and is addressed by the horz/vert counter circuit in a linear fashion. Each bank produces a byte of data for a given address between $0000 to $3FFF resulting in a 24-bit word that is used to generate the display.

The 3-bytes at a time access is not very conducive to programming though, and neither is the 24-bit word conducive for the 8-bit CPU. So, the decoder PROMs reconfigure the CPU's addressing of the RAM such that it appears more vertically linear, as well as allowing for the 3-banks to appear consecutive instead of being accessed in parallel.

In addition, the blitter IC accesses the RAM in 4-bit chunks directly since the RAM is made up of 1x16384 DRAMs (8 ICs per bank). It is actually quite an elegant layout. The blitter gets 4-bit access, the CPU gets 8-bit access, and the display counter gets 24-bit access.

When replacing the PROMs, just make sure the replacement EPROMs (or whatever you use) are fast enough. IIRC the CPU's access window is about 200ns to 250ns, and the address needs to be set-up early enough to properly address the DRAMs. Something along the lines of a 70ns device would be my recommendation.
 
Back
Top Bottom