Old Schoold by Harri Kauhanen

Sony PlayStation (PS1 / PSX) [RetroPie series]

An image for Sony PlayStation (PS1 / PSX) [RetroPie series]

Evan-Amos via Wikipedia

Here are my Sony PlayStation specific notes of my RetroPie system. The PS1 emulator runs on RetroArch, so you may want to check out common RetroArch stuff I posted separately.

Performance can be an issue with some Playstation games. Overclocking and using libretro-pcsx-rearmed should get pretty good result (but not 100% accurate) emulation on Raspberry Pi 2.

Games

  • Game manuals
  • RetroPie
    • Extract .zip.bin to ~/RetroPie/roms/psx/
    • If game comes on multiple CD, move additional images to ~/RetroPie/roms/psx/.MoreDisks (NOTE! Not tested)

BIOS

BIOS needs to be copied from an original PS1 or downloaded.

  • scph7502.bin/home/pi/RetroPie/bios

Controllers

Using PlayStation controller via Bliss-Box 4-Play

I am currently using black DualShock controllers (“PS2 controllers”) as there seems to be a problem with analog shoulder buttons (not sure if I there still are issues with games using the lower shoulder buttons). The configuration is at /opt/retropie/configs/psx/retroarch.cfg:

# Settings made here will only override settings in the global retroarch.cfg if placed above the #include line

input_remapping_directory = "/opt/retropie/configs/psx/"

input_joypad_driver = "linuxraw"
input_player1_joypad_index = 0
input_player2_joypad_index = 1

# Player 1: PS Controller on Bliss-Box 4-Play port 1

input_player1_b_btn = 2 # X
input_player1_a_btn = 4 # O
input_player1_y_btn = 1 # (square)
input_player1_x_btn = 3 # (triangle)
input_player1_l_btn = 7 # Left-top shoulder
input_player1_r_btn = 8 # Right-top shoulder
input_player1_l2_btn = 9 # Left-bottom shoulder
input_player1_r2_btn = 10 # Right-bottom shoulder
input_player1_select_btn = 5 # Select
input_player1_start_btn = 6 # Start
input_player1_up_btn = 11 # D-Pad up
input_player1_down_btn = 12 # D-Pad down
input_player1_left_btn = 13 # D-Pad left
input_player1_right_btn = 14 # D-Pad right
input_player1_l_y_minus_axis = -1 # Left-analog up
input_player1_l_y_plus_axis = +1 # Left-analog down
input_player1_l_x_minus_axis = -0 # Left-analog left
input_player1_l_x_plus_axis = +0 # Left-analog right
input_player1_l3_btn = 15 # Left-analog button
input_player1_r_y_minus_axis = -4 # Right-analog up
input_player1_r_y_plus_axis = +4 # Right-analog down
input_player1_r_x_minus_axis = -3 # Right-analog left
input_player1_r_x_plus_axis = +3 # Right analog right
input_player1_r3_btn = 16 # Right-analog button

# Player 2: PS Controller on Bliss-Box 4-Play port 2

input_player2_b_btn = 2 # X
input_player2_a_btn = 4 # O
input_player2_y_btn = 1 # (square)
input_player2_x_btn = 3 # (triangle)
input_player2_l_btn = 7 # Left-top shoulder
input_player2_r_btn = 8 # Right-top shoulder
input_player2_l2_btn = 9 # Left-bottom shoulder
input_player2_r2_btn = 10 # Right-bottom shoulder
input_player2_select_btn = 5 # Select
input_player2_start_btn = 6 # Start
input_player2_up_btn = 11 # D-Pad up
input_player2_down_btn = 12 # D-Pad down
input_player2_left_btn = 13 # D-Pad left
input_player2_right_btn = 14 # D-Pad right
input_player2_l_y_minus_axis = -1 # Left-analog up
input_player2_l_y_plus_axis = +1 # Left-analog down
input_player2_l_x_minus_axis = -0 # Left-analog left
input_player2_l_x_plus_axis = +0 # Left-analog right
input_player2_l3_btn = 15 # Left-analog button
input_player2_r_y_minus_axis = -4 # Right-analog up
input_player2_r_y_plus_axis = +4 # Right-analog down
input_player2_r_x_minus_axis = -3 # Right-analog left
input_player2_r_x_plus_axis = +3 # Right analog right
input_player2_r3_btn = 16 # Right-analog button

# Hot keys etc.

input_enable_hotkey_btn = 5
input_exit_emulator_btn = 6

#include "/opt/retropie/configs/all/retroarch.cfg"

Using USB-connected PS3 controllers

PS1 Original Controller

Evan-Amos via Wikipedia

PS1 DualShock Controller

Evan-Amos via Wikipedia

PS3 controller is a natural match for PS1 games.

PS3 Controller

Evan-Amos via Wikipedia

The configuration at /opt/retropie/configs/psx/retroarch.cfg:

rewind_enable = false

input_player1_joypad_index = 2 # PS3-controller 1
input_player2_joypad_index = 3 # PS3-controller 2

# Player 1: PS3-controller 1

input_player1_b_btn = 14
input_player1_y_btn = 15
input_player1_select_btn = 0
input_player1_start_btn = 3
input_player1_up_btn = 4
input_player1_down_btn = 6
input_player1_left_btn = 7
input_player1_right_btn = 5
input_player1_a_btn = 13
input_player1_x_btn = 12
input_player1_l_btn = 10
input_player1_r_btn = 11
input_player1_l2_btn = 8
input_player1_r2_btn = 9
input_player1_l3_btn = 1
input_player1_r3_btn = 2
input_player1_l_x_plus_axis = +0
input_player1_l_x_minus_axis = -0
input_player1_l_y_plus_axis = +1
input_player1_l_y_minus_axis = -1
input_player1_r_x_plus_axis = +2
input_player1_r_x_minus_axis = -2
input_player1_r_y_plus_axis = +3
input_player1_r_y_minus_axis = -3

# Player 2: PS3-controller 2

input_player2_b_btn = 14
input_player2_y_btn = 15
input_player2_select_btn = 0
input_player2_start_btn = 3
input_player2_up_btn = 4
input_player2_down_btn = 6
input_player2_left_btn = 7
input_player2_right_btn = 5
input_player2_a_btn = 13
input_player2_x_btn = 12
input_player2_l_btn = 10
input_player2_r_btn = 11
input_player2_l2_btn = 8
input_player2_r2_btn = 9
input_player2_l3_btn = 1
input_player2_r3_btn = 2
input_player2_l_x_plus_axis = +0
input_player2_l_x_minus_axis = -0
input_player2_l_y_plus_axis = +1
input_player2_l_y_minus_axis = -1
input_player2_r_x_plus_axis = +2
input_player2_r_x_minus_axis = -2
input_player2_r_y_plus_axis = +3
input_player2_r_y_minus_axis = -3