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

This is for Tempest and Missile Command. Centipede picked up

Score 1 for Gemini.. ChatGPT just fell apart.

Phase 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.

Phase 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.

Phase 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: You 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)

Phase 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.1769715817.txt.gz · Last modified: by mlivolsi