Hi Anthony, "Anthony J. Bentley" <[email protected]> writes:
> On Sun, Feb 17, 2019 at 2:43 AM Anthony J. Bentley <[email protected]> wrote: >> I've added arm and arm64 to ONLY_FOR_ARCHS > > I actually forgot to do that part. > > Here's a new patch, this one relative to /usr/ports as it updates the > meta package too. > > In addition, I've attached a port for a new plugin, > mupen64plus-rsp-cxd4, a low-level emulation plugin which you can use > with --rsp in place of the default rsp-hle plugin. > > tests? oks? I tested two games over two hours and they worked well. There were minor graphical glitches (e.g., missing assets, hard to read fonts) and even an unreproducible freeze. Overall, it was very playable. After researching, I see that each ROM is variable in how well it is supported. (https://mupen64plus.org/wiki/index.php?title=GameCompatibility) The hardest part in setup was figuring out the buttons. I used brute force to find out what to change /usr/local/share/mupen64plus/InputAutoCfg.ini to since there is no easy way to test buttons. IIUC, this is due to a lack of a userspace XInput driver and does not have to do with mupen64plus itself. (https://www.reddit.com/r/openbsd_gaming/comments/a6f7f4/request_advice_for_controllergamepads_fnaify/) The two biggest changes were switching the signs for the Y Axis: --8<---------------cut here---------------start------------->8--- Y Axis = axis(1+,1-) --8<---------------cut here---------------end--------------->8--- and seeing this message during startup: --8<---------------cut here---------------start------------->8--- Input Error: No auto-config found for joystick named 'Game_Pad (0)' in InputAutoConfig.ini --8<---------------cut here---------------end--------------->8--- which made me add [Game_Pad (0)] to a section inside InputAutoCfg.ini. I discovered this mapping for the usb xbox 360 controller I used. --8<---------------cut here---------------start------------->8--- | button(#) | xbox button | |-----------+---------------| | 0 | Start | | 1 | Select | | 2 | click L stick | | 3 | click R stick | | 4 | L shoulder | | 5 | R shoulder | | 6 | Guide button | | 7 | A | | 8 | B | | 9 | X | | 10 | Y | | axis(2+) | L trigger | | axis(5+) | R trigger | --8<---------------cut here---------------end--------------->8--- and settled on: --8<---------------cut here---------------start------------->8--- [Game_Pad (0)] plugged = True mouse = False AnalogDeadzone = 4096,4096 AnalogPeak = 32768,32768 DPad R = hat(0 Right) DPad L = hat(0 Left) DPad D = hat(0 Down) DPad U = hat(0 Up) Start = button(0) Z Trig = axis(2+) B Button = button(9) A Button = button(7) C Button R = axis(3+,24000) button(6) C Button L = axis(3-,24000) button(1) C Button D = axis(4+,24000) button(8) C Button U = axis(4-,24000) button(10) R Trig = axis(5+) button(5) L Trig = button(4) Mempak switch = Rumblepak switch = X Axis = axis(0-,0+) Y Axis = axis(1+,1-) --8<---------------cut here---------------end--------------->8--- I am still unsure about the L, R and Z buttons, but these can be tweaked with experimentation. I ran the two video plugins, rice and glide64mk2, and glide64mk2 seemed to provide better performance in areas where rice was sluggish. Again, this varies per game. --8<---------------cut here---------------start------------->8--- mupen64plus --windowed --gfx mupen64plus-video-glide64mk2 game.z64 --8<---------------cut here---------------end--------------->8--- Thank you for your work updating mupen64plus. Please let me know if you need any other information.
