Launching DOOM on a light bulb

image


DOOM has already played the piano and keyboard, on a pregnancy test (by the way, it was a fake ) and on a soldering iron, on an airplane, ATM, printer and oscilloscope.



It's time for light bulbs.



imageInside the TRÅDFRI RGB GU10 (IKEA model: LED1923R5) light bulb, Next-Hack hackers found a Silicon lab's MGM210L RF module with 108kb of RAM and ran DOOM on it. Researchers hackers had to work hard to optimize the use of RAM , because the original DOOM requires 4MB, but they were able to.



The module only has 1MB of internal flash, so the craftsmen have added an external SPI flash to store the WAD file that can be loaded with YMODEM. The processor has a 40-MHz Cortex M4 bulb.





image



Partial light



image



Display: 1.8 "TFT 160 × 128 SPI



image



Iron block



image



diagram Circuit diagram



image



Power supply



image



Board prototype



image



Carrier board



image



Keyboard



image



Microcontroller installed on the carrier board.



image



Complete system.



image



Features of the project:



  • Based on the excellent Doomhack's GBA Doom Port with some Kippykip additions.
  • Supports full version of Doom Shareware WADS.
  • Complete Vanilla Render engine including Z-depth lighting. However, composite textures have a mipmap.
  • Implemented monster behavior and sound propagation.
  • Sound FX support.


Project limitations:



  • Music.
  • Demo playback due to incompatibility.
  • Full WAD DOOM Not tested.
  • Debugging required.
  • Multiplayer is not implemented.
  • Optimizing performance.
  • Cheats were not checked, probably with bugs.


The engineers recently made an update to the Github repository and removed the mip mapping on composite textures without sacrificing performance, so the graphics will be more detailed than what is shown in the demo video.



DOOM-challenge conditions





  • Find a finished device that isn't designed to play Doom or other games.
  • / DOOM (DOOM 486 @ 33MHz [1], 4MB RAM). , , .
  • , . . . , (, ) , - .
  • WAD - .
  • , . , Doom. , 32×16 , 128x64 . , , , , 2.
  • , .
  • .
  • We wanted the engine to be as close as possible to the original (vanilla) Doom shareware. Being able to play Episode 1 on map 1 of the shareware Doom (E1M1) is a minimum goal, even if we don't hide the fact that we dreamed of being able to play the full shareware version with no restrictions on all maps.
  • There are no requirements for sound, but sound effects would really be a plus. If implemented, then there are no restrictions on the audio subsystem.
  • Multiplayer optional


Pregnancy test





Canon Proxima Printer





Oscilloscope





ATM





DOOM to DOOM





Piano





Minecraft





Ticket validator





iPod Mini





Calculator





Apple Watch





MacBook Pro Touch Bar





Kodak DC260 Digital Camera from 1998





On keyboard





On the billboard





On e-book





By plane





Porsche 911





Vectrex





Soldering iron





PS



How do you like that AlexeyNadezhin?



zhovner, waiting for DOOM on FlipperZero.



image



All Articles