It’s #RetroStone time!

Lab Notes

It’s #RetroStone time!


D-pad, ABXY, start, select, and R1R2L1L2 on the back. 4x USB-A, Ethernet, microUSB power, microSD, audio jack with speaker and volume. Full HDMI, three buttons to control built-in screen, and a bonus button. Power and charge indicator lights.


Buttons and case are perfect. Membrane buttons feel great, comes preassembled tightly. Comfortable to hold, more so than narrower vertical handhelds.

As of this tweet I have the recommended RetrOrange Pi installed with no ROMs. It plays game music over the RetroPie menu! So far I’ve crashed it twice just messing around, but it’s too early to tell what’s going on there. About to hook up keyboard/mouse and get the network going.

A quick GBA test. Buttons are very good. Speaker is tinny but meets expectations. Screen is an excellent size but a bit bright and blurry, maybe needs adjustment and tweaking of emulator res settings? Very playable.


In my first impressions tweets on GameShell, I lauded its buttons. I mostly stand by that, but I noticed some minor issues with the D-pad being inaccurate. So if GameShell buttons are a 6 of 10, I’d say RetroStone is a solid 8 or more, at least for verisimilitude with Gameboys.

For games where I have years of muscle memory, I can tell I’m getting a mostly authentic experience with RetroStone, while I notice unfair errors with GameShell’s keys. RS performs as well as I’m used to with emulators and plastic gamepads.


As for #pico8, early indications are it’ll work fine on RetroStone using instructions similar to those for GameShell (RaspPi build, pico8_dyn with the appropriate SDL_VIDEODRIVER and config). Full instructions will probably be a combination of my GameShell and RetroPie tutorials.

(More tomorrow, sleep now.)

Small update: It’s been slow going due to RetrOrangePi and RetroStone being finicky. EmulationStation doesn’t like booting with a USB drive connected and snags. Networking isn’t set up correctly out of the box: no built-in wifi, eth0 starts up fine but only accessible by root.

Neither the included SDL nor a built-from-source SDL will start Pico-8 with any of the known video drivers. Trial runs of pico8_dyn that fail on the video driver kill the keyboard on the terminal, so I have to close and reopen the terminal (in X) or hard reboot (non-X tty).

This still feels like it’s just an SDL config issue, but I’m not certain, and other snags have made experimentation and tool set-up slow. Most likely someone more expert or luckier than I will find the root cause, then I’ll excitedly write the rest of the tutorial, as before. :)

Generally still impressed with the RetroStone in the use cases for which it is optimized and pre-configured, namely common ROMs on common emulators. I’ll keep whacking at Pico-8 as time allows. Maybe adding a wifi dongle is the most productive next step…

(Nevermind about the network issue, I just mistook “ping” for all network access. Works fine with eth0.)

Progress! Don’t worry, I haven’t given up, I’ve just been traveling for a bit. Still a few things to fix before I write the tutorial. #pico8 #retrostone


Dank Tomb is entirely playable, though I notice slight periodic lag. After a bunch of minutes of play, the display started to glitch in a weird analog way, degrading to black and white and extensive fuzz. Exiting the game didn’t stop it but exiting Pico-8 did! Was very weird.

… I would have suspected overheating if it didn’t fix itself right away when I exited back to X11. Had a distinctly analog feel. Probably not specific to Dank Tomb either.

I don’t have sound working yet either. Tried various values of SDL_AUDIODRIVER, and several (including the default) allow Pico-8 to start but don’t allow sound to play. Sound works in other apps, naturally.

D-pad, A and B buttons work by default, though I might prefer to swap A and B. Haven’t started trying to configure start button as pause. Retrostone uses GPIO pins for keypad with its own driver, so I don’t think keyconfig is the answer but I’m not sure.

Managed to cause Pico-8 to error out by messing with the shoulder buttons. Something caused it to try to access the GPIO pins on its own which failed without sudo.

(Originally posted to Twitter on September 3, 2018. It received 35 likes and 2 retweets.)