Skip to content

Repository files navigation

GBA Rush PSP

GBA Rush PSP

A performance-focused Game Boy Advance emulator for PlayStation Portable.

Important

GBA Rush PSP is an independent fork of andymcca/TempGBA4PSP-mod. It exists because of the emulator work maintained there and throughout the gpSP, gpSP Kai, TempGBA, and TempGBA4PSP-mod projects. Please credit and support the original authors and contributors.

About this fork

GBA Rush PSP continues the real-hardware PSP work from TempGBA4PSP-mod under a distinct name and identity. It retains the upstream emulator core, interface, renderers, compatibility work, and single-game launcher while adding a safer cheat runtime, timed CodeBreaker hooks, configurable hold-to-fast-forward, and repeatable release checks.

This repository is independently maintained. It is not the original TempGBA4PSP-mod project, and its authors do not imply endorsement by upstream maintainers. See Project lineage and acknowledgements for the full development path and links.

You must provide your own legally obtained GBA BIOS and ROM dumps. They are not part of this repository or its release packages.

Highlights

  • Plaintext and encrypted CodeBreaker codes, including timed master hooks.
  • Existing GameShark, Pro Action Replay, and direct-write formats.
  • Manual, transactional .cht loading with clear filename, count, entry names, and ON/OFF state.
  • Up to 640 cheat entries with active-entry and sorted-hook indexes that avoid scanning inactive lists in hot paths.
  • Configurable hold-to-fast-forward with unthrottled emulation, paced display updates, and immediate audio recovery.
  • Adaptive sharp 16:9 output with a two-pass PSP GE path and automatic performance fallback.
  • Two-PSP GBA link cable emulation over local ad-hoc Wi-Fi.
  • Suspend and resume recovery that keeps audio, ROM access, saves, and worker shutdown under foreground control.
  • Task-based menus with contextual setting help and built-in performance diagnostics.
  • Versioned, recoverable configuration writes that preserve existing user settings.
  • Old and new video renderers, multiple scale modes, themes, box art, recent ROMs, configurable dynarec policies, and multilingual menus.
  • Japanese, English, Simplified Chinese, Traditional Chinese, and Italian UI.
  • Optional source-based single-game launcher builder.

Installation

Copy the release folder to PSP/GAME/GBARushPSP/, add your own gba_bios.bin, and start GBA Rush PSP from the PSP Game menu.

PSP/GAME/GBARushPSP/
├── EBOOT.PBP
├── exception.prx
└── gba_bios.bin       user supplied

See Installation and upgrade notes for configuration, fast-forward, legacy-folder, and update guidance.

Cheats

Open Cheats options, choose Load cheat file, and select a .cht file. Lists are selected manually so the user always knows which region and revision they are applying.

For a timed CodeBreaker list, enable its master entry and then enable the ordinary entries you want. Multiple ordinary entries can run together. If masters with different hook addresses conflict, the most recently enabled master takes ownership and incompatible master entries are disabled.

CodeBreaker codes remain dependent on the exact game region and revision. Device-specific extensions that cannot be interpreted safely are not accepted. The complete syntax and compatibility notes are in Cheat files.

Fast-forward

Fast-forward is active only while its configured physical button is held. The default mapping is Triangle. Reassign Fast forward from the button configuration menu to use any supported digital or analog direction.

The emulator bypasses normal throttling while held, targets roughly 30 visible frames per second, and discards queued audio instead of allowing a backlog to stall emulation. Releasing the button restores the selected frameskip and audio behavior immediately.

Video

16:9 Auto fills the PSP display and starts with the two-pass Sharp path. After sustained timing misses it switches to single-pass Crisp; it returns to Sharp only after a longer stable interval. Manual sharp, nearest, bilinear, and aspect-correct modes remain available.

Existing installations keep their saved scale mode. Select 16:9 Auto once to enable it. The optional FPS overlay shows the active SHARP or CRISP level.

Link cable

GBA Rush PSP can connect two PSP systems as Player 1 and Player 2 over local ad-hoc Wi-Fi. It implements GBA Normal 8-bit, Normal 32-bit, and Multiplayer 16-bit cable transfers with synchronized timing and serial interrupts. Both systems should run the same emulator build.

The protocol and emulator paths pass deterministic host, sanitizer, malformed traffic, timeout, stress, diagnostic-ROM build, and PSP build checks. Broad testing across two physical PSP systems and the full commercial game catalog is not yet complete. See Link cable for setup, supported modes, current restrictions, diagnostics, and recovery steps.

Build

The PSP build requires a current PSPDev toolchain with psp-config available in PATH.

make check
make psp-build

Docker users can follow BUILD-DOCKER.md. Build outputs are created under source/ and ignored by Git.

Host tests

make check builds the portable production modules with the host C compiler. It runs deterministic regression vectors for CodeBreaker handling, GBA serial timing, framed link traffic, two-core session synchronization, malformed input, timeouts, and thousands of transfers with variable delay. It also verifies translation order and that private runtime data or generated executables are not tracked.

Release package

After a successful PSP build:

make package VERSION=1.3.0

This creates GBA-Rush-PSP-1.3.0.zip and its SHA-256 checksum in dist/, then extracts and verifies the archive against the approved release manifest. The package contains only EBOOT.PBP, exception.prx, installation notes, changelog, and license. It excludes BIOS files, ROMs, saves, local settings, and cheat databases.

Single-game launcher

The launcher and graphical builder remain available as source. Generate the launcher template before running the builder:

make launcher-stub
python3 -m pip install -r source/single-game_launcher/tool/requirements.txt
python3 source/single-game_launcher/tool/gui.py

External audio tools are not committed to the repository. See the builder documentation for its requirements and third-party notices.

Repository layout

Path Purpose
source/ Emulator source, PSP Makefile, assets, and inherited SDK imports
source/src/codebreaker.c CodeBreaker decoder and operation interpreter
tests/ Host regression tests
docs/CHEATS.md Cheat format and master-code behavior
docs/LINK_CABLE.md Two-PSP link setup, compatibility, and diagnostics
docs/LINEAGE.md Upstream history, links, and acknowledgements
docs/BRAND.md Naming, visual identity, and attribution rules
source/single-game_launcher/ Optional PSP launcher and desktop builder
scripts/ Source checks and repeatable release packaging

Thanks and lineage

GBA Rush PSP stands on work by:

  • Exophase and gpSP contributors;
  • notaz and the wider gpSP community;
  • Takka and the gpSP Kai contributors;
  • Nebuleon, Normmatt, BassAceGold, and the TempGBA community;
  • Phoe-nix and earlier TempGBA4PSP-mod contributors;
  • andymcca, JxPv2, and everyone who contributed to the direct upstream repository;
  • libretro/gpsp contributors whose fixes are credited in the inherited source and history.

Thank you to every developer and tester who kept this emulator lineage useful on real PSP hardware. Detailed historical and asset attribution remains in source/copyright, NOTICE.md, and docs/LINEAGE.md.

License

The emulator is distributed under GPL-2.0-or-later. See LICENSE. The optional desktop launcher builder is GPL-3.0-or-later and carries its own license and third-party notices.

This project is not affiliated with or endorsed by Nintendo, Sony, CodeBreaker, or the maintainers of the upstream projects.

About

A performance-focused GBA emulator for PSP, forked from TempGBA4PSP-mod.

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages