mrchrisster / MiSTer_SAM

150 stars 22 forks source link

Daemonbite Sega adapter doesn't break cycling #34

Closed redsteakraw closed 3 years ago

redsteakraw commented 3 years ago

I made a 2 player Daemonbite Sega adapter.
I cannot get SAM to recognize the inputs to break the cycling. If I pick up the controller and start playing it will cycle to the next game after 3 minutes. The keyboard does do a good job at breaking the cycling but not the gamepad.
here is the Dmesg output for my input.

input.txt

Mellified commented 3 years ago

@mawk This should be fixed now. Do an update and test if you would be so kind!

I moved the hotplug detection from the _on script to MCP - which runs in the background for autoplay mode. That's probably where it should have been all along! Thanks for your help tracking this down.

mawk commented 3 years ago

Hmm, for some reason I'm still seeing the same behavior as I described above.

I would have thought that that would do it, but I'm still not getting the "Button pushed" message unless I manually activate SAM through the /media/fat/Scripts/MiSTer_SAM_on.sh menu.

Mellified commented 3 years ago

That's because the MCP process is spawned at launch and does not output to the terminal as a result. You'll need to test the actual functionality.

mawk commented 3 years ago

Gotcha!

Yup, when I turn on the new joystick and attempt to play while it's cycling through games, it doesn't look like the joystick button presses are interrupting the cycling, and a new game will get swapped in. So it looks like the functionality still isn't what I'd expect either.

Let me know if there's any other info I can provide to help out!

Mellified commented 3 years ago

Hmm. There is a process to get some more information via ssh: /etc/init.d/S93mistersam restart Wait for SAM to start and run: /media/fat/Scripts/MiSTer_SAM_on.sh monitor

That'll stop and re-launch MCP attached to the current session AND allow you to monitor SAM output in the same session.

I'll also do some more testing this week.

Mellified commented 3 years ago

I tested with the steps above. Worked as expected. My output:

# /etc/init.d/S93mistersam restart
 Removing other instances of S93mistersam... Done!
 Stopping activity monitoring... Done!
 Starting SAM.../#  Removing other instances of MiSTer_SAM_MCP... Done!
 Stopping activity monitoring... Done!
 Starting MiSTer Super Attract Mode...
 Starting joystick change monitor... Done!
 Monitoring controller /dev/input/js0...
 Monitoring controller /dev/input/js1...
 Monitoring controller /dev/input/js2...
 Monitoring mouse activity...
 Monitoring keyboard hidraw2...
 Monitoring keyboard hidraw5...
 Done!
 Waiting 60 seconds for system startup... Done!
 MiSTer SAM enabled!
 Please wait for startup
 No activity detected for 2 minutes. SAM starting...

I waited here for the 60 second startup pause and another 2 minutes.

 Stopping other running instances of MiSTer_SAM_on.sh... Done!
 Let Mortal Kombat begin!
 Found 3 zip files in /media/fat/games/NES.
 Found 0 nes files in /media/fat/games/NES.
 Starting now on the Nintendo Entertainment System: Super Mario Bros. 2 (Japan) (Virtual Console)

I picked up my wired Xbox controller and pushed the "A" button.

 Controller activity detected!
 Returned from SAM.