I noticed that Locate runs a Borland extender call 32rtm.exe, which then loads
dpmi32vm.ovl.  DPMI is turned on, so I increased it's memory to 16MBytes.  Now
the program gives me  "Invalid entrypoint".  I tested this program in a pure DOS
6.22 environment and it works fine.

Running the dosemu (BTW, I have also used .99.13 and it does the same thing) in
debug mode, I find the following buried deep.

DPMI: realmode hlt: 0xfc82d
DPMI: Return from DOS Interrupt 0x21
DPMI: calling interrupthandler 0x21 at 0x00d7:0x00006241
DPMI: int31, ax=0007 ,ebx=000000ff ,ecx=0000400f ,edx=400fc828
             edi=00027000 ,esi=00028000
DPMI: SetSegmentBaseAddress[0x001f;0x00ff] 0x400fc828
DPMI: default protected mode interrupthandler 0x21 called
DPMI: calling real mode interrupt 0x21, ax=0x5000
INT21 (0) at f800:482d: AX=5000, BX=108a, CX=0400, DX=0000, DS=d500, ES=d500
int 0x21, ax=0x5000
DPMI: realmode hlt: 0xfc82d
DPMI: Return from DOS Interrupt 0x21
DPMI: do_cpu_exception(0x03) at 0xd7:0x25b9
eip: 0x000025b9  esp: 0x00036000  eflags: 0x00000206
trapno: 0x03  errorcode: 0x00000000  cr2: 0x00000000
cs: 0x00d7  ds: 0x00df  es: 0x00df  ss: 0x00df  fs: 0x00ff  gs: 0x0000
EAX: 00410000  EBX: 00036000  ECX: 00400000  EDX: 0003a000
ESI: 00028000  EDI: 00027000  EBP: 000003d2
OPS  : 40 57 51 50 e8 2c 4b 00 00 cc -> c7 05 b4 78 01 00 01 00 00 00
STACK: 00 00 d7 00 00 00 06 02 00 00 -> 00 00 00 00 00 00 00 00 00 00
DPMI: Return from client exception hander
DPMI: calling interrupthandler 0x21 at 0x00d7:0x00006241
DPMI: default protected mode interrupthandler 0x21 called
DPMI: base address 0x400d5000 of sel 0xd7 > DOS limit
DPMI: calling real mode interrupt 0x21, ax=0x0900


Any ideas, o great DPMI wizards?




Reply via email to