Dump data from a psx (Sony PlayStation) through the screen
See screen_data_reader for the reader.
-
NTSC PlayStation and ability to capture cleanish video from it. The video must have the correct aspect ratio and decent lighting. A phone camera with focus lock on a flatscreen TV or a capture card can work. A CRT probably won't work. Otherwise it can be tested with an emulator.
-
Method of booting psx homebrew i.e modchip, FreePSXBoot, tonyhax, swap trick, etc.
-
A copy of
psx_screen_dumper
depending on booting method. -
screen_data_reader. For small videos you may be able to use the web app linked on that page.
-
[Optional] For easily converting the raw dumped memory card save images psx_mc_cli
- Launch
psx_screen_dumper
on your PlayStation. - Select Dump mc# saves where # refers to the card number that has your desired save (Press X)
- Scroll to your desired save if needed
- Hold up your camera and verify you have a good picture; correct aspect ratio, clear and visible text. On devices[phones] with autofocus you may need to lock the focus so that it doesn't go crazy when the data patterns changes.
- Start recording, try to keep the camera as steady as possible centered on the TV.
- Press X to start the data patterns, record until you return to the menu.
- Run
screen_data_reader
on your video file. If all goes well it should create a raw memory card file such asBASLUS-01066TNHXG01
and print the crc32. - If it didn't go well check the log to see if it printed any
append frame
messages. Possibly adjust video camera settings and retry. - [Optional] Convert your save to
mcs
or make amcd
memory card image withpsx_mc_cli
- Launch
psx_screen_dumper
on your PlayStation. - Verify output from your capture card is legible
- Start recording from capture card.
- Select
Dump bios
- Stop recording
- Run
screen_data_reader
on your video file../screen_data_reader.py -i cap.avi
. If it worked it should createPSX-BIOS.ROM
and print the crc32. - If it didn't go well check the log to see if it printed any
append frame
messages. Possibly adjust video capture settings and retry. - [Optional] Verify your bios crc32 with FreePSXBoot BIOS CRC32 table to confirm you got a good dump. If you have a custom or patched bios it probably won't match.
MIT, see LICENSE
.
BIOS charset usage and crc32 adapted from tonyhax.
Feel free to ask in the PSXDEV discord
Install the MIPS toolchain
sudo apt-get install gcc-mipsel-linux-gnu g++-mipsel-linux-gnu binutils-mipsel-linux-gnu
Download the nugget submodule
cd thirdparty/nugget && git submodule init && git submodule update && cd ../../
Install the converted PsyQ 4.7 libs. Currently SHA1 36E7A1D606568363F1EBE67E1B499E61FA48DE00
wget http://psx.arthus.net/sdk/Psy-Q/psyq-4.7-converted-full.7z
7z x -o./thirdparty/nugget/psyq/ psyq-4.7-converted-full.7z
make
builds a .ps-exe
make iso
builds an iso
make nocash
builds a .ps-exe
with .exe
extension instead for loading in no$psx
make actualclean
cleans
Nicolas Noble for build environment. ABelliqueux for easy PSYQ setup tutorial. Many others in the PSXDEV discord.
- PAL support