Repository navigation
Releases: whovian64/pocket-native
Release list
Pocket Native 0.2.0
Two more games, smoother pictures, tilt controls, and building and updating without typing commands. If you built games with 0.1.x, build them again with this version and copy the new Pocket Native folder over the old one on the card. Your saves stay where they are. This is the last time you need to do that by hand.
Games
- Animal Crossing: New Leaf and Mario Kart 7 are now tested and tuned, alongside Pokémon Omega Ruby and Alpha Sapphire. Building either one gives it its name and the settings it runs best with: culling off for New Leaf, "Draw only shown frames" on for Mario Kart 7. Tested with the US versions.
- New Leaf no longer freezes and jumps in town. It was drawing the 3D effect's second picture there, twice the work for nothing.
- Mario Kart 7 and New Leaf no longer lose 3D skipping for good after one odd picture, which left them drawing every frame twice.
- Other games got faster too, measured on a PC set to the R36S's speed but not yet tested on the handheld: Kirby Battle Royale goes from 4 fps to 30, Super Smash Bros. reaches full speed in matches, and Kingdom Hearts 3D now skips frames to keep up, going from 22% of full speed to 60%.
Smoother
- Pictures are timed to the screen's own refresh, 59.94 times a second rather than 60. The stutter every 15 seconds or so is gone.
- When the GPU falls behind, the game skips drawing a frame instead of drawing it and throwing it away. The fps counter now counts only pictures that reach the screen, so it no longer says smooth while the game stutters.
New
- Tilt controls. Hold L2 and move the right stick to tilt the console, for games that use motion. Letting go levels it again, and a tap of L2 still swaps the screens. If a game tilts the wrong way, turn on "Reverse tilt X" or "Reverse tilt Y" under Controls in the menu.
- Building without typing commands. Drag your games onto
Build a gamein the kit's folder, or open it and pick them:Build a game.baton Windows,Build a game.desktopon Linux. Several games can go at once. A.ciauses theaes_keys.txtnext to it or in the kit's folder, and asks for it when there is none. The window stays open at the end so you can read how it went. - Updating. When a new version is out, the build tells you when it finishes. Open
Update Pocket Nativein the kit's folder: it downloads the new version, keeps the old files in.old, and builds every game inbuild/again, so you don't need your game files for it. Then copy thePocket Nativefolder onto the card again. - START_HERE.md now starts from downloading the kit, and covers the Windows warning about downloaded files.
- The version shows in the menu, next to "Pocket Native", and at the top of each game's
log.txt. - Two new advanced settings:
- "Draw only shown frames", off by default. It skips drawing the frames the frame cap never shows, which eases the GPU in games that draw every frame.
- "Textures past a drawing", on by default. Turn it off if an effect shows streaks or loses its glow.
Faster
- Every game spends a little less time on sound mixing and on copying pictures back from the GPU.
Fixed
- A Link Between Worlds now has its name, and launcher names no longer contain characters that SD cards and Windows reject.
- A long game name no longer runs into the title at the top of the menu.
Pocket Native 0.1.1
Fixes for the first round of reports. If you built a game with 0.1.0, build it again with this version and copy the new Pocket Native folder over the old one on the card. Your saves stay where they are.
Fixed
- Black screen on dArkOS and dArkOSRE. Games started with a black screen and choppy sound, and FN paused without showing the menu. Pocket Native was starting the GPU through the wrong library there, so it fell back to drawing in software. It now uses the Mali driver like it does on ArkOS. Thanks to the dArkOSRE users who reported it and tested the fix.
- Building with Docker failed with
failed to read dockerfile: open Dockerfile: no such file or directory. Both build scripts now tell Docker where the build file is. This hit everyone building on Windows with Docker Desktop.
New
- START_HERE.md, a guide for first-timers: what you need, building, installing, and what to do when something goes wrong.
- On Windows,
build.ps1offers to install Docker Desktop with winget if no container engine is found, and tells you when Docker isn't running instead of failing with a confusing error. - When the GPU can't start, the game's
log.txtnow says why.
Games
Still only Pokémon Omega Ruby and Alpha Sapphire are tested and tuned. Other games may or may not boot. See docs/games.md.
Systems
Made for the R36S and close clones under ArkOS. dArkOSRE now works too. Other systems are untested.
Pocket Native is not affiliated with or endorsed by Nintendo.
Pocket Native 0.1.0
First release of Pocket Native: Nintendo 3DS games recompiled ahead of time and running natively on the R36S (and close clones) under ArkOS. It's a fork of fearkov's Zakuro and 3dsrecomp.
This is a source release. There's nothing here to download and play: you build each game yourself from your own dump, and the build turns it into a folder for the SD card. No game data is included.
What's in it
- An OpenGL ES 3.1 renderer tuned for the R36S's Mali-G31
- A frontend made for the handheld: the screens go straight to the panel, with buttons and sound handled directly, no desktop needed
- An in-game menu (tap FN) with screen layouts, smooth scaling, frame interpolation up to 30 or 60 fps, an fps/temperature/battery/clock overlay, frame cap, power modes, controls, and per-game advanced settings with a line of help for each
- Per-game profiles in
titles/, and a probe mode for trying other games - A one-command build on Linux (
build.sh) or Windows (build.ps1), using podman or Docker
Games
Only Pokémon Omega Ruby and Alpha Sapphire have been tested and tuned. Other games may or may not boot. docs/games.md covers trying a game and adding a profile for it.
Getting started
- Download the source below, or clone the repo.
- Build a game:
- Linux:
scripts/build.sh game.cia --keys aes_keys.txt - Windows:
powershell -ExecutionPolicy Bypass -File scripts\build.ps1 game.cia -Keys aes_keys.txt
- Linux:
- Copy the
Pocket Nativefolder intoroms/ports(orroms2/ports) and restart EmulationStation.
The first build downloads a few hundred MB and takes a while. The README has the details, including starting games from EmulationStation's 3DS list.
Building on Windows is brand new, so please open an issue if it gives you trouble.
Credits and license
Built on Zakuro and 3dsrecomp by fearkov. See CREDITS.md. Pocket Native is under the MIT license.
Pocket Native is not affiliated with or endorsed by Nintendo.