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 @@ -17,9 +17,9 @@ Notes: apparently never returns an error 07h, despite official docs; DOS 2.1+
DR-DOS v7 does coalesce subsequent free blocks when a block is freed
the code for this function is identical in DOS 2.1-6.0 except for
calls to start/end a critical section in DOS 3.0+
because this call need not coalesce free blocks, a very similar
effect can be achieved by addressing the MCB (in the segment
that is one below the memory block segment) and zeroing its owner.
because this call need not coalesce free blocks, a very similar effect
can be achieved by addressing the MCB (in the segment that is one
below the memory block segment) and zeroing its owner (see #01628).
this allows freeing memory if using DOS is not desired.
SeeAlso: AH=48h,AH=4Ah

Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ INT 21 - DOS 2+ - "EXEC" - LOAD AND/OR EXECUTE PROGRAM
03h load overlay (see #01591)
04h load and execute in background (European MS-DOS 4.0 only)
"Exec & Go" (see also AH=80h)
DS:DX -> ASCIZ program name (must include extension)
DS:DX -> ASCIZ program filename (must include extension)
ES:BX -> parameter block (see #01590,#01591,#01592)
CX = mode (subfunction 04h only)
0000h child placed in zombie mode after termination
Expand Down Expand Up @@ -152,7 +152,7 @@ BUGS: DOS 2.00 assumes that DS points at the current program's PSP
top word of the caller's stack if the loaded module terminates with
INT 21/AH=4Ch in some versions of MS-DOS, including v5.00.
SeeAlso: AX=4B05h,AH=4Ch,AH=4Dh,AH=64h/BX=0025h,AH=8Ah,INT 2E,INT 60/DI=0604h
SeeAlso: AX=4B80h"FreeDOS"
SeeAlso: AX=4B80h"FreeDOS",AX=714Bh"RxDOS"

Format of EXEC parameter block for AL=00h,01h,04h:
Offset Size Description (Table 01590)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ INT 21 - DOS 2.11+ - GET OR SET MEMORY ALLOCATION STRATEGY
Return: AX = current strategy (see #01679)
01h set allocation strategy
BL = new allocation strategy (see #01679)
BH = 00h (DOS 5+)
BH = 00h (DOS 5+), new extended strategy (lDOS)
Return: CF clear if successful
CF set on error
AX = error code (01h) (see #01680)
Expand All @@ -25,7 +25,7 @@ Notes: the Set subfunction accepts any value in BL for DOS 3.x and 4.x;
before terminating
Toshiba MS-DOS v2.11 supports subfunctions 00h and 01h, as does the
TI Professional MS-DOS v2.13
DR DOS 3.41 reportedly reverses subfunctions 00h and 01h
BUGS: DR DOS 3.41 reportedly reverses subfunctions 00h and 01h
SeeAlso: AH=48h,AH=49h,AH=4Ah,INT 2F/AX=4310h"XMS",INT 67/AH=3Fh
SeeAlso: AX=4B80h"FreeDOS"

Expand All @@ -34,7 +34,7 @@ Values for DOS memory allocation strategy:
00h all memory first fit
01h all memory best fit
02h all memory last fit
---DOS 5+ ---
--- DOS 5+ ---
40h upper memory first fit
41h upper memory best fit
42h upper memory last fit
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,11 @@ Notes: a program which changes the UMB link state should restore it before
DOS keeps track of the UMB link state in an internal variable too
if the extended allocation strategy mask 100h is set (see #01679
at AH=58h), lDOS can use UMBs even with the UMB link disabled.
BUGS: FreeDOS only allocates UMBs once during fdconfig.sys processing,
after the first device driver that provides at least one UMB on
the XMS interface (see INT 2F/AX=4310h). (FreeDOS kernel issue
#250.) reportedly, MS-DOS will allocate any additional UMBs
after subsequent drivers were loaded. this is also true of lDOS.
FreeDOS tries to allocate the first UMB without checking that it
is large enough with DOSDATA=UMB (FreeDOS kernel issue #203).
SeeAlso: #01687,#02766 at INT 2F/AX=4310h,AX=4B80h"FreeDOS"
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
----------------------------------------------------------------------------
Unique ID: 21714B
Category: D DOS kernel
Flag: n/a
----------------------------------------------------------------------------

INT 21 - RxDOS - LONG FILENAME - "EXEC" - LOAD AND/OR EXECUTE PROGRAM
AX = 714Bh
CL = type of load
00h load and execute
01h load but do not execute
03h load overlay (see #01591)
DS:DX -> ASCIZ program long filename (must include extension)
ES:BX -> parameter block (see #01590,#01591,#01592)
Return: as for AH=4Bh
CF unchanged and AL = 00h if no LFNs are supported at all
possibly other error (eg 01h) with LFN servers other than RxDOS's
SeeAlso: AH=4Bh,AX=335Eh,AX=3360h
Notes: supported by LFN builds of RxDOS (such as v7.1.5)
should be called with CF set as function 71h subfunctions may
return with DOS v1 style error return (AL = 00h, CF unchanged).
if caller sets CF this results in an AX = 7100h, CF set return.
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Return: CF clear if successful
CF set on error
AX = error code
7100h if function not supported
SeeAlso: AX=71A7h/BL=00h
SeeAlso: AX=71A7h/BL=00h,INT 2F/AX=11A6h"dosemu2"
Notes: supported by FAT+ builds of Enhanced DR-DOS on local FAT FS drives;
only SFNs are actually used but the DOS wants to be able to return
64-bit file sizes (as FAT+ allows 38-bit file sizes on disk).
Expand Down