Table of Contents

TRACK BALL

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

YOU WILL NEED A KEYBOARD

Score 1 for Gemini.. ChatGPT just fell apart.

Before we start, and before firing up the game,

Step 1: Identifying the Hardware

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

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.

[root@BATOCERA /userdata/…troarch/config/MAME]# tail missile.opt
mame_media_type = "rom"
mame_mouse_enable = "enabled"
mame_read_config = "enabled" 

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.

[root@BATOCERA ~]# tail /userdata/system/configs/retroarch/config/MAME/missile.cfg
input_player1_mouse_index = "0"
input_libretro_device_p1 = "3"

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:

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”
[root@BATOCERA /userdata/…troarch/config/MAME]# ls -al
total 36
drwxr-xr-x 2 root root  4096 Jan 29 14:01 .
drwxr-xr-x 4 root root  4096 Jan 28 18:01 ..
-rw-r--r-- 1 root root 11402 Jan 29 13:42 MAME.cfg
-rw-r--r-- 1 root root    63 Jan 29 13:50 missile.cfg
-rw-r--r-- 1 root root   817 Jan 29 09:15 missile.opt
-rw-r--r-- 1 root root    63 Jan 29 14:01 tempest.cfg
-rw-r--r-- 1 root root   817 Jan 29 14:01 tempest.opt

Step 5: Map the keys in the game