MinUI is a minimal launcher
Source: https://github.com/shauninman/union-minui
----------------------------------------
Features
- Simple launcher, simple SD card
- No settings or configuration
- No boxart, themes, or distractions
- Automatically hides extension
and region/version cruft in
display names
- Consistent in-emulator menu with
quick access to save states, disc
changing, and emulator options
- Automatically sleeps after 30 seconds
or press POWER to sleep (and wake)
- Automatically powers off while asleep
after two minutes or hold POWER for
one second
- Automatically resumes right where
you left off if powered off while
in-game, manually or while asleep
- Resume from manually created, last
used save state by pressing X in
the launcher instead of A
- Streamlined emulator frontend
(minarch + libretro cores)
----------------------------------------
Following Instructions 101
Please read every step of the
relevant instructions before
undertaking the first step. A
little context goes a long way
towards understanding.
----------------------------------------
Install
MinUI is meant to be installed over a working stock TF1. The official Anbernic image requires a 64GB or larger SD card:
https://drive.google.com/drive/folders/1HfGCxkratM_zYiYfGWCrHZ1AynO3hIwU
Or you can download a reduced image that can be flashed to a 4GB or larger SD card:
https://github.com/shauninman/union-minui/releases/tag/stock-tf1-20230309
If you are using two SD cards (recommended), the second one should be formatted FAT32.
Copy "dmenu.bin" to the root of the MISC partition of the SD card that goes in the TF1 slot.
Where you copy "MinUI.zip" (and the Bios, Roms, and Saves folders) will depend on if you are using one or two SD cards (again, using two SD cards is recommended). If using one SD card, copy them to the root of the ROMS partition of the SD card that goes in the TF1 slot. Otherwise copy them to the root of the SD card that goes in the TF2 slot.
During installation (but not on subsequent updates) MinUI will install a custom boot logo. It will save a backup of your existing "boot_logo.bmp.gz" in a folder named "bak" at the root of the ROMS partition of the SD card that goes into the TF1 slot.
----------------------------------------
Update
If using one SD card, copy "MinUI.zip" to the root of the ROMS partition of the SD card that goes in the TF1 slot. Otherwise copy "MinUI.zip" to the root of the SD card that goes in the TF2 slot.
----------------------------------------
Shortcuts
Reduce/increase brightness:
MENU + VOLUME UP or VOLUME DOWN
The remaining emulation shortcuts are all user defined.
----------------------------------------
Roms
Included in this zip is a Roms folder containing folders for each console MinUI currently supports. You can rename these folders but you must keep the uppercase tag name in parentheses in order to retain the mapping to the correct emulator (eg. "Nintendo Entertainment System (FC)" could be renamed to "Nintendo (FC)", "NES (FC)", or "Famicom (FC)").
You can (and probably should) preload these folders with roms and copy each one to the Roms folder on your SD card before installing.
When one or more folder share the same display name (eg. "Game Boy Advance (GBA)" and "Game Boy Advance (MGBA)") they will be combined into a single menu item containing the roms from both folders (continuing the previous example, "Game Boy Advance"). This allows opening specific roms with an alternate pak.
----------------------------------------
Bios
Some emulators require or perform much better with official bios. MinUI is strictly BYOB. Place the bios for each system in a folder that matches the tag in the corresponding Roms folder name (eg. bios for "Sony PlayStation (PS)" roms goes in "/Bios/PS/"),
Bios file names are case-sensitive:
FC: disksys.rom
GB: gb_bios.bin
GBA: gba_bios.bin
GBC: gbc_bios.bin
PS: psxonpsp660.bin
----------------------------------------
Disc-based games
To streamline launching multi-file disc-based games with MinUI place your bin/cue (and/or iso/wav files) in a folder with the same name as the cue file. MinUI will automatically launch the cue file instead of navigating into the folder when selected, eg.
Harmful Park (English v1.0)/
Harmful Park (English v1.0).bin
Harmful Park (English v1.0).cue
For multi-disc games, put all the files for all the discs in a single folder. Then create an m3u file in that folder (just a text file containing the relative path to each disc's cue file on a separate line) with the same name as the folder. Instead of showing the entire messy contents of the folder, MinUI will launch the appropriate cue file, eg. For a Policenauts folder structured like this:
Policenauts (English v1.0)/
Policenauts (English v1.0).m3u
Policenauts (Japan) (Disc 1).bin
Policenauts (Japan) (Disc 1).cue
Policenauts (Japan) (Disc 2).bin
Policenauts (Japan) (Disc 2).cue
The m3u file would contain just:
Policenauts (Japan) (Disc 1).cue
Policenauts (Japan) (Disc 2).cue
MinUI also supports chd files and official pbp files (multi-disc pbp files larger than 2GB are not supported). Regardless of the multi-disc file format used, every disc of the same game share the same memory card and save state slots.
----------------------------------------
Collections
A collection is just a text file containing an ordered list of full paths to rom, cue, or m3u files. These text files live in the Collections folder at the root of your SD card, eg. "/Collections/Metroid series.txt" might look like this:
/Roms/GBA/Metroid Zero Mission.gba
/Roms/GB/Metroid II.gb
/Roms/SNES (SFC)/Super Metroid.sfc
/Roms/GBA/Metroid Fusion.gba
----------------------------------------
Advanced
MinUI can automatically run a user-authored shell script on boot. Just place a file named "auto.sh" in "/.userdata/".
----------------------------------------
Thanks
To BlackSeraph, for introducing me to chroot and for sharing his modified uImage which provides overclocking (and underclocking) and increases the available framebuffer memory.
To eggs, for his NEON scalers, years of top-notch example code, and patience in the face of my endless questions.
Check out eggs' RG35XX releases: https://www.dropbox.com/sh/3av70t99ffdgzk1/AAAKPQ4y0kBtTsO3e_Xlrhqha
To neonloop, for putting together the Trimui toolchain from which I learned everything I know about docker and buildroot and is the basis for every toolchain I've put together since, and for picoarch, the inspiration for minarch.
Check out neonloop's repos: https://git.crowdedwood.com
And to Jim Gray, for commiserating during development, for early alpha testing, and for providing the soundtrack for much of MinUI's development.
Check out Jim's music: https://ourghosts.bandcamp.com/music