Old Schoold by Harri Kauhanen

Nintendo N64 [RetroPie series]

An image for Nintendo N64 [RetroPie series]

Evan-Amos via Wikipedia

Here are my Nintendo N64 specific notes of my RetroPie system.

  • RetroPie N64 wiki
  • Mupen64plus
    • Quote: While the mupen64plus-libretro core has the convenience of RetroArch configurations, the actual Mupen64plus does better with performance.

Performance is a noticeable issue with many N64 games. Using RetroArch based version, I’ll get a lot of issues with game graphics as well. Overclocking and using mupen64plus (not Libretro) should get decent result (but some games are likely to suffer no matter what on Raspberry Pi 2). The configuration files are at /opt/retropie/configs/n64/, but I haven’t (yet) configured anything. The wiki recommends choosing between the RICE, glesN64 and GLideN64 video modes, and to test which one works best with each game.

Games

Controllers

Using N64 controller via Bliss-Box 4-Play

Unfortunately most N64 games are unplayable with RetroArch powered lr-Mupen64plus. The only game (on my little setup) running without performance issues and graphical glitches seems to be Mario 64. TheRetroArch configuration is at /opt/retropie/configs/n64/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/n64/"

input_joypad_driver = "linuxraw"
input_player1_joypad_index = 0
input_player2_joypad_index = 1
input_player3_joypad_index = 2
input_player4_joypad_index = 3

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

input_player1_a_btn = 2 # A
input_player1_b_btn = 1 # B
input_player1_l2_btn = 5 # Z
input_player1_r_y_minus_btn = 9 # C-up
input_player1_r_y_plus_btn = 4 # C-down
input_player1_r_x_minus_btn = 3 # C-left
input_player1_r_x_plus_btn = 10 # C-right
input_player1_l_btn = 7 # Left shoulder
input_player1_r_btn = 8 # Right shoulder
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 # Analog up
input_player1_l_y_plus_axis = +1 # Analog down
input_player1_l_x_minus_axis = -0 # Analog left
input_player1_l_x_plus_axis = +0 # Analog right

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

input_player2_a_btn = 2 # A
input_player2_b_btn = 1 # B
input_player2_l2_btn = 5 # Z
input_player2_r_y_minus_btn = 9 # C-up
input_player2_r_y_plus_btn = 4 # C-down
input_player2_r_x_minus_btn = 3 # C-left
input_player2_r_x_plus_btn = 10 # C-right
input_player2_l_btn = 7 # Left shoulder
input_player2_r_btn = 8 # Right shoulder
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 # Analog up
input_player2_l_y_plus_axis = +1 # Analog down
input_player2_l_x_minus_axis = -0 # Analog left
input_player2_l_x_plus_axis = +0 # Analog right

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

input_player3_a_btn = 2 # X --> A
input_player3_b_btn = 1 # (square) --> B
input_player3_l2_btn = 9 # Left-bottom shoulder --> Z
input_player3_r_y_minus_axis = -4 # Right-analog up --> C-up
input_player3_r_y_plus_axis = +4 # Right-analog down --> C-down
input_player3_r_x_minus_axis = -3 # Right-analog left --> C-left
input_player3_r_x_plus_axis = +3 # Right analog right --> C-right
input_player3_l_btn = 7 # Left-top shoulder --> Left shoulder
input_player3_r_btn = 8 # Right-top shoulder --> Right shoulder
input_player3_start_btn = 6 # Start
input_player3_up_btn = 11 # D-Pad up
input_player3_down_btn = 12 # D-Pad down
input_player3_left_btn = 13 # D-Pad left
input_player3_right_btn = 14 # D-Pad right
input_player3_l_y_minus_axis = -1 # Left-analog up --> Analog-up
input_player3_l_y_plus_axis = +1 # Left-analog down --> Analog-down
input_player3_l_x_minus_axis = -0 # Left-analog left --> Analog-left
input_player3_l_x_plus_axis = +0 # Left-analog right --> Analog-right

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

input_player4_a_btn = 2 # X --> A
input_player4_b_btn = 1 # (square) --> B
input_player4_l2_btn = 9 # Left-bottom shoulder --> Z
input_player4_r_y_minus_axis = -4 # Right-analog up --> C-up
input_player4_r_y_plus_axis = +4 # Right-analog down --> C-down
input_player4_r_x_minus_axis = -3 # Right-analog left --> C-left
input_player4_r_x_plus_axis = +3 # Right analog right --> C-right
input_player4_l_btn = 7 # Left-top shoulder --> Left shoulder
input_player4_r_btn = 8 # Right-top shoulder --> Right shoulder
input_player4_start_btn = 6 # Start
input_player4_up_btn = 11 # D-Pad up
input_player4_down_btn = 12 # D-Pad down
input_player4_left_btn = 13 # D-Pad left
input_player4_right_btn = 14 # D-Pad right
input_player4_l_y_minus_axis = -1 # Left-analog up --> Analog-up
input_player4_l_y_plus_axis = +1 # Left-analog down --> Analog-down
input_player4_l_x_minus_axis = -0 # Left-analog left --> Analog-left
input_player4_l_x_plus_axis = +0 # Left-analog right --> Analog-right

# Hot keys etc.

input_enable_hotkey_btn = 5
input_exit_emulator_btn = 6

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

Mupen64Plus needs its own config, and it will be added here when (and if) I get it working with 4-Play.

TODO: Add here

Using USB-connected PS3 controllers

 N64 Controller

Evan-Amos via Wikipedia

I  previously used PS3 controllers for N64 games (and still do for four player games). The default config of Mupen64Plus configures it just fine.

 PS3 Controller

Evan-Amos via Wikipedia

PS3N64
XA
B
L1L
R1R
L2Z Trigger
D-PadD-Pad
L-AnalogAnalog Stick
R-AnalogCamera Buttons

Scanlines

TODO

Emulator commands

  • Esc → Exit