nestorps
Participant
Post count: 3

To anyone with this problem I’ve figure out the solution based on this post:

https://www.reddit.com/r/RetroPie/comments/3fi5mj/ps3_controller_and_scummvm/

We have to recomplie the emulator.

Hatari emulator is waiting for a code 0 to fire button. That is the select button in the PS3 controller as retropie configures it. After a long research I’ve finally found where the Hatari hardcodes the fire button event.

First download source files for hatari:

cd RetroPie-Setup
sudo ./retropie_packages.sh hatari sources

then go to

sudo nano /home/pi/RetroPie-Setup/tmp/build/hatari/src/joy.c

All you have to do is edit the lines code where this event take place. Lines 206 and 208

pJoyReading->Buttons = SDL_JoystickGetButton(sdlJoystick[nSdlJoyID], 0);

and

if (SDL_JoystickGetButton(sdlJoystick[nSdlJoyID], 1))

replace to

pJoyReading->Buttons = SDL_JoystickGetButton(sdlJoystick[nSdlJoyID], 14);
if (SDL_JoystickGetButton(sdlJoystick[nSdlJoyID], 13))

X to fire and O to space fire (some games needs this). The other buttons are []=15 and triangle=12

You may want to add this line to exit the emulator without the keyboard with the PS3 select button:

if (SDL_JoystickGetButton(sdlJoystick[nSdlJoyID], 0))
		Main_RequestQuit(0);

Then build

sudo ./retropie_packages.sh hatari build

and finally

cd /home/pi/RetroPie-Setup/tmp/build/hatari
sudo make install

Enjoy playing Atari ST!!