A Christmas tree bauble that plays Doom #Gaming #VintageComputing @Spritemods
SpriteMods has miniaturized an IBM PC playing Doom in a holiday themed package:
“I 3D-printed a small Christmas bauble modeled on an IBM PC, stuffed it with the tiniest LCD I could find, added a processor and the logic to make it work as well as a battery. This thing can hang on a Christmas tree and show the Doom demo mode, including the audio effects and the sound track. And best of all: if you pair a random BLE keyboard or joystick to it, you can play and kill millimeter-sized zombies, shotgun guys and imps.
The set of requirements for any chip I wanted to run Doom on: It required ROM (or flash) that can memory map the entire re-written Doom WAD-file. Additionally, it needs somewhere around 300K of RAM. It also needed to be at least as fast as a GBA, but given that that beast ran at 16.8MHz, that shouldn’t be a big issue.
All in all, I went for an ESP32-C3. It’s a RISC-V-based SOC that runs at 160MHz, so a fluid Doom experience shouldn’t be an issue. It has 400K of SRAM as well, so the GBA version of Doom should fit nicely, with room to spare for other things. Unlike the older ESP32 (which is limited to 4MiB), the ESP32C3 can map 8MiB of flash directly into its address space, which is enough for the Doom WADfile. It also has WiFi and, more importantly, BLE; this means I have a chance of wirelessly hooking up a controller to it to actually play Doom.
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.