Initial Research

A project log for RaspiCart: GPIO ROM Carts

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

DustinDustin 12/01/2020 at 17:040 Comments

I put most of my initial thoughts in the "Details" section already, but I'm very excited to see if this will come together. 

I just found that the Raspberry Pi 4 has a 1Mbit EEPROM attached to an SPI bus for the bootloader code. I'm not sure exactly what this could mean for the projuect, but I suspect a custom bootloader could be used to load a minimal OS and boot carts. It might make it impossible to boot the Pi from SD, but it would be worth it to someone who wants a dedicated game console. Maybe someone who wants to give one to their kids and not worry about them breaking it. Needs more research. Further Reading

I don't have a Raspberry Pi 400 yet, but I'll go pick one up for testing as soon as I get the chance. I'm considering drafting standards for the carts and system resources, just to kind of challenge the developers. It's pretty easy to code with near infinite resources, but some strict restrictions, like the limited RAM and audio voices of the Commodore 64, would force developers to get very creative with their design and coding. Then again, leaving everything open could lead to some seriously cool large scale games. Will think on this more later. The SPI interface on the Pi 4 should allow for EEPROM data storage, flash storage, or even SD storage if you really wanted. Although, looking at the prices of SPI flash memory, I think I'd go that route for a development cartridge. Development hardware is a whole other story, and I'll have to sort that out later. I found this flash chip for under $1.96 USD, and at 512MB, it's a good start. Those SPI flash chips go up into the gigabytes, so that would leave a lot of room for options and massive games. Here's a 2GB flash chip for $3.95 USD. It's pretty cheap to buy them in multiple GB sizes. For the truly retro feel, there are still KB sized EEPROM chips available, but the cost per byte is much higher than the flash chips. Looking at the lovely OwlBoy game for linux, it totals 390MB, and could easily fit onto a 512MB flash chip. I'd love to see some of the Linux games released for the Raspberry Pi 400 on cartridge someday.

SPI Bus speed limits on Raspberry Pi 4: Article

Things are getting distracting here, so I'll finish this rambling up and come back later.