- MDEC
- SPU
- Fix the CD-ROM implementation
- Fix the GTE implementation (some of the tests fail)
- Correct CPU pipeline emulation
- Get a PlayStation 1 BIOS.
- To boot the BIOS, run
<command> -bios "BIOS_PATH_HERE"
. The default BIOS path isSCPH1001.BIN
for now. - 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) - You can see other arguments by running
<command> -h
. To set boolean arguments, use<command> -arg=true
or-arg=false
- You can run tests by running
go test
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)
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
Special thanks to simias for writing this amazing guide to writing a PlayStation emulator, and to the Nocash PSX spec.