Repository navigation
Playing
GBA DS opens on a game list on the touchscreen (the bottom screen on the RG DS Plus), with the selected game's logo and resume picture on the other screen.
- Two views: a list of names (the default) or a two-column grid of the games' logos. Switch with X or the button left of Settings; GBA DS remembers which you chose.
-
Names come from the file names, without tags like
(USA)or(En,Fr,De). When you have more than one regional copy of a game, a flag tells them apart.name_tags = 1ingba-ds.cfgkeeps the tags. -
Which games: only games with second-screen support are listed (see Supported games).
show_all = 1lists every GBA ROM; the others play normally on one screen. - The other screen shows the selected game's logo, and the picture where it will resume once you've played it.
- The list is rebuilt from the ROM folder each time it opens, so games you add or remove show up with nothing to re-run.
- First run: each game's logo (and the Castlevanias' map border art) is pulled out of the ROM in the background, about a minute on the RG DS Plus, once. Tiles say "Loading thumbnail..." until their logo is ready. If you start a game before that's done, a "Preparing games" screen waits for it (B goes back), so the game doesn't start with crackling sound.
| Input | Action |
|---|---|
| D-pad | Move |
| L1 / R1 | Page up / down |
| A or Start, or tap a game | Play |
| Drag | Scroll |
| X, or tap the button left of Settings | Switch between list and grid |
| SELECT, or tap Settings | Settings (ROCKNIX: GBA DS in EmulationStation; Android: ROM folder, RetroAchievements sign-in) |
| B or HOME | Back to EmulationStation / the launcher |
Leaving a game saves its state automatically, and launching it again picks up exactly there; the game list shows where. auto_resume = 0 turns this off. Battery saves (in-game saves) are written as usual too, so they're never at risk.
Tap the touchscreen, or press HOME (Android: SELECT + START together, or BACK). Both screens dim, the game and its sound pause, and the menu appears on the touchscreen. It has four pages; switch with L1 / R1 or by tapping the tabs. While the menu is open, the top screen shows the time (24-hour, from the device's clock) at the top left and the battery level at the top right. The menu works by touch or with the D-pad and A; B, Start or HOME closes it.
Game
- Resume
- Restart Game: tap twice; unsaved progress is lost.
- Save State / Load State: one slot per game (Load is greyed out until you've saved). HOME + R1 / L1 do the same during play.
- Close Game (back to the game list) and Close GBA DS: both save a resume point first.
Display (remembered for next time)
- Swap Screens: game and second screen trade places (also L2).
- Scale: Pixel Perfect (sharp, whole-number scale with a small border), Full Width (fills the width, keeps the shape, stays sharp), Zoom (fills the height, cutting off the left and right edges) or Stretch (fills the whole screen).
-
LCD Grid: a pixel grid like a GBA screen's, on both screens.
lcd_strengthsets how dark. - Overlays: primary / secondary / both / none. See Map screen surrounds and overlays.
- No Second Screen: Show Logo / Keep Blank: what the second screen shows when the game has nothing for it (title screens, menus, before the first map): the game's logo, or nothing.
Performance (remembered for next time)
- Map Animations: off shows a still map, without the blinking markers.
- Map Refresh: how often the map updates, every 3, 1.5 (default), 1 or 0.5 seconds. Shorter is more up to date but works the CPU harder.
- Frame Buffer: off by default. On, the next frame is prepared while the current one is on screen, which smooths out the odd stutter at the cost of one frame (about 17 ms) of input delay.
- Show FPS: frames per second and % of full speed, above the game.
Extras
- Cheats: see below.
- Achievements: when signed in to RetroAchievements; see below.
-
Take Screenshot: both screens as they look right now, with your display settings, stacked top to bottom into one PNG in
/storage/roms/screenshots(Android:GBA DS/screenshots);screenshot_dirchanges the folder.
| Button | Action |
|---|---|
| D-pad / left stick | D-pad |
| Right face button | GBA A (ab_swap = 1 flips A and B) |
| Bottom face button | GBA B |
| L1 / R1 | GBA L / R |
| Start / Select | Start / Select |
| HOME, or tap the touchscreen | Pause menu (Android: SELECT + START, or BACK) |
| L2 | Swap screens |
| R2 (hold) | Fast-forward (ff_speed, default 3×) |
| HOME + R1 / L1 | Quick save / load state |
| HOME + Start | Quit |
| HOME + X | FPS counter |
| HOME + Y | Swap screens |
If HOME doesn't open the menu on your device, see home_button in Settings; menu_combo = select+start also makes SELECT + START open it.
Four-button layout (Tony Hawk's Pro Skater 2). The GBA version uses L and R for two of the console games' four face buttons. Tap a layout under Controls at the bottom of the second screen (when it's the touchscreen):
- GBA: the layout above.
- Four buttons: like the console games. Top = GBA A (grind), bottom = GBA B (ollie), left = GBA L (flip), right = GBA R (grab). L1 / R1 still work as L / R.
- Auto: four buttons while you're skating, the GBA layout everywhere else (menus, pause, goal sheets, results), so A and B confirm and go back as the game expects. The tile for the layout in use right now is outlined.
The choice is remembered per game.
GBA DS reads RetroArch's cheat files (.cht, the format of the libretro cheat database).
-
Where: ROCKNIX: RetroArch's cheats folders,
/config/retroarch/cheatsand/storage/.config/retroarch/cheats, including subfolders such asNintendo - Game Boy Advance/(cheat_diradds others,:-separated). Android:GBA DS/cheatson the internal storage (subfolders are fine). -
Which file: picked by name, so
Metroid Fusion (World) (Code Breaker).chtgoes withMetroid Fusion (USA).gba. The bracketed parts don't have to match, except the region: a file marked(USA)isn't offered for a Japanese ROM. The Japanese Aria of Sorrow, Harmony of Dissonance and Metroid Fusion keep their data at different addresses from the other releases, so for those only files that say(Japan)are used, not(World)ones. - Using them: pause menu → Extras → Cheats lists them with an On/Off switch each: D-pad and A, L1 / R1 a page at a time, B to go back; or tap a cheat to switch it, and drag to scroll. A long name is shown in full at the bottom.
- Code Breaker files usually start with an "Enable Code (Must Be On)" cheat: switch it on along with the others, as on the real device.
- Choices take effect immediately and are remembered per game (
states/<game>.cheats); a file's owncheatN_enablevalues are used until you change something. - Cheats can crash or soft-lock a game, and anything they change is kept in your saves. Make a save state first.
GBA DS earns RetroAchievements in casual (softcore) mode.
-
Signing in:
- ROCKNIX: GBA DS uses the account signed in under EmulationStation's RetroAchievements settings, when RetroAchievements is switched on there.
ra_usernameandra_passwordingba-ds.cfguse another account. - Android: the game list's Settings → RetroAchievements: Sign In, with your retroachievements.org username and password. Sign Out forgets the account.
- Either way, after the first sign-in GBA DS keeps a token (
states/ra/login.cfg), not your password.
- ROCKNIX: GBA DS uses the account signed in under EmulationStation's RetroAchievements settings, when RetroAchievements is switched on there.
- While playing: each game shows your progress on the second screen as it starts ("2 of 30 achievements unlocked"). Unlocks pop up there too, with the badge and points, out of the game's way.
- Achievements (pause menu → Extras) lists the game's achievements, grouped as recently unlocked, almost there, locked and unlocked. Each has its badge, description and points, plus a progress bar for those that count something, and your totals are at the top. D-pad or drag to scroll, L1 / R1 a page at a time, B back.
-
Save states keep the achievements' progress beside them (
<state>.ra), so loading an old state doesn't unlock anything by mistake. Cheats are allowed in casual mode. - Offline, the game plays on; unlocks earned while the connection is down are sent once it's back.
- Hardcore mode isn't available yet (RetroAchievements requires an emulator to have been public for six months first). With hardcore on in EmulationStation, GBA DS still plays in casual mode.
-
retroachievements = 0ingba-ds.cfgturns it off. Badges are cached instates/ra/badges/.
Until the second screen has something to show (title screen, intro, menus), it shows the game's logo. No logo files are shipped: the first time a game appears in the list, GBA DS boots it silently in the background, runs it to its title screen and renders just the layer that holds the logo, at the game's own resolution with transparency. It's saved as states/logos/<CODE>.png. The logo is drawn like a second GBA screen: centred in a GBA-sized picture, with the second screen's scaling and the LCD grid, so it matches the game beside it. No Second Screen: Keep Blank (pause menu → Display) leaves the second screen black instead.
To use your own art instead, put <CODE>.png (or .bmp) in gba-ds/logos/ (Android: GBA DS/logos/). Art up to 240×160 is treated like the extracted logos; bigger images are fitted, smoothly, to where the GBA picture would be (without the grid). <CODE> is the game's four-letter code, listed in Supported games.
| What | ROCKNIX | Android |
|---|---|---|
Battery saves (.sav) |
next to the ROM (save_dir changes it). On first launch an existing RetroArch Game.srm is copied to Game.sav; the .srm is left alone. |
next to the ROM |
Save states, resume points (.state, .auto.state, with .ra beside them) |
/storage/roms/ports/gba-ds/states/ (state_dir) |
GBA DS/states/ |
Menu settings (prefs.cfg), game list settings (library.cfg) |
gba-ds/states/ |
GBA DS/states/ |
Cheat choices (<game>.cheats) |
gba-ds/states/ |
GBA DS/states/ |
| Extracted logos and map borders |
gba-ds/states/logos/, gba-ds/states/frames/
|
GBA DS/states/… |
| RetroAchievements sign-in and badges | gba-ds/states/ra/ |
GBA DS/states/ra/ |
| Your logos and overlays |
gba-ds/logos/, gba-ds/overlays/
|
GBA DS/logos/, GBA DS/overlays/
|
| Screenshots | /storage/roms/screenshots/ |
GBA DS/screenshots/ |
| Settings | gba-ds/gba-ds.cfg |
GBA DS/gba-ds.cfg (optional) |
| Log | gba-ds/gba-ds.log |
GBA DS/gba-ds.log, GBA DS/launch.log
|