Collection of PlayStation 1 tests for emulator development and hardware verification
Name |
Description |
code-in-scratchpad |
(Not finished) Check whether code execution from Scratchpad is possible |
Name |
Description |
otc-test |
DMA Channel 6 (OTC aka Ordering Table clear) unit tests |
Name |
Description |
bandwidth |
Measure GPU/VRAM bandwidth |
benchmark |
GPU test to benchmark rasterizer for various commands |
clipping |
Test Draw Area/Clipping GP0(0xE3), GP0(0xE4) using rectangle and quad |
gp0-e1 |
Check if GP0_E1, GPUSTAT and polygon render uses the same register internally |
lines |
Draws lines using different modes - for verifying Bresenham implementation, color blending, polyline handling |
mask-bit |
Check Mask bit behavior during VRAM copy operations |
quad |
Semi-transparent polygon commands - for testing fill rules and transparency handling |
rectangles |
Draws all combinations of Rectangle commands |
texture-overflow |
Draws textured rectangle with UV overflowing VRAM width |
transparency |
Draws rectangles with 4 semi-transparent blending modes |
triangle |
Draws Gouroud shaded equilateral triangle |
vram-to-vram-overlap |
Test GP0(80) VRAM-VRAM copy behaviour in overlapping rects |
Name |
Description |
gte-fuzz |
Executes GTE opcodes with random parameters, can be used to verify against real console |
Name |
Description |
mdec |
Framework for testing MDEC decoder, default values uses DMA for all transfers, but it can be reconfigured for PIO as well (needs manual recompilation) |
Name |
Description |
memory-transfer |
Test DMA and regular IO transfers to SPU RAM |
ram-sandbox |
SPU memory access sandbox (used for memory-transfer test development) |
stereo |
Play samples on first two voices |
test |
Check SPU behavior (data is lost randomly on 32bit access, ok on 16bit) |
toolbox |
SPU register preview and simple voice playback tool |
Name |
Description |
timers |
Run Timer0,1,2 using various clock sources and sync modes and time them using busy loops and vblank interrupt |
Note: Make sure your PS-EXE loaded does set default value for Stack Pointer - these .exes has SP set to 0.
Name |
Description |
diffvram |
Diff two images and write diff png if image contents aren't exactly the same |
Latest release
docker run -it -v $(pwd):/build jaczekanski/psn00bsdk:latest make