Download the PHP package kevinbatdorf/nativephp-retro-emulator without Composer
On this page you can find all versions of the php package kevinbatdorf/nativephp-retro-emulator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download kevinbatdorf/nativephp-retro-emulator
More information about kevinbatdorf/nativephp-retro-emulator
Files in kevinbatdorf/nativephp-retro-emulator
Package nativephp-retro-emulator
Short Description Native retro emulation for NativePHP Mobile apps — NES, SNES, Game Boy, Game Boy Color, Game Boy Advance, and Genesis via swappable cores (ares, SameBoy, mGBA, or bring-your-own libretro)
License MIT
Informations about the package nativephp-retro-emulator
Retro Emulator for NativePHP Mobile
Native emulation for six consoles, NES through Genesis — zero setup.
See it running first: grab the demo APK and sideload it — all six systems, games included. Or build the demo app yourself in minutes.
Install
Requires NativePHP Mobile v4. No BIOS files, no API keys, no setup — your first build for each platform downloads the prebuilt emulator cores automatically (checksum-verified, cached from then on).
The bundled engines (ares, SameBoy, mGBA — all permissively licensed) play everything. Want a lighter or more accurate core? Fetch it once and your builds bundle it from then on:
| System | Fast | Accurate |
|---|---|---|
| NES | fceumm † | mesen † |
| SNES | snes9x † | bsnes † |
| Game Boy / Color | SameBoy | ares |
| GBA | mGBA | ares |
| Genesis | picodrive † | genesis_plus_gx † |
† fetched, not bundled — GPL and non-commercial licences stay out of your app unless you opt in; read LICENSING.md before shipping one. Fetched cores are Android-only; iOS plays everything through the bundled engines. Any other libretro core loads the same way.
A console in two lines
The element boots when it mounts. The d-pad is optional on-screen touch controls — physical gamepads work with zero setup, and port 1 connects the system's default pad automatically.
Play with the running game
That memory watch means your Livewire component updates the moment Link picks up a heart piece:
Inertia + Vue/React apps skip PHP entirely — every native function has a named JavaScript export:
What's in the box
- Six systems, playable out of the box, verified on real hardware.
- Save states with undo, battery saves, instant rewind, fast-forward, run-ahead.
- Controllers: touch d-pad element, physical gamepads, 4-player multitap, mouse, rumble.
- Live memory: read, write, and watch RAM — build trackers, trainers, and game-reactive UI.
- Presentation: CRT shaders, color and gamma controls, aspect correction, screenshots.
- Cheats, region control, accuracy toggles, an OS ROM picker (
pickRom()), and window/safe-area metrics for overlay layouts.
Events
EmulatorStarted, EmulatorStopped, EmulatorPaused, EmulatorResumed, MemoryRead, MemoryChanged, EmulatorError, RomPicked, and WindowMetricsChanged — listen with #[On(...)] in Livewire or onNativeEvent in JS. All under KevinBatdorf\RetroEmulator\Events\.
Permissions and secrets
Android asks for VIBRATE (controller rumble); iOS asks for nothing. The shipped app makes no network, storage, camera, or location access, and the plugin needs no API keys or environment variables.
The deep end
The full reference — every method and config key, element props, engine resolution rules, bring-your-own libretro cores, memory windows, build internals — lives in THIRD-PARTY-NOTICES.md.
AI Disclosure
This project was built by the developer using AI tooling and autonomous coding agents. Design, architecture, and product decisions are human; implementation was AI-assisted under direction, with every change reviewed and verified on real hardware before shipping. However, AI wrote the above too, so use your own judgement.All versions of nativephp-retro-emulator with dependencies
nativephp/mobile Version ^4.0
illuminate/events Version ^10.0|^11.0|^12.0|^13.0
illuminate/queue Version ^10.0|^11.0|^12.0|^13.0
illuminate/view Version ^10.0|^11.0|^12.0|^13.0