Repository navigation
BananaOS 0.4.0 (alpha)
Pre-releaseBananaOS 0.4.0 (alpha) for the Anbernic RG DS Plus and RG DS. Search, an emulator per DS game, a faster RetroArch fast-forward, shaders out of the box, mGBA, cheats and an FPS counter in BananaDS, games from a second SD card, and fixes for headphones, PortMaster and DS sound clicks.
First release for the original RG DS too. Both handhelds get an SD card image and an update package.
Install or update
- New card: write
banana-rgds-plus.img.gz(RG DS Plus) orbanana-rgds.img.gz(RG DS) to a microSD card with balenaEtcher. The first boot makes the data partition from the rest of the card. - RG DS Plus, from 0.3.0 or 0.2.0: put
banana-rgds-plus-0.4.0.update.tarinbanana/updateson the card (file sharing, or the card in a computer), then Settings > System > Update, A on the package and A again to confirm. It is written to the card's other system slot and runs from the next restart; the version you had stays one restart away (Settings > System > Previous version). Your games, saves and settings stay.
Fixed
- Headphones: with earphones in, the sound now comes out of them everywhere: in the menu, and when you plug them in or pull them out in the middle of a game (SuperDrastic, BananaDS and RetroArch). On the RG DS the speakers now go quiet while headphones are in (they played along before). Each program only looked at where sound plays when it started; now each follows the jack while it runs.
- PortMaster starts and shows its menu: on a new card it showed a black screen and quit; after that it quit within a second. BananaOS's Python had no XML module and couldn't find SDL2,
pgrepwas missing, and PortMaster's menu couldn't get the screen while its own splash still held it; all fixed, plus the library its LÖVE runtime needs (many ports use it). Quitting a port from the menu now stops everything it started. - Nintendo DS sound without clicks (SuperDrastic): the clicks and crackle in busy games are gone (Mario Kart DS racing: 40-66 gaps every 10 s before, 0 after). The ROCKNIXDS 1.6.4 audio fix is in, and a BananaOS-only cause is fixed with it: SuperDrastic took DraStic's sound slightly faster than DraStic made it (which also made it a little sharp).
- Big DS games no longer run out of memory in BananaDS: a game is read from the card as it plays instead of being loaded into memory whole (Golden Sun: Dark Dawn, 256 MB: about 240 MB in total instead of about 490 MB). On 1 GB this left too little for the system, and the handheld could stop responding.
- RetroArch fast-forward goes fast: the Fast tile (and F + R2) speeds the game up instead of only showing "Fast-Forward" (Aladdin on gpSP: 33% to 98% CPU). RetroArch waited for every screen refresh even while fast-forwarding.
- RetroAchievements default to Softcore: save states, rewind and cheats work out of the box; existing cards are switched once.
- New game folders show up straight away: a folder of games copied in while the menu runs appears without a restart (the next time the home screen shows).
- BananaDS no longer crashes when you quit a game: about one quit in three ended in a crash after your save was written (the emulator logged into a file that was already closed). 10 quits in a row are clean now, and a screenshot taken just before quitting is saved in full.
- BananaDS sound without crackle when a game slows down (#12): the sound is stretched to the game's speed instead of being held, about 5 to 20 times less crackle in a slow stretch (the sound plays a little lower while the game is slow).
- BananaDS's microphone is more sensitive by default (#14): the gate that keeps game sound out is three times lower (Settings > Nintendo DS > Microphone: Medium), so speech-controlled games should hear you; your setting keeps its label (moved once).
- Your passwords stay off the network: file sharing no longer serves the Wi-Fi passwords, the RetroAchievements account and login tokens, or the handheld's SSH key (a card in a computer still has them), and RetroArch's RetroAchievements password is no longer kept in retroarch.cfg.
- Settings files on the card can't run commands: a DS shader of your own with a name like
x;command.fragran that command when SuperDrastic started, and file sharing can write the card. The settings files are now read, never run, and a shader of your own is listed only when its name has letters, digits and. _ + -. - Smaller fixes: a game started from a script or the network starts at once (no key press needed); Home says X Start on a system you haven't played yet; the search field shows how many games match; X > As in Settings no longer leaves an empty file behind; the first-time setup tells you when the time zone is still UTC; RetroArch's tiles on the RG DS's top touchscreen work when they're shown there; every card gets a banana/updates folder.
Added
-
BananaDS is much faster: Golden Sun: Dark Dawn at 2x on the RG DS Plus went from about 63 to about 85 frames a second of emulation headroom (measured without a frame cap), so it holds 60 in its towns and fields (on the RG DS Plus with a shader, see Known issues). The work: fewer recompiles of self-modifying game code, DMA in blocks, the 3D picture handed to the 2D thread instead of copied, and the emulator no longer waiting for the 2D and 3D threads. Every change keeps the same pictures.
-
BananaDS's clock governor lowers the CPU clock only when even the heaviest frames still fit (cooler and longer battery in light games, no dropped frames in heavy ones).
-
A faster LCD grid (ds-grid-2x): the same picture with 13% less GPU work.
-
Themes of your own: a theme is a JSON file in
banana/themeson the card, picked in Settings > Display & sound > Theme. It can set the colours (any of ~50, with transparency), the accent, pictures behind both screens, its own fonts, logo, system icons and menu sounds.theme-builder.htmlin that folder makes one in any web browser with a live preview (no internet needed). Four examples to start from: Ocean, Sakura, Terminal and Sunset. -
Search: Select in the menu, type part of a name on the keyboard, Start: the games found from every system open as a shelf of their own.
-
An emulator and a shader per DS game: X on a DS game in the library opens its page: SuperDrastic or BananaDS, and a shader (or None) for that game only; the others follow Settings > Nintendo DS.
-
BananaDS: FPS counter (L3 > Quick settings > FPS counter), fast-forward (hold R2, or F + X to toggle; a speed in L3 > Quick settings > Fast-forward: 2x, 3x or Max; the sound is muted while it runs) and screenshots (F + L2: both screens, in the screenshots folder).
-
BananaDS: cheats in L3 > Quick settings > Cheats, for over 4,000 DS games, included (libretro's collection). Your own files on the card come first (a
.mchinbananads/cheats/, or a RetroArch.cht). Some codes only work after Restart game. -
Shaders for RetroArch out of the box: Quick Menu > Shaders, switch Video Shaders on, then Load Preset lists libretro's GLSL presets (CRT, handheld LCD, sharp scaling...), read from the system, so they take no space on the card. RetroArch's Online Updater is shown again, with only the entries that work here.
-
mGBA for the Game Boy Advance: Settings > Other systems > Game Boy Advance: gpSP (the fastest) or mGBA (the most accurate, and the one RetroAchievements recommends: gpSP isn't on its list of Hardcore-compliant cores). RetroAchievements mode (Softcore or Hardcore) is there too.
-
A second box-art source: Settings > System > Box art from can add TwilightBoxart (boxart.kirovair.com), which recognises a game from the ROM itself, for covers libretro doesn't have. libretro stays the default.
-
Games on a second SD card (RG DS Plus): a card with a
romsfolder (the same system folders, exFAT or FAT32) in the second slot adds its games to the library. Settings > System > Second SD card turns it off. -
Button hints: the bottom bar shows Select Search, and X Options on DS games.
-
BananaDS: F opens the menu (the Anbernic button on its own, as in SuperDrastic; L3 still works), and the left stick plays the d-pad.
-
Sharp DS pixels: Settings > Nintendo DS > Shader > Sharp pixels (integer): every DS pixel an exact square, a true 4x on the RG DS Plus.
-
Your own DS shaders: put
.fragfiles inbanana/shaderson the card, named with letters, digits and. _ + -(no spaces); they show up in the Shader list (its README.txt has the format). -
RetroArch looks in one setting: Settings > Other systems > Shader: LCD grid, CRT or sharp pixels for every RetroArch system.
-
Quick resume for RetroArch systems (Settings > Other systems > Quick resume, off by default): quitting keeps your spot, and the game goes on from there next time.
-
Recently played: a shelf with the last 12 games you played, from every system.
-
Search finds genres and years too ("rpg", "racing", "2005").
-
Unreleased work since 0.3.0 is in too: big libraries scroll without waiting for their pictures, favourites start with their own system's emulator, held volume keys repeat, no shutdown on the charger, and the Carts theme builds faster.
Changed
-
BananaDS's Paused menu says F / L3 opens it.
-
BananaDS: Settings > Nintendo DS > Timing defaults to Accurate; Fast is still there, with a warning (it broke Golden Sun: Dark Dawn's 3D). Cards that had Fast are moved to Accurate once.
-
BananaDS's Quick settings: Edge marking and Fog are one row, 3D effects (Edge + fog, Edge only, Fog only, Off). Your settings are kept.
Known issues
- RG DS Plus, a DS shader in long sessions: a shader keeps the GPU busy on the Plus's large panels, and with the 3D at 2x the chip gets hot enough after a few minutes for the system to lower the CPU clock: a heavy 3D game (Golden Sun's towns) can then drop a frame now and then. Without a shader it holds 60 indefinitely, so set such a game to None on its own page (X in the library). The RG DS isn't affected.
- Golden Sun: Dark Dawn's opening flyover runs at about 22 frames a second for a minute in BananaDS (a very heavy scene that also captures the screen), and its sound plays lower meanwhile. The game itself runs at full speed.
- TwilightBoxart's covers are smaller (up to 256 x 192, the size its API offers) than libretro's.
- Second SD card: tested with a simulated card; a real card is still to be confirmed.
Planned
- EmulationStation as an alternative frontend: planned for 0.5.
Tested on an RG DS Plus and an RG DS, each running its release image: every item, random-input runs, and BananaDS's speed work checked frame by frame against the unchanged emulator. In QEMU, the RG DS Plus image updates from 0.2.0 and 0.3.0, and the RG DS image boots and passes the same checks.