User Tools

Site Tools


game:trac_ball

This is an old revision of the document!


TRACK BALL

THIS WAS THE HARDEST PART OF GETTING EVERYTHING RUNNING AND I SPENT 3+ DAYS WORKING THE ISSUE

YOU WILL NEED A KEYBOARD

  • NOTE 1: we're going to do everything command line, but if you need retroarch menu,
    • it's <SCROLL + F1>
  • NOTE 2: We need this because by default, Missile Command and Tempest are looking for LIGHTGUN, not mouse, so we need to enable the mouse.

Score 1 for Gemini.. ChatGPT just fell apart.

Before we start, and before firing up the game,

  • we bring up the game in our MAME menu,
  • then long press Button 1 to bring up a menu.
  • Move down to “Advanced Game Options”.
    • Emulator will be LIBRETRO:MAME for Phoenix and Missle Command,
    • and LIBRETRO: MAME078PLUS for Centipede.

Step 1: Identifying the Hardware

The system sees every USB device (Keyboard, PS3 controller, Xinmotec, Trackball) and gives it a “Mouse Index” number.

  • Command: cat /proc/bus/input/devices
  • Discovery: You found the Cypress Semiconductor (the trackball) and saw Handlers=mouse0.
  • Result: This told us your magic number is Index 0.

Step 2: Enabling the "Engine" (.opt file)

The Emulator Core (MAME) has to be told that it is allowed to use a mouse at all.

  • Location: /userdata/system/configs/retroarch/config/MAME/missile.opt
  • Key Setting: mame_mouse_enable = “enabled”
  • Result: This turned on the “ears” of the emulator so it could hear mouse signals.

Step 3: Mapping the "Plumbing" (.cfg file)

Because the menu wasn't saving, we manually created a “Game Override” file. This tells RetroArch exactly which hardware to plug into the “Player 1” slot.

  • Creation: We created a new text file at: /userdata/system/configs/retroarch/config/MAME/missile.cfg
  • The Code: You added these two critical lines:
    • input_player1_mouse_index = “0” (Points to the Trackball)
    • input_libretro_device_p1 = “3” (Tells MAME to treat Player 1 as a “Mouse” device)

Step 4: Applying this to Tempest (The Spinner)

Tempest uses a spinner, but in MAME, a spinner is just the X-axis (left/right) of a mouse. To fix Tempest without doing all that work again:

  • Navigate to the same folder: /userdata/system/configs/retroarch/config/MAME/
    • Copy missile.cfg and Paste it as tempest.cfg.
    • Copy missile.opt and Paste it as tempest.opt.

Launch Tempest. It will now use the same “Index 0” logic.

Summary Table for Future Reference

File Type Purpose Key Setting
.opt Core Options mame_mouse_enable = “enabled”
.cfg Input Mapping input_player1_mouse_index = “0”
.cfg Device Type input_libretro_device_p1 = “3”
game/trac_ball.1769718603.txt.gz · Last modified: by mlivolsi