View Single Post
Old 02-27-21, 08:07 AM   #4
Dowasnas
Swabbie
 
Join Date: Feb 2021
Posts: 8
Downloads: 8
Uploads: 0
Default Progress

Ok, I found out that, if I disable most of the fixes of H.Sie through the HsieOptionsSelector.exe, the game doesn't crash. Might be that a specific fix is causing issues. Will probably spend the afternoon enabling fixes until I find one that crashes the game.


Edit: It did take quite a while, but not the whole afternoon. I have determined that the problem lies in the Diesel Damage Fix. Which is unfortunate, because it is a fix I would like to have in my game. Do you have any recommendation on what to do?


Edit2:

Quote:
Quote:

I am indeed a little bit surprised that the diesel fix worked for 3 years (as far as I know) and now suddenly causes crashes. But of course I cannot guarantee that my work is without errors. I completely retired from SH3 modding and even from SH3 - and thus the only tip I can give you (if my work really is the cause of the problem): Disable the fix.

Hopefully, there is a good assembler guru available that can help.

Good bye.
Hi h.sie,

your "Diesel Damage Fix" is 100% o.k. I'm using it since releas of patch V16B1 without any problems. It's exactly as BL!TZKR!EG wrote the changed "msvcr71.dll" which causes the reported CTDs. I've changed that dll to the original msvcr71.dll from Stock-SH3 and the "Diesel Damage Fix" is running well. Hope this will be fixed by the LSH3-Team.

Greetings
rowi58
This post at https://www.subsim.com/radioroom/sho...=220285&page=2 seems to indicate that I should replace msvcr71.dll with the original. Will do that and see what happens.


Edit3: Ok, I'm stupid. I noticed the files didn't do anything, then I remembered that I had to tell wine to use the native msvcr71 library (as indicated by the second guide I linked here). Now the patch works without crashing. Will now try using more mods.


Edit4: Naval academy works, but career doesn't. It fails at the loading screen to enter the career:
Code:
wine: Unhandled page fault on read access to 0x00000000 at address 0x7c342969 (thread 0055), starting debugger...
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x7c342969).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:006b GS:0063
 EIP:7c342969 ESP:0033e3dc EBP:0033e3e8 EFLAGS:00210246(  R- --  I  Z- -P- )
 EAX:00000000 EBX:00000003 ECX:00000003 EDX:00000000
 ESI:00000000 EDI:00000000
Stack dump:
0x0033e3dc:  176681e8 1b680ad8 17675c88 00000000
0x0033e3ec:  0066d865 00000000 cfaf6044 00000003
0x0033e3fc:  cfaf6044 1b680ad8 0033e4cc 17898824
0x0033e40c:  0066e9a3 cfaf6044 0127e0ed 00000000
0x0033e41c:  1b680ad8 cfaf6044 004b9443 1b680ad8
0x0033e42c:  cfaf6044 0075f140 00000000 00000000
Backtrace:
=>0 0x7c342969 EntryPoint+0x6ca() in msvcr71 (0x0033e3e8)
0x7c342969 EntryPoint+0x6ca in msvcr71: repne scasb    %es:(%edi)
Modules:
Module    Address            Debug info    Name (65 modules)
PE      340000-  3be000    Deferred        kernel
PE      3c0000-  3da000    Deferred        filemanager
PE      3e0000-  3f4000    Deferred        intro
PE      400000-  63a000    Deferred        sh3
PE      640000-  64c000    Deferred        messagenet
PE      650000-  658000    Deferred        missionengine
PE      660000-  68a000    Export          simdata
PE      690000-  6a4000    Deferred        statemachine
PE      6b0000-  6c5000    Deferred        utils
PE      6d0000-  6d7000    Deferred        movietex.act
PE      6e0000-  6e8000    Deferred        property
PE      f60000-  f67000    Deferred        anim.act
PE      f70000-  f77000    Deferred        bezierwaypoint.act
PE      f80000-  f95000    Deferred        camerabehavior.act
PE      fa0000-  fa8000    Deferred        cameramanager.act
PE      fb0000-  fbb000    Deferred        effectmanagers.act
PE      fc0000-  fe4000    Deferred        envsim.act
PE      ff0000-  ff8000    Deferred        eventcamera.act
PE     1000000- 1009000    Deferred        lipssync.act
PE     1010000- 1084000    Deferred        multiplayer.act
PE     1090000- 10a0000    Deferred        particles.act
PE     10a0000- 10c4000    Deferred        sh3collisions.act
PE     10d0000- 10f4000    Deferred        sh3controllers.act
PE     1100000- 114d000    Deferred        sh3sim.act
PE     1150000- 1162000    Deferred        sh3sound.act
PE     1170000- 11b9000    Deferred        sound.act
PE     11c0000- 11cb000    Deferred        statemachinectl.act
PE    10000000-10008000    Deferred        drawlib
PE    30000000-30072000    Deferred        binkw32
PE    64b40000-64b59000    Deferred        shcore
PE    7a820000-7a824000    Deferred        opengl32
PE    7b420000-7b5dd000    Deferred        kernel32
PE    7bc10000-7bcbb000    Deferred        ntdll
PE    7c340000-7c396000    Export          msvcr71
PE    7dc80000-7dcae000    Deferred        uxtheme
PE    7df00000-7df04000    Deferred        winex11
PE    7e250000-7e26a000    Deferred        imm32
PE    7e280000-7e2bb000    Deferred        usp10
PE    7e2c0000-7e41a000    Deferred        comctl32
PE    7e430000-7e453000    Deferred        msvfw32
PE    7e460000-7e51b000    Deferred        winmm
PE    7e460000-7e51b000    Deferred        msacm32
PE    7e540000-7e592000    Deferred        avifil32
PE    7e5b0000-7e5b4000    Deferred        ucrtbase
PE    7e6a0000-7ef76000    Deferred        shell32
PE    7f060000-7f0b5000    Deferred        shlwapi
PE    7f0d0000-7f15d000    Deferred        rpcrt4
PE    7f160000-7f2af000    Deferred        ole32
PE    7f2e0000-7f3d3000    Deferred        msvcp71
PE    7f440000-7f444000    Deferred        iphlpapi
PE    7f470000-7f474000    Deferred        ws2_32
PE    7f4a0000-7f4af000    Deferred        wsock32
PE    7f4d0000-7f5b2000    Deferred        user32
PE    7f6d0000-7f6d7000    Deferred        gdi32
PE    7f800000-7f804000    Deferred        wined3d
PE    7f950000-7fc19000    Deferred        d3d9
PE    7f9c0000-7f9c4000    Deferred        advapi32
PE    7ffd0000-7ffdd000    Deferred        version
PE    f57f0000-f590a000    Deferred        oleaut32
PE    f7620000-f7623000    Deferred        winepulse
PE    f7650000-f767a000    Deferred        mmdevapi
PE    f7a00000-f7a08000    Deferred        shfolder
PE    f7a10000-f7a68000    Deferred        dsound
PE    f7a60000-f7a80000    Deferred        mpr
PE    f7a90000-f7b16000    Deferred        wininet
Threads:
process  tid      prio (all id:s are in hex)
0000000e services.exe
    00000023    0
    00000020    0
    0000001b    0
    00000013    0
    00000010    0
    0000000f    0
00000011 winedevice.exe
    00000018    0
    00000017    0
    00000016    0
    00000012    0
00000019 plugplay.exe
    0000001d    0
    0000001c    0
    0000001a    0
0000001e winedevice.exe
    00000026    0
    00000022    0
    00000021    0
    0000001f    0
00000024 explorer.exe
    00000029    0
    00000028    0
    00000027    0
    00000025    0
00000034 SH3Cmdr.exe
    00000035    0
00000046 S3F.exe
    0000004f    0
    0000004e    0
    0000004b    0
    0000004a   15
    00000049   15
    00000048    0
    00000047    0
00000054 (D) Z:\home\zerk\Software\sh3-sf\gwx-sh3\sh3.exe
    00000059   15
    00000058   15
    00000057    0
    00000056    0
    00000055    0 <==
System information:
    Wine build: wine-4.0 (Debian 4.0-2)
    Platform: i386 (WOW64)
    Version: Windows 7
    Host system: Linux
    Host version: 4.19.0-12-amd64
The problem with this instruction:
Code:
repne scasb    %es:(%edi)
I think is that it tries to indirectly address %edi, rather than register addressing it. So instead of using the data in %edi as an offset in a memory segment, it treats the data contained in %edi as an address to the memory location of that offset. Since %edi contains 0x00000000, the computer tries to access 0x00000000 to access that offset, which is invalid and therefore segfaults. I don't know how that occurred (and disassembling the previous instructions probably won't help, because I wouldn't grasp what was happening and why and how it could be fixed)

Looks like msvcr71 is problematic again. Disabling H.sie patch gives the same result. It should be 4GB patched and it crashes somewhere between 1/2 to 3/4 of the loading bar. Since I haven't ever started a career before, I'll have to test different setups to see if the problem lies in SH3, GWX, the mods, or Commander.
Does the part with the compatibility mode also apply to Wine? I always regarded Wine as being able to run legacy and new software alike.

Last edited by Dowasnas; 02-27-21 at 07:13 PM.
Dowasnas is offline   Reply With Quote