int 21h/4400h only return low byte of SFT flags if not a device, part of dosemu2/fdpp bug #147 fix - b2b55fc1af
This commit is contained in:
parent
516a4e7e55
commit
c6fafbbb2d
@ -114,10 +114,10 @@ int DosDevIOctl(lregs * r)
|
|||||||
{
|
{
|
||||||
case 0x00:
|
case 0x00:
|
||||||
/* Get the flags from the SFT */
|
/* Get the flags from the SFT */
|
||||||
|
r->AX = flags & 0xff;
|
||||||
if (flags & SFT_FDEVICE)
|
if (flags & SFT_FDEVICE)
|
||||||
r->AX = (flags & 0xff) | (s->sft_dev->dh_attr & 0xff00);
|
r->AX |= (s->sft_dev->dh_attr & 0xff00);
|
||||||
else
|
/* else: files/networks return 0 in AH/DH */
|
||||||
r->AX = flags;
|
|
||||||
/* Undocumented result, Ax = Dx seen using Pcwatch */
|
/* Undocumented result, Ax = Dx seen using Pcwatch */
|
||||||
r->DX = r->AX;
|
r->DX = r->AX;
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
|
Loading…
Reference in New Issue
Block a user