Retro-Go is a launcher and framework to run emulators on the ODROID-GO. It comes with many emulators!
- NES
- Gameboy
- Gameboy Color
- Sega Master System
- Sega Game Gear
- Colecovision
- PC Engine
- Lynx
- In-game menu
- Favorites support
- GB RTC adjust and save
- GB GBC colorization palettes
- More scaling options
- Bilinear filtering
- NES color palettes
- NES PAL support
- Smoother performance
- Better compatibility
- Fastforward
- Customizable launcher
- PNG cover art
- And more!
| Button | Action |
|---|---|
| Menu | Version information |
| Volume | Options menu |
| Select | Previous emulator |
| Start | Next emulator |
| A | Start game |
| B | File properties |
| Left | Page up |
| Right | Page down |
| Button | Action |
|---|---|
| Menu | Game menu (save/quit) |
| Volume | Options menu |
Note: If you are stuck in an emulator, hold MENU while powering up the device to return to the launcher.
The preferred cover art format is 8bit PNG with a resolution of 168x168 and I recommend post-processing with pngquant. Retro-Go is also backwards-compatible with the official RAW565 Go-Play romart pack that you may already have.
For a quick start you can copy the folder covers of this repository to the root of your sdcard and
rename it romart.
First identify the CRC32 of your game (in the launcher press B). Now, let's assume that the CRC32 of your
nes game is ABCDE123, you must place the file (format described above) at: sdcard:/romart/nes/A/ABCDE123.png.
Note: If you need to compute the CRC32 outside of retro-go, please be mindful that certain systems skip the file header in their CRC calculation (eg NES skips 16 bytes and Lynx skips 64 bytes). The number must also be zero padded to be 8 chars.
Retro-Go caches some data to speed up cover art discovery and display.
If you have any problem the first step is to delete the sdcard:/odroid/cache folder.
The volume isn't correctly attenuated on the GO, resulting in upper volume levels that are too loud and
lower levels that are distorted due to DAC resolution. A quick way to improve the audio is to cut one
of the speaker wire and add a 10 Ohm (or thereabout) resistor in series. Soldering is better but not
required, twisting the wires tightly will work just fine.
A more involved solution can be seen here.
An up to date list of incompatible/broken games can be found on the ODROID-GO forums.
- Rewind (In progress)
- Cheats (In progress)
- Netplay (In progress)
The official esp-idf version 3.3 or 4.0 is required and it is recommended to apply the sdcard-fix patch located in the tools folder. Only the cmake build system is supported.
python rg_tool.py build-fw
For a smaller build you can also specify which apps you want, for example the launcher + nes/gameboy only:
python rg_tool.py build-fw retro-go nofrendo-go gnuboy-go
python rg_tool.py run nofrendo-go --offset=0x100000 --port=COM3
- Offset is required only if you use my multi-firmware, in which case it is displayed in the boot menu.
- The NES/GBC/SMS emulators and base library were originally from the "Triforce" fork of the official Go-Play firmware by crashoverride, Nemo1984, and many others.
- The HuExpress (PCE) emulator was first ported to the GO by pelle7.
- The Lynx emulator is an adaptation of libretro-handy.
- The aesthetics of the launcher were inspired (copied) from pelle7's go-emu.
- miniz For zipped ROM and zlib API
- luPng For basic PNG decoding
- PCE cover art is from Christian_Haitian.
Everything in this project is licensed under the GPLv2 license with the exception of the following components:
- components/lupng (PNG library, MIT)
- components/miniz (zlib library, MIT)
- components/retro-go (Retro-Go's framework, MIT)
- handy-go/components/handy (Lynx emulator, BSD)
