I have been using Console Telnet to access Linux and run dosemu. This has
all worked well in Win95/98/NT. I have just tried to do this under Win2000
and have found a problem.
NB : This problem is specific to Console Telnet running under Win2000
accessing dosemu.
You can access Linux OK but when you type dos to run dosemu it tries to
start and "bombs" out leaving you back at the prompt. Using dos -D9 +o
dos.txt to get debug info from a working Win98 session and a non-working
Win2000 session shows the following part which differs (the 1st line shown
in each section below is OK. It then differs) :-
Working Win98 ...
DISK ext read @7/0/17 (1) -> 0x500 OK.
------ EMU: main loop -- 000003 -----------
DO_VM86, cs=0000:7c60 ss=0000:7c00 f=000b0202
ax=0000 bx=7c00 ss=0000 sp=7c00 bp=7cec
cx=0001 dx=0180 ds=0000 cs=0000 ip=7c60
si=7d00 di=7dfe es=0000 flg=000b0202
RET_VM86, cs=0000:7c60 ss=0000:7c00 f=000b0246 ret=0x1302
ax=4200 bx=7c00 ss=0000 sp=7c00 bp=7cec
cx=0001 dx=0180 ds=0000 cs=0000 ip=7c60
si=7d10 di=7dfe es=0000 flg=000b0246
Do INT0x13 eax=0x00004200 ebx=0x00007c00 ss=0x00000000 esp=0x00007c00
ecx=0x00000001 edx=0x00000180 ds=0x00000000 cs=0x00000000
ip=0x00007c60
esi=0x00007d10 edi=0x00007dfe es=0x00000000 flg=0x000b0246
DO_INT0x13: Using caller_function()
DISK: /var/lib/dosemu/drives/pdriver: Trying to read 4 sectors at T/S/H
0/21/7-32256 at pos 204288
Non-working Win2000 ...
DISK ext read @7/0/17 (1) -> 0x500 OK.
ERROR: cpu exception in dosemu code outside of VM86()!
trapno: 0x0e errorcode: 0x00000004 cr2: 0x082b8000
eip: 0x08063b2f esp: 0xbffff770 eflags: 0x00010246
cs: 0x0023 ds: 0x002b es: 0x002b ss: 0x002b
Page fault: read instruction to linear address: 0x082b8000
CPU was in user mode
Exception was caused by non-available page
VFLAGS(b): 010000001001000110
EAX: 000c0520 EBX: 00000001 ECX: 000000a0 EDX: 000000a0 VFLAGS(h):
00010246
ESI: 000c0520 EDI: 082b8000 EBP: bffff7b4
CS: 0023 DS: 002b ES: 002b FS: 0000 GS: 0000
FLAGS: PF ZF IF RF IOPL: 0
OPS : 2c 89 54 24 14 89 d1 fc a8 00 -> f3 a6 0f 84 dc 00 00 00 89 c7
Program=sigsegv.c, Line=293
EIP: 0000:00007c60 ESP: 0000:00007c00 VFLAGS(b): 00000 00000010 00000010
EAX: 00000000 EBX: 00007c00 ECX: 00000001 EDX: 00000180 VFLAGS(h): 00000202
ESI: 00007d00 EDI: 00007dfe EBP: 00007cec DS: 0000 ES: 0000 FS: 0000 GS:
0000
FLAGS: IF RF VM VIF VIP IOPL: 0
STACK: 00 00 00 00 00 00 00 00 00 00 -> eb 3e 90 44 4f 53 45 4d 55 31
OPS : 4e 12 78 0d b2 80 b4 42 cd 13 -> 72 2a 83 c6 10 eb ee 8b 46 04
722a 0000:7c60 jb 7C8C
leavedos(4) called - shutting down
What is causing the different behaviour?
David Milligan