Hey folks. I know it has been a SUPER LONG TIME since my last update. To be honest I had to stop working on the project for a while because A) I had a lot of stuff going on and B) I was getting burnt out, as often happens with hobbyist electronic projects. I had significant issues with my first microcontroller-based design, and in the end I decided it was needlessly complicated and I needed to figure out something else.
Here is a flow diagram for the next iteration of the VBSD (formerly VBOOT) project: (*edit, the link doesn’t appear to be showing up, so here is the URL) http://imgur.com/l4f0Z
As you can see, the design is almost completely different. The main controller of the VBSD is a Xilinx Spartan-3A FPGA. It handles all interfacing between the VB and ROM/RAM. There is a PIC24FJ microcontroller as a supervisory circuit for the FPGA, and it also handles reading and writing to the MicroSD card via SPI protocol. Due to the requirements of the FPGA, there are now 3 power planes on the circuit board, including the VB 5V supply, a 3.3V supply to power the memory and electronics, and a 1.2V supply to power the FPGA core logic. I was able to improve on my power supply design in this iteration and reduce the footprint.
The ROM/RAM for a VB game and save memory will all be stored on the main SRAM chip, which must be 32M or greater. 16M is needed for a VB game, plus the save game SRAM, plus my custom VBSD menu and interrupt vectors. I am contemplating switching from SRAM to SDRAM now that I have an FPGA controller, which will save cost and make the design easier to maintain and upgrade in the future. The FPGA will handle all address masking, so essentially the VB can read/write memory to either the “ROM” or the “SRAM” and the FPGA will be able to translate these signals and deliver the correct data with little propagation delay.
Also improved in this version of the cart is the bus switch interface that connects the VB 5V logic to the board’s 3.3V logic. I am using 6 FET Bus Switches that are bidirectional, so the FPGA will be able to both send and receive data to the cart edge. What does this mean? Well, I am planning on designing a future expansion board (listed in the diagram as “RAM Dump Daughter Board”). This expansion board will plug into the VBSD cartridge and it will include its own small power supply. You plug the daughter board into the VBSD cartridge, and then you plug an original Virtual Boy game cartridge into the other end of the daughter board. When you flip the power switch, the VBSD will recognize the daughter board and initiate a RAM dump of the Virtual Boy game cartridge. This means you will be able to PERMANENTLY SAVE your save game data from all of your original game cartridges. These save game files will be loaded onto the MicroSD card and they can later be used by the VBSD to provide REAL SAVE GAME SUPPORT to every game in your collection. I am really excited about this feature, but obviously this is a future project that will take a back seat to the VBSD development.
In summation, I’m really excited about the future of this project. Despite my lack of updates, I have not given up on the VBSD! Please comment with any questions/concerns you have.