Files
ARMSX1/README.md
T
moonpower 74f5aaac82 feat: Initialize ARMSX Overlay project with React Native setup
- Added Podfile for iOS dependencies and configuration.
- Created ARMSXModule for native module integration with React Native.
- Implemented loadEmu method in ARMSXModule to start the emulator.
- Configured Metro bundler for project structure.
- Developed main App component with UI for emulator actions.
- Added app.json for project metadata.
- Registered main application component in index.js.
- Defined package.json with project dependencies and scripts for running the app.
2025-11-22 11:08:13 +03:00

6.1 KiB

psxe

A simple and portable Sony PlayStation emulator and emulation library written in C

Screenshots

Windows Ubuntu macOS
Mega Man X6 (USA) Bloody Roar 2 - Bringer of the New Age (Europe) Parodius (Europe)
Spyro 2 - Ripto's Rage (USA) Namco Museum Vol. 1 (USA) Darius Gaiden (Japan)

CI status

Windows macOS Ubuntu

Running

You can download the latest automated build for your platform on Releases. If your system isn't supported, you can easily build the emulator from source, instructions on "Building" below.

In order to run the emulator, you will need a BIOS file. You can either get one from the internet or dump it from your own console.

Most BIOS versions are confirmed to work.

Use the -b or --bios setting to configure the BIOS file.

Progress

All components have been implemented, Memory card support is temporarily disabled.

CPU
DMA
GPU
SPU
MDEC
GTE
Timers
CDROM
Memory cards

Building

Building the emulator should be easy, just use the scripts provided in this repo.

On Windows, the build-deps.ps1 script downloads SDL2 and unzips it. If you want to run the emulator standalone, you will have to move the SDL2 DLL to the same folder where the executable is located.

If you already have SDL2 on your system, you can skip running build-deps.ps1. Though you will have to edit build-win.ps1 to point the SDL2_DIR variable to your installation path.

On Ubuntu, you will also need to install libsdl2-dev, you can get it from apt like so:

sudo apt update
sudo apt upgrade
sudo apt install libsdl2-dev

Building on macOS requires installing SDL2 and dylibbundler, this can be done using brew:

brew install sdl2
brew install dylibbundler

Assuming you did everything described above, you should be able to build the emulator by using the following commands.

Windows

git clone https://github.com/allkern/psxe
cd psxe
./build-deps
./build-win64.ps1

On rare cases these scripts might not work (PowerShell/Windows bugs). If so, please open an issue on the issues tab with information about your system so we can make sure we cover the maximum amount of systems.

Ubuntu

git clone https://github.com/allkern/psxe
cd psxe
make clean && make

macOS

git clone https://github.com/allkern/psxe
cd psxe
./build.sh

Configuration

A settings.toml is generated on first run under SDL's pref path (SDL_GetPrefPath("nanodata", "armsx")), falling back to the working directory if unavailable. CLI flags always override file settings for a session.

Settings file keys

  • psxe_version (string, managed by PSXE)

[bios]

  • search_path (string): directory to search for BIOS files
  • preferred_model (string): default model (e.g. SCPH-1001)
  • override_file (string): explicit BIOS path; leave empty to use search/model

[console]

  • region (string): ntsc, pal, or auto

[video]

  • texture_scale_mode (bool): enable SDL texture scale mode; toggle bilinear via F4 when supported

CLI flags (override settings)

psxe [options] path-to-cdrom

  • -a, --use-args : ignore settings file
  • -b, --bios=<str> : BIOS file
  • -B, --bios-folder : BIOS search folder
  • -c, --console-source=<str> : auto | null | kernel | atcons
  • -e, --exp-rom=<str> : expansion ROM file
  • -L, --log-level=<int> : 0=trace .. 5=fatal
  • -M, --model=<str> : console model (SCPH-XXXX)
  • -r, --region=<str> : console region
  • -s, --scale=<int> : display scaling factor
  • -S, --settings-file=<str> : settings file path
  • -q, --quiet : silence logs
  • -x, --exe=<str> : PS-X EXE to boot
  • --cdrom=<str> : CDROM image
  • -h/--help | --help-model | --help-region | -v/--version : info helpers

Acknowledgements

This project uses external open source code that can be found on the following GitHub repos:

Their original licenses are respected and apply to the code in this project.

As always, thanks to all original developers for their amazing work.