HyperFlash32 Development Page
I'm bringing this page over from my older Mellottsvrpage.com site because it's now more appropriate here at RetroOnyx. I attempted to leave it mostly unedited here with the exception of a few minor corrections.
People commonly ask why HyperFlash32. Here’s why I made some of the design choices you’ll read about below.
1. What is HyperFlash32? HyperFlash32 is a single ROM flash cart that can be reflashed from ROMs available on an SD card. It crosses the boundary somewhat between a single ROM cart and a multi-ROM cart. Although only one game is loaded at a time, it takes anywhere from 15 seconds to 90 seconds to load a new one. HF32 has an built in eInk digital label that changes based on what ROM is loaded. This way you always know what game is loaded by looking at the cart. The digital labels and icons are all user customizable so you can personalize it. HF32 has 32Mbit of built in flash memory along with an 8k x 8 (or 32k x 8) nvSRAM that doesn’t require a backup battery. SRAM contents with save data are saved off to the SD card and reloaded as ROMs are swapped out. You can even access your SRAM files to transfer to another HF32, or even to physical carts. HF32 has built in capacitive touch buttons on the back to provide a fully self contained user interface that doesn’t require a computer or GUI. I even put in a haptic module to improve feedback on the haptic touch buttons. In short, its the most fully featured flash cart on the planet.
2. Why HyperFlash32 in general? FlashBoy+ was no longer being made and it could never hold the full Hyper Fighting ROM. The full 32Mbit Hyper Fighting ROM was released on PlanetVB. I also like VB projects and building a flash cart with a unique case and built in screen was something no one else had done yet.
3. Why include an SD card slot for a single game flash cart? ROMs transfer much faster over an SD card link than over the USB serial connection. Your SD card can also hold every Virtual Boy ROM you own, and then some. An SD card also provides lots of additional storage for HF32 to access things like custom label graphics, custom icons, and custom fonts for its eInk screen. I can even dump cart contents like SRAM save data to the SD card, as well as reload them with the appropriate ROM. It just enabled a lot more features with increased speeds.
4. Why is there an eInk screen? HF32 will switch out its graphics based on which ROM file you load. Just name the label file the same name as the ROM file and you’re set. I’ve also added capacitive touch control for on-screen programming ROM files so you’ll never need a PC connection, if you don’t want to use it. Finally, because it’s just awesome!
5. Why is there a USB port? This is mainly a developer feature. Anything the cart can do is accessible through the USB port. However, most users don’t need it and the on-screen control will suffice. Lastly, when not plugged into the Virtual Boy, HF32 still needs to be powered over the USB port to enable re-flashing and the on-screen control.
6. Why the unusual FR4 case design? HF32 is packed with electronics beyond any other VB cart. This compact FR4 case design allowed me to double the amount of electronics that fit inside a VB cart. It turns out, that FR4 is super strong as well so it actually makes a better case. I’m particularly proud of this part of the design and spent 2 months on this aspect alone. It’s what enabled the eInk screen to be added.
7. Are they available? I’ve built and shipped prototypes and now several batches. I’m debating a batch 4. So yes, they’re real and out in the wild and they work. If you’re interested in getting one, please email me, or contact me via the link at the top of this page.
Now that I’ve answered a few of the common questions about HyperFlash32, please read below for its development history and an eInk contest that took place.
I ran an eInk label contest for HyperFlash32. Check out the amazing work people did here.
HyperFlash32 is my new fully contained single slot reprogrammable cart. It’s a combination of my VB programmer and my reprogrammable 16Mbit and 32Mbit carts. This project was motivated by the fact that FlashBoy+ units were no longer being made, and also by the release of the full Hyper Fighting ROM on PlanetVB. HyperFlash32 contains 32Mbit of flash memory to hold the full Hyper Fighting ROM file. I’ve shipped quite a few of my HF32 units so far and will ship quite a bit more. My early prototype design is shown below.
HyperFlash32 contains a 32Mbit Flash (enough for the full HF ROM), 8k x 8 nvSRAM (no save battery required), a 8bit microcontroller (MCU) running at 16MHz, on board SD card slot, and USB port for control using your PC. ROM files are placed on the SD card and programmed to the flash memory using the MCU, with automatic padding. A simple PC based interface will be used to control the programming steps much like my VB programmer. The on board MCU and SD card slot arrangement was chosen to make programming as fast as possible and provide a single integrated programmer and cart solution. The MCU will also have a bootloader to allow future firmware user upgrades as functionality is added.
I originally posted that I wasn’t going to include an eInk display but I couldn’t let it go. HF32 DOES include an eInk display that allows users to switch out the label of the HyperFlash32 cart to match what is programmed. The eInk displays are rated for 5 years or 1,000,000 refreshes, so that should last a very very long time in this application. I also added capacitive touch buttons on the back cover to allow programming of the cart without a computer. You’ll still need to power it through the USB port, however.
The key to getting this all working was creating more room inside the cart for electronics. I did this by making the cart covers part of the PCB. The bottom covers are made out of FR4 material and embed the display and additional electronics. The top cover was originally FR4 but eventually became aluminum. The frame around the cart is made from 3D printed carbon fiber and is incredibly strong. I print them in house.
The eInk display is actually embedded into the top cover PCB. It’s a design I’m extremely excited and proud of. HF32 is a very compact design that allows more room for electronics, allows an eInk label, creates a very strong fiber glass re-enforced case, and allows a fully custom cart design. On top of that you can apply some graphics to the FR4 covers like shown below. I’ve put some throw back graphics on there to the original VB system.
The PCB designs are shown below. There’s the main PCB holding the memory and microcontroller. Then there’s a bottom cover PCB that acts as the outer case and also housings the SD card, USB, and eInk display circuitry. The top cover is basically a shell and holder for the eInk display.
HF32 customers have been creating some pretty amazing art for the eInk displays. Here’s a couple as an example. Amazing work.
Here are two of my very early mechanical prototypes that I used to initially flush out the assembly of the carts. Vertically I’m squeezing every millimeter into the design to get everything to fit.
Here’s a snapshot of an early prototype with dust cover on. I originally planned on red PCBs but I ended up doing black because it made the contrast of the eInk label look better. I did white silk screen as well. Eventually by middle of batch 3, I've done all color combinations of black and red. I've even done some silver and gold.
Here’s an image of the final design that shipped out in the prototypes and batch 1 production units. The labels are designed my Mumphy from PlanetVB.
I even did a box set for HF32 complete with new cart insert, manual, and box. The one shown below is a very early prototype where the box was a bit too pink.