Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ Notes: ^C/^Break are checked, and INT 23 executed if pressed
standard output is always the screen under DOS 1.x, but may be
redirected under DOS 2+
the last character output will be the character in DL unless DL=09h
on entry, in which case AL=20h as tabs are expanded to blanks
on entry, in which case AL = 20h as tabs are expanded to blanks
if standard output is redirected to a file, no error checks (write-
protected, full media, etc.) are performed
SeeAlso: AH=06h,AH=09h

Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Notes: ^C/^Break are NOT checked
function
this function reads from standard input, which is always the keyboard
under DOS 1.x, but may be redirected under DOS 2+
although the return of AL=00h when no characters are available is not
documented, some programs rely on this behavior
although the return of AL = 00h when no characters are available is
not documented, some programs rely on this behavior
SeeAlso: AH=0Bh

Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Notes: ^C/^Break are checked, and INT 23 is called if either pressed
standard input is always the keyboard under DOS 1.x, but may be
redirected under DOS 2+
if the interim console flag is set (see AX=6301h), this function
returns AL=FFh if a partially-formed double-byte character is
available
returns AL = FFh if a partially-formed double-byte character
is available
SeeAlso: AH=06h"INPUT",AX=4406h

Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ INT 21 - DOS 2+ - GET DOS VERSION
Return: AL = major version number (00h if DOS 1.x, other registers preserved)
AH = minor version number (often rendered with a leading zero if <10)
BL:CX = 24-bit user serial number (most versions do not use this)
---if DOS <5 or AL!=01h---
---if DOS <5 or AL != 01h---
BH = MS-DOS OEM number (see #01394)
---if DOS 5+ and AL=01h---
---if DOS 5+ and AL = 01h---
BH = version flag
bit 3: DOS is in ROM
other: reserved (0)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ Notes: the OS/2 compatibility box supports the DOS 3.3 version of this call
version of the DPB has been documented, however
supported by DR DOS 3.41+; DR DOS 3.41-6.0 return the same data as
MS-DOS 3.31
IBM ROM-DOS v4.0 also reports invalid/network (AL=FFh) on the ROM drive
IBM ROM-DOS v4.0 also reports invalid/network (AL =FFh ) on the ROM
drive
SeeAlso: AH=1Fh,AH=52h,AX=7302h

Format of DOS Drive Parameter Block:
Expand Down Expand Up @@ -61,4 +62,4 @@ Offset Size Description (Table 01395)
usually the last cluster allocated
1Fh WORD number of free clusters on drive, FFFFh = unknown
SeeAlso: #01357,#01663,#01787 at AX=7302h,#04039 at INT E0/CL=71h

Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,8 @@ Notes: this function always returns the true version number, unlike AH=30h,
Enhanced DR-DOS as of v7.01.07 returns v7.01
recent FreeDOS kernel returns v7.10 if built with FAT32 support and
v6.22 otherwise, on both this call and AH=30h
BUG: DR DOS 5.0 and 6.0 return CF set/AX=0001h for INT 21/AH=33h
subfunctions other than 00h-02h and 05h, while MS-DOS returns AL=FFh
for invalid subfunctions
BUG: DR DOS 5.0 and 6.0 return CF set/AX = 0001h for INT 21/AH=33h
subfunctions other than 00h-02h and 05h, while MS-DOS returns
AL = FFh for invalid subfunctions
SeeAlso: AH=30h,INT 2F/AX=122Fh,INT 2F/AX=E000h"SETDRVER"

Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@

INT 21 - VIRUS - "Burghofer" - INSTALLATION CHECK
AX = 330Fh
Return: AL = 0Fh if resident (DOS returns AL=FFh)
Return: AL = 0Fh if resident (DOS returns AL = FFh)
SeeAlso: AX=30F1h,AX=33DAh,AX=33E0h

Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@

INT 21 - VIRUS - "Oropax" - INSTALLATION CHECK
AX = 33E0h
Return: AL = E0h if resident (DOS returns AL=FFh)
Return: AL = E0h if resident (DOS returns AL = FFh)
SeeAlso: AX=330Fh,AX=33DAh,AX=357Fh

Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@ Notes: supported by RxDOS v7.24, apparently setting the default
supported by FreeDOS, setting internal variables named as
os_setver_minor and os_setver_major which are used to
set up the default PSP version field.
SeeAlso: AH=30h,AX=3306h"DOS",INT 2F/122Fh
SeeAlso: AH=30h,AX=3306h"DOS",INT 2F/AX=122Fh
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ Notes: all versions of DOS from 2.00 allow \DEV\ to be prepended to device
exist); DOS 2.x has an AVAILDEV= option in CONFIG.SYS to make \DEV
mandatory
although MS-DOS 3.3+, DR DOS 3.41+, and Novell DOS 7 accept these
calls, they have no effect, and AL=02h always returns DL=FFh (except
for Novell DOS 7, which leaves AX unchanged for both subfunctions)

calls, they have no effect, and AL = 02h always returns DL=FFh
(except for Novell DOS 7, which leaves AX unchanged for both
subfunctions)

Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ BUG: Novell DOS 7's COMMAND.COM (prior to Update 15) fails to honor the
15, internal commands fail to honor SwitChar for the /? help option
Notes: documented in some OEM versions of some releases of DOS
supported by OS/2 compatibility box
always returns AL=00h/DL=2Fh for MS-DOS 5+ and DR DOS 3.41-6.0
always returns AL = 00h/DL=2Fh for MS-DOS 5+ and DR DOS 3.41-6.0
Novell DOS 7 COMMAND.COM indicates switch characters other than '/'
by changing the first backslash (and only the first one) in the
path it prints for PROMPT $p with a forward slash
SeeAlso: AX=3701h

Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ InstallCheck: for the TCP/IP stack, test for the existence of the character
device UDP-IP10
Note: the B&W socket library performs an INT 21/AX=4401h with DX=0060h before
making this call to retrieve the driver information; one should also
call the private API interrupt with AH=15h
call the private API interrupt with AH = 15h
SeeAlso: INT 14/AH=56h,INT 62/AH=00h"ETHDEV",INT 63/AH=03h,INT 64/AH=01h
Index: installation check;BW-TCP hardware driver
Index: installation check;BW-TCP TCPIP.SYS
Expand Down Expand Up @@ -65,4 +65,4 @@ Format of BW-TCP server records:
Offset Size Description (Table 01413)
00h BYTE number of server records following
01h N DWORDs internet addresses of servers

Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Notes: data is read beginning at current file position, and the file position
if reading from CON, read stops at first CR
under the FlashTek X-32 DOS extender, the pointer is in DS:EDX
BUG: Novell NETX.EXE v3.26 and 3.31 do not set CF if the read fails due to
a record lock (see AH=5Ch), though it does return AX=0005h; this
a record lock (see AH=5Ch), though it does return AX = 0005h; this
has been documented by Novell
SeeAlso: AH=27h,AH=40h,AH=93h,INT 2F/AX=1108h,INT 2F/AX=1229h

Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ Notes: on local drives, DX bits not listed above are the attribute word from
the FAT and only a single head on non-removable devices is a fairly
good indicator); for Windows95, RAMDRIVE returns DX=4800h
for non-existent remote drives, this function sometimes returns
AX=0015h (drive not ready) instead of AX=000Fh (invalid drive) on
the first call; a subsequent call will return the correct error
AX = 0015h (drive not ready) instead of AX = 000Fh (invalid drive)
on the first call; a subsequent call will return the correct error
code
this function was not supported by Digital Research's DOS Plus
SeeAlso: AX=4400h,AX=4408h,AX=440Ah,INT 2F/AX=122Bh

Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ Return: CF set on error
AL = 00h block device has only one logical drive assigned
1..26 the last letter used to reference the drive (1=A:,etc)
Notes: DR DOS 3.41-5.0 DRIVER.SYS does not support drive mapping and thus
always returns AL=00h; Windows NT 4.0 also always returns AL=00h
always returns AL = 00h; Windows NT 4.0 also always returns AL = 00h
in addition to the normal operation, if Stacker is installed, this
call also sets the volume number at offset 58h in the Stacker
device driver (DR DOS 3.41-5.0 only; use AX=4408h otherwise)
(see AX=4404h"Stacker",INT 25/AX=CDCDh)
SeeAlso: AX=4408h,AX=440Fh,INT 2F/AX=122Bh

Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ Notes: as of Concurrent DOS/XM 5.0 (possibly earlier), the version is stored
this function should never return the single-user values; however, an
application should be prepared to accept single-user values, i.e. it
should check the returned AH and AL separately
CCI Multiuser DOS 7.22 returns AX=DX=1466h.
DR DOS 3.31+ error returns with AX=0001h
CCI Multiuser DOS 7.22 returns AX = DX = 1466h.
DR DOS 3.31+ error returns with AX = 0001h
SeeAlso: AX=4452h,AX=4459h

(Table 01579)
Expand All @@ -35,4 +35,4 @@ Values for Digital Research operating system version ID:
66h DR Multiuser DOS 5.1, CCT Multiuser DOS 7.x
67h Concurrent DOS 5.1
SeeAlso: #01581,#04023

Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ INT 21 - DR Multiuser DOS 5.0 - API
AX = 4459h
CL = function (see #04019 at INT E0"CP/M-86")
DS,DX = parameters
Notes: DR DOS 5.0 and Novell DOS 7 return CF set and AX=0001h
Notes: DR DOS 5.0 and Novell DOS 7 return CF set and AX = 0001h
this API is also available on INT E0
SeeAlso: AX=4452h,INT E0"CP/M-86"

Original file line number Diff line number Diff line change
Expand Up @@ -403,8 +403,8 @@ Bit(s) Description (Table 01598)
6 non-conforming program (valid stack is not maintained)
7 DLL or driver rather than application
(SS:SP info invalid, CS:IP points at FAR init routine called with
AX=module handle which returns AX=0000h on failure, AX nonzero on
successful initialization)
AX=module handle which returns AX = 0000h on failure, AX nonzero
on successful initialization)

Bitfields for other new .EXE flags:
Bit(s) Description (Table 01599)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Notes: for search attributes other than 08h, all files with at MOST the
and the current date and time. DOS 3.0+ returns attribute 40h and
the current date and time.
immediately after an INT 2F/AX=B711h (APPEND return found name), the
name at DS:DX will be overwritten; if AL=00h on entry, the actual
name at DS:DX will be overwritten; if AL = 00h on entry, the actual
found pathname will be stored, otherwise, the actual found path
will be prepended to the original filespec without a path.
under LANtastic, this call may be used to obtain a list of a server's
Expand Down Expand Up @@ -80,4 +80,4 @@ Offset Size Description (Table 01626)
18h WORD file date (see #01666 at AX=5700h)
1Ah DWORD file size
1Eh 13 BYTEs ASCIZ filename+extension

Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Return: CF clear if successful
AX = error code (01h) (see #01680 at AH=59h/BX=0000h)
Notes: does not preserve any registers other than SS:SP
the US version of MS-DOS 3.30 treats this as an unused function,
setting AL=00h and returning immediately
setting AL = 00h and returning immediately
SeeAlso: AX=6301h,AH=07h,AH=08h,AH=0Bh

Format of double-byte character set lead byte table entry:
Expand All @@ -21,4 +21,4 @@ Offset Size Description (Table 01746)
02h 2 BYTEs low/high ends of a range of leading byte of double-byte chars
...
N 2 BYTEs 00h,00h end flag

Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ Return: AL = error code
FFh not supported
Notes: probably identical to AH=63h/AL=00h for DOS 2.25
the US version of MS-DOS 3.30 treats this as an unused function,
setting AL=00h and returning immediately, WITHOUT setting DS:SI;
setting AL = 00h and returning immediately, WITHOUT setting DS:SI;
only the Far East versions of MS-DOS 3.2 and 3.3 supported this call
the US version of DOS 4.0+ accepts this function, but returns an empty
list
IBM DOS 6.1 SYS.COM assumes that CF is set on error
SeeAlso: AX=6300h"DOS 2.25"

Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Return: AL = status
FFh invalid mode
Notes: Novell DOS 7 simply stores DL in the caller's PSP (see #01378 at AH=26h)
the US version of MS-DOS 3.30 treats this as an unused function,
setting AL=00h and returning immediately; only the Far East versions
setting AL = 00h and returning immediately; only the Far East versions
of MS-DOS 3.2 and 3.3 supported this call
SeeAlso: AH=07h,AH=08h,AH=0Bh,AX=6300h,AX=6302h

Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Notes: Novell DOS 7 simply reads the value out of the caller's PSP, so it
can return values other than 00h or 01h if the last call to AX=6301h
used another value
the US version of MS-DOS 3.30 treats this as an unused function,
setting AL=00h and returning immediately, WITHOUT setting DL; only
setting AL = 00h and returning immediately, WITHOUT setting DL; only
the Far East versions of MS-DOS 3.2 and 3.3 supported this call
SeeAlso: AH=07h,AH=08h,AH=0Bh,AX=6300h,AX=6301h

Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,6 @@ Return: CF set on error
AX = error code (see #01680 at INT 21/AH=59h/BX=0000h)
CF clear if successful
Notes: passed through to INT 2F/AX=112Fh with AX on top of stack
Novell DOS 7 Update 15 returns CF set/AX=0001h (invalid function)
Novell DOS 7 Update 15 returns CF set/AX = 0001h (invalid function)
SeeAlso: AH=6Bh"DOS 5",INT 2F/AX=112Fh

Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Return: CF clear
AL = 00h
ES:BX = 0000h:0000h on error, unchanged if buffer filled
Note: for DOS versions which do not support this function, the return value
is AL=00h, CF unchanged, ES:BX unchanged, and the ES:BX buffer
is AL = 00h, CF unchanged, ES:BX unchanged, and the ES:BX buffer
unchanged
SeeAlso: AX=6F00h,AX=6F03h

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ Return: CF clear
AL = 00h
Notes: DOS saves only the pointer and assumes that the contents of the list
are never changed, and that regions do not overlap
if AL > 03h on entry, DOS returns CF set/AL=01h
if AL > 03h on entry, DOS returns CF set/AL = 01h
SeeAlso: AX=6F01h,AX=6F02h

Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@ Return: CF set on error
Desc: determine the canonical name of the specified filename or path,
corresponding to the undocumented TRUENAME command in COMMAND.COM
BUGS: even though the maximum length of a complete long pathname is 260
characters, Windows95 returns CF set/AX=0003h even if the file
characters, Windows95 returns CF set/AX = 0003h even if the file
exists whenever the full pathname is more than 255 characters
Windows95 incorrectly treats filenames where the first two characters
after the drive letter and colon are both slashes (either forward
or backward) as a UNC (network name) and requires several seconds
to attempt to resolve the name before returning an unchanged
string
SeeAlso: AH=60h,AX=7160h/CL=00h,AX=7160h/CL=01h

Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ Return: CF clear if successful
CF set on error
AX = error code
Notes: on DOS versions which do not support the FAT32 calls, this function
returns CF clear/AL=00h (which is the DOS v1+ method for reporting
returns CF clear/AL = 00h (which is the DOS v1+ method for reporting
unimplemented functions)
under DOS 7.x (i.e. "MSDOS Mode" under Windows95), the ASCIZ string
pointed at by DS:DX *must* include the drive letter, or this function
will return CF set/AX=0015h (invalid drive). In a DOS box, omitting
will return CF set/AX = 0015h (invalid drive). In a DOS box, omitting
the drive letter (DS:DX -> "\") results in the free space for the
current default drive, as expected
BUG: this function returns a maximum of 2GB free space even on an FAT32
Expand All @@ -44,4 +44,4 @@ Offset Size Description (Table 01789)
for compression
20h DWORD total allocation units, without adjustment for compression
24h 8 BYTEs reserved

Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ Notes: this function is known to be supported by Toshiba T1000 ROM MS-DOS
v2.11, Sanyo MS-DOS v2.11, and TI Professional Computer DOS v2.13
at least potentially this is still available with (OEM versions??? of)
MS-DOS 6.0.
calls to AH=F9h through AH=FFH will return AL=00h if no handler set
calls to AH=F9h through AH=FFH will return AL = 00h if no handler set
the user handler is called immediately on entry to the main DOS INT 21h
function dispatcher with interrupts disabled and all registers and
stack exactly as set by caller; it should exit with IRET
SeeAlso: AH=F9h"OEM"

Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,10 @@ Values for AMIS signatures known to be in use:
'Cubbi...' 'ScrnGrab' Example screen grabber by Sergey Zubkov
'DAISYCHA' 'INDRIVER' Advanced Parallel Port daisy chain driver (vendor name
in product description field, if desired)
(see also INT 2D/AL=DCh)
(see also INT 2D/AL=DCh"DAISY")
'DOS-C ' 'SHARE ' ecm's extended FreeDOS share
'DTown SD' 'DTU ' DTown Software Development's DTown Utilities
(see also INT 2D/AL=20h)
(see also INT 2D/AL=20h"DTown")
'ECLIPSE ' 'PLUMP ' Eclipse Software's printer and plotter spooler
'ecm ' 'D2FCBFIX' ecm's old dosemu2 FCB fix
'ecm ' 'EIDL ' ecm's fork of rr's tool to reduce power consumption
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Return: AL = number of device driver headers supplied by prog.
DX:BX -> first device driver header (see #01646)
Program: AMIS is the Alternate Multiplex Interrupt Specification promulgated
by Ralf Brown
Notes: if AL=00h, AH,BX,DX are meaningless and may be destroyed
Notes: if AL = 00h, AH,BX,DX are meaningless and may be destroyed
this function is not valid unless a program is installed on the
specified multiplex number; use INT 2D/AL=00h to check
programs which provide device drivers are required to support this
Expand All @@ -27,4 +27,4 @@ Bit(s) Description (Table 02576)
(leave clear if unable to determine)
1 device driver headers have not been linked into DOS device chain
2 reentrant device driver(s)

Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ INT 2D - DTown Utilities v1.40+ - EXTENDED API INSTALLATION CHECK
AL = 10h
Return: AL = FFh
BL = extended API availability (00h no, 01h API is loaded)
SeeAlso: INT 2D/AL=11h"DTown",INT 2D/AL=20h,INT 2D/AL=50h

SeeAlso: INT 2D/AL=11h"DTown",INT 2D/AL=20h"DTown",INT 2D/AL=50h"DTown"
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,4 @@ INT 2D - DTown Utilities v1.40+ - UTILITY INSTALLATION CHECK
Return: AL = FFh if supported
Note: this function is only available if the extended API has been installed
in the resident portion
SeeAlso: INT 2D/AL=10h"DTown",INT 2D/AL=20h

SeeAlso: INT 2D/AL=10h"DTown",INT 2D/AL=20h"DTown"
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,4 @@ Notes: the following IDs are recognised in the current kernel tables:
multiplexer interface, allowing them to be changed freely.
the idea of marking certain compatibility levels using
sequential numbers goes back to lRxDOS plans.
SeeAlso: AL=00h,AL=10h,INT 21/AH=30h,INT 21/AX=3306h"DOS"
SeeAlso: AL=00h,AL=10h"lDOS",INT 21/AH=30h,INT 21/AX=3306h"DOS"
Loading