Over the years, hackers and modders at large have made it their mission to port classic first-person shooter Doom to practicallyanything with a display. Recently, though, coder Arin Sarkisan has taken the "Can it Run Doom?" idea in an unlikely direction: wireless earbuds that aren't designed to output graphics at all.
That means Sarkisan was able to code up a JavaScript interface that uses the earbuds' UART contact pads to send a heavily compressed MJPEG video stream to a web server (via a serial server). The 2.4 MB/s data stream from the UART connection can put out about 22 to 27 frames per second in this format, which is more than enough for a CPU that can only run the game at a maximum of 18 fps anyway.
The ESP32-P4 is the new hotness on the microcontroller market. With RISC-V architecture and two cores running 400 MHz, to ears of a certain vintage it sounds more like the heart of a Unix workstation than a traditional MCU. Timeβs a funny thing like that. [DynaMight] was looking for an excuse to play with this powerful new system on a chip, so put together what he calls the GB300-P4: a commercial handheld game console with an Expressif brain transplant.
Older ESP32 chips werenβt quite up to 16-bit emulation, but that hadnβt stopped people trying; the RetroGo project by [ducalex] already has an SNES and Genesis/Mega Drive emulation mode, along with all the 8-bit you could ask for. But the higher-tech consoles can run a bit slow in emulation on other ESP32 chips. [DynaMight] wanted to see if the P4 performed better, and to no ones surprise, it did.
If the build quality on this handheld looks suspiciously professional, thatβs because it is: [DynaMight] started with a GB300, a commercial emulator platform. Since the ESP32-P4 is replacing a MIPS chip clocked at 914 MHz in the original β which sounds even more like the heart of a Unix workstation, come to think of it β the machine probably doesnβt have better performance than it did from factory unless its code was terribly un-optimized. In this case, performance was not the point. The point was to have a handheld running RetroGo on this specific chip, which the project has evidently accomplished with flying colours. If youβve got a GB300 youβd rather put an βExpressif Insideβ sticker on, the project is on github. Otherwise you can check out the demo video below. (DOOM starts at 1:29, because of course it runs DOOM.)
The last P4 project we featured was a Quadra emulator; we expect to see a lot of projects with this chip in the new year, and theyβre not all going to be retrocomputer-related, weβre sure. If youβre cooking up something using the new ESP32, or know someone who is, you know what to do.
With more and more kitchen utilities gaining touch screens and capable microcontrollers itβd be inconceivable that they do not get put to other uses as well. To this end [Aaron Christophel] is back with another briefly Doom-less device in the form of the Krups Cook4Me pressure cooking pot with its rather sizeable touch screen and proclaimed smarts in addition to WiFi and an associated smartphone app.
Inside is an ESP32 module for the WiFi side, with the brains of the whole operation being a Renesas R7S721031VC SoC with a single 400 MHz Cortex-A9. This is backed by 128 MB of Flash and 128 MB of RAM. The lower touch interface is handled by a separate Microchip PIC MCU to apparently enable for low standby power usage until woken up by touch.
The developers were nice enough to make it easy to dump the firmware on the SoC via SWD, allowing for convenient reverse-engineering and porting of Doom. With the touch screen used as the human input device it was actually quite playable, and considering the fairly beefy SoC, Doom runs like a dream. Sadly, due to the rarity of this device, [Aaron] is not releasing project files for it.
As for why a simple cooking pot needs all of this hardware, the answer is probably along the lines of βbecause we canβ.
Given the technical specs of the FPGAs available to hobbyists these days, it really shouldnβt be a shock that you can implement a relatively-modern chipset on one, like one for a 486 system. In spite of knowing that in the technical sense, we were still caught off guard by [maniek-86]βs M8SBC project that does just thatβ the proas both CPU and BIOSducing a 486 FPGA chipset with a motherboard to boot.
Boot what? Linux 2.2.6, MS-DOS 6.22 or FreeDOS all work. It can run DOOM, of course, along with Wolfenstien 3D, Prince of Persia, and even the famous Second Reality demoβ though that last without sound. [maniek-86]βs implementation is lacking direct memory access, so sound card support is right out. There are a few other bugs that are slowly being squished, too, according to the latest Reddit thread.
The heart of the system is a Xilinx Spartan II XC2S100 FPGA, which serves the motherboard chipset, codnamed βHamster Iβ. The CPU is a vintage i486, running at a configurable 24MHz.Β The BIOS code is based on an open-source project by [b-demitri1] thatβs also on GitHub, if you happen to need a PC BIOS.Β The FPGA isnβt doing everything: graphics is, as right and proper for a PC-compatible of this vintage, provided by an ISA card. [maniek] has tested several VGA cards and all apparently worked equally well, so that aspect of the system is apparently well in hand. The 4MB of system RAM seems pretty reasonable for a 486 build, as does restricting peripherals to PS/2 and the aforementioned ISA bus. We might have gone for a faster clock default than 24MHz, but thatβs well within historical territory. Only a few bugs and the pesky lack of a DMA controller keep this from being a true PC-Compatible build, and thatβs pretty amazing for one humanβs hobby project.
Thereβs no video of it operating, but there is a very readable hardware diagram. (Click to enlarge).
Eventually, as stocks dwindle, reproducing retrocomputers in FPGAβ as was recently done with the MSX standardβmay be the only way to enjoy them. Thatβs probably least true of the 486, which lived on for decades in industrial hardware, but that doesnβt take away from how impressive this build is.
Thanks to [sven] for the tip! Remember: if you see something, say something, because Big Hacker isnβt always watching. (We leave that to the tech giants.)