Just a few notes on setting up RetrOrangePi on OP0. Updated as I tweak the system. 11/21 - I foolishly added Atari 5200 roms to this setup and found myself journeying back into the heart of emulation darkness.
I chose the Orange Pi Zero because it seemed like the most cost-efficient way to make a NES/SNES emulator to play about a dozen games on a composite television. The OP0 handles NES and SNES emulators well and the composite quality is surprisingly good. N64 emulation quality surprised me as well.
The main problem with this SBC is temperature. RetrOrangePi idles about 10 degrees hotter than a clean Armbian install. Super Mario Kart 64 on bare board + heatsink idles at 80C. EmulationStation idles around 80C in the ABS case + heat sink. Adding a fan helps considerably and I was able to achieve idle temperatures in the low 50’s and running temperatures in the low 60’s. If you are using this SBC with the ABS case or a similarly enclosed case I believe a fan is essential. See the fan notes on how to achieve this.
In hindsight, I wish I’d gotten a Orange Pi PC for this project, and would use that version for any future emulation systems. The OPPC shouldn’t need a fan because it’s a larger board and the H3 doesn’t have the overheating problem, but you can easily find a case with a fan built in. It also has an onboard button that can be programmed for safe shutdown. Additionally, the OP0’s lack of HDMI output makes setup a pain.
Software & Configuration
The ROPi team has made installation easy, but I have had repeated boot failures. Retrostone Pi ended up being more reliable than the RetrOrangePi 4.2 SLIM Orange Pi Zero NTSC Version. Check the SD card or the power supply if you have issues. The ROPi community is somewhat small, however, the RetroPie community is well-established and most of the technical support provided for the Raspberry variant applies here.
Scraping Game Data
The built-in scraper is slow. I used muldjord’s excellent Skyscraper library, which allows fast and easy scraping from the command line. Clone the git and run skyscraper_update.sh to install. This takes awhile. Before scraping, shut down EmulationStation
Atari 2600 and 7800 were straightforward after adding their respective BIOS and installing the Stella emulator from the Retropie setup menu, but 5200 require a few extra files. RetroPie documentation has a section on Setting up Atari 800 and 5200. Libretro lists the needed BIOS and their MD5 checksums. Windows has a built-in command line utility that generates hash checksums and I was able to confirm the BIOS files I downloaded matched those in the Libretro docs.
>certUtil -hashfile ATARIBAS.ROM md5
MD5 hash of file ATARIBAS.ROM: 0b ac 0c 6a 50 10 40 45 d9 02 df 45 03 a4 c3 0b CertUtil: -hashfile command completed successfully.
I never could get 5200 games to play. After loading a ROM the emulator would display the Atari screen, then crash with error code $22, $7000.
- Unzip N64 roms.
- Got a composite cable off Aliexpress? Switch the red and yellow cables.
- GPIO can be enabled through the Emulation Station > RetrOrangePi menu on the Desktop.
- The vanilla install has placeholder files and games. If you wish to remove emulators from the dash you will need to delete the placeholder files and either delete or move the rom folders. Most people recommend creating a new “unwanted” folder for emulators you don’t want.
- To get rid of Kodi, back up es_systems.cfg and remove the references to Kodi (and any other systems you wish to remove if the above method doesn’t work).
- Setting Kiosk or Kid mode prevents users making inadvertent configuration changes. Kid mode requires you manually identify which ROMs are kid-friendly, so that may not be a good solution if you’re loading a lot of ROMs. You will have to modify your configuration files if you want to change it back to full mode, there is no way to do this from the system menus.
Additional Configuration Changes
RetroPie-Setup > runcommand configuration > Launch menu (disable) Launch menu art (Enable)
sudo nano /opt/retropie/emulators/retroarch/retroarch.cfg
sudo nano /boot/cmdline.txt
quiet console=tty3 sdtv_mode=0 sdtv_aspect=1 sdtv_progressive_scan=1 loglevel=3 logo.nologo vt.global_cursor_default=0 disable_splash=1