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.

Reply via email to