gopsx

command module
v0.0.0-...-09bb94b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 30, 2024 License: Unlicense Imports: 10 Imported by: 0

README

gopsx, a PlayStation 1 emulator written in Go

TODO

  • MDEC
  • SPU
  • Fix the CD-ROM implementation
  • Fix the GTE implementation (some of the tests fail)
  • Correct CPU pipeline emulation

Usage

  1. Get a PlayStation 1 BIOS.
  2. To boot the BIOS, run <command> -bios "BIOS_PATH_HERE". The default BIOS path is SCPH1001.BIN for now.
  3. To insert a disc, specify it's path with <command> -disc "DISC_PATH_HERE". It should be a .bin file (.cue files are not supported yet)
  4. You can see other arguments by running <command> -h. To set boolean arguments, use <command> -arg=true or -arg=false
  5. You can run tests by running go test

Status

Implemented:

  • CPU
  • DMA
  • Timers
  • Basic CD-ROM implementation
  • Gamepad (still needs testing)
  • Interrupts
  • GPU (not much)
  • GTE (very simple implementation, can display the PlayStation logo)

Images

Boot animation

BIOS main menu

BIOS logo

Other

Default keyboard keymappings:

Gamepad Keyboard
Start Backspace
Select Right Shift
DPadUp Arrow Up
DPadRight Arrow Right
DPadDown Arrow Down
DPadLeft Arrow Left
L2 Keypad Divide
R2 Keypad Multiply
L1 Keypad 7
R1 Keypad 9
Triangle Keypad 8
Circle Keypad 6
Cross Keypad 2
Square Keypad 4

You can change them in the main.go file, but it would be great to be able to do that from the CLI

Thanks

Special thanks to simias for writing this amazing guide to writing a PlayStation emulator, and to the Nocash PSX spec.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL