schellingb / dosbox-pure

DOSBox Pure is a new fork of DOSBox built for RetroArch/Libretro aiming for simplicity and ease of use.
GNU General Public License v2.0
752 stars 61 forks source link

Unreal Gold crash on launch iOS #305

Open MrSco opened 2 years ago

MrSco commented 2 years ago

0.9.7 dosbox pure and 1.10.3 RetroArch. Using same windows 98se hdd image that works on windows RetroArch but unreal crashes on launch using iOS retroarch 38F52F0A-1BC0-42AE-9A70-57195F424049

michael-leroy commented 1 month ago

I accidentally opened an issue not realizing this was already posted. Still happened on latest version on iPad.

https://github.com/schellingb/dosbox-pure/issues/526#issue-2467442058

michael-leroy commented 1 month ago

So I was determined to at least get the game started. If you edit unreal.ini and change the start up demo you can get into the game. You want to change LocalMap=Entry.unr in the [URL] section. This will get you:

IMG_0031

From there you can start a bot match. Starting the main game or expansion will crash.

IMG_0032

The game runs well in glide mode with an M4 iPad Pro. Eventually it will crash with an error about hashing and an actor moving. Likely this crash is caused by one of the interpreted cpu instructions being off or perhaps the timing accuracy is not good enough? No idea, but wanted to show you can at least get into the game.

schellingb commented 3 weeks ago

Can you try the Unreal Tournament demo version available here https://archive.org/details/UnrealTournament and see if it also leads to a similar error? Or is this only with Unreal Gold?

michael-leroy commented 3 weeks ago

I have not tested UT99 yet, I will do so and get back to you.

michael-leroy commented 3 weeks ago

I fully didn’t expect it to work, but it did! Was able to run UT99 demo for an hour with no crashes:

IMG_0033

I will try the retail version of UT99 next. If RA ever gets mouse grab/lock working this will be a pretty great way to play the game.

I have tried the original release of Unreal with no patches and Unreal Gold with patch 226. Both crash in ways similar to OP’s screen shot. Was hoping to use “Oldunreal” patch 227, but it appears to refuse to run in windows 98. Likely XP and above.

@schellingb your openGL changes in master, will this ever work in iPadOS? Or are you not going to target OpenGL ES, or whatever restrictive form Apple allows, thanks!

schellingb commented 3 weeks ago

Ok, I'll try to see if I can get a proper version of Unreal working and test it on a device with an ARM CPU to see if I can get the hash error.

The OpenGL rendering absolutely is intended to run on mobile devices. It works well on my Android phone and I've heard from a macOS user that it works there as well. I have neither a macOS machine nor an iPhone/iPad so I depend on testing from users. Are you able to get a log file from RetroArch (with verbose debug logging) off of your iPad? If so, enable logging and OpenGL hardware rendering then restart RetroArch and try starting up the core with a 3dfx enabled game. I often use the 3dfx demo of Tomb Raider for testing (available as tomb3dem.zip here) because it is so small and starts up fast, maybe try that?

michael-leroy commented 3 weeks ago

Thanks again for looking into this issue. I have tried UT99 game of the year edition and had no issues with crashes. I played two different bot matches in two different game modes for about 90 minutes.

If you want to make any speculative changes I will be glad to test it. Is there any type of logging that might be useful I could collect for the Unreal/Unreal Gold crash?

Now for testing HW OpenGL and other things, I have setup a build environment so I can build dosbox-pure cores from master and run them on my iPad. I have some initial findings, but I will put that in the other thread since that seems like the more appropriate area.