Bruce Tomlin Posted July 19, 2005 Author Share Posted July 19, 2005 Hmm, I didn't realize that was your original goal, although it seems that you have accomplished it. I thought you were trying to come up with a cheap & simple way to create >32K 7800 homebrews. Well, yeah, that's what I am doing. One smaller board to handle flat and banked games, and another larger board to handle RAM and POKEY games. The >128K configurations are just a matter of adding new bank address lines, so it's a relatively trivial extension to make room for up to 1Mbyte. I'm just not going to experiment with someone else's radical ideas on new ways to do bank switching, that nobody even knows if they're going to work, and won't have anything to run on them anyhow. I have only about a jillion things of my own that I've been wanting to do for a long time, so I don't need any more stuff to do. I don't see a need for something between a GAL-based board and the CC2 right now, since I can do everything "standard" with a single GAL chip, and one or both of the Activision/Absolute bank switching modes if I cared enough to figure them out. So anyhow, I started playing with Cadsoft Eagle on Sunday afternoon. I was up until 5AM making a board layout before I forced myself to go to bed. I even had to learn how to make a library object, and tore down the object for an 8-bit ISA card as a starting point. Now I have a layout that looks correct, and it's only missing the D4 and D5 inputs to the GAL chip for 512Kbyte and 1Mbyte bank switch configurations. I'm probably just going to drop a couple of vias in strategic places and require a jumper wire or two for the really big configurations. After all, someone's got to create enough content to fill that much ROM first. It was a pain in the butt to route, too, since it's so tight with both a 32-pin ROM and a 24-pin GAL chip. The large IC pads take up enough extra space that there's literally nowhere left to add any more wiring. I suppose I could use circle pads like on the Pixels Past boards to get room for a few more horizontal traces, but the vertical direction is totally crammed. Quote Link to comment Share on other sites More sharing options...
Bruce Tomlin Posted July 20, 2005 Author Share Posted July 20, 2005 (edited) After much tweaking, I managed to get the last two jumper pads added in. So here's what it looks like now, and the Eagle files, too. mini_ultra.zip Edited July 20, 2005 by Bruce Tomlin Quote Link to comment Share on other sites More sharing options...
EricBall Posted July 20, 2005 Share Posted July 20, 2005 Damn that's impressive. I'm flat out amazed that it's even possible to route everything in two layers. Quote Link to comment Share on other sites More sharing options...
PacMan Posted July 20, 2005 Share Posted July 20, 2005 That looks promising. Does you CAD system has a poly fill feature ? If so, use it to create a ground plane on the solder side of the board. You should also try to cram in a decoupling cap for the PLD, those guys are real trouble makers, especially the new fast types. Consider using surface mounted 0.1uF, 0805 caps for decoupling, they are easier to mount and easier to place. If you only have a really big solder iron, you might consider using size 1206. The best place to put the caps are on the solder side of the board right between the power pins. Good Luck, /P Quote Link to comment Share on other sites More sharing options...
Bruce Tomlin Posted July 20, 2005 Author Share Posted July 20, 2005 (edited) I don't need a ground plane. Pixels Past didn't use any, so obviously they're not really important for cartridge boards in systems with 1-2MHz clocks. Atari used them, but they had to because they were high profile with the FCC, and RFI reduction was still new and not well enough understood, so Atari built their stuff like tanks when it came to shielding. Originally, they took every chance they could to reduce RFI, including sheilds over 2600 cart ROM chips. Even when they used ground planes on cartridge boards, they only used them directly under chips, which is exactly where I don't have any space. And I've never seen a 7800 board with a metal sheild over the ROM chip. Another decoupling cap wouldn't be worth the trouble. I know how they work, and the distance from the ground of the cap to the ground of the chips is so much longer than the distance between the two chips' power pins that there isn't any way for another cap to have any effect. Besides, one-per-chip is just a suggestion. I've seen boards where every other one wasn't installed. And these are not "new fast type" PLDs. They are 20V8 and 22V10 chips, which are almost 15 years old. And I'm avoiding SMD completely. (the solder-blob jumpers don't count) There's just no point in it when I'm not already using SMD IC chips. I want anybody with an average level of soldering-fu to be able to put these boards together. It doesn't matter how good my soldering skills are if I'm not the one who will be assembling the boards. Edited July 20, 2005 by Bruce Tomlin Quote Link to comment Share on other sites More sharing options...
cschell Posted July 21, 2005 Share Posted July 21, 2005 The only tip I would give is that you may need to make the tabs for holding it in place in the cartridge a little deeper. Two reasons. There is a lot of variance inside the cart shells, and the board shops will round the inside corner when they mill the outline, which effectively reduces the size of the notch. Then you have to hand file the boards to make it fit. It might be a good idea to see if you can push the passive components in a little at these notches as well, just to avoid clearance issues. Of course this is just from glancing at the depth of the notches. They may already be deep enough. Chad Quote Link to comment Share on other sites More sharing options...
Bruce Tomlin Posted July 21, 2005 Author Share Posted July 21, 2005 Those were two things I was a bit concerned about. I was using a laser printout of the board and comparing against an actual board to check the dimensions. But you're right that it won't hurt to make the notches a bit deeper, as the depth of the notch isn't really used to keep the board in place. I went ahead and moved the resistors inward a little bit. I also realized after trying to figure out which lines of the full cartridge need to go to Pokey and RAM that the D4 and D5 inputs needed to be swapped. It looks like the maximum sizes for the full Ultracart will be 128K+RAM or 256K+POKEY with 20V8, and 512K+RAM, 1M+POKEY, or 512K+RAM+POKEY with 22V10. Depending on how many jumpers I add, RAM+POKEY could have up to 12K-15K RAM. Quote Link to comment Share on other sites More sharing options...
Bruce Tomlin Posted July 27, 2005 Author Share Posted July 27, 2005 I've been trying to come up with a layout for the full Ultracart, and you know what? There's just no room on the board for all six resistors (I have room for about 4 1/2), or to route everything to and from the GAL with the dual RAM/POKEY position. The biggest problem is that the vertical direction is literally crammed with signals, and once you start adding vertical traces on the other side, you get blocked all the time in the horizontal direction. The hole in the middle does not help. FWIW, mounting the resistors in a fold-over configuration won't really help at this point. This is also after deciding that there was no point in supporting a 7402 chip when you could just use the mini instead, so W1 and W2 were right out. One of my rules for the full Ultracart was that anything which worked on the mini didn't need to be supported. I am, however, trying to support as many interesting combinations as possible, including "low-mode" + POKEY. I can definitely get three extra address lines for POKEY, so that means its footprint can be shrunk to 2K, or smaller if you mod the board with jumper wires. 2K+14K should be good enough for RAM or low-mode. Since narrow RAMs are no problem to buy new, and in fact much easier to find in quantity while thrifting (old 486 motherboards are full of 'em for cache RAM), I'm probably just going to drop the wide RAM position. 144K games can be handled by the mini with a single 256K byte chip and an appropriate GAL, so there's no need for a wide position just for a second ROM. Once the wide RAM position is removed, more than half the vertical traces go away in the area around the POKEY, and there should be just enough extra space for the other two resistors. Quote Link to comment Share on other sites More sharing options...
supercat Posted July 28, 2005 Share Posted July 28, 2005 Since narrow RAMs are no problem to buy new, and in fact much easier to find in quantity while thrifting (old 486 motherboards are full of 'em for cache RAM), I'm probably just going to drop the wide RAM position.899605[/snapback] Many cache-oriented RAM chips are real power hogs. Are you sure the 7800 power supply wouldn't have a problem? Quote Link to comment Share on other sites More sharing options...
Bruce Tomlin Posted July 28, 2005 Author Share Posted July 28, 2005 (edited) Many cache-oriented RAM chips are real power hogs. Are you sure the 7800 power supply wouldn't have a problem? Should be fine as long as you don't try to run them at 8MHz or try to do a battery backup. Seriously, though, one chip isn't going to make enough difference. It's not like a whole bank of them is going in there. Edited July 28, 2005 by Bruce Tomlin Quote Link to comment Share on other sites More sharing options...
+Mitch Posted July 28, 2005 Share Posted July 28, 2005 Since narrow RAMs are no problem to buy new, and in fact much easier to find in quantity while thrifting (old 486 motherboards are full of 'em for cache RAM), I'm probably just going to drop the wide RAM position.899605[/snapback] Many cache-oriented RAM chips are real power hogs. Are you sure the 7800 power supply wouldn't have a problem? 899901[/snapback] Just don't try running it on a 2600 power supply. Mitch Quote Link to comment Share on other sites More sharing options...
Bruce Tomlin Posted July 30, 2005 Author Share Posted July 30, 2005 Here's what it looks like after a few tweaks... the big thing is that I got the solder jumpers off of the back side, so now the back side silkscreen doesn't have to be printed. Also, I cut a bit off the top of the board, once I figured out that the clearance was 1 7/8" (and the width is just short of 1 7/8"). I also changed the IC pads to round pads and rotated the board to be upright. Quote Link to comment Share on other sites More sharing options...
supercat Posted July 30, 2005 Share Posted July 30, 2005 Should be fine as long as you don't try to run them at 8MHz or try to do a battery backup. Seriously, though, one chip isn't going to make enough difference. It's not like a whole bank of them is going in there. 900023[/snapback] Yes, well I remember one time my employer ran out of 32Kx8's for one project and I sugested that we were using 32Kx8's in another project. I hadn't realized how much difference there was. Fortunately, the units in question were found to have dead batteries before they were shipped to the customer Quote Link to comment Share on other sites More sharing options...
Bruce Tomlin Posted July 30, 2005 Author Share Posted July 30, 2005 (edited) As promised, here's what the original prototype ended up looking like with POKEY attached... Edited July 30, 2005 by Bruce Tomlin Quote Link to comment Share on other sites More sharing options...
Bruce Tomlin Posted August 11, 2005 Author Share Posted August 11, 2005 Wow, my boards came today, much earlier than I expected. I chose 8-day turnaround from pcb-pool, and it's been 8 calendar days since I placed the order. I wasn't expecting them to show up until Monday. Except they came Registered Mail, so I have to go by the post office tomorrow morning to pick them up. And Thursday evenings are anime night, so I may not have much time to play with them after I get home. I'll probably be carrying them around at VGExpo, showing them off to every AA'er I see. :-) Quote Link to comment Share on other sites More sharing options...
Bruce Tomlin Posted August 11, 2005 Author Share Posted August 11, 2005 (edited) On first inspection, they look pretty good. The slot key miters are much squarer than I was expecting, and what's more, they look better than their equivalents on any 7800 board I've ever seen, probably because in the old days they just used saw cuts. I'm glad I went ahead and borrowed the idea from Pixels Past boards of putting extra drills on the inside miters for the mounting notches. They came out looking like I expected, but the real proof will be when I get back home to test them for fit. EDIT: oh yeah, and as you can see, there was a free solder sucker thingy with any order offer Edited August 11, 2005 by Bruce Tomlin Quote Link to comment Share on other sites More sharing options...
PacManPlus Posted August 11, 2005 Share Posted August 11, 2005 Awesome work Bruce! Looking good... Hopefully these will be inexpensive enough to sell Quote Link to comment Share on other sites More sharing options...
DracIsBack Posted August 11, 2005 Share Posted August 11, 2005 Sweet. Maybe this means we'll get "for sale" versions of QBert, Pac Man, Space War Tubes and Beef Drop soon. Quote Link to comment Share on other sites More sharing options...
PacManPlus Posted August 11, 2005 Share Posted August 11, 2005 Sweet. Maybe this means we'll get "for sale" versions of QBert, Pac Man, Space War Tubes and Beef Drop soon. 909138[/snapback] *cough*Combat7800*cough* Quote Link to comment Share on other sites More sharing options...
Bruce Tomlin Posted August 11, 2005 Author Share Posted August 11, 2005 Wow, an actual design error. And I hit it right away. W1/W2 don't work like I was thinking they would. They are needed to connect A14 and A15 to the 7402, but they must always BOTH be connected. I was trying to use them to control +5 vs signal to the A14/A15 ROM inputs for smaller ROMs that used those pins for other things (2764-27256), but in doing so, I caused the chip select to completely ignore A15. It's really not a good idea to have bus conflicts between a ROM and your stack RAM. So I can use it with a 27256 right now, but not a 29C256, because I need to keep pin 1 at +5 volts. (Actually, I can use a 29C256 if I use a GAL with it, but that rather defeats the point of having 7402 support.) And in trying to avoid making it too tight against the mounting points, I ended up making it too loose. So I'll have to expand some of the outlines a bit. It won't be until at least late tonight that I'll be able to start testing it for bank switched configurations. I should have most of tomorrow night for that, however. Quote Link to comment Share on other sites More sharing options...
Bruce Tomlin Posted August 13, 2005 Author Share Posted August 13, 2005 I finally got a bank switched game going, though with lots of troubles. First of all, I kept forgetting to actually program the stupid chips. Duh. Then I went through three or four iterations of problems caused by having re-designed the GAL pinout in a couple of places. (I will need to back-port these to my wired-up board.) I tried to get a 28F010 working, and while I was able to dump the cartridge properly, it still wouldn't run. I tried half a dozen others and got it almost working. So I tried a 27010 EPROM and was able to get one working. There must be some kind of wierd access time problem with the 28F010 (one 200ns and the rest 150ns), because the 27010 was also 150ns. I might also try 3.3K pull-up resistors instead of 6.8K in case that's causing some of the speed problem. On the hardware front, I've been re-arranging things with the jumpers. I got the two new jumpers squeezed in. Then I determined that two of the jumpers are redundant and would always be connected in configurations with no RAM or POKEY, so I'm removing them on the mini board. That and the tweaked dimensions mean that the next round should be good to go. I'll probably go for the soldermask and silkscreen, and get a few overdelivery boards too, which should help offset the extra cost of the S&S. There's no way I can get another round of boards in time for VGexpo, nor should I try. Now for something wierd: I have a couple dozen '010 EPROMs, a pile of '010 Flash, and ten '040 EPROMs. But I have zero '020 EPROMs. (I do have a couple of PLCC '020 Flash chips, but that doesn't count.) So I'll need to do a double-burn when I try to make a 144K game work. I probably won't get around to that until Sunday. By the way, there are only two 144K games: Alien Brigade and Crossbow. Even Klax and Sentinel are 128K low-mode games. I guess low-mode was just too damn useful, by giving you 32K of non-banked ROM without having to put in a second chip. I'm not sure, but I think only four or five 128K games didn't use low-mode. Quote Link to comment Share on other sites More sharing options...
Bruce Tomlin Posted August 14, 2005 Author Share Posted August 14, 2005 144K works. Both Alien Brigade and Crossbow were tried, and I played a full game of each. Kind of wierd that both 144K games are light gun games, but oh well. Yeesh, having to use 512K of ROM for a 144K game, just because I didn't have any '020 chips. But it worked. So that means I've got working: Flat with 7402 (48K or less), Supercart with low-mode (tested at 128K) and 144K, all on the same board. And I have no reason not to expect larger (256K-1M) Supercart modes to work, though for obvious reasons I have nothing to test them with. I know I could make Absolute work, but I don't care. That means that my board will play every released 7800 game except for the two Activision, five RAM games, and two POKEY games. I'll probably send in Rev B for manufacture sometime today. Hopefully it will be ready for prime time. Quote Link to comment Share on other sites More sharing options...
+Mitch Posted August 14, 2005 Share Posted August 14, 2005 144K works. Both Alien Brigade and Crossbow were tried, and I played a full game of each. Kind of wierd that both 144K games are light gun games, but oh well. Yeesh, having to use 512K of ROM for a 144K game, just because I didn't have any '020 chips. But it worked. So that means I've got working: Flat with 7402 (48K or less), Supercart with low-mode (tested at 128K) and 144K, all on the same board. And I have no reason not to expect larger (256K-1M) Supercart modes to work, though for obvious reasons I have nothing to test them with. I know I could make Absolute work, but I don't care. That means that my board will play every released 7800 game except for the two Activision, five RAM games, and two POKEY games. I'll probably send in Rev B for manufacture sometime today. Hopefully it will be ready for prime time. 911229[/snapback] Awesome! It will be nice not having to hack up old games anymore. Mitch Quote Link to comment Share on other sites More sharing options...
Schmutzpuppe Posted August 14, 2005 Share Posted August 14, 2005 144K works. Both Alien Brigade and Crossbow were tried, and I played a full game of each. Kind of wierd that both 144K games are light gun games, but oh well. Yeesh, having to use 512K of ROM for a 144K game, just because I didn't have any '020 chips. But it worked. So that means I've got working: Flat with 7402 (48K or less), Supercart with low-mode (tested at 128K) and 144K, all on the same board. And I have no reason not to expect larger (256K-1M) Supercart modes to work, though for obvious reasons I have nothing to test them with. I know I could make Absolute work, but I don't care. That means that my board will play every released 7800 game except for the two Activision, five RAM games, and two POKEY games. I'll probably send in Rev B for manufacture sometime today. Hopefully it will be ready for prime time. 911229[/snapback] Congrats! Very good work. Pokey + RAM would be also interesting but at least for homebrews the expansion board of Pac Man could be a better solution than putting a pokey on every single card. Quote Link to comment Share on other sites More sharing options...
Bruce Tomlin Posted August 28, 2005 Author Share Posted August 28, 2005 (edited) Wow. I got it. I've been trying different approaches to route the full Ultracart, even trying to move the GAL chip on the back side of the board under the ROM. That was pretty useless, as the reason it worked on the mini was because most of the signals didn't have to go through to something else. I finally got tired of routing the full Ultracart and gave up on the wide RAM/ROM position. It was just dragging way too many signals up the neck of the board. 144K is pointless when you can have 256K with low mode, and the two games that actually used it work on the mini anyhow. So all that means is I don't get to use my wide RAM chips, and I have more narrow chips anyhow. With just the narrow RAM position (and POKEY), and a strategy of working up from the bottom, I finally got the stupid thing to connect. Just barely, too, as I was two traces short until I tightened up the vertical routing and got tricky by getting the last trace to route under the RAM's OE/CE connection. After that, it was easy with the space freed up by not having the wide RAM's pins in the way. And I did it with no chips on the back side. I've still got a few tweaks to make, but the hard part is done. Now I need to get my second set of mini-Ultracart boards back so I can see if I got the fit right this time. Edited August 28, 2005 by Bruce Tomlin Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.