Wine x64 w/ 32-bit prefix “page fault on read access to 0xffffffff in 16-bit code”

I’m trying to setup an old education program my wife wants to try with our kids. Unfortunately, it was built in the Windows 3.1 / Windows 95 era. I’m running Fedora 29 x86_64 with Wine 4.0-0.3.rc2. I’ve setup a 32-bit prefix per . When I run the setup.exe on the disk, it appears to install on the virtual Windows drive. When I run setup a second time, it gives the splash screen and provides the option to play. Clicking play produces the following:

    Unhandled exception: page fault on read access to 0xffffffff in 16-bit code (1757:2782). In 16 bit mode. Register dump:  CS:1757 SS:1a4f DS:1a4f ES:0000 FS:0063 GS:006b  IP:2782 SP:d8ee BP:d9f4 FLAGS:0246(  R- --  I  Z- -P- )  AX:0000 BX:0000 CX:0052 DX:0000 SI:0000 DI:198b Stack dump: 0x1a4f:0xd8ee:  0000 198b 0007 ffdf 0007 ffcf 0007 ffdf 0x1a4f:0xd8fe:  0007 ffcf 0007 ffff 0007 1000 0000 0000 0x1a4f:0xd90e:  0000 0000 0000 0000 0000 0000 0000 100f 0349: sel=1a4f base=00780058 limit=0000dbff 16-bit rw- Backtrace: =>0 0x1757:0x2782 (0x1a4f:0xd9f4)   1 0x17af:0x18f2 (0x1a4f:0xd9fc)   2 0x17af:0x012d (0x1a4f:0xda50)   3 0x17c7:0x00df (0x1a4f:0xda6c)   4 0x17e7:0x00e2 (0x1a4f:0xda80)   5 0x17e7:0x02e2 (0x1a4f:0xda8c)   6 0x17e7:0x06fa (0x1a4f:0xda96)   7 0x171f:0x005f (0x1a4f:0xda9c)   8 0x1707:0x622f (0x1a4f:0xdaae)   9 0x1707:0x0854 (0x1a4f:0x0000) 0x1757:0x2782: lesw %es:0x0(%bx),%bx Modules: Module  Address         Debug info  Name (155 modules) ELF 6aa17000-6b400000   Deferred        shell32<elf>   \-PE  6aa30000-6b400000   \               shell32 ELF 7b400000-7b7fd000   Deferred        kernel32<elf>   \-PE  7b420000-7b7fd000   \               kernel32 ELF 7ba7b000-7bc00000   Deferred ELF 7bc00000-7bd41000   Deferred        ntdll<elf>   \-PE  7bc40000-7bd41000   \               ntdll ELF 7bea9000-7c000000   Deferred ELF 7c000000-7c005000   Deferred        <wine-loader> ELF 7c144000-7c400000   Deferred ELF 7c447000-7c450000   Deferred ELF 7c450000-7c4ca000   Deferred ELF 7c4ca000-7c4fd000   Deferred ELF 7c4fd000-7c53c000   Deferred ELF 7c53c000-7c553000   Deferred ELF 7c57d000-7c59d000   Deferred ELF 7c59d000-7c5af000   Deferred ELF 7c5af000-7c5ef000   Deferred ELF 7c5ef000-7c605000   Deferred ELF 7c605000-7c7ea000   Deferred ELF 7c7ea000-7c8db000   Deferred ELF 7c8db000-7c935000   Deferred ELF 7c935000-7c9d1000   Deferred ELF 7c9d7000-7c9ef000   Deferred PE  7c9e0000-7c9ef000   Deferred        toolhelp.dll16 ELF 7c9ef000-7ca09000   Deferred PE  7ca00000-7ca09000   Deferred        shell.dll16 ELF 7ca09000-7ca44000   Deferred        uxtheme<elf>   \-PE  7ca10000-7ca44000   \               uxtheme ELF 7ca44000-7ca85000   Deferred        winspool<elf>   \-PE  7ca50000-7ca85000   \               winspool ELF 7ca85000-7cacd000   Deferred        usp10<elf>   \-PE  7ca90000-7cacd000   \               usp10 ELF 7cacd000-7cc0c000   Deferred        comctl32<elf>   \-PE  7cae0000-7cc0c000   \               comctl32 ELF 7cc0c000-7cd00000   Deferred        comdlg32<elf>   \-PE  7cc10000-7cd00000   \               comdlg32 ELF 7ce02000-7ce21000   Deferred ELF 7ce21000-7ce3e000   Deferred        aclui<elf>   \-PE  7ce30000-7ce3e000   \               aclui ELF 7ce3e000-7ceb0000   Deferred        shlwapi<elf>   \-PE  7ce50000-7ceb0000   \               shlwapi ELF 7d008000-7d00e000   Deferred ELF 7d00e000-7d034000   Deferred        shcore<elf>   \-PE  7d020000-7d034000   \               shcore ELF 7d034000-7d0c0000   Deferred ELF 7d0c0000-7d0e5000   Deferred ELF 7d0e5000-7d114000   Deferred ELF 7d114000-7d170000   Deferred ELF 7d170000-7d18a000   Deferred ELF 7d18a000-7d217000   Deferred ELF 7d217000-7d248000   Deferred ELF 7d248000-7d251000   Deferred ELF 7d251000-7d2b5000   Deferred ELF 7d2b5000-7d2d3000   Deferred ELF 7d2d3000-7d3b6000   Deferred ELF 7d3b6000-7d41e000   Deferred ELF 7d41e000-7d43e000   Deferred ELF 7d43e000-7d4a0000   Deferred ELF 7d4a0000-7d528000   Deferred ELF 7d528000-7d5e2000   Deferred ELF 7d5e2000-7d674000   Deferred ELF 7d674000-7d79f000   Deferred        oleaut32<elf>   \-PE  7d690000-7d79f000   \               oleaut32 ELF 7d79f000-7d900000   Deferred        ole32<elf>   \-PE  7d7c0000-7d900000   \               ole32 ELF 7da01000-7da0f000   Deferred ELF 7da0f000-7da3b000   Deferred ELF 7da3b000-7da47000   Deferred ELF 7da47000-7da4e000   Deferred ELF 7da4e000-7da6b000   Deferred ELF 7da6b000-7dac8000   Deferred ELF 7dacb000-7dada000   Deferred ELF 7dada000-7dadf000   Deferred ELF 7dadf000-7daf9000   Deferred PE  7daf0000-7daf9000   Deferred        commdlg.dll16 ELF 7dc01000-7dc09000   Deferred ELF 7dc09000-7dc15000   Deferred ELF 7dc15000-7dc42000   Deferred        winepulse<elf>   \-PE  7dc20000-7dc42000   \               winepulse ELF 7dc42000-7dc66000   Deferred        mmdevapi<elf>   \-PE  7dc50000-7dc66000   \               mmdevapi ELF 7dc66000-7dcee000   Deferred        rpcrt4<elf>   \-PE  7dc70000-7dcee000   \               rpcrt4 ELF 7dd2b000-7dd33000   Deferred ELF 7dd33000-7dd40000   Deferred ELF 7dd40000-7dd48000   Deferred ELF 7dd48000-7dd4d000   Deferred ELF 7ddcb000-7de06000   Deferred ELF 7de06000-7de53000   Deferred ELF 7de53000-7de6d000   Deferred ELF 7de6d000-7deab000   Deferred ELF 7deab000-7debe000   Deferred ELF 7debe000-7df83000   Deferred ELF 7df83000-7df98000   Deferred ELF 7df98000-7dfc7000   Deferred ELF 7dfc7000-7e11e000   Deferred ELF 7e11e000-7e134000   Deferred ELF 7e16c000-7e200000   Deferred        winex11<elf>   \-PE  7e180000-7e200000   \               winex11 ELF 7e306000-7e315000   Deferred ELF 7e315000-7e32b000   Deferred PE  7e320000-7e32b000   Deferred        win87em.dll16 ELF 7e32b000-7e341000   Deferred PE  7e330000-7e341000   Deferred        sound.drv16 ELF 7e341000-7e3fd000   Deferred        winmm<elf>   \-PE  7e350000-7e3fd000   \               winmm ELF 7e3fd000-7e429000   Deferred PE  7e410000-7e429000   Deferred        mmsystem.dll16 ELF 7e429000-7e43f000   Deferred PE  7e430000-7e43f000   Deferred        mouse.drv16 ELF 7e43f000-7e455000   Deferred PE  7e450000-7e455000   Deferred        keyboard.drv16 ELF 7e455000-7e46b000   Deferred PE  7e460000-7e46b000   Deferred        display.drv16 ELF 7e46b000-7e495000   Deferred        mpr<elf>   \-PE  7e470000-7e495000   \               mpr ELF 7e495000-7e4e6000   Deferred PE  7e4a0000-7e4e6000   Deferred        user.exe16 ELF 7e4e6000-7e51b000   Deferred PE  7e4f0000-7e51b000   Deferred        gdi.exe16 ELF 7e51b000-7e531000   Deferred PE  7e520000-7e531000   Deferred        comm.drv16 ELF 7e531000-7e547000   Deferred PE  7e540000-7e547000   Deferred        system.drv16 ELF 7e547000-7e571000   Deferred ELF 7e571000-7e5a1000   Deferred ELF 7e5a6000-7e5b4000   Deferred ELF 7e5b4000-7e5d9000   Deferred        imm32<elf>   \-PE  7e5c0000-7e5d9000   \               imm32 ELF 7e5d9000-7e68b000   Deferred PE  7e5f0000-7e68b000   Deferred        krnl386.exe16 ELF 7e68b000-7e6a6000   Deferred        version<elf>   \-PE  7e690000-7e6a6000   \               version ELF 7e6a6000-7e723000   Deferred        advapi32<elf>   \-PE  7e6b0000-7e723000   \               advapi32 ELF 7e723000-7e856000   Deferred        gdi32<elf>   \-PE  7e730000-7e856000   \               gdi32 ELF 7e856000-7ea64000   Deferred        user32<elf>   \-PE  7e870000-7ea64000   \               user32 ELF 7ea64000-7ea7b000   Deferred        winevdm<elf>   \-PE  7ea70000-7ea7b000   \               winevdm ELF 7eef5000-7efc8000   Deferred ELF 7efcb000-7efd5000   Deferred ELF 7efd5000-7efea000   Deferred ELF 7efea000-7f000000   Deferred        wow64cpu<elf>   \-PE  7eff0000-7f000000   \               wow64cpu ELF f7ba0000-f7ba5000   Deferred ELF f7ba7000-f7bad000   Deferred ELF f7bad000-f7d57000   Deferred ELF f7d57000-f7d79000   Deferred ELF f7f53000-f7f5b000   Deferred ELF f7f5b000-f7f60000   Deferred ELF f7f83000-f7f89000   Deferred ELF f7f89000-f7fb4000   Deferred Threads: process  tid      prio (all id:s are in hex) 0000000e services.exe     [C:\windows\system32\services.exe]     00000023    0     0000001e    0     0000001a    0     00000015    0     00000012    0     0000000f    0 00000010 explorer.exe     [C:\windows\system32\explorer.exe /desktop]     00000029    0     00000028    0     00000027    0     00000011    0 00000013 winedevice.exe     [C:\windows\system32\winedevice.exe]     0000001b    0     00000019    0     00000018    0     00000014    0 0000001c plugplay.exe     [C:\windows\system32\plugplay.exe]     00000020    0     0000001f    0     0000001d    0 00000021 winedevice.exe     [C:\windows\system32\winedevice.exe]     00000026    0     00000025    0     00000024    0     00000022    0 0000002a (D) C:\windows\system32\winevdm.exe     [C:\windows\system32\winevdm.exe --app-name D:\setup.exe D:\setup.exe]     00000034    0     00000033    0 <==     00000031   15     00000030    0     0000002f    0     0000002b    0 00000037 explorer.exe     [C:\windows\system32\explorer.exe /desktop]     0000003b    0     0000003a    0     00000039    0     00000038    0 System information:     Wine build: wine-4.0-rc2 (Staging)     Platform: i386     Version: Windows 3.1     Host system: Linux     Host version: 4.19.10-300.fc29.x86_64 

I’ve also tried running it as Windows 95, but I get the black screen with the same error window which requires using ‘kill’ to get the wine processes to stop.

Any suggestions?