Reading Japanese CFC NGPC Via USB


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’ve got a little video of my own, tonight. Watch as I magically transform a simple PCI slot into a socket of awesomeness.

This guy is on the right track! I don’t know what his plans are, but I know he’s doing some impressive things!

I need some ideas for how I’m going to insert my NGP cart into this “linker” device. The pin spacing is the same as PCI, so I got some PCI slots to use in my prototype. The problems are…

  • The edge connector needs only be on one side.
  • There’s a key in the middle.
  • The ends of the cart are closed off (meaning the “socket” needs to be open-ended).
  • Breadboarding a PCI socket is a pain.
  • There are 18 pins, then a key (spanning 2 pins), and then 18 more pins.
  • This socket isn’t available off-the-shelf.

I’m soliciting ideas on how to approach this. I’d like both prototyping ideas and also ideas for a product that users would be okay with.

Here are some pictures to help you get an idea of what I’m up against. The pins pitch/spacing is 0.050 inches or 1.27 mm.

Pic_of_3_cart_PCBs ngpprotoi baseballv BUNG_Progerammer__001 DSC00740

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.

But so far, so good.


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.

NGPC Linker Prototype Reading Vs. Soccer 1A