A Better Solution Found...

A project log for PiCarts: GPIO ROM Carts

Loading from ROM cartridges plugged into the GPIO port. Just like the old days.

DustinDustin 07/24/2021 at 18:040 Comments

My original idea, one I still wish to pursue, was to boot a Raspberry Pi 400 from cartridges attached to the GPIO port. I've found simple ways to run code from that port, but no confirmed way of booting an operating system from it. I'm sure it would be possible, but would require digging deeper into the Pi firmware and boot code than I could even comprehend. This limits my project greatly and makes it difficult to realize my original dream. Recently, though, I came across something very simple that does exactly what I want. Something that gives the Pi 4 a robust and user friendly cartridge system. It lacks GPIO access, but would be perfect for simple games and software. 

The Retroflag nespi 4 Case is simply a very well made Pi 4 Case that looks like a NES, and uses a carriage that houses an SSD. The Pi 4 can boot from USB 3.0, which is how the cartridge connects the SSD to the Pi. The Pi 4 can boot from a cartridge. Exactly what I was trying to do. It's almost perfect. The only thing I don't like about the system is the high cost of SSD cartridge cases and high cost of SSDs themselves. I could get around both of these by designing my own cartridges for this system that use PCB material as the case, which cheap memory chips soldered to the board. They could be made to whatever capacity and style the game developer wants, and would likely be far cheaper than the official Retroflag offerings. Since the case uses a simple USB to SATA adapter, I suspect I could easily make a board that has the SD flash chips on it which converts an SD card chip to SATA over USB. I'm not sure exactly what would be required to do that, both mechanically or electrically, but it may be cheaper than an SSD. The cheapest SSD a lazy Newegg search found was $17.99USD. At only 32GB, it's far larger than needed for simple games, and hardly cheap. The SD flash chips I found are far cheaper and the smaller capacities would force smaller games and hopefully more creativity. Artificial hardware limits aren't always fun, but keeping things reasonably priced just makes things far more viable in the long run. Who wants to pay $50+ for a game cartridge with a ton of wasted blank space? I suppose it could be used to save user files. In any case, the challenge of designing a cartridge for this case intrigues me and I'll add it to my list of things to work towards. I'll be ordering a few of those cases soon. At least two. One as a main console for me to use in my camper, and one for development. This case could immediately put a new, modern, open source game console into the hands of developers. I know my dreams with this project are massive, but it's something to keep me moving forward and learning. I don't like easy things. Turning a simple educational computer into a viable video game console seems to be a challenge worth my efforts these days. 

This case would make for a very different console than the Pi 400, but in a very good way. While my PiCarts 400 project is complex, with almost endless hardware possibilities, the nespi 4 console is very simple and robust. The 400 gives access to all GPIO, while the nespi 4 denies it. I can imagine kids using the nespi as a game console, eventually learning to program, and moving onto the Pi 400 and developing their own games and software for both platforms. We don't really have many mainstream, open consoles out there, like the 8 bit era had. I think these two Pi based systems are a great place to start dreaming and building. Hopefully I won't be the only one who thinks so. 

This all makes me wonder how many people actually read my log entries. I'd love to see more discussion here at some point. I feel completely alone on this project. It's a little boring at times.