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:
|
||||
/* Get the flags from the SFT */
|
||||
r->AX = flags & 0xff;
|
||||
if (flags & SFT_FDEVICE)
|
||||
r->AX = (flags & 0xff) | (s->sft_dev->dh_attr & 0xff00);
|
||||
else
|
||||
r->AX = flags;
|
||||
r->AX |= (s->sft_dev->dh_attr & 0xff00);
|
||||
/* else: files/networks return 0 in AH/DH */
|
||||
/* Undocumented result, Ax = Dx seen using Pcwatch */
|
||||
r->DX = r->AX;
|
||||
return SUCCESS;
|
||||
|
Loading…
Reference in New Issue
Block a user