Repository navigation
Releases
armGBA 1.4
armGBA is a libretro core for Game Boy Advance, Game Boy and Game Boy Color games, built for ARM and x86 handhelds, and a standalone app for Linux and Android.
New since 1.3.1
- CPU Clock, 25% to 400%, eases slowdown while game speed and music stay the same. On the Advance the CPU, its bus and DMA move to the new clock, as with MAME's CPU overclock; on the Game Boy, the CPU and OAM DMA. CPU Clock During Boot keeps the BIOS intro and boot ROM at 100%.
- Clock options for cartridges with a clock. Clock Source is Real Time (the device's clock) or Game Time (a clock of the game's own that runs only while it runs, at Clock Speed, from Stopped to 60x). Clock Offsets move it by days and hours. Reset Clock takes two steps: turn on Allow Clock Reset first. Game Boy
.rtcfiles are shared with gambatte-libretro and mGBA, and the Advance's clock stays within 2000 to 2099. - In Real Time, a Game Boy clock now follows the device's time while the game runs. Fast-forward, pauses and loaded states no longer move it.
- Fit Screen in LCD Scale draws the picture at the screen's exact size, so the gaps and stripes line up with the screen's own pixels at any size. Screen Size picks the size: Auto (the display's where the system says it, or the app's window), a list of common handheld sizes, or Custom.
- The LCD effects are each on their own, and CPU LCD Effects turns them all on or off at once. It starts Off, so if you used LCD Grid in 1.3.1, turn CPU LCD Effects on. LCD Grid is now LCD Scale, from 2x to 8x in half steps, with Pixel Gaps, LCD Subpixels and the pixel shadow inside it.
- The gaps fall on the pixel edges, show on white too, and keep the screen's colors and brightness. Under the gaps, the CPU's 16-bit pictures no longer come out darker.
- RetroArch presets now run two passes: LCD Ghosting and Interlaced Rows first, then the grid. Ghosting is at 100% in every preset; its shader parameter turns it down or off.
- The app's LCD Effects setting is Off, CPU or GPU. On the GPU, every effect works on its own at any size, and all of them are on Core › Video. Low Memory isn't shown in the app, which always loads the game itself.
- The app's Filter is on General › Video, with a new Sharp Smooth that scales by whole pixels and blends only their edges, for screens a game doesn't fill a whole number of times. There's a Gray accent color too.
- Fixed: RetroArch with threaded video no longer crashes when the LCD effects are turned off.
- Fixed: ARM code run from outside the cartridge at a halfword address, and a change to work RAM's wait states while compiled code runs from it.
- The Switch Controller Combo is Start + L2 + R2 by default. Frame Skip is Off, Auto, or 1 to 3.
- 1.3.1's save states load in 1.4.
armGBA comes with no games. Netplay never sends a game, a BIOS or a boot ROM; every player uses their own. See the README's Legal section.
Downloads
armGBA-1.4-x86_64.AppImage,armGBA-1.4-aarch64.AppImage: the standalone app. Make it executable and run it.armGBA-1.4-android-arm64.apk: the app for Android 7 or newer on 64-bit ARM. It installs over earlier versions. Allow installing it, and give it All files access when it asks, for your games and itsarmgbafolder.armGBA-1.4-x86_64.zip,-aarch64.zip,-armv7.zip:armgba_libretro.soandarmgba_libretro.infofor RetroArch on Linux (glibc 2.34 or newer). Put the.soin RetroArch's cores folder and the.infoin its info folder.armGBA-1.4-android-arm64-v8a.zip,-armeabi-v7a.zip,-x86_64.zip:armgba_libretro_android.soand the.infofor RetroArch on Android. In RetroArch, Load Core › Install or Restore a Core installs the.so.armGBA-1.4-shaders.zip: the LCD presets for RetroArch (.slangpand.glslp), with ghosting, interlaced rows, the grid, subpixels and the pixel shadow.SHA256SUMShas the checksums.
See the README for the core options and which link settings to pick.
armGBA 1.3.1
armGBA is a libretro core for Game Boy Advance, Game Boy and Game Boy Color games, built for ARM and x86 handhelds, and a standalone app for Linux and Android.
New since 1.3
- Interlaced Rows is fixed. In 1.3 it slowed every fade and striped anything that moved, most of all when scrolling. Now the screen fades as quickly as with it off, and the stripes show only on sprites that flicker every frame, as on the consoles. On the Game Boy Color's screen at 100% ghosting they are as strong as SameBoy's accurate frame blending, the Game Boy Advance's a little weaker, and both grow with LCD Ghosting. F-Zero: Maximum Velocity's course map shows them well.
- With Interlaced Rows off, nothing changes from 1.3.
- 1.3's save states load in 1.3.1.
armGBA comes with no games. Netplay never sends a game, a BIOS or a boot ROM; every player uses their own. See the README's Legal section.
Downloads
armGBA-1.3.1-x86_64.AppImage,armGBA-1.3.1-aarch64.AppImage: the standalone app. Make it executable and run it.armGBA-1.3.1-android-arm64.apk: the app for Android 7 or newer on 64-bit ARM. It installs over earlier versions. Allow installing it, and give it All files access when it asks, for your games and itsarmgbafolder.armGBA-1.3.1-x86_64.zip,-aarch64.zip,-armv7.zip:armgba_libretro.soandarmgba_libretro.infofor RetroArch on Linux (glibc 2.34 or newer). Put the.soin RetroArch's cores folder and the.infoin its info folder.armGBA-1.3.1-android-arm64-v8a.zip,-armeabi-v7a.zip,-x86_64.zip:armgba_libretro_android.soand the.infofor RetroArch on Android. In RetroArch, Load Core › Install or Restore a Core installs the.so.armGBA-1.3.1-shaders.zip: the LCD grid and pixel shadow presets for RetroArch (.slangpand.glslp).SHA256SUMShas the checksums.
See the README for the core options and which link settings to pick.
armGBA 1.3
armGBA is a libretro core for Game Boy Advance, Game Boy and Game Boy Color games, built for ARM and x86 handhelds, and a standalone app for Linux and Android.
New since 1.2.1
- LCD Ghosting has four strengths: 25%, 50%, 75% and 100%, on every Game Boy, Game Boy Color and Game Boy Advance screen. Half and Full are now 50% and 100%, so existing settings carry over.
- The LCD Effects options now say what is drawn where. Ghosting and Interlaced Rows are always on the CPU. The LCD grid and pixel shadow are drawn on the CPU by the core, or on the GPU by the armGBA shaders (in the app: LCD Rendering).
- The app: the standalone app now comes from Armulators, the app armGBA shares with armN64. It looks and works as before.
- The app on Android: in portrait, the on-screen controls sit a little higher, so the sticks clear Select and Start.
- Netplay in the app: closing the game in a session you joined no longer says the game plays on.
- 1.2.1's save states load in 1.3.
armGBA comes with no games. Netplay never sends a game, a BIOS or a boot ROM; every player uses their own. See the README's Legal section.
Downloads
armGBA-1.3-x86_64.AppImage,armGBA-1.3-aarch64.AppImage: the standalone app. Make it executable and run it.armGBA-1.3-android-arm64.apk: the app for Android 7 or newer on 64-bit ARM. It installs over earlier versions. Allow installing it, and give it All files access when it asks, for your games and itsarmgbafolder.armGBA-1.3-x86_64.zip,-aarch64.zip,-armv7.zip:armgba_libretro.soandarmgba_libretro.infofor RetroArch on Linux (glibc 2.34 or newer). Put the.soin RetroArch's cores folder and the.infoin its info folder.armGBA-1.3-android-arm64-v8a.zip,-armeabi-v7a.zip,-x86_64.zip:armgba_libretro_android.soand the.infofor RetroArch on Android. In RetroArch, Load Core › Install or Restore a Core installs the.so.armGBA-1.3-shaders.zip: the LCD grid and pixel shadow presets for RetroArch (.slangpand.glslp).SHA256SUMShas the checksums.
See the README for the core options and which link settings to pick.
armGBA 1.2.1
armGBA is a libretro core for Game Boy Advance, Game Boy and Game Boy Color games, built for ARM and x86 handhelds, and a standalone app for Linux and Android.
New since 1.2
- Netplay: when a session you joined in Off or Together ends, the game keeps running on your device, in the app and in RetroArch, instead of closing. Your controller stays on your player, and the session's saves still go to armGBA/Remote. Keep Playing on Disconnect is gone, since this is now what always happens.
- The app: Hotkey + B (the bottom face button) takes a screenshot by default, as many RetroArch setups have it. An existing install keeps its saved hotkeys, so use Controls › Reset Controls and Hotkeys, or set Screenshot in Hotkeys.
- 1.2's save states load in 1.2.1.
armGBA comes with no games. Netplay never sends a game, a BIOS or a boot ROM; every player uses their own. See the README's Legal section.
Downloads
armGBA-1.2.1-x86_64.AppImage,armGBA-1.2.1-aarch64.AppImage: the standalone app. Make it executable and run it.armGBA-1.2.1-android-arm64.apk: the app for Android 7 or newer on 64-bit ARM. Allow installing it, and give it All files access when it asks, for your games and itsarmgbafolder.armGBA-1.2.1-x86_64.zip,-aarch64.zip,-armv7.zip:armgba_libretro.soandarmgba_libretro.infofor RetroArch on Linux (glibc 2.34 or newer). Put the.soin RetroArch's cores folder and the.infoin its info folder.armGBA-1.2.1-android-arm64-v8a.zip,-armeabi-v7a.zip,-x86_64.zip:armgba_libretro_android.soand the.infofor RetroArch on Android. In RetroArch, Load Core › Install or Restore a Core installs the.so.armGBA-1.2.1-shaders.zip: the LCD grid and pixel shadow presets for RetroArch (.slangpand.glslp).SHA256SUMShas the checksums.
See the README for the core options and which link settings to pick.
armGBA 1.2
armGBA is a libretro core for Game Boy Advance, Game Boy and Game Boy Color games, built for ARM and x86 handhelds, and a standalone app for Linux and Android.
New since 1.1
- Save Manager: start armGBA with no game (RetroArch's Start Core, or the app's Start Save Manager on the Netplay page), host or join in netplay, and Send Save sends a save from your save and game folders. Receive Saves Into puts a received save in place, backing up the one it replaces; Auto gives it to player 2 on the host and to your own save elsewhere.
- Send My Save, in the app's Together netplay: a joining player puts their own save in their console on the host, which restarts with it.
- Keep My Netplay Progress (Saves, off by default): when a Together session you joined ends and you played on your own save, your progress is saved to it, the old one backed up. The session's saves are always kept in armGBA/Remote too.
- Keep Playing on Disconnect (Link, off by default): a device that joined in Off or Together closes the host's game as the session ends, in the app and in RetroArch newer than 1.22.2; On keeps it running, your controller on your player.
- Shared Controls (Core › Link, with Link Mode Off): more players play the one console, in netplay or with more controllers. Everyone: every player's buttons at once. Pass Around: one player at a time, another taking over with the Switch Controller Combo (L + R + A + B).
- Single-pak games, such as Super Mario Advance's Mario Bros.: in Separate, the player without the game needs no game file. RetroArch's Start Core starts armGBA with no cartridge, and the app has Your Cartridge: Removed. The host's game sends its program over the cable, as on the real hardware.
- The app's Netplay page: hosting and joining first and settings last, as RetroArch's. Create a Host Session links as Link Mode says (Off, Together or Separate). Scan for Local Hosts lists the sessions on your network. In a session it shows the players by name and the host's address, and Disconnect asks again when it would close the game.
- The app's netplay, in Off and Together: each controller on a device is a player, so two people on one handheld can join a friend on another. Joining needs no game loaded: your copy of the host's game is found in your game folders, or you choose it when it's under another name.
- Devices no longer fall out of step right after joining a Together session.
- The app no longer uses RetroArch's settings. On ROCKNIX it keeps to the layout of its other standalone emulators: BIOS files in roms/bios, saves beside the games, states in roms/savestates and screenshots in roms/screenshots. Elsewhere it uses its own folders. Saves can also be In Game Folder.
- The app's Controls › Players: which controller plays each player, as RetroArch's Device Index, remembered for when they connect again. A ROCKNIX handheld's own controls show as Built-In Controls.
- Together and Off need the same BIOS or boot ROM on every device: in the app, a host on Nintendo's turns away a player who doesn't have the same file, and both are told why. armGBA's built-in BIOS and boot ROMs work on every device.
- Screen Layout Control's Auto follows each device's own player in netplay with ROCKNIX's RetroArch.
- The app's menus: a Saves page on the Game tab, a Fast-Forward and Rewind page, Take Screenshot, Cheats on the Game tab, Reset All Settings, VSync under Display, and one-line help. Back Up Save, Load Save and Send Save are chosen from their list, so a press left or right can't load or send a save.
- Android: the libraries are aligned for 16 KB memory pages, as newer Android devices need.
- Changed: Separate no longer swaps saves when linking, and armGBA/Received is gone; Save Manager moves saves instead.
- 1.1's save states load in 1.2.
armGBA comes with no games. Netplay never sends a game, a BIOS or a boot ROM; every player uses their own. See the README's Legal section.
Downloads
armGBA-1.2-x86_64.AppImage,armGBA-1.2-aarch64.AppImage: the standalone app. Make it executable and run it.armGBA-1.2-android-arm64.apk: the app for Android 7 or newer on 64-bit ARM. Allow installing it, and give it All files access when it asks, for your games and itsarmgbafolder.armGBA-1.2-x86_64.zip,-aarch64.zip,-armv7.zip:armgba_libretro.soandarmgba_libretro.infofor RetroArch on Linux (glibc 2.34 or newer). Put the.soin RetroArch's cores folder and the.infoin its info folder.armGBA-1.2-android-arm64-v8a.zip,-armeabi-v7a.zip,-x86_64.zip:armgba_libretro_android.soand the.infofor RetroArch on Android. In RetroArch, Load Core › Install or Restore a Core installs the.so.armGBA-1.2-shaders.zip: the LCD grid and pixel shadow presets for RetroArch (.slangpand.glslp).SHA256SUMShas the checksums.
See the README for the core options and which link settings to pick.
armGBA 1.1
armGBA is a libretro core for Game Boy Advance, Game Boy and Game Boy Color games, built for ARM and x86 handhelds, and a standalone app for Linux and Android.
New since 1.0
- Game Boy Contrast on Grayscale follows the Pocket's wheel: each shade fades or darkens as the Pocket's does, keeping a faint picture at 0% and 100%.
- The app's face buttons go by position on every controller, as in RetroArch, with Swap A/B and X/Y in Controls to turn them round. The controls name each button as it's printed on the controller (Xbox, PlayStation or Nintendo letters), with where it is.
- Nintendo controllers (Switch Pro, Joy-Con, 8BitDo in Switch mode) report their buttons by position, as in RetroArch. On Android, controllers that send their buttons by label, from RetroArch's Android profiles (Retroid, Odin, 8BitDo and others), are put right; a Retroid has Nintendo's letters in its Xbox mode too. On ROCKNIX, a handheld's own controls, which InputPlumber shows as a DualSense or an Xbox controller, take the handheld's letters from its device tree.
- The app's Games folder, with Game Boy, Game Boy Color and Game Boy Advance folders: found by themselves (ROCKNIX's
roms, or aromsfolder holdinggb,gbcorgba, on internal storage or a card), or chosen in Saves and Folders. Load Game opens in the Games folder with the three under Shortcuts, and shows the folder's whole path at the top. - Save states keep a picture of the game beside them (
game.state.png, as RetroArch names it), shown on the Game tab for the slot selected. State Slot picks the slot, from 0 to 99, and Save State and Load State are plain buttons, as in RetroArch's Quick Menu. - A selected row too long for the screen pans across to show the rest, as does the game's name over the Game tab.
- The app shows a symbol at the top right while the game is paused, fast-forwarding or rewinding, and its controller hotkeys add ROCKNIX's Hotkey + A to pause.
- Rows that ask for a second press (Restart, Close Game, Quit, Reset Config, Reset Controls and Hotkeys) say so in a message at the bottom left.
- The app's menus: section headers in the title's face, recent games set in from the menu's rows, a smaller menu by touch, shorter help, Resume in place of Close with a game running, and the headers above a row shown when moving up to it.
Downloads
armGBA-1.1-x86_64.AppImage,armGBA-1.1-aarch64.AppImage: the standalone app. Make it executable and run it.armGBA-1.1-android-arm64.apk: the app for Android 7 or newer on 64-bit ARM. Allow installing it, and give it All files access when it asks, for your games and itsarmgbafolder.armGBA-1.1-x86_64.zip,-aarch64.zip,-armv7.zip:armgba_libretro.soandarmgba_libretro.infofor RetroArch on Linux (glibc 2.34 or newer). Put the.soin RetroArch's cores folder and the.infoin its info folder.armGBA-1.1-android-arm64-v8a.zip,-armeabi-v7a.zip,-x86_64.zip:armgba_libretro_android.soand the.infofor RetroArch on Android.armGBA-1.1-shaders.zip: the LCD grid and pixel shadow presets for RetroArch (.slangpand.glslp).SHA256SUMShas the checksums.
For ROCKNIX, armGBA is proposed as an optional core in ROCKNIX/distribution#3517.
See the README for the core options and which link settings to pick.
armGBA 1.0
armGBA is a libretro core for Game Boy Advance, Game Boy and Game Boy Color games, built for ARM and x86 handhelds, and now also a standalone app.
New since 0.1
- armGBA's own open-source GBA BIOS and Game Boy / Game Boy Color boot ROMs, built in. Nintendo's from the system folder are still used first when they're there.
- A standalone app (AppImage) for x86-64 and 64-bit ARM Linux: menus in tabs (General, Game, Core, Extras), netplay, RetroAchievements, save states, rewind, screenshots and recording, and folders shared with RetroArch's.
- The app's controller hotkeys are ROCKNIX's: a Hotkey (Home, or Select on a controller without it) with North for the menu, Start to quit (pressed twice), R and L to save and load a state, R2 to turn fast-forward on and off, L2 to rewind, West to show the frame rate. The Hotkey and each button can be changed.
- The app's footer hints stay in place between controller, keyboard and mouse, and work as buttons to click or tap.
- LCD effects: ghosting (Off, Half, Full), the LCD grid measured from photos of each console, and the Game Boy's pixel shadow. Drawn by the core on the CPU, or by the GPU through the shader presets in
armGBA-1.0-shaders.zipand in the app. - Game Boy Contrast: the contrast wheel of the first Game Boy, the Pocket and the Light, from 0% (fading to blank) to 100% (dark) in tenths, 50% by default. The right stick turns it while playing and R3 sets it back to 50%.
- Left Stick as D-Pad (off by default), left alone while the stick tilts a motion sensor cartridge.
- Safe Saves (on by default): a save is written to a new file first, then swapped in, so a crash or a dead battery mid-write leaves the last save whole. In RetroArch, for the saves armGBA writes itself (Player 2 to 4, backups); in the app, for every save, clock and state.
- Soft patches: IPS, UPS and BPS files beside a game.
- Link to Dolphin's GameCube (on the same machine).
- Switch Controller Combo on L3 + R3, Start + L3 or Start + R3, as well as L + R + A + B and Start + L2 + R2.
- Android cores for RetroArch.
- An Android app (APK) for 64-bit ARM, the standalone app with touch: on-screen controls with a Nintendo layout and both sticks (shown while no controller is connected), drag to scroll the menus, Android's folder picker, the SD card's partitions in the game list, and RetroAchievements. Back opens the menu, and a tap at the top middle of the screen shows a menu button.
- Game Boy screens from real ones: the first model's and the Pocket's measured (BGB's), and the Light from photos of one, backlit in cyan. Grayscale stays the default.
- The LCD grid keeps each color's average brightness on every screen.
- The Game Boy pixel shadow follows each pixel's luminance, and Game Boy Pixel Shadow Distance sets how far it falls (0.5 to 2.5 dots, 1.5 by default). In the Android app it can follow the device's tilt.
- Netplay: Together is the default; Screen Layout Control lets each player change their own screens with R2 and L2, and Show Player Numbers shows each player theirs (on by default in Together). Rollbacks and run-ahead replay Game Boy games and turbo buttons exactly, so netplay no longer resyncs over them.
- The app's Button Layout: Nintendo (A the right face button, the default) or Xbox (A the bottom one).
- The app's menus: a held D-pad or stick speeds up the longer it's held, L2 and R2 go to the first and last row, and a held L or R steps through the game list's letters.
- The app by touch: drag or flick the menus, drag the scroll bar, tap a row to pick it and again to open it, swipe between tabs, a back button in the header, and portrait as well as landscape.
- Clearer core options: shorter labels and help, in RetroArch's categories.
Downloads
armGBA-1.0-x86_64.AppImage,armGBA-1.0-aarch64.AppImage: the standalone app. Make it executable and run it.armGBA-1.0-android-arm64.apk: the app for Android 7 or newer on 64-bit ARM. Allow installing it, and give it All files access when it asks, for your games and itsarmgbafolder.armGBA-1.0-x86_64.zip,-aarch64.zip,-armv7.zip:armgba_libretro.soandarmgba_libretro.infofor RetroArch on Linux (glibc 2.34 or newer). Put the.soin RetroArch's cores folder and the.infoin its info folder.armGBA-1.0-android-arm64-v8a.zip,-armeabi-v7a.zip,-x86_64.zip:armgba_libretro_android.soand the.infofor RetroArch on Android.armGBA-1.0-shaders.zip: the LCD grid and pixel shadow presets for RetroArch (.slangpand.glslp).SHA256SUMShas the checksums.
For ROCKNIX, armGBA is proposed as an optional core in ROCKNIX/distribution#3517.
See the README for the core options and which link settings to pick.
armGBA 0.1
First release of armGBA, a libretro core for Game Boy Advance, Game Boy and Game Boy Color games, built for ARM and x86 handhelds.
GBA games run on a recompiler with AArch64, ARMv7 and x86-64 backends. GB and GBC games run on Gambatte-Speedrun's core.
Features
- Threaded Video, with One Frame Late for slower devices.
- Game Boy models (Game Boy, Pocket / Light, Color, Game Boy Advance) and boot ROMs: Nintendo's from the system folder, or SameBoy's built in.
- GBA cartridge hardware: light sensor, gyro, tilt and rumble; GBA Video, multi-game and Classic NES carts. Unlicensed GB mappers.
- Cheats and RetroAchievements.
- Link play. Together: 2-4 consoles on one device, or rollback netplay where every device runs all of them. Separate: two devices over netplay, each running its own console and save. Link Cable, GBA Wireless Adapter, and the GB Four Player Adapter.
- Save backups: Back Up Save, Load Save, Load Into, and Send Save between linked devices.
Downloads
Each zip has armgba_libretro.so and armgba_libretro.info for RetroArch on Linux (glibc 2.34 or newer): x86_64, aarch64 (ARMv8) and armv7 (hard float, NEON). Put the .so in RetroArch's cores folder and the .info in its info folder. SHA256SUMS has the checksums.
For ROCKNIX, armGBA is proposed as an optional core in ROCKNIX/distribution#3517.
See the README for the core options and which link settings to pick.