Archive for March, 2011
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.