Playing Doom (Poorly) On A VoCore

Last May brought the unastonishing news that companies were taking the Systems on Chip found in $20 wireless routers and making dev boards out of them. The first of these is the VoCore, an Indiegogo campaign for a 360MHz CPU with 8MB of Flash and 32MB or RAM packaged in a square inch PCB for the Internet of Things. Now that the Indiegogo rewards are heading out to workbenches the world over, it was only a matter of time before someone got Doom to run on one of them.

After fixing some design flaws in the first run of VoCores, [Pyrofer] did the usual things you would do with a tiny system running Linux – webcams for streaming video, USB sound cards to play internet radio, and the normal stuff OpenWrt does.

His curiosity satiated, [Pyrofer] turned to more esoteric builds. WIth a color LCD from Sparkfun, he got an NES emulator running. This is all through hardware SPI, mind you. Simple 2D graphics are cool enough, but the standard graphical test for all low powered computers is, of course, Doom.

The game runs, but just barely. Still, [Pyrofer] is happy with the VoCore and with a little more work with the SPI and bringing a framebuffer to his tiny system, he might have a neat portable Doom machine on his hands.

14 thoughts on “Playing Doom (Poorly) On A VoCore

    1. It should be pretty easy to share the SPI bus. You would need to have a different active low chip select line for each device that only 1 slave is active at a time.

      The chip select line can be directly driven from GPIO lines (or demux with 74xx138/139 style decoders)

      1. I am indeed now using hardware SPI. I hooked the lines of the SPI flash and used a spare chip select line. Vonger has written a driver for it. Sadly, there is almost zero speed boost. Even the Hardware SPI seems slow on the VoCore. HOWEVER. I changed back to the small Nokia LCD I started with and Doom whizzes along super duper fast. Totally playable, if only on a small LCD.

        https://www.youtube.com/watch?v=X_kLsmFiakU

        I have some tweaks to do on LCD setup for contrast and brightness but the FPS is WAY up there.

      1. The LCD I have has both 8 bit and 16 bit options as well as SPI, however even 8 bit requires 3 other control signals. 11 GPIO just for the LCD is not on with the VoCore.
        I did consider getting one of the USB displaylink type screens to see how well that works.

  1. @Ralph And if all you need is Serial and Wifi then you are golden. Of course if you happen to need SPI, I2C, GPIO, or their ilk then a hacked router isn’t of much use.

    Would you care to tell us which rt5350f router you got and from where?

    1. There’s some other pads that might give access to GPIO. My reason for getting it is to act as a wireless sensor gateway – a cheap USB BT4.0 module will allow me to communicate with nRF modules using BLE advertisements, and the serial port should do the trick for sub-Ghz ASK/OOK communications.
      Here’s the vendor I got mine from. You can even find them for <$9 now.
      http://www.aliexpress.com/item/WHOSA-Mini-Portable-3G-4G-MiFi-Wireless-N-USB-WiFi-Hotspot-JU-Router-AP-150Mbps-Wlan/1829126906.html

  2. I did the footwork to get fbtft working with hardware spi on the $10 pogoplug mobile (800MHz, 128MB ram). I can’t imagine anyone beating this hardware for the price any time soon.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.