Skip to content

BananaOS 0.4.2 (alpha)

Pre-release
Pre-release

Choose a tag to compare

@JorreFog JorreFog released this 22 Oct 13:13
· 298 commits to main since this release

BananaOS 0.4.2 (alpha) for the Anbernic RG DS Plus and RG DS. Simplified Chinese, a faster boot and faster DS game starts, PortMaster ports start again, the microphone works in games, the Anbernic button always opens the in-game menu, the lid is the DS's lid, a new App Store, and fixes for most of your reports.

New: Simplified Chinese (简体中文), translated by Majirefy. Thank you, Majirefy! Settings > System > Language: the menu, Settings, the first-time setup and both DS emulators' in-game menus. Lines added since the translation was made still show in English; they are listed in /run/banana/lang-missing*.txt for the next round. Chinese characters are drawn with Fusion Pixel Font by TakWolf (SIL Open Font License).

File sharing now asks for a login: name banana, password linux (Settings > Network > Sharing name and password changes them, Sharing login can go back to Guest). Windows no longer needs its "insecure guest logons" setting.

Install or update

  • From 0.4.0 or 0.4.1: put banana-rgds-plus-0.4.2.update.tar (RG DS Plus) or banana-rgds-0.4.2.update.tar (RG DS) in banana/updates on the card, then Settings > System > Update, A on the package and A again. It goes 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). Games, saves and settings stay.
  • New card: write banana-rgds-plus.img.gz or banana-rgds.img.gz with balenaEtcher.
  • If the update says a file "is damaged", the package got damaged on its way to the card: download it again and compare its SHA-256 with the SHA256SUMS file here (the message shows the start of it).

Faster

  • Games start sooner and quit sooner in BananaDS: from the menu starting a game to its first picture ~995 → ~610 ms on the RG DS Plus and ~1000 → ~570 ms on the RG DS; quitting back to the menu ~1.1 s → ~0.25 s on the Plus. The emulator no longer rebuilds the DS's memory-protection tables 22 times at boot or zeroes ~80 MB it never uses, and a quit no longer waits for the speakers to switch off.
  • The handheld boots faster (the boot animation itself is unchanged): from the kernel's start to the menu 7.75 → 5.87 s on the RG DS Plus, and 3.93 s on the RG DS (plus the boot loader's part before it, which now reads a kernel half the size). The boot runs at the CPU's top clock, the kernel is stored compressed on the card, and both panels light together. Coming back from a game and the cartridge animation after A are quicker.

Fixed

  • The volume pill in SuperDrastic showed no level on BananaOS: it now follows the volume as you change it.
  • PortMaster ports start again (Apotris, LÖVE games, any port): they went black for a few seconds and back to the menu. PortMaster didn't recognise the pad and put its whole 470 KB controller list into one environment variable, over Linux's 128 KB limit, so nothing in the port's script could start. BananaOS now gives PortMaster the pad (a mod_BananaOS.txt hook, kept across PortMaster's own updates).
  • The microphone in games (#14): on the rk817 chip the volume control was also the microphone's recording level, so with the volume turned down the games heard next to nothing (a handheld at volume 0 recorded silence). The mic now stays at full level whatever the volume, and its preamp is raised (a voice now clears BananaDS's threshold). Nintendogs learns its puppy's name on BananaDS. (DraStic itself only has a "blow" key, not real sound: use BananaDS for voice games.)
  • Volume below 100% far too quiet (#18): the volume now follows the ear's curve: 50% is about half as loud, on both handhelds.
  • Wi-Fi off and on again found no networks until a restart (sometimes): switching Wi-Fi on and opening the network list straight away could start the Wi-Fi service twice, and the second one, failing, took the first one's bookkeeping with it, so every search after that failed at once. One Wi-Fi step at a time now, and a search finds a service that's running however it was started. A search right after Wi-Fi comes on also waits for its first results instead of showing an empty list.
  • A saved Wi-Fi network asked for its password again (#40): A on a saved network joins it; if that fails, the next A asks for the password.
  • No box art for games on the second SD card (#19): Box art now looks at the second card too and keeps that art on it.
  • BananaDS's FPS counter showed 60 while the game was slower (#37): it now shows the game's own frame rate when that is lower, e.g. "19.6 FPS emu 59".
  • BananaDS stutter when a game saves (#33): the save is now written off the emulator's thread and only the changed part is copied (before, a whole frame or more each time the game saved).
  • The charging light in sleep (#8): any sleep on the charger (power button too, not only the lid) keeps the handheld dark and awake so the amber light stays on; the power button or the lid wakes it.
  • Built-in apps in the App Store: Döda Kvarter and Bank & Trade, which come with BananaOS, now show under Installed and can be removed there (their tile is hidden, nothing is deleted; Install brings it back).
  • The update and a damaged package (#36): a wrong checksum is unpacked once more, then explained (see above).

New

  • The Anbernic button (HOME) always opens the in-game menu in DraStic and BananaDS, whatever DraStic's buttons are set to, so a button setup gone wrong can't lock you out.
  • Reset rows in Settings > Nintendo DS: Reset buttons and Reset DraStic (SuperDrastic chosen), Reset BananaDS. Saves, states, cheats and the DS's name stay.
  • The lid is the DS's lid: closing it in a DS game closes the DS's lid (the game's own sleep mode, lid sounds and easter eggs, close-the-DS puzzles), and opening it opens it again; the handheld sleeps 1.5 s after so the game sees it.
  • RetroArch: Reset RetroArch (back to BananaOS's settings, your old ones kept in retroarch/backup-) and RetroArch hotkeys: Off (only F+X menu and F+Start quit stay), in Settings > Other systems.
  • App Store (from rocknixDS): a Store tile and an Apps shelf. eReaderDS (RG DS Plus) can be installed from it today.
  • Settings > Nintendo DS: DS language (both emulators, #22), Threaded 3D for DraStic (#26), DS name for both, also asked in the first-time setup (#30). Per game (X on a DS game): Threaded 3D and Microphone besides Emulator and Shader (#27).
  • A game's name and sort title (#29): X on any game > Name / Sort title; kept across re-scrapes; ROCKNIX's <sortname> is read too.
  • Box art by name (#28): X on a game > Box art: type a title and pick the right match; later scrapes keep it.
  • File sharing: a login (above, #24), and the second card as \\<address>\sd2 (#25).
  • ROCKNIX saves: a roms/nds/<game>.dsv next to a game is taken as its save the first time, when BananaOS has none (#25).
  • Time zones (#21): 49 instead of 30, Latin America among them (Bogota/Lima, Caracas, Santo Domingo, Havana, Mexico City, Buenos Aires/Sao Paulo...).
  • SSH moved to Settings > Network (#23).
  • Charging bolt on the battery icon (#35).
  • Faster LÖVE apps on both panels (#39): casualducko's zero-copy patch for SDL_BANANA_PANELS (eReaderDS: ~125 ms → ~15 ms a frame). Thank you!
  • banana/logs/battery-while-off.txt: the battery at shutdown and at the next power-on (for #34).

Known issues

  • In Chinese, lines added since the translation was made still show in English, among them Recently played, Search, Options, Starting..., some Settings rows (brightness, screen colours, DS name and language) and a few rows in the emulators' Quick settings (Cheats, 3D effects, FPS counter, Fast-forward). They are for Majirefy's next round; the handheld lists the ones it showed in /run/banana/lang-missing*.txt.
  • #34 (charging while turned off on the RG DS Plus) isn't solved yet: please send banana/logs/battery-while-off.txt after charging it while off.
  • #41 (some Settings rows slow to change) couldn't be reproduced; more details welcome.
  • After a few App Store runs on the Plus, look at the menu for black lines (seen once on ROCKNIX); a restart clears them.

Tested

  • This build, on both handhelds: installed with the update over the earlier 0.4.2 build (to the other slot, restarted into it), then the boot timed, a DS game started and quit in BananaDS and in SuperDrastic, the menu switched to Chinese and back, both emulators' in-game menus checked in Chinese on the panels. The full device test plan below ran on the earlier 0.4.2 build, before the speed work and Chinese.

  • Code review of every change by five reviewers (bananad and scripts, the menu, both emulators, launchers/SMB/Store/RetroArch, screen colours); every confirmed finding fixed before the build.

  • Both packages installed through Settings > System > Update over 0.4.1 (to the other slot, restarted into it, 0.4.1 one restart away), settings and saves unchanged.

  • The device test plan on both handhelds: RG DS Plus 74 tests passed; RG DS 62 passed, none failed. Three problems the tests found were fixed before this build (a display self-heal, DraStic's brightness after Quit, file sharing changes hanging), plus two from the RG DS run (the Screen colours row after a reset; built-in apps in the Store).