Lamp matrix test board design input needed

I've also got another small board project in the works, while I was waiting on things to arrive. A small daughter board for Firepower. Puts all the EPROM and PROM's onto a single 2764 EPRPOM, and fits under the CPU chip. No modification necessary to the board, plugs right in.

I just need to confirm the layout and data sequence before I send off an order for the prototypes. This one is too complex to go straight to production without testing. If I can fit it in there, I'm also going to try and put LED indicators for the +5v and Reset lines too.

-Hans

Are you using programmable logic for the address decoding? If so, and you're going to the effort to build a daughter board to connect to the CPU socket you might as well just use a 27C512 across the whole address bus. Then you can use it for any 680x based systems and just put the code in the right places within the EPROM. That's what I did with mine. I've also got NVRAM on mine.

I'm calling it Bally/Stern hardware here but it will work with any 680x system. What makes this one specific to Bally/Stern is the RAM compatibility jumper (for single 5101 compatibility). That was a bit of a challenge.

http://warpzonearcade.com/?p=727

If you have questions about designing this kind of board I can probably provide some insight.

The ROM on System 6 is from $6000-$7FFF with nothing connected to A15 so it's also mirrored to $E000-$FFFF (6800 boots at #FFFF) so you should be able to make an EPROM enable with an NAND on A13 and A14 but that's just off the top of my head. I've never actually tried to do address decoding on Williams MPUs with basic logic.

Another thing I did with mine was add a DS1811 reset circuit to the daughter board. Makes sense since you're connecting to the CPU socket. Not so much of an issue on Williams but you might as well have the option. There should be plenty of room for 3mm LEDs for power and reset.

EDIT:
Out of curiosity I took a look a the System 6 MPU schematic and the EPROM enable I mentioned above already exists on the MPU :)
It's not directly used as an enable but it's part of the decoding logic. That's not overly useful for your purposes but it makes a single EPROM conversion for that MPU fairly straightforward. There's a ready-made EPROM enable at pin 12 of IC 11. It also has the benefit of including 02 and VMA which I should have mentioned above. I would use the IC14 socket for the EPROM because it's the only one with a jumper on the enable pin. Connect the EPROM side of jumper J3 to pin 12 of IC 11, Then you only have to deal with A12 and A13 of the EPROM (connect to CPU A12 and A13) and the second enable pin of the EPROM (connect to ground). Put the code in the right places in the EPROM and you're done.

Funny... I wasn't planning to develop a single eprom conversion for Williams 3-6 MPUs tonight but... there you go. haha!

It's pretty late and I came up with all that stuff in about 30 minutes but I'm sure it will work ;)
 
Last edited:
Actually, your bally board was kinda my inspiration. I was originally looking at making a really simple adapter to convert those PROM sockets over to 2716's, until Scott Charles reminded me of your conversion. I'm half doing these projects because I think there is an unfilled need, the other reason is just because I'm trying to learn these systems more in-depth. I know you're planning on selling some board designs of your own, let me know if I'm stomping on any of your ideas with theses. There's more than enough projects to go around without me duplicating other guys stuff. Definitely appreciate your input on this one for sure.

Chip enables is one of my weak points here, so I've been struggling a bit, slowly getting my brain wrapped around it. I was looking at running A13, A14, VMA and 02 through a 74LS20 (quad NAND) as a chip enable for this circuit. This should be equal to IC11 pin 12. I wasn't worried about a reset circuit, just because there's already one on the System 6 board. My main concern was if I'd need to buffer the address and data lines or not.

As I'm finding out, there's a lot of ways to adapt Firepower to get around those 3624 PROM's. But most of them involve some kind of board modification. I'm trying to make things easier for those guys who aren't handy with an iron and a logic probe.

-Hans
 
Actually, your bally board was kinda my inspiration. I was originally looking at making a really simple adapter to convert those PROM sockets over to 2716's, until Scott Charles reminded me of your conversion. I'm half doing these projects because I think there is an unfilled need, the other reason is just because I'm trying to learn these systems more in-depth.

Cool. That's my motivation too. Neither of us are going to make any money at it. Scott is my homeboy ;)

I know you're planning on selling some board designs of your own, let me know if I'm stomping on any of your ideas with theses.

It's no problem. You're not really selling exactly the same thing anyway. I was going to do some ROM only in addition to RAM/ROM boards but mine with be with programmable logic across the whole bus for byte level decoding and a 27512 across the whole bus for use in any 680x system. And... it will be quite a while before I sell anything like that. At that point I'll be competing with YOU and my board will be way more awesome. haha!

And hey... if I was upset that you're doing it I probably wouldn't be giving you all of my good ideas and telling you to do them yourself. I also probably wouldn't have figured out exactly how to do what you're trying to do and posted it above :p

There's more than enough projects to go around without me duplicating other guys stuff.

It's cool. If you were copying my stuff exactly and selling it as your ideas I would be pissed only because I wasn't getting credit for my work. You're not doing that so it's all cool with me.

Definitely appreciate your input on this one for sure.

Happy to help. It was kind of fun to figure out single EPROM conversion for both early Williams MPUs in like 30 minutes. Made me feel like the years I spent figuring all this shit out were worth something.

Chip enables is one of my weak points here, so I've been struggling a bit, slowly getting my brain wrapped around it.

I spent years in that same boat. It wasn't until I finally decided to really dig in and figure it out that it all started to make sense. Probably the most important thing I did personally to understand address decoding was look at the numbers in binary. I still do it today. For the info I posted above I looked at everything in binary to make sure what I was thinking is actually correct.

I wrote a PERL script to count up showing decimal, hexadecimal and binary numbers. It seems so simple but that thing for me was the key to understanding address decoding.

Example:
0 0 0000000000000000
1 1 0000000000000001
2 2 0000000000000010
3 3 0000000000000011
and so on...

I also wrote a PERL script that allows me to plug in decoding logic and tell me what addresses match that logic. That helped me a lot in figuring out which address are mirrored all over the place on the Bally MPUs. That is an important consideration when you're adding RAM/ROM because you don't want a write to RAM when the MPU is writing to a PIA or something. It's kind of a brute force method but it works for me.

I was looking at running A13, A14, VMA and 02 through a 74LS20 (quad NAND) as a chip enable for this circuit. This should be equal to IC11 pin 12.

That will definitely work. I would use 7400 because I've got hundreds of them and no 7420 but that's probably an even better option.

I wasn't worried about a reset circuit, just because there's already one on the System 6 board.

...and that reset is really long. Unlike Bally. I probably wouldn't use one either in most cases but it doesn't hurt to have the solder pads on the PCB just incase. Makes it more flexible for no more cost.

My main concern was if I'd need to buffer the address and data lines or not.

Nope. They're not buffered connecting to the original ROMs (IIRC) so no need to buffer here. Just connect the EPROM directly to the bus. That's how the processor is designed to work.

Good thing too because that would be a real pain.

As I'm finding out, there's a lot of ways to adapt Firepower to get around those 3624 PROM's. But most of them involve some kind of board modification. I'm trying to make things easier for those guys who aren't handy with an iron and a logic probe.

Now that I've figured out how to do the single EPROM conversions I'll probably test it and write an article at some point. Then people will have the option for that method. I've figured out a few of these things now and I'm always surprised that they haven't been done yet (that's been documented and readily available). Once you understand how this stuff works it suddenly becomes really easy to figure this stuff out.
 
Oh, trust me, I'll definitely be putting a credit for you and Leon for this one. I'm still amazed at the amount of stuff he's done on his site that people aren't aware of.

I was looking at the 7420 simply because it needed the least traces on a board, I'm trying to squeeze two of this layout into a specific size board (requirements from the printer). I really had to pack a lot of lines in there, and that crystal on the System 6 board kinda forces you to go in one direction... which isn't the one where the pins line up easily.

Also managed to drop those two LED's on there too.... but had to go with T1's. Not much room to play with within my size constraints. Only had 1.9"x2.5" for the whole design.

I may have to toss my layout over to you for an error check :)

-Hans
 
Oh, trust me, I'll definitely be putting a credit for you and Leon for this one. I'm still amazed at the amount of stuff he's done on his site that people aren't aware of.

Most people also don't know that he wrote a bunch of the pinmame code. He's a true asset. His work has helped me out a lot as well. Especially when I was first learning about this stuff.

I was looking at the 7420 simply because it needed the least traces on a board, I'm trying to squeeze two of this layout into a specific size board (requirements from the printer).

You can save space by putting the logic under the EPROM too. A 7420 will fit under an open frame 28 pin EPROM socket. I've done that before. It actually makes for a nice clean finished product.

I really had to pack a lot of lines in there, and that crystal on the System 6 board kinda forces you to go in one direction... which isn't the one where the pins line up easily.

That's why I designed my board to install the way it does. There's plenty of room going the other way and you should be able to do this design with a minimal number of through-holes.

Also managed to drop those two LED's on there too.... but had to go with T1's. Not much room to play with within my size constraints. Only had 1.9"x2.5" for the whole design with only a few vias. Could be optimized for less.

Plenty of room. I was bored today so I did my own version for grins and attached the eagle files. Mine came out at 2.2"x1.75". Could be a bit smaller. You could likely fit the logic in the same space with it not under the EPROM. The schematic probably looks pretty hackish because I just hacked up another design I already had.

:)

I may have to toss my layout over to you for an error check :)

Sure, if you're using eagle I can take a look for you.

NOTE: I deleted this post once to upload a better .zip file. Make sure you have the latest version.
 

Attachments

  • Williams_3-6_EPROM_board.zip
    13.4 KB · Views: 4
Can't get your ZIP to open at the moment, but I'll figure something out. Probably just an old version here. To be honest through, I think I'll wait until I know mine is finalized.... that way I don't feel like I cheated too much :) I just spent about an hour following all the traces, making sure they're all good and such. That, and I wanted to squeeze in more clearance around the thru-holes where I could, less opportunity for solder bridges. I think mine is pretty much ready to go though, everything looks good.

Mine worked out at 1.7" x 2.325" for the actual layout, even managed some edge clearance too. Not a single via in there either, which for some reason I take as a challenge to use as few as possible. Not much room left for text though, need to squeeze my website in there somehow!

I'll have to remember that trick for squeezing chips under chips.... never even thought of that before.

Can Eagle open files from ExpressPCB? I'm on a budget, still using the free stuff that the board printers provide. Will probaby break down and get Eagle soon though, at the rate I'm doing this stuff.

-Hans
 
Ok, here's another preference question for the tester boards going forward.

The connector headers on the boards, that the wiring harness plugs into... Prefer it mounted vertically, meaning the wire points up? Or prefer it with right-angle connectors, meaning the wire points out the side?

-Hans

Edit: Solenoid kits tester kits are just about ready to ship, Just waiting on the LED bars and wire. Everything else is ready to go on those. Probably shipping in a week or so. STILL waiting on the LED matrix blocks to even do a prototype for the lamp matrix. Will be ordering a beta run of the Firepower EPROM adapters boards this weekend.
 
Last edited:
First pre-production batch of six firepower combo EPROM boards is on the way. Spent hours upon hours re-tracing everything on them, and it all seems solid. Now I just hope they actually do what I hope they will.

-Hans
 
I can pretty much guarantee you that I can't afford squat at the moment. Wasn't really planning on finding a 200$ pinbot when I posted before.

This thread totally squashed my puny brain. I was lost 10 posts ago.

So dumb this down for me...basically you would use these to test the CPU board for proper outputs without having to be going back and forth between the PF and the backbox, or as a mini-bench tester. Did I make that me-tarzan-you-jane simple enough for the main purpose barring "extra" applications?

Still trying to learn my way around PCB and circuit logic.. right now just trying to comprehend the layered gates is still giving me headaches. :|
 
I can pretty much guarantee you that I can't afford squat at the moment. Wasn't really planning on finding a 200$ pinbot when I posted before.

This thread totally squashed my puny brain. I was lost 10 posts ago.

So dumb this down for me...basically you would use these to test the CPU board for proper outputs without having to be going back and forth between the PF and the backbox, or as a mini-bench tester. Did I make that me-tarzan-you-jane simple enough for the main purpose barring "extra" applications?

Still trying to learn my way around PCB and circuit logic.. right now just trying to comprehend the layered gates is still giving me headaches. :|

LOL no problem. Does "YES" Answer your question?

The diagnostic boards will simulate different sections of your playfield. Mostly intended for bench work, but also allows you to do a lot of the work right at the backbox, without going back and forth to the playfield to trip switches and such.

They are all going to be sold as a kit, for you to assemble, all parts included. I'd go insane hand assembling 50-100 of each of these kits. Especially that switch matrix board....400 solder joints each.

The real complex stuff the past couple pages won't relate to you at all, unless you have a Firepower.

-Hans
 
True. But outside of Firepower, it's a niche market within a niche market. Assuming it even works :)

-Hans

Sure... but you open your market to 10x the customers so even in a small market that's significant. And I already know it will work :)

I had another idea about this board. One that I'm actually going to build, test and possibly sell so I hesitate to even mention it but it's not like it will be a secret for long. I'm just not going to be attaching the Eagle files ;)

We've got a spare 4 input NAND gate on there. You could build a Bally/Stern decoder with it so... add a jumper and use a 27C256 or 27C512 EPROM and now the board can work with Bally/Stern AND Williams system 3-6 with an additional $0.10 in parts (assuming you want a real jumper and don't just solder in a wire which costs nothing). My original though was a system 7 jumper but that's proven to be trickier than I originally anticipated. The decoding is easy enough but I'm not sure if I can do it with a 4 input NAND.

Add a reset and now you've got something.
 
I'll have to defer to you on that one, I don't deal with bally/stern stuff at all. My knowledge is pretty much all early Williams.

-Hans

It's explained in greater detail throughout my site but the short version is that an inverted A12 is an EPROM enable for the Bally/Stern ROM. Just have to put the ROM in the right places within the EPROM.
 
Just waiting on the wire for the connector harnesses, otherwise the solenoid tester kits are all ready to go.

Firepower EPROM adapter prototypes are due in on Friday.

STILL waiting on those LED matrix blocks. Coming from Hong Kong, so should be here any day now going by past experience.

-Hans
 
Got my Firepower boards in yesterday, but not working yet. Total lock-up of the CPU board.

Tracing it through with a test LED shows all the data and address ports active on the EPROM. I'll have to go back and check my software combination first I think.

CPU board functions normally with regular EPROMS in there (At least, the ones I have.... don't have a good Firepower ROM set right now, but Gorgar works fine)

-Hans
 
Got my Firepower boards in yesterday, but not working yet. Total lock-up of the CPU board.

Tracing it through with a test LED shows all the data and address ports active on the EPROM. I'll have to go back and check my software combination first I think.

CPU board functions normally with regular EPROMS in there (At least, the ones I have.... don't have a good Firepower ROM set right now, but Gorgar works fine)

-Hans

My first thought would be that you don't have the ROM in the right order in the EPROM. I would start with Leon's test ROM stacked in the EPROM, assuming you're not doing that already.

So...

copy /b test_rom.716 + test_rom.716 + test_rom.716 + test_rom.716 new_test_rom.764
 
That's my thinking as well, I just haven't had time to re-assemble it all again. Could have sworn I had the order right, but worth checking.

The other thought is that I may have to add some bypass capacitors into the layout.

All the address and data lines are matching up ok. With a test light, activity seems to be what I want it all to be, but I think I may have to dig out my o'scope to confirm that the chip select is matching what it should be doing.

-Hans
 
Back
Top Bottom