Skip to content

INT 21h AX=7300h is not properly implemented in EDR-DOS kernel #155

@igully

Description

@igully

I have found out this code does not work with the EDR-DOS kernel.
Tested it working properly in MS-DOS 8 (unofficial), ROM-DOS 7.1 and FreeDOS 1.4

The snippet comes from Eric Auer's source code (public domain):

mov ax,7300h	; get a FAT32 property
mov dl,0	; current drive
mov cl,1	; "dirty-buffers flag"
int 21h
cmp ax,7300h	; AX still unchanged?
jz oldkernel
; ignore the actual results of int 21.7300 (AL, AH)
mov byte [kern32],1	; kernel has FAT32 support

oldkernel:

SvarDOS latest, that uses EDR-DOS kernel, fails on it.
The erratic condition can be quickly tested with the attached WHICHFAT.COM program by Eric Auer.

I have found other software that relies on this call to find out if the kernel does support fat 32 or not. So it would be important to have it properly working.

whichfat.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    compatibilityBehaviour different than MS-DOS / FreeDOS

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions