Question about making decoder ROM for Defender

Robran68

Well-known member

Donor 2011
Joined
Feb 17, 2008
Messages
3,619
Reaction score
36
Location
Fraser, Michigan
On the http://www.robotron-2084.co.uk/ site I was reading on how to make your own decoder ROMS for Williams CPU boards. Now it says this is step 3... "Burn the appropriate program image using a 2732 EROM chip. You need to fill the EROM with multiple copies of the same program to Hex address FFF."

How do you burn 4 different images on one chip? Is there some type of way to create a partition on an EPROM? What option in the eprom burner program does this? :confused:
 
It doesn't. You need to concatenate multiple images together.

The easiest way is from a DOS box under Windows. Type copy /b image.bin+image.bin newimage.bin.

If you need more than 2 images just add them as above.

ken
 
It doesn't. You need to concatenate multiple images together.

The easiest way is from a DOS box under Windows. Type copy /b image.bin+image.bin newimage.bin.

If you need more than 2 images just add them as above.

ken

Ok so I just name the BIN file whatever and the programmer will just write them on the chip with the same names as before I combined them?
 
I think I can help you out, I have the file for those chips. I just use the 2716 images as provided by the site download.
 
Last edited:
Ok so I just name the BIN file whatever and the programmer will just write them on the chip with the same names as before I combined them?

If you have a 1K image file and you need to fill a 4K EPROM, you just create a 4K image file by concatenating the 1K image 4 times.

copy /b 1K_image.bin + 1K_image.bin + 1K_image.bin + 1K_image.bin 4K_image.bin

The /b forces it to copy as binary. The command will copy the same file 4 times into a single file. You now have a 4K image (4K_image.bin) you can use to burn onto a 4K EPROM.

ken
 
I used that copy method and combined all 6 1k files. Strange thing is the file is 3k. :confused:

I think I might be doing this wrong, I put images 1-6 into one ROM image. I re-read the inst and appears you only use the image you need for that game?
 
Last edited:
I used that copy method and combined all 6 1k files. Strange thing is the file is 3k. :confused:

I think I might be doing this wrong, I put images 1-6 into one ROM image. I re-read the inst and appears you only use the image you need for that game?

The Defender decoder images (the .bin files) are only 512 bytes long, or 0.5K. So 6 of them would result in a 3K file. Windows will report the file size of the 512 byte file as 1K, I think due to the cluster size needed to format larger hard drives.

You are building the file incorrectly. The idea here is to make the 2k or 4k eprom look the same to the hardware as the 1/2 k prom. Obviously the eproms are bigger, and if you just put the 512 byte image on the chip by itself there would be a lot of empty space left over. And if the machine found itself looking in that empty space, things would get ugly. So we fill the entire chip with the same 512 bytes of code over and over, and that way no matter which of the higher address lines are selected, no matter which part of the chip the machine looks at, it'll still be looking at the same 512 bytes of code it expected to see.

So for an old style (single decoder) Defender board, you should be using decoder 1, with 4 copies of it for a 2716, or 8 copies for a 2732. Later Defender boards use decoders 1 and 3 or 2 and 3 (in fact, my decoder1 and decoder2 images are identical).

[edit] BTW, I find 2732's work better - if you're using 2716's they need to be faster than 400ns, the faster the better.
 
Last edited:
All you need to do is to program the chip with the code and ground the unused upper address lines. This will keep the chip from ever using any of the upper address space.

Sigh.

Programming the upper areas of the EPROM is only needed if you don't tie the pins to ground. As they float the chip will be randomly accessing the upper banks. You don't want this and the cheesy workaround is to program the chip fully.

RJ
 
All you need to do is to program the chip with the code and ground the unused upper address lines. This will keep the chip from ever using any of the upper address space.

This mod does ground a couple of pins, and AFAIK none of the others are floating (ie no signal). I've never bothered to check what happens to the signals on the other address lines, because if you follow the simple and time tested directions found at this site everything just works: http://www.arcadesolution.com/decoder2.html
Andre at arcadesolutions is one of those guys that knows Williams stuff way better than I do and I seldom question his wisdom. :)
 
If you can use an AM27S31ADC, I have 7 blank ones in the drawer here and they are pin compatible with the 7641 PROM.

I can program them too... if you have the code that goes in them.

:cool:
 
Another option would be to use some of the 8k x 8 high speed EPROMs (55ns) from WS. WS isn't around any more but I have a few of those high speed EPROMs in the bins and that would work better at replacing a fast PROM than a slow 2732 EPROM. You'd have to make an adapter to use them though.
 
If you can use an AM27S31ADC, I have 7 blank ones in the drawer here and they are pin compatible with the 7641 PROM.

I can program them too... if you have the code that goes in them.

:cool:

Thanx RJ for the offer.. I think my Defender board has a good decoder chip but I was trying to learn this process just in case any of my Williams games had decoder issues.
 
Or just drop an email to Steph at Hobby Roms. I don't know what chip he uses, but I've never had one not work. And his prices are good.

ken
 
You don't want this and the cheesy workaround is to program the chip fully.

Hey newbie... there aren't any floating lines on the decoder proms... You could at least do a little research before pretending to know what you're talking about.

18 & 19 are pulled up
22 is tied to vcc
20 & 21 are tied to ground.

Hence, A9 and A10 are high, A11 is low, /CE is low and /OE is high...

You use a 2732 so you are grounding A11 instead of Vpp, and you have to bend out and solder 18 to 20 so the ROM isn't disabled. You use a 2732 instead of a 2716 so you don't need to bend up vpp and tie it to vcc (which some 2716s require)

Bending up and grounding more lines than is necessary is what's a hack... otherwise you only need to program 0x600-0x7fff on the chip, but it's easier to tell people to burn 4 or 8 copies than it is to give instructions for doing partial burns for unknown burners and software.

Furthermore, since the "fastest" signal addressing the PROMs from the video side is V6 at ~31khz, there's no reason to use a "fast" EPROM. Since the high 3 address bits are static, the access time of the EPROM is far faster than its stated worst case spec.
 
Hey newbie... there aren't any floating lines on the decoder proms... You could at least do a little research before pretending to know what you're talking about.

18 & 19 are pulled up
22 is tied to vcc
20 & 21 are tied to ground.

Hence, A9 and A10 are high, A11 is low, /CE is low and /OE is high...

You use a 2732 so you are grounding A11 instead of Vpp, and you have to bend out and solder 18 to 20 so the ROM isn't disabled. You use a 2732 instead of a 2716 so you don't need to bend up vpp and tie it to vcc (which some 2716s require)

Bending up and grounding more lines than is necessary is what's a hack... otherwise you only need to program 0x600-0x7fff on the chip, but it's easier to tell people to burn 4 or 8 copies than it is to give instructions for doing partial burns for unknown burners and software.

Furthermore, since the "fastest" signal addressing the PROMs from the video side is V6 at ~31khz, there's no reason to use a "fast" EPROM. Since the high 3 address bits are static, the access time of the EPROM is far faster than its stated worst case spec.
(Pardon my newbieness please.) So 19 is NOT grounded but left as-is, the .bin file is written only once to the chip, and the resistor next to the chip is left in place, contrary to other directions I've read? Because I have a Decoder ROM 3 on my board with the file written on it 4 times, the aforementioned resistor removed, and pins 18-21 soldered together, and I can't get this mf'er to boot for crap. I need your sage MIT wisdom (and step-by-step instruction) on this! Thanks!
 
Back
Top Bottom