infinite-mac icon indicating copy to clipboard operation
infinite-mac copied to clipboard

Mouse input doesn't work in Apeiron

Open mihaip opened this issue 2 years ago • 1 comments

image

mihaip avatar May 07 '22 04:05 mihaip

Appears to be a known BasiliskII thing, see https://www.emaculation.com/forum/viewtopic.php?t=9710 and https://www.emaculation.com/forum/viewtopic.php?t=7892

Possibly the mouse flags sent during ADB reset are not what Apeiron expects: https://github.com/mihaip/macemu/blob/213a7fa7e320fc98633261d858e9b9a62aa891ad/BasiliskII/src/adb.cpp#L106-L107

mihaip avatar May 07 '22 05:05 mihaip

Apeiron is the only known game to use raw hardware mouse input and that can't be emulated normally, but this can be fixed using the normal Windows or Mac SheepShaver executable: You have to press CTRL-F5 to grab the mouse cursor, but I don't think this is implemented in Infinite Mac, is it? It also works straight out of the box using QEMU, but that's an entirely different emulator. I wonder if Mihai could implement the CTRL-F5 mouse capture feature from SheepShaver?

https://www.emaculation.com/doku.php/sheepshaver_mac_os_x_setup#additional_features

In the SheepShaver prefs, "hardcursor" also has to be set to false for this to work, like that:

hardcursor false

that-ben avatar Dec 07 '22 14:12 that-ben

Oh, I was just coming to report this, as I wanted to try Apeiron after all these years.

jtbayly avatar Apr 05 '23 18:04 jtbayly

+1 for getting Apeiron working! This is one of the games I played on my buddy's Performa in the early 90's. We would spend hours playing this and Maelstrom trying to best each other's scores. Then when we got bored of that, we'd log onto the nascent early internet and look up random sites in the Internet Yellow Pages he had on the shelf. It would be cool to relive those days from the convenience of a web browser. 😎

dasbootbee avatar May 09 '23 00:05 dasbootbee

An additional data point: Apeiron does launch under Mini vMac (e.g. https://infinitemac.org/1992/System%207.1?infinite_hd=true&machine=Mac+II), but the player does not move when the mouse moves.

mihaip avatar Aug 26 '23 15:08 mihaip

This are a bit better after I picked up kanjitalk755/macemu@e059b64ac8e7a011acf435481307a3cc9b25f272 - Apeiron now launches under Basilisk II-based machines, but it still does not register mouse movement.

mihaip avatar Dec 18 '23 00:12 mihaip

Per https://github.com/kanjitalk755/macemu/issues/180 Apeiron works after that patch, BUT you are required to 'grab the mouse with control+F5' -- which I presume also implicitly switches from using absolute positioning to relative positioning mouse mode.

Of course, that key combo doesn't work in infinite-mac. But, I saw infinite-mac does implement relative-movement mode with browser mouse capture for the experimental DingusPPC emulation, since that emulator doesn't support absolute positioning at all. I wonder if it might be easy to reuse the relative-mouse code in order to enable mouse-grab mode in BasliskII (maybe behind a Settings option?) -- which would hopefully solve this problem!

jyknight avatar Feb 07 '24 17:02 jyknight

@jyknight thanks for the tip, you're totally right that relative mouse movement makes Apeiron work, and that I've already added support for it for other emulators. I added a setting that allows BasiliskII and SheepShaver-powered machines to switch to it, and it works well.

mihaip avatar Feb 10 '24 22:02 mihaip

AWESOME! It works! Thanks so much. So fun.

jtbayly avatar Feb 11 '24 03:02 jtbayly