Unifrog v0.4.1
UniFrog
UniFrog is a custom frontend/firmware environment for SF2000-family handhelds, with support for SF2000 and GB300 from the same SD card.
This release is still early. Expect bugs, crashes, and rough edges. Do not rely on it for long playthroughs or important saves yet. It is already useful, fast,
Thanks to all of the developers that made this possible: @bnister, @kobilutil, @feuerball11, @madcock, @Trademarked69, @tzubertowski, @angree, and many others that have pushed the limits of what's possible in the SF2000/GB300 devices family.
Installation
-
Download the UniFrog SD card zip from this release.
-
Extract the contents directly to the root of your SD card.
-
If you already have another
bisrv.asdon your card, back it up first. -
To make another firmware bootable from UniFrog, place its
bisrv.asdinside:/firmware/ -
Boot the device.
On first boot, open Index Library. UniFrog will scan the SD card, find supported games/media, and classify them by system.
Supported Devices
Tested:
- SF2000
- GB300
Possibly compatible but untested:
- DY19
- DY12
- Other SF2000-family devices
If you test one of these devices, please report whether it boots and whether display, audio, controls, and backlight work correctly.
Emulation Cores
UniFrog loads emulator cores from the SD card instead of baking them all into the main firmware binary.
Included cores:
- gpSP: Game Boy Advance
- Gambatte: Game Boy / Game Boy Color
- Gearboy: Game Boy / Game Boy Color
- Snes9x 2002: Super Nintendo
- Snes9x 2005: Super Nintendo
- QPSX: PlayStation
- FCEUmm: NES / Famicom
- QuickNES: NES / Famicom
- Beetle PCE Fast: PC Engine / TurboGrafx-16
- PicoDrive: Sega Genesis / Mega Drive / Master System / Game Gear
When opening a ROM, UniFrog can ask which compatible core to use. This is useful for systems with multiple emulator options, such as Game Boy or NES.
Game Library
UniFrog includes an indexed game library.
Use Index Library to scan the SD card. The indexer will classify games by system so you can browse them more easily instead of manually navigating folders
The scan is manual by default so the SD card is not stressed on every boot.
File Browser
A traditional file browser is still included.
You can open supported files directly, and UniFrog will suggest compatible cores or players.
Save Support
UniFrog supports:
- Save states
- Multiple save slots
- In-game saves, such as normal
.sav-style saves used by games like Pokemon - Pause menu actions for saving and loading
This is still experimental. Back up your saves.
Pause Menu
Press the configured pause combo during gameplay to open the quick menu.
From there you can:
- Resume the game
- Save state
- Load state
- Change save slot
- Return to the frontend
- Adjust display mode
- Toggle fast-forward
- Change performance/audio options
- Adjust backlight and other runtime settings
Display Options
Available display modes:
- Fit
- Original
- Stretch
These can be changed from the core options menu.
Performance Options
UniFrog exposes several runtime performance settings.
You can adjust:
- CPU frequency
- Graphical Engine frequency
- Audio on/off
- Frame skip mode
- Fast-forward
- Backlight brightness
Notes:
- Auto frameskip is available for all cores.
- Manual frameskip can be set to
0,1, or2. - Turning audio off can improve performance in heavier games.
- CPU speed can be adjusted at runtime.
- The Graphical Engine clock can also be changed, but higher is not always better. In testing,
198 MHzor even148 MHzcan perform better than higher setti - gpSP with auto frameskip can run games like Pokemon FireRed reasonably well even at lower CPU frequencies such as
198 MHz.
Backlight Control
Backlight adjustment is supported.
You can lower brightness all the way down to level 1, which makes the device much more comfortable to use at night.
Audio Options
Audio can be disabled for better performance.
Audio gain can also be adjusted, though most users should leave it low or at the default value.
Media Playback
UniFrog can play MP4 videos.
Video playback options include audio control, so videos without audio or videos played silently should avoid unnecessary speaker noise.
Firmware Booting
UniFrog can boot other compatible firmware releases.
Place another firmware file here:
/firmware/bisrv.asd
You can then launch it from the firmware menu.
This is useful if you want to keep stock firmware, multicore, or another setup available on the same SD card.
JavaScript Frontend
The frontend is written in JavaScript.
That means users can modify the interface, create themes, and experiment without rebuilding the whole firmware.
UniFrog also supports running JavaScript scripts from the developer/script menu, though this feature has not been heavily tested yet.
Themeability
The UI is designed to be hackable and themeable.
The goal is to make it possible for users to customize the frontend without needing to understand the lower-level firmware or emulator code.
Compressed ROMs
UniFrog includes support for loading compressed ROMs.
Supported compression/container formats include:
.zip.lz4.zstd
Performance varies depending on the core, ROM size, SD card, and compression format.
Known Issues
This is an early release and will have bugs.
Known rough areas:
- Some cores are still experimental.
- Some games may crash or hang.
- PlayStation support is early and may be unstable.
- JavaScript script support needs more testing.
- The UI is functional but still evolving.
- Save states and in-game saves should be backed up regularly.
- Some performance settings may help one core but hurt another.
Full Changelog: https://github.com/axgdev/UniFrog/commits/v0.4.1