Skip to content

Pokémon FireRed Dual Screen 0.1.2

Choose a tag to compare

@venom13 venom13 released this 31 Aug 14:51
· 21 commits to main since this release

Pokémon FireRed Dual Screen 0.1.2

This experimental Android update fixes battle interruptions during Pokémon
replacement, keeps battle menus on the lower screen, and improves map and badge
layout. It includes all fixes tested locally after the public 0.1.1 release.

Changes

  • Fix the crash when a rival or another trainer sends out their next Pokémon.
    Native battle responses now handle an omitted party order safely, including
    cancelled party selections.
  • Fix the black screen after the player's Pokémon faints. The lower display
    opens the required replacement picker while the upper display keeps showing
    the battle. The picker stays open until an eligible Pokémon is selected.
  • Support voluntary lower-screen Pokémon switching and cancellation. Preserve
    party order and reject fainted, egg, active, or already-selected replacements.
  • Fix the classic party menu waiting indefinitely for a graphics transfer.
  • Keep the battle bag open until item use or cancel, including party and move
    targeting for medicine and PP recovery. The battle stays visible above.
  • Stop new encounters briefly displaying the previous wild Pokémon's HP.
    Publish battle cards only after the new encounter's Pokémon data is ready.
  • Expand the lower-screen map to fill the area above the navigation tabs.
  • Match HINTS weakness badges to the smaller Pokémon type badges and shrink
    them further when needed to fit the card.

Download and update

Download Pokemon-FireRed-Dual-Screen-0.1.2.apk and install it over the existing
release app. Back up your save first; do not uninstall or clear app data.
The APK uses the same release signing key as 0.1.1.

Package: com.pokefirered.dualscreen. Display version: 0.1.2.
Android version code: 10402, above public 0.1.1 and the earlier local test
builds. The debug app and its saves remain separate.

Your own extracted Pokémon FireRed Version (USA, Europe) (Rev 1) .gba file
is required: 16 MiB, SHA-1 dd5945db9b930750cb39d00c84da8571feebf417.
No full retail ROM is included or provided. Matching ROM-data ranges are
restored from the verified user ROM; compiled code and unmatched upstream
resources remain.

Use SHA256SUMS.txt to verify the APK download. The standard 128 KiB save is
Android/data/com.pokefirered.dualscreen/files/pokefirered.sav.
See the save guide.

Validation and limitations

Native-source regressions cover forced and voluntary replacements, party order,
cancellation, invalid targets, sequential doubles selections, battle items,
graphics-transfer waits, and 96 encounters across snapshot timing scenarios.
Java checks cover persistent panels and replacement eligibility. The old party
loader and rival response code reproduce the reported failures in regression
tests; the fixes pass with address and undefined-behavior sanitizers.

The same fixes were tested on AYN Thor in the final local 0.1.1 release
candidate before this version bump. In the Route 22 rival battle, a Pokémon
fainted, the lower replacement picker stayed open with the battle visible above,
and selecting another Pokémon allowed the next turn to complete. Cancel and
tapping the fainted Pokémon did not dismiss the forced picker. The test did not
change the saved game or settings. Weakness badge sizing was also checked on
the device. The clean 0.1.2 build has identical native executable code and data
apart from its build timestamp. The APK passes package/version, signature,
alignment, and byte-exact ROM restoration checks. ARMv7 audio tests, including
the full music/effects sweep, and map/menu regressions also pass.

A full playthrough, other devices, and a fresh-install/save-write test matrix
have not been repeated for 0.1.2. ARMv7 only; ARM64-only devices are unsupported.
Widescreen remains experimental. Link/wireless multiplayer, LeafGreen, other
ROM revisions, translations, and ROM hacks are unsupported.

Unofficial fan project, not affiliated with Nintendo, Creatures Inc., or
GAME FREAK. Existing credits and third-party notices
remain applicable.