Bitbox : a small open, DIY 32 bit VGA console


makapuf

Still Fresh
Joined
Aug 1, 2014
Messages
7
Hi all,

I've been developing a simple DIY console and a participant of the project and of this message board just told me you guys could be interested about my little homemade console. Of course, it's all open & hardware design & software sources are available (on github).

It's a one-chip stm32f4 based console (+ a few passives), which has the following abilities :

- 640x480 @ 32768 colors, 60Hz VGA screen output

- 1M flash, 192 kB RAM (yes, kilo)

- stereo sound (8 or 12 bits, usually 12)

- micro SD card reader

- 2 USB hosts, compatible with mice, keyboards and USB gamepads

- expansion port for .. whatever (I2C, SPI, UART, GPIO)

- USB device for power or maybe bootloader upgrades.

Everything is generated by software "racing the beam", i.e. no specialized GPU or any other chip than the microcontroller. Thus, nothing is set in stone, you can tweak anything.

What it is capable of :

- full graphical bootloader operated by gamepads (ability to select and flash games from micro-sd)

- play videos (special format, see blog post) from the sd card

- play .mod files (from sd card, larger than memory)

- run a gameboy emulator ! (based on gnuboy) - I should port other emulators maybe :) spectrum, NES ?

- run some native games :) -  still not enough, always doing some more

- ... more to come !

- has a simulator to program games on PC (source compatible with API, SDL-based) and then test on device.

More info at  : http://bitboxconsole.blogspot.com/

L08VF9x.png


hlfABcz.png


Youtube Videos : https://www.youtube.com/channel/UC0ZUSN9heJyppQrwFbgzZCw/videos

Hope you like it guys, if not, please ignore !
 
Last edited by a moderator:
I'll try and have a proper look at the videos later, but yeah, definately looks interesting.
 
Indeed, very interesting ; I started reading the thread + site, the thread is quite long !

It seems it's a Z80+"gpu" stm32 , with external RAM with framebuffer design, but I'm still discovering it.
 
Makapuf,


You are exactly the type of member we like around here. Welcome!


You device looks very interesting!
 
hehe, it's not playing the game, it's playing a video...
 
Last edited by a moderator:
the bitbox creator came out with bitbox micro; here they are side by side:


IMG_1025.JPG


here's the wiki on it:


https://github.com/makapuf/bitbox/wiki/Bitbox-Micro


i haven't developed anything for the micro yet, and will probably primarily target the bigger brother, though makapuf is trying to make it easy to develop for both simultaneously.  i may do a video on them sometime.
 
lol the micro is crazy awesome :)



I did the straight up stm32 console at one point but wanted to go the extra crazy and hence the z80 cpu -- external ram and cpu get you frame buffers which is very nice. With stm32 alone you just can't do anframebuffer so you have to either do low res or do high res with a live-calculated display (a couple lines of buffer only.) Its all great fun but I wanted double buffer (which is why my earlier thread stuff is discrete framebuffers and avr timers :) )


Rolling your own console is enormously satisfying :)
 
oh yeah, I wanted a cartridge slot and eventually ended up with enough ram and rom space a small Linux can be made to boot :eek:
 
I've never heard of Uzi .. very cute. There are some unix like OSes around for stm32 and ez80 and such, that port pretty easily. Can't think of names offhand - kids and Christmas has my brain rattled :)


edit: NuttX is one I was thinking of - its quite something. I've been fiddling writing my own more like a c64 .. a BASIC interp with a rudimentary bios wrapped around it .. a vector table cartridges can call into
 
Last edited by a moderator:
racing the beam is quite fun, though a framebuffer would make things easier.


i like the whole idea of keeping the games simple, which is also a plus.  (makes it easier to work on a bunch.)
 
Back
Top