>From: "Jim Howarth" <[EMAIL PROTECTED]>
>To: "dosemu" <[EMAIL PROTECTED]>
>Date: Thu, 27 Jul 2000 10:27:16 -0400
>Some programs for dos require share to be running... is there any way that
>one of our illustrious developers would be able to add in a share emulation.

The problem with SHARE is a bit (or even more) complicated.
There are two methods of detecting SHARE:
- INT 2Fh with AX=1000h - SHARE returns AL=0FFh
- locking a file (INT 21h, AX=5C00h, BX=CX=DX=SI=DI=0,
  without SHARE DOS returns error, with SHARE it locks a file
  region, and it must be unlocked by INT 21h, AX=5C01h)
Also, SHARE modifies some pointers in DOS kernel, and it is
possible (although unlike) an application to test it.

On DosEmu, both these methods answer "No SHARE". In spite of
it, lock/unlock calls work on files opened in sharing mode
(eg. by INT 21h, AX=3D42h). Lock fails on files opened in
compatibility mode, while on DOS it is allowed on them.

What you can try? First, simple TSR which hooks INT 2Fh, and
when AX=1000h, returns with AL=0FFh, otherwise passes call
to previous handler. Probably some applications will assume
there is SHARE and work. Other will require DosEmu fixing.

Jerzy

Reply via email to