dborth / dosbox-wii

DOSBox Wii
http://wiibrew.org/wiki/DOSBox_Wii
GNU General Public License v2.0
32 stars 11 forks source link

Feature Dynamic Recompiler support and sync to SVN r4301 #57

Open retro100 opened 3 years ago

retro100 commented 3 years ago

I synced the dosbox-wii version to Revision r4301 and also apply the patches from jmarsh for dynamic recompiler support. See: https://www.vogons.org/viewtopic.php?t=65057

I create a description for compilation (INSTALL_Wii.md). If I compile the this version with the latest devkitPro version like descripted in INSTALL_Wii.md then I can't use the virtual keyboard. Using the virtual keyboard results in a dump (Exception (DSI) occurred!). edit: Bug is now fixed ;-)

The sync to r4301 and the jmarsh patches are not the problem because the virtual keyboard bug also happends at 328bcd9 which only contains small changes for successful compilation.

@dborth: Maybe you can fix this bug. I havn't a USB Gecko for debugging. And didn't try debugging with Dolphin emulator. For me it would also be a big help if dosbox-wii version 1.7 compiles with the current doskitPro version without the virtual keyboard bug.

For the compilation I can't use the current package version for SDL from devkitPro. I have to compile and install the version from your repo. The reason is described in INSTALL_Wii.md. It would be fine if the SDL version from devkitPro can be used. The file src/platform/wii/globals.cpp is also needed for compiling with the new lib versions. Because some variables are not exported by the versions from devkitPro (resulting in undefined reference linking errors). edit: The fixed version now uses the auto generated headerfiles from bin2o (bin2s) in filelist.h

If you want to compile this current dosbox version with the old devkitPro and libs which used for Dosbox 1.7 then LIBS_VER can be set to OLD inside the Makefile. I don't know which devkitPro version and which library versions are used for Dosbox 1.7. So I don't have test it to compile with old devkitPro and libs versions. edit: Only the current devkitPro version is supported

For testing this current version with dynamic recompiler support and the virtual keyboard bug a pre-release from https://github.com/retro100/dosbox-wii/releases can be downloaded. This is compiled like descripted in INSTALL_Wii.md.

The file docs/Benchmark_Wii_WiiU.txt includes some benchmarks with and without using the dynamic recompiler. The file docs/PORTING_Wii.txt includes a short list of files which are modified files compared against the original svn repository (revision 4301). These modifications are applied from the current Dosbox 1.7 version.

I am grateful for any help to fix the virtual keyboard bug.

Best regards retro100

retro100 commented 3 years ago

The keyboard bug is removed ;-) There was also another bug. The wiimote havn't work. The reason was because the button states wasn't updated. On new libogc version WPAD_ButtonsHeld(i); doesn't automatic update the button states. It is absolutely necessary to call WPAD_ScanPads() to update the joystick states (which wasn't the case). edit: The problem was that SDL_JoystickUpdate() was not called because of the SDL_GetTicks() bug. See: https://github.com/retro100/dosbox-wii/issues/4

Now the menu and the virtual keyboard can be used. The current version with sync to SVN r4301 and Dynamic Recompiler support is ready. A compiled version (pre-release) can be found at https://github.com/retro100/dosbox-wii/releases/tag/1.7x.beta2 new: https://github.com/retro100/dosbox-wii/releases/tag/1.7x.beta4

I think its time to release a official DOSBox Wii version ;-) Maybe 1.8?

Unfortunately, there is another very strange bug :-( See https://github.com/retro100/dosbox-wii/issues/4

Best regards retro100