Retroflag GPi Case with a Raspberry Pi Zero W
Corona quarantine time. So I've gotten myself a toy.
This Game Boy looking device can hold a Raspberry Pi Zero (W), has inputs, a display and sound. I've installed RetroPie onto it.
What's also impressive: If you don't want to use RetroPie, you still have a fully functional Raspi (+ a display) which runs just on batteries!
1. Installation RetroPie
Here is a good guide.
Steps:
- Flash image
- Install GPi Case patch (Mirror on github.com)
- Enable ssh: touch ssh in boot partition
- Setup WiFi: wpa_supplicant.conf in boot partition with:
country=US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
# RETROPIE CONFIG START
network={
ssid="your_real_wifi_ssid"
psk="your_real_password"
}
- Boot
- Install safe shutdown scripts
2. Kodi
You can install Kodi if you like.
3. Emulators
3.1. Game Boy / Game Boy Color / Game Boy Advanced
You might need to copy a BIOS file for each Game Boy.
See here (GB) and here (GBA).
And I had to do this:
ln -s /opt/retropie/libretrocores/lr-gpsp/game_config.txt /home/pi/RetroPie/roms/gba/game_config.txt
3.2. DosBox
I wasn't able to configure inputs with lr-dosbox. Same for rpix86, which runs games much faster, but I couldn't get it working with the inputs. :(
So I used the normal dosbox emulator. To configure keys, I've ran:
ssh -X pi@retropie
cd /opt/retropie/emulators/dosbox/bin/
./dosbox -startmapper
Config file: /opt/retropie/configs/pc/mapper-SVN.map
Download
Controls:
- I've mapped mod_1 and mod_2 to the shoulder keys (L and R) at the back
- L+Down exits DosBox
- Select is Escape
- Start is Enter
- A is Control
- B is Alt
- X is Space
- R+up is Y, R+down is N (needed for some games)
For real fullscreen mode without black bars, make sure you set aspect=true and fullscreen=true in the config.
Config file: /opt/retropie/configs/pc/dosbox-SVN.conf
Download
timidity was eating a lot of CPU and slowed games down. I couldn't even figure out what it's useful for, since games still played midi sounds perfectly well even when I disabled it.
Edit the file /home/pi/RetroPie/roms/pc/+Start DOSBox.sh and comment out the lines midi_synth start and midi_synth stop. Should be four lines in total.
3.3. Playstation
Emulator: PCSX-reARMed
Guide: here
Maybe better solution?: xboxdrv
Config file: /opt/retropie/configs/psx/pcsx/pcsx.cfg
Download
It was a bit confusing, because there is also an empty folder cfg there. But that's how I got it working.
START and D-PAD LEFT to enable Joystick/Axis input mode
START and D-PAD UP to enable D-PAD input mode
The light at the top of the GPi case will do a confirmation blink purple on every mode change.
4. Themes
I like TFT, but I like Super Retroboy even better.
4.1. Splashscreen
I use this video.
And I had to set audio_pwm_mode=0 in /boot/config.txt.
See here.
5. Power consumption
The GPi Case runs either with 3x AA batteries, or with a provided USB power supply cable.
I've measured power consumption in-game with 100% CPU and in the menu of EmulationStation with 0% CPU. Medium brightness. Make sure to enable EmulationStation's Power safe options.
Power consumption under 100% load is about 1.63 W.
Battery lifetime is about 4h.