Я пытаюсь создать старую образовательную программу, которую моя жена хочет попробовать с нашими детьми. К сожалению, он был построен в эпоху Windows 3.1 / Windows 95. Я использую Fedora 29 x86_64 с Wine 4.0-0.3.rc2. Я установил 32-битный префикс для https://wiki.winehq.org/FAQ#How_do_I_create_a_32_bit_wineprefix_on_a_64_bit_system.3F . Когда я запускаю файл setup.exe на диске, он устанавливается на виртуальный диск Windows. Когда я запускаю установку во второй раз, она дает заставку и возможность играть. Нажатие на игру приводит к следующему:
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 libunistring.so.2
ELF 7bc00000-7bd41000 Deferred ntdll<elf>
\-PE 7bc40000-7bd41000 \ ntdll
ELF 7bea9000-7c000000 Deferred libp11-kit.so.0
ELF 7c000000-7c005000 Deferred <wine-loader>
ELF 7c144000-7c400000 Deferred libcrypto.so.1.1
ELF 7c447000-7c450000 Deferred libffi.so.6
ELF 7c450000-7c4ca000 Deferred libgmp.so.10
ELF 7c4ca000-7c4fd000 Deferred libhogweed.so.4
ELF 7c4fd000-7c53c000 Deferred libnettle.so.6
ELF 7c53c000-7c553000 Deferred libtasn1.so.6
ELF 7c57d000-7c59d000 Deferred libidn2.so.0
ELF 7c59d000-7c5af000 Deferred libkrb5support.so.0
ELF 7c5af000-7c5ef000 Deferred libcrypt.so.1
ELF 7c5ef000-7c605000 Deferred libavahi-client.so.3
ELF 7c605000-7c7ea000 Deferred libgnutls.so.30
ELF 7c7ea000-7c8db000 Deferred libkrb5.so.3
ELF 7c8db000-7c935000 Deferred libgssapi_krb5.so.2
ELF 7c935000-7c9d1000 Deferred libcups.so.2
ELF 7c9d7000-7c9ef000 Deferred toolhelp.dll16.so
PE 7c9e0000-7c9ef000 Deferred toolhelp.dll16
ELF 7c9ef000-7ca09000 Deferred shell.dll16.so
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 libk5crypto.so.3
ELF 7ce21000-7ce3e000 Deferred aclui<elf>
\-PE 7ce30000-7ce3e000 \ aclui
ELF 7ce3e000-7ceb0000 Deferred shlwapi<elf>
\-PE 7ce50000-7ceb0000 \ shlwapi
ELF 7d008000-7d00e000 Deferred libkeyutils.so.1
ELF 7d00e000-7d034000 Deferred shcore<elf>
\-PE 7d020000-7d034000 \ shcore
ELF 7d034000-7d0c0000 Deferred libpcre2-8.so.0
ELF 7d0c0000-7d0e5000 Deferred libgpg-error.so.0
ELF 7d0e5000-7d114000 Deferred libselinux.so.1
ELF 7d114000-7d170000 Deferred libblkid.so.1
ELF 7d170000-7d18a000 Deferred libresolv.so.2
ELF 7d18a000-7d217000 Deferred libvorbisenc.so.2
ELF 7d217000-7d248000 Deferred libvorbis.so.0
ELF 7d248000-7d251000 Deferred libogg.so.0
ELF 7d251000-7d2b5000 Deferred libflac.so.8
ELF 7d2b5000-7d2d3000 Deferred libgcc_s.so.1
ELF 7d2d3000-7d3b6000 Deferred libgcrypt.so.20
ELF 7d3b6000-7d41e000 Deferred libmount.so.1
ELF 7d41e000-7d43e000 Deferred liblz4.so.1
ELF 7d43e000-7d4a0000 Deferred libdbus-1.so.3
ELF 7d4a0000-7d528000 Deferred libsndfile.so.1
ELF 7d528000-7d5e2000 Deferred libsystemd.so.0
ELF 7d5e2000-7d674000 Deferred libpulsecommon-12.2.so
ELF 7d674000-7d79f000 Deferred oleaut32<elf>
\-PE 7d690000-7d79f000 \ oleaut32
ELF 7d79f000-7d900000 Deferred ole32<elf>
\-PE 7d7c0000-7d900000 \ ole32
ELF 7da01000-7da0f000 Deferred libgsm.so.1
ELF 7da0f000-7da3b000 Deferred liblzma.so.5
ELF 7da3b000-7da47000 Deferred librt.so.1
ELF 7da47000-7da4e000 Deferred libcap.so.2
ELF 7da4e000-7da6b000 Deferred libice.so.6
ELF 7da6b000-7dac8000 Deferred libpulse.so.0
ELF 7dacb000-7dada000 Deferred libavahi-common.so.3
ELF 7dada000-7dadf000 Deferred libcom_err.so.2
ELF 7dadf000-7daf9000 Deferred commdlg.dll16.so
PE 7daf0000-7daf9000 Deferred commdlg.dll16
ELF 7dc01000-7dc09000 Deferred libasyncns.so.0
ELF 7dc09000-7dc15000 Deferred libsm.so.6
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 libxfixes.so.3
ELF 7dd33000-7dd40000 Deferred libxcursor.so.1
ELF 7dd40000-7dd48000 Deferred libxtst.so.6
ELF 7dd48000-7dd4d000 Deferred libx11-xcb.so.1
ELF 7ddcb000-7de06000 Deferred libexpat.so.1
ELF 7de06000-7de53000 Deferred libfontconfig.so.1
ELF 7de53000-7de6d000 Deferred libz.so.1
ELF 7de6d000-7deab000 Deferred libpng16.so.16
ELF 7deab000-7debe000 Deferred libbz2.so.1
ELF 7debe000-7df83000 Deferred libfreetype.so.6
ELF 7df83000-7df98000 Deferred libxi.so.6
ELF 7df98000-7dfc7000 Deferred libxcb.so.1
ELF 7dfc7000-7e11e000 Deferred libx11.so.6
ELF 7e11e000-7e134000 Deferred libxext.so.6
ELF 7e16c000-7e200000 Deferred winex11<elf>
\-PE 7e180000-7e200000 \ winex11
ELF 7e306000-7e315000 Deferred libxrandr.so.2
ELF 7e315000-7e32b000 Deferred win87em.dll16.so
PE 7e320000-7e32b000 Deferred win87em.dll16
ELF 7e32b000-7e341000 Deferred sound.drv16.so
PE 7e330000-7e341000 Deferred sound.drv16
ELF 7e341000-7e3fd000 Deferred winmm<elf>
\-PE 7e350000-7e3fd000 \ winmm
ELF 7e3fd000-7e429000 Deferred mmsystem.dll16.so
PE 7e410000-7e429000 Deferred mmsystem.dll16
ELF 7e429000-7e43f000 Deferred mouse.drv16.so
PE 7e430000-7e43f000 Deferred mouse.drv16
ELF 7e43f000-7e455000 Deferred keyboard.drv16.so
PE 7e450000-7e455000 Deferred keyboard.drv16
ELF 7e455000-7e46b000 Deferred display.drv16.so
PE 7e460000-7e46b000 Deferred display.drv16
ELF 7e46b000-7e495000 Deferred mpr<elf>
\-PE 7e470000-7e495000 \ mpr
ELF 7e495000-7e4e6000 Deferred user.exe16.so
PE 7e4a0000-7e4e6000 Deferred user.exe16
ELF 7e4e6000-7e51b000 Deferred gdi.exe16.so
PE 7e4f0000-7e51b000 Deferred gdi.exe16
ELF 7e51b000-7e531000 Deferred comm.drv16.so
PE 7e520000-7e531000 Deferred comm.drv16
ELF 7e531000-7e547000 Deferred system.drv16.so
PE 7e540000-7e547000 Deferred system.drv16
ELF 7e547000-7e571000 Deferred libtinfo.so.6
ELF 7e571000-7e5a1000 Deferred libncurses.so.6
ELF 7e5a6000-7e5b4000 Deferred libxrender.so.1
ELF 7e5b4000-7e5d9000 Deferred imm32<elf>
\-PE 7e5c0000-7e5d9000 \ imm32
ELF 7e5d9000-7e68b000 Deferred krnl386.exe16.so
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 libm.so.6
ELF 7efcb000-7efd5000 Deferred libuuid.so.1
ELF 7efd5000-7efea000 Deferred libnss_files.so.2
ELF 7efea000-7f000000 Deferred wow64cpu<elf>
\-PE 7eff0000-7f000000 \ wow64cpu
ELF f7ba0000-f7ba5000 Deferred libxcomposite.so.1
ELF f7ba7000-f7bad000 Deferred libdl.so.2
ELF f7bad000-f7d57000 Deferred libc.so.6
ELF f7d57000-f7d79000 Deferred libpthread.so.0
ELF f7f53000-f7f5b000 Deferred libxxf86vm.so.1
ELF f7f5b000-f7f60000 Deferred libxinerama.so.1
ELF f7f83000-f7f89000 Deferred libxau.so.6
ELF f7f89000-f7fb4000 Deferred ld-linux.so.2
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
Я также попытался запустить его как Windows 95, но у меня черный экран с тем же окном ошибок, которое требует использования команды kill для остановки процессов Wine.
Какие-либо предложения?
linux
wine
16-bit
windows-95
windows-3.1
Мэтт Осборн
источник
источник