ptitSeb / box64

Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64 Linux devices
https://box86.org
MIT License
3.73k stars 267 forks source link

Unimplemented 32bits Opcode (00 00 EB 09) 64 67 8F 06 00 00 83 C4 24 EB 1B 01 48 60 2C #1347

Closed skydark719 closed 6 months ago

skydark719 commented 6 months ago

Some RPG Maker VX Ace games refuses to run on box64 with wine wow64, showing this opcode error (game tested: Aria's Story) on Tegra X1:

0034:err:winediag:is_broken_driver Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead.
Using native(wrapped) libXinerama.so.1
Using native(wrapped) libXxf86vm.so.1
Using native(wrapped) libXrender.so.1
Using native(wrapped) libXrandr.so.2
0024:err:winediag:is_broken_driver Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead.
Using native(wrapped) libXcomposite.so.1
Using native(wrapped) libXi.so.6
Using native(wrapped) libXcursor.so.1
Using native(wrapped) libXfixes.so.3
Using emulated /opt/wine-9.3/lib/wine/x86_64-unix/ws2_32.so
4062|0x102c611e: Unimplemented 32bits Opcode (00 00 EB 09) 64 67 8F 06 00 00 83 C4 24 EB 1B 01 48 60 2C
Sigfault/Segbus while quitting, exiting silently
ptitSeb commented 6 months ago

Ok, I added that opcode, you can update and try again.

skydark719 commented 6 months ago

The opcode is fixed on both games, but now there's a new error appearing: 0024:err:seh:NtRaiseException Exception frame is not in stack limits => unable to dispatch exception. That error exists when dynarec is enabled.

When is disabled it prompts another unimplemented opcode: 10368|0x18b076e: Unimplemented 32 bits Opcode (8D 44 35 63) 64 EB 02 CD 20 2B C6 8D 44 0D 29 2B C1 8D 44

ptitSeb commented 6 months ago

Does one of the game is free to download somewhere? I need to test localy, this kind of error is difficult to fix without some debugging.

skydark719 commented 6 months ago

Yes, both games are totally free and are lightweight to download. As I added on the previous message as an edit: If dynarec is off, it shows another opcode error.

ptitSeb commented 6 months ago

Ok, so games now start without Dynarec (but of course, is super slow). Need to find what wrong when dynarec is on...

ptitSeb commented 6 months ago

Ok, fixed. That was an intersting case of obfuscated code issue... It should be all good now.

skydark719 commented 6 months ago

Ok, now it works without any issues, thanks!