They say a picture is worth 1,000 words. If so, this post has exactly 6,000 words (rounded to the nearest thousand).
I’ve taken to calling the USB Linker the “Neo Pocket Linkmasta” based on Turfmasta’s naming scheme. There’s been a redesign of the Linkmasta based on a different set of chips. It wasn’t difficult, but I had to start over with a breadboard to test it before I have a PCB made. This will probably result in a bit more soldering for me, but I like the design a bit better. I think it will offer more flexibility if we need to change anything in the future (like if certain parts become unavailable or of some new thing becomes available). I have ordered some parts to assemble some prototypes of this new design, and I’m hoping the prototype will turn out to be something I can make for you guys. No, it won’t look like that rat’s nest you see here.
In other news, I received a package from Turfmasta. I won’t go into detail here, because I don’t know how much he wants this made public. I’ll just post a couple pictures.
Well, things have been a bit slow on the “Neo Geo Pocket Developments” front. After proving the USB linker concept, there’s a bit of a waiting game while we figure out how to produce these. The thing works. That’s great. Now what? How do we get them to you?
The Flash cart, however, has been a bit slower going. Gerry is finishing up his studies for the semester, so that puts him out of the game for a bit. I’ve been trying to keep myself busy on the project while waiting for Gerry’s skills/expertise. Hopefully he’s fully in it at the end of the month.
I hooked up with a guy called Snow Cat. He helped Gerry with previous projects. Man, this guy is awesome at drawing up cad stuff. He laid out a Neo Geo Pocket cartridge PCB for me. I don’t mean the schematics/electronics. I mean the exact shape of the cartridge with holes and the edge connector. It’s perfect.
I just sent in an order for a set of 3 prototype cart PCBs to be made. I will probably send one or two on to Gerry to test in his lab. Hopefully they are correct and we can move on with programming them.
There’s not much to say here. Watch the video.
Here’s a video I just uploaded to YouTube.
Design work started on the cart PCB. Most of the schematic has been drawn up. The card edge connector is missing, but I think Brian or Gerry may come through with that soon. Then, I think Gerry will lay out the PCB based on the schematic and etch a prototype. This will allow me to perfect my VHDL code that will run on the cart.
I’m feeling real good about this. I gave Gerry an early untested version of the VHDL and said that I think there’s about a 15% chance that it will just work on the first try.
Once the prototype works, then we can fab a real board based on the same design.
Last night I cut up a couple PCI slots to make NGP cart sockets. The process of making multiple at a time is a bit easier than making one, because I can mark a couple at a time. After one is made, it’s much easier to use that as a guide to make others.
The drawback is that the faster you go, the less careful you get. At one point, I ended up hitting my finger with the Dremel cutting wheel. Actually, I think I got quite lucky that it wasn’t worse. It’s not really even noticeable today, except for a line of burnt flesh.
So, I’m ready with some sockets for when PCBs arrive. Did I mention that I ordered some PCBs? Yeah, Turfmasta helped me by drawing up some plans based on my breadboard design. We’re going to get this NGP linker working and also make the design compatible with his NeoSavemasta SRAM card. This means that the linker hardware will be dual-purpose (and probably have other uses soon-after).
I’ve been working on the theoretical side of the Flash Cart, too. I can’t do much in practice, because I don’t have any hardware for that yet, but I’m working out a design and all that.
This one is a bit trickier. It’s a bit more involved to actually take a .NGF save-game file and write it to an official cart. Nonetheless, I did it. I had issues, and I left out any real error checking (like to make sure the .NGF is valid for the cart). It works, though.
So, now you can share save-game files between an official cart and an emulator (R.A.C.E. or NeoPop). You can dump an NGF from a cart and load it on your PSP running RACE. You can take a NeoPop save-game from your PC and put it on a cart and play it on the actual NGPC.
You can make periodic backups of your NGPC carts just in case you loose your data, want to start a new game, or end up dying. Then you can restore to the last backup.
I think it all works, but it will require some more testing. What it did bring to light, though, was how slow the cart writing process actually is. I was only writing small blocks, but it still took a long time. If I were writing an entire 32mbit cart (like a Bung), it would have taken hours.
I came up with a new “smarter” way of writing bulk data. It seems fairly usable. At the end of last night, it was able to write the entire Card Fighters save-game data in about 20 seconds. That accounts for about 1/64th of a 32mbit cart, so we’re still talking like 21 minutes to write an entire 32mbit. There are still tricks to speed this up, but 20min isn’t all that bad, really. First, you’re not usually writing a full 32mbit. Then, if you are writing a lot, you’re not doing it all that often. Like, if you’re developing some homebrew, you might be writing the cart fairly often, but you’re probably looking at like maybe a minute’s worth of data.
So, this is all good news. I continue to work on the USB Pocket Linker. Gerry continues to fit in work on the Pocket Flash Cart when real life permits. It’s all going well, and we have some other related projects in the works for you Neo SNK freak types.
Today I had a new idea. I can take an official cart and scan it to see which blocks are unprotected. That means they’re writable. The save-game data will always be stored in one or more of the writable blocks.
I worked on the RACE NGPC emulator’s flash memory emulation enough to know how it stores the save-game data in a file. So, I combined these to make a tool to back up an official cart’s save-game data to a NGF file which RACE and NeoPop can use.
So, the idea is that you could take an official cart and backup its save-game data to a file. This file could either be used on an emulator or to restore it to a cart later.
It’s simple, but nifty. I got the backup working. I’ll work on restoring it later. It’s worth noting that this should also be able to take a NGF file from an emulator (RACE/NeoPop) and write it to an official cart.