Well, here it is. After I had a brilliant idea followed by an epiphany about how to breadboard the cartridge slot, I started wiring it up. I had to install a voltage regulator to drop the USB 5V down to 3.3V that the NGPC cart could handle.
I didn’t wire up all the lines yet, but I was able to verify that reading works. I hoped this picture would show the result, but it’s a bit blurry. In the command-prompt window, you can see the first 8 bytes of the cart. In the other background window, you can see a ROM dump of the game (from elsewhere). The first 8 bytes match, which is a very good indication that it’s reading properly.
Next is to connect up all the address lines (which just takes time). Then I can test writing to a cart. Unfortunately, there’s not much to write to an official cart. I should be able to read/write the save-game areas of official carts until we have a writeable cart. Gerry is working on that, though.
Once I have a usable NGPC reader/writer, I will have to start learning VHDL. Then I can code up some routines for a MAX3000 so that the NGPC will think it’s an official SNK cartridge. Oh, what fun.
I suppose I can also fab some PCBs for this USB Pocket Linker. I’ve never done that before, but much of this is new to me. How hard can it be?
I had planned to be playing Pokemon TCG with my homies tonight. That fell through, so I got the evening to play with my new toys. I probably should have been doing some real work, but I got caught up trying to write this flash chip, instead.
I just got it working. I can read data from the AT29C040A, but that’s easy. It took me a while to actually send commands to the chip and get it to respond. Once I got it to read the Manufacturer ID and Device ID from the flash chip, I was pretty sure I could actually flash data to the thing. Sure enough, it all works now.
I guess the next step is reading/writing an actual NGP/NGPC cart. That will take some new work, though. First, I have to deal with the cart edge connector. I have some ideas for that. Then, I have to convert this thing to 3V, as the chips I worked with so far were 5V. Then, I have to wire it all up (which won’t be as trivial as a single DIP chip.
NGPC Linker Prototype Testing Hardwired Data Input
NGPC Linker Prototype Testing Hardwired Data Input (Closeup)
I received a couple packages today. I don’t really have time to explain, so I’ll just post some pictures. At any rate, I’ve proven that the design works for reading from an EPROM chip. Next, I will read/write a 5V Flash chip. After that, I can move on to read/write the Neo Geo Pocket Cartridge.
The main point is that it works. I have a crude application running on my PC. It can read bytes from the EPROM chip, and I’ve verified that they’re right so far. That’s all that counts for now.