Zork Nemesis: The Forbidden Lands

Normal install with no patches applied.

Application Details:

Version: 1.0
License: Retail
Votes: 1
Latest Rating: Garbage
Latest Wine Version Tested: 1.4-rc6

Maintainers: About Maintainership

Test Results

Old test results
The test results you have selected are very old and may not represent the current state of Wine.
Selected Test Results

What works

the autorun works and start the install programm

the installation seems to works. I had completed the file copying. The setup programm even ask me if I wanted to enable the help system. But after that the programm doesn't want to quit ... :/

What does not

The game itself doesn't work. Here is the console output :

mildred@louve:~/.wine/drive_c/Program Files/Activision/Zork Nemesis$ wine ./znemesis.exe
fixme:imm:ImmGetDefaultIMEWnd (0x10024 - (nil) 0x7fd52d40 ): semi-stub
fixme:imm:ImmGetOpenStatus (0x7fd52d40): semi-stub
fixme:imm:ImmReleaseContext (0x10024, 0x7fd52d40): stub
fixme:vxd:VXD_Open Unknown/unsupported VxD L"\0004:.vxd". Try setting Windows version to 'nt40' or 'win31'.
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fd5cb80)->(0x10024,00000011)fixme:xrandr:X11DRV_XRandR_SetCurrentMode Cannot change screen BPP from 32 to 16fixme:xrandr:X11DRV_XRandR_SetCurrentMode Cannot change screen BPP from 32 to 16fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fd5cb80)->(0x10024,00000008)wine: Unhandled page fault on read access to 0x00000000 at address 0x40a63f (thread 0009), starting debugger...
WineDbg starting on pid 0x8
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x0040a63f).
Register dump:
CS:0073 SS:007b DS:007b ES:007b FS:1007 GS:0033
EIP:0040a63f ESP:7fb9fbe8 EBP:7fb9fc00 EFLAGS:00010206( - 00 - RIP1)
EAX:00000000 EBX:7e6431f8 ECX:00000000 EDX:7e642a08
ESI:7e643258 EDI:7e643258
Stack dump:
0x7fb9fbe8: 00000000 00000000 7e643258 7fb9fc28
0x7fb9fbf8: 0040a664 00000000 7fb9fc34 00413d21
0x7fb9fc08: 79726167 7e640000 7e6431f8 7e6431f8
0x7fb9fc18: 00000000 7e643198 7e643258 7e6431f8
0x7fb9fc28: 7fb9fc5c 00413d7d 00000001 7fb9fc68
0x7fb9fc38: 0041dff5 79726167 7e640000 7e643198
0200: sel=1007 base=7fe4a000 limit=00001fff 32-bit rw-
=>1 0x0040a63f in znemesis (+0xa63f) (0x0040a63f)
2 0x00413d21 in znemesis (+0x13d21) (0x00413d21)
3 0x0041dff5 in znemesis (+0x1dff5) (0x0041dff5)
4 0x0040a8ff in znemesis (+0xa8ff) (0x0040a8ff)
5 0x00425309 in znemesis (+0x25309) (0x00425309)
6 0x00425fe1 in znemesis (+0x25fe1) (0x00425fe1)
7 0x7fa201e6 in user32 (+0x901e6) (0x7fa201e6)
8 0x7fa2369a CallWindowProcA+0x7a in user32 (0x7fa2369a)
9 0x7f9f23f2 DispatchMessageA+0x172 in user32 (0x7f9f23f2)
10 0x004258ac in znemesis (+0x258ac) (0x004258ac)
0x0040a63f: movl 0x0(%ecx),%eax
Module Address Debug info Name (66 modules)
PE 0x00400000-004ad000 Export znemesis
PE 0x10000000-1001c000 Deferred qmixer95
ELF 0x7bf00000-7bf03000 Deferred
ELF 0x7e87b000-7e890000 Deferred midimap
\-PE 0x7e880000-7e890000 \ midimap
ELF 0x7e9ac000-7e9c3000 Deferred msacm
\-PE 0x7e9b0000-7e9c3000 \ msacm
ELF 0x7e9c3000-7ea06000 Deferred wineoss
\-PE 0x7e9d0000-7ea06000 \ wineoss
ELF 0x7ea08000-7ea0c000 Deferred
ELF 0x7ea0c000-7ea15000 Deferred
ELF 0x7ea15000-7ea18000 Deferred
ELF 0x7ea18000-7ea20000 Deferred
ELF 0x7ea20000-7ea27000 Deferred
ELF 0x7ea27000-7ea8d000 Deferred
ELF 0x7ea8d000-7eb0c000 Deferred winex11
\-PE 0x7eaa0000-7eb0c000 \ winex11
ELF 0x7eb0c000-7eb2b000 Deferred
ELF 0x7eb2b000-7eb59000 Deferred
ELF 0x7eb59000-7eb6d000 Deferred
ELF 0x7eb6d000-7ebd6000 Deferred
ELF 0x7ebd6000-7ecbc000 Deferred
ELF 0x7ecbc000-7ecd4000 Deferred
ELF 0x7ecd4000-7ed4e000 Deferred ddraw
\-PE 0x7ecf0000-7ed4e000 \ ddraw
ELF 0x7ed4e000-7ed6c000 Deferred iphlpapi
\-PE 0x7ed60000-7ed6c000 \ iphlpapi
ELF 0x7ed6c000-7edb4000 Deferred rpcrt4
\-PE 0x7ed80000-7edb4000 \ rpcrt4
ELF 0x7edb4000-7ee40000 Deferred ole32
\-PE 0x7edd0000-7ee40000 \ ole32
ELF 0x7ee40000-7ee91000 Deferred dsound
\-PE 0x7ee50000-7ee91000 \ dsound
ELF 0x7ee91000-7eeb5000 Deferred msacm32
\-PE 0x7eea0000-7eeb5000 \ msacm32
ELF 0x7eeb5000-7ef3c000 Deferred winmm
\-PE 0x7eec0000-7ef3c000 \ winmm
ELF 0x7ef3c000-7ef58000 Deferred imm32
\-PE 0x7ef40000-7ef58000 \ imm32
ELF 0x7ef58000-7ef96000 Deferred advapi32
\-PE 0x7ef60000-7ef96000 \ advapi32
ELF 0x7f06b000-7f96e000 Deferred gdi32
\-PE 0x7f0b0000-7f96e000 \ gdi32
ELF 0x7f96e000-7fa90000 Export user32
\-PE 0x7f990000-7fa90000 \ user32
ELF 0x7fba0000-7fba3000 Deferred
ELF 0x7fba3000-7fbb0000 Deferred
ELF 0x7fbb3000-7fbb8000 Deferred
ELF 0x7fbb8000-7fbbd000 Deferred
ELF 0x7fbbd000-7fbc7000 Deferred
ELF 0x7fc02000-7fd00000 Deferred kernel32
\-PE 0x7fc20000-7fd00000 \ kernel32
ELF 0x7fe11000-7fe19000 Deferred
ELF 0x7fe19000-7fe23000 Deferred
ELF 0x7fe23000-7fe2c000 Deferred
ELF 0x7fe2c000-7fe41000 Deferred
ELF 0x7fe41000-7fe4a000 Deferred
ELF 0x7fe4d000-7fe6f000 Deferred
ELF 0x7fe6f000-7ff66000 Deferred
ELF 0x7ff66000-7ffe0000 Deferred ntdll
\-PE 0x7ff80000-7ffe0000 \ ntdll
ELF 0xb7e37000-b7e3a000 Deferred
ELF 0xb7e3a000-b7f69000 Deferred
ELF 0xb7f69000-b7f7b000 Deferred
ELF 0xb7f7b000-b7f95000 Deferred
ELF 0xb7f98000-b7fae000 Deferred
process tid prio (all id:s are in hex)
00000008 (D) C:\Program Files\Activision\Zork Nemesis\znemesis.exe
00000010 15
0000000f 15
0000000e 15
0000000c 0
0000000b 0
00000008 (D) C:\Program Files\Activision\Zork Nemesis\znemesis.exe
00000009 0 <==

While the programm is running, the screen resolution changes (to finish in a low resolution) and the window of the game is black, do not respond to anything


What was not tested

switching CDs (have to complete the 1st level :)

Hardware tested


  • GPU:
  • Driver:

Additional Comments

I will try to change my screen color depth to 16 bits (I don't even know how to do) and maybe tell wine to emulate win31 or nt40

selected in Test Results table below
Operating systemTest dateWine versionInstalls?Runs?Used
ShowArch Linux x86_64Mar 15 20121.4-rc6Yes No Garbageezzetabi 
ShowUbuntu 7.04 "Feisty" i386 (+ variants like Kubuntu)Sep 14 20070.9.44.Yes Yes GarbageVit Hrachovy 
ShowUbuntu 6.10 "Edgy" i386 (+ variants like Kubuntu)Nov 13 20060.9.25.N/A Yes GarbageVit Hrachovy 
ShowUbuntu 6.10 "Edgy" i386 (+ variants like Kubuntu)Nov 10 20060.9.24.Yes No GarbageMildred 
ShowUbuntu 6.06 "Dapper" i386 (+ variants like Kubuntu)Oct 31 20060.9.23.Yes Yes GarbageVit Hrachovy 

Known Bugs

Bug # Description Status Resolution Other apps affected
1347 Screen is wiped/blanked on usage of DirectDraw (black screen/desktop) CLOSED FIXED View
2082 DirectDraw games only showing black screen NEW View
2398 OpenGL is only used on top level windows so child windows get overdrawn CLOSED FIXED View
6678 Zork: Grand Inquisitor graphics engine redraws the screen on static locations badly CLOSED DUPLICATE View
9686 Zork: Nemesis and Zork: Grand Inquisitor seem to have applied incremental filter over static parts of screen image CLOSED DUPLICATE View

Show open bugs

HowTo / Notes

  1. Get the patch from bug1347
  2. Compile Wine with this patch.
  3. Install the game into c:\games\zork-nemesis.
  4. Create folders c:\games\zork-nemesis\cd1, c:\games\zork-nemesis\cd2, c:\games\zork-nemesis\cd3
  5. Copy the complete contents of each CD into its respective folder you've created in step 2.
  6. Modify file c:\games\zork-nemesis\nemesis.zix to have following info at the head of file: nemesis.zix
  7. Run winecfg and set the following values:
    Applications / Windows version: Windows XP
    Graphics / Emulate a virtual desktop: 640x480 (game won't work well without this)
    Audio / OSS Driver (From latest Wine 0.9.39 ALSA works, for 0.9.23 select OSS.)
  8. Switch X to 16bpp (xrandr should have done this, but developers think this feature is not worthy implementation)
  9. Run the game wine znemesis.exe


The following comments are owned by whoever posted them. WineHQ is not responsible for what they say.

Bug 1347 patch doesn't change anything
by Mildred on Thursday June 19th 2008, 8:16

I applied the patch related to bug 1347

But it doesn't change anything. The screen is still not redrawn properly.

For example, if I turn around, the screen starts to flicker between the image I had before turning, and the image I should have. And when I stop, the view is as if I hadn't moved.
But I know I have moved since the mouse cursor now changes at different places. And where the mouse cursor was when I was turning, there are bits of the correct view pasted there.

It seems that I get the last frame of the last played video always at the screen. When I restore a game previously saved, I get the introduction screen (where there are the play, restore and quit buttons). And when I start a new game, I always have the first view of the Agrippa Temple. Even if I move somewhere else.

So, as i said the patch has absolutely no effect. I tried to add a printf where the patch should have changed something, but that code is not executed at all. These are my modifications:

+ if(!(Flags & DDLOCK_WRITEONLY) && iface == This->resource.wineD3DDevice->ddraw_primary &&
+ !This->resource.wineD3DDevice->ddraw_fullscreen)
+ { printf("x11_copy_from_screen called\n");
+ x11_copy_from_screen(This, NULL);
+ }else printf("x11_copy_from_screen not called\n");

Neither the printf in the if, nor the printf outside the if are called. So i don't know how this patch is supposed to have any effect.
start a new X server
by Mildred on Wednesday June 18th 2008, 16:17
If you don't want to reconfigure your X server with 65536 colors, you can just start another X server using startx. Be sure to have configured the X authority file first.

I created a script for the occasion:

Be sure to adapt it to your layout.
RE: start a new X server
by Mildred on Monday September 28th 2009, 12:47
Seems the link was out:

The script:

#! /bin/zsh

cd "`dirname "$0"`"
self="`basename "$0"`"

export disp=:1
export WINEPREFIX="`pwd`/wine"

if [[ "a$1" = "a-run-term" ]]; then

export DISPLAY=$disp
xterm -e "./$self" -run-script
exit 0

elif [[ "a$1" = "a-run-script" ]]; then

export DISPLAY=$disp
echo "Start Timidity -iA"
timidity -iA &
echo "Set up X"
xrandr -s 800x600
metacity &
echo "Run another terminal"
xterm &
echo "Run Zork Nemesis"
cd 'wine/drive_c/Program Files/Activision/Zork Nemesis'
wine 'c:\\Program Files\\Activision\\Zork Nemesis\\znemesis.exe'
echo "Kill timidity"
kill $timidity
echo "------------------------------------------------------------"
zsh -i
exit 0


auth="$(xauth list | head -n 1 | sed -r 's|^.*\s(\S+)$|\1|')"
xauth add $disp MIT-MAGIC-COOKIE-1 "$auth"

DISPLAY=$disp startx "./$self" -run-term -- $disp -depth 16


RE: start a new X server
by David Rogers on Tuesday September 29th 2009, 5:03
When I try to run that script I'm told that I don't have authorisation to start an xserver and if I run it as root (sudo) then I can't run ZN in the new xserver as it tells me that root doesn't own the directory that ZN is in. What am I doing wrong?
RE: start a new X server
by Mildred on Tuesday September 29th 2009, 5:30
Well, I don't have any problem, EXCEPT that startx wants to start my ~/.xinitrc instead of the command line :/

Try to remove the two lines with xauth, it does it automatically on my computer.
RE: start a new X server
by Mildred on Tuesday September 29th 2009, 5:41
An updated version of the script in case startx don't work and insists on taking your ~/.xinitrc file instead of the command line client (xterm):

#! /bin/zsh

cd "`dirname "$0"`"
self="`basename "$0"`"

export disp=:1
export WINEPREFIX="`pwd`/wine"

if [[ "a$1" = "a-run-term" ]]; then

export DISPLAY=$disp
xterm -e "./$self" -run-script
exit 0

elif [[ "a$1" = "a-run-script" ]]; then

export DISPLAY=$disp
echo "Start Timidity -iA"
timidity -iA &
echo "Set up X"
xrandr -s 800x600
metacity &
echo "Run another terminal"
xterm &
echo "Run Zork Nemesis"
cd 'wine/drive_c/Program Files/Activision/Zork Nemesis'
wine 'c:\\Program Files\\Activision\\Zork Nemesis\\znemesis.exe'
echo "Kill timidity"
kill $timidity
echo "------------------------------------------------------------"
zsh -i
exit 0


#auth="$(xauth list | head -n 1 | sed -r 's|^.*\s(\S+)$|\1|')"
#xauth add $disp MIT-MAGIC-COOKIE-1 "$auth"

if [[ -e .xinitrc ]]; then
echo "The script mist be in a directory without a .xinitrc file"
exit 1
cat >.xinitrc
RE: start a new X server
by Mildred on Tuesday September 29th 2009, 5:42
The script isn't finished, remove the last line and append:

cat >.xinitrc
RE: start a new X server
by Robbe on Monday October 19th 2009, 19:13
Hm, the script doesn't look like it's finished at all. I've been playing around with it for a while but couldn't get it to run. By now I understand that you do a 2 step process, first starting a new X server and then calling yourself with a different parameter to start the actual game, and I also understand why you do this. (Comments in the script could have sped up that a lot.) However I am nowhere near a working start script for Zork Nemesis.

Would you mind posting the script again, or uploading it somewhere again?