diff --git a/source/Cmos-Memory Map/_Note.txt b/source/Cmos-Memory Map/_Note.txt index 863267669..0023724a2 100644 --- a/source/Cmos-Memory Map/_Note.txt +++ b/source/Cmos-Memory Map/_Note.txt @@ -44,7 +44,7 @@ screen in 8 rows of 16 values. The CMOS RAM space has an upper limit of 128 bytes because of the structure of port 70: only bits 0-6 are used for addressing, bit 7 is used to enable (0) or disable (1) Non-Maskable Interrupts (NMI) and explains why -IBM uses 80h OR
to read/write data & follows with a "throw-away" +IBM uses 80h OR
to read/write data & follows with a "throw-away" call. Note that if the CMOS only has 64 bytes available, addressing will @@ -126,9 +126,9 @@ CHECKS_ADDRESS DW 0 CMOS_DATA DB 128 DUP (?) - + ---------------------------------------------------------------------------- - + Organization of CMOS Memory - Clock 00h-0Eh is defined by the clock hardware and all must follow it. Other @@ -142,16 +142,16 @@ of which are read/write and two of which are read only. The format of the ten clock data registers (bytes 00h-09h) is: - + ---------------------------------------------------------------------------- - + Organization of CMOS Memory - non-Clock The last two bytes in the first hexadecimal decade (hexade ?) were not specified in the PC/AT but may have the following use on some systems: - + ---------------------------------------------------------------------------- - + The second group of values extends from address 10h to 2Dh. The word at 2Eh-2Fh is a byte-wise summation of the values in these bytes. Most BIOSes @@ -162,12 +162,12 @@ version of MSD reports my XT as having 20+ MB of extended memory. Where a definiton appears universal, no identification is made. Where the definition is thought to be specific to a manufacturer/model (AMI, AMSTRAD, IBM AT, IBM PS/2) the identification is enclosed in parens. The -AMSTAD definitions appear to relate to 8088/8086 (PC and PC/XT class) -mchines only. AT class machines appear to adhere to IBM PC/AT fornat. +AMSTRAD definitions appear to relate to 8088/8086 (PC and PC/XT class) +machines only. AT class machines appear to adhere to IBM PC/AT format. + - ---------------------------------------------------------------------------- - + End of original 64 CMOS RAM bytes. Many modern chips now contain 128 bytes and the IBM PS/2 has provision for 2k of "Expansion CMOS". @@ -175,4 +175,4 @@ mchines only. AT class machines appear to adhere to IBM PC/AT fornat. 64 bytes, addresses will wrap so that requests for bytes 40h-7Fh will return the same values as 00h-3Fh. - + diff --git a/source/Interrupt List/INT 21 DOS Function Calls/INT 2136 DOS 2 GET FREE DISK SPACE.txt b/source/Interrupt List/INT 21 DOS Function Calls/INT 2136 DOS 2 GET FREE DISK SPACE.txt index fae9509cc..f89bbd2d9 100644 --- a/source/Interrupt List/INT 21 DOS Function Calls/INT 2136 DOS 2 GET FREE DISK SPACE.txt +++ b/source/Interrupt List/INT 21 DOS Function Calls/INT 2136 DOS 2 GET FREE DISK SPACE.txt @@ -22,5 +22,4 @@ Notes: free space on drive in bytes is AX * BX * CX use AX=4402h"CD-ROM" instead (FAT32 drive) the reported total and free space are limited to 2G-32K should they exceed that value -SeeAlso: AH=1Bh,AH=1Ch,AX=4402h"CD-ROM",AX=7303h - +SeeAlso: AH=1Bh,AH=1Ch,AX=4402h"CD-ROM",AX=7303h,INT 2F/AX=110Ch diff --git a/source/Interrupt List/INT 21 DOS Function Calls/INT 214C DOS 2 EXIT TERMINATE WITH RETURN CODE.txt b/source/Interrupt List/INT 21 DOS Function Calls/INT 214C DOS 2 EXIT TERMINATE WITH RETURN CODE.txt index 10288f146..f7ce1cb6b 100644 --- a/source/Interrupt List/INT 21 DOS Function Calls/INT 214C DOS 2 EXIT TERMINATE WITH RETURN CODE.txt +++ b/source/Interrupt List/INT 21 DOS Function Calls/INT 214C DOS 2 EXIT TERMINATE WITH RETURN CODE.txt @@ -8,9 +8,10 @@ INT 21 - DOS 2+ - "EXIT" - TERMINATE WITH RETURN CODE AH = 4Ch AL = return code Return: never returns -Notes: unless the process is its own parent - (see #01378 [offset 16h] at AH=26h), all open files are closed and - all memory belonging to the process is freed +Notes: unless the process is its own parent (see #01378 [offset 16h] at + AH=26h), all open files are closed and all memory belonging to the + process is freed. (the same code path of not closing handles and + not freeing memory is taken for TSR AH=31h.) the parent process is made the current process. this INT 21 call reads the SS:SP stack of the parent from the parent's PSP (see #01378 [offset 2Eh] at AH=26h) and returns on that user stack, @@ -40,5 +41,4 @@ Notes: unless the process is its own parent so that they receive exactly the same user stack as was set up by the interrupt caller. SeeAlso: AH=00h,AH=26h,AH=4Bh,AH=4Dh,INT 15/AH=12h/BH=02h,INT 20,INT 22 -SeeAlso: INT 60/DI=0601h - +SeeAlso: INT 60/DI=0601h,INT 2F/AX=111Dh,INT 2F/AX=1122h diff --git a/source/Interrupt List/INT 21 DOS Function Calls/INT 217142 EDR-DOS 64-bit seek.txt b/source/Interrupt List/INT 21 DOS Function Calls/INT 217142 EDR-DOS 64-bit seek.txt index b67f1f2a0..e7cb8a41a 100644 --- a/source/Interrupt List/INT 21 DOS Function Calls/INT 217142 EDR-DOS 64-bit seek.txt +++ b/source/Interrupt List/INT 21 DOS Function Calls/INT 217142 EDR-DOS 64-bit seek.txt @@ -18,7 +18,7 @@ Return: CF clear if successful AX = error code (01h,06h) (see #01680 at AH=59h/BX=0000h) CF unchanged or CF set if no function 71h subfunctions supported AX = error code (7100h) -SeeAlso: AH=42h +SeeAlso: AH=42h,INT 2F/AX=1142h"dosemu2",INT 2F/AX=11C2h"dosemu2" Notes: supported by FAT+ builds of Enhanced DR-DOS (including 2023+ lDOS flavour and if FATPLUS option enabled for 2023+ SvarDOS flavour; the SvarDOS fork introduced the FATPLUS option to disable it by diff --git a/source/Interrupt List/INT 21 DOS Function Calls/INT 217303 Windows95 FAT32 GET EXTENDED FREE SPACE ON DRIVE.txt b/source/Interrupt List/INT 21 DOS Function Calls/INT 217303 Windows95 FAT32 GET EXTENDED FREE SPACE ON DRIVE.txt index 855acae0e..80d859660 100644 --- a/source/Interrupt List/INT 21 DOS Function Calls/INT 217303 Windows95 FAT32 GET EXTENDED FREE SPACE ON DRIVE.txt +++ b/source/Interrupt List/INT 21 DOS Function Calls/INT 217303 Windows95 FAT32 GET EXTENDED FREE SPACE ON DRIVE.txt @@ -25,7 +25,7 @@ BUGS: this function returns a maximum of 2GB free space even on an FAT32 partition larger than 2GB under some versions of Win95 and Win98, apparently by limiting the number of reported free clusters to no more than 64K -- but only in a DOS window if a TSR has hooked INT 21h -SeeAlso: AX=7302h,AX=7304h,AX=7305h,AH=36h +SeeAlso: AX=7302h,AX=7304h,AX=7305h,AH=36h,INT 2F/AX=11A3h"dosemu2" Format of extended free space structure: Offset Size Description (Table 01789) diff --git a/source/Interrupt List/INT 2F Multiplex/Networking/INT 2F110C NETWORK REDIRECTOR GET DISK INFORMATION.txt b/source/Interrupt List/INT 2F Multiplex/Networking/INT 2F110C NETWORK REDIRECTOR GET DISK INFORMATION.txt index 0f83ae80f..397bbc5cb 100644 --- a/source/Interrupt List/INT 2F Multiplex/Networking/INT 2F110C NETWORK REDIRECTOR GET DISK INFORMATION.txt +++ b/source/Interrupt List/INT 2F Multiplex/Networking/INT 2F110C NETWORK REDIRECTOR GET DISK INFORMATION.txt @@ -16,5 +16,4 @@ Return: CF clear if data valid DX = number of available clusters CF set if data invalid Notes: this function is called by the DOS 3.1+ kernel -SeeAlso: INT 21/AH=36h - +SeeAlso: INT 21/AH=36h,AX=11A3h"dosemu2" diff --git a/source/Interrupt List/INT 2F Multiplex/Networking/INT 2F111D NETWORK REDIRECTOR CLOSE ALL REMOTE FILES FOR PROCESS ABORT.txt b/source/Interrupt List/INT 2F Multiplex/Networking/INT 2F111D NETWORK REDIRECTOR CLOSE ALL REMOTE FILES FOR PROCESS ABORT.txt index b2ed23229..dc40812fd 100644 --- a/source/Interrupt List/INT 2F Multiplex/Networking/INT 2F111D NETWORK REDIRECTOR CLOSE ALL REMOTE FILES FOR PROCESS ABORT.txt +++ b/source/Interrupt List/INT 2F Multiplex/Networking/INT 2F111D NETWORK REDIRECTOR CLOSE ALL REMOTE FILES FOR PROCESS ABORT.txt @@ -15,8 +15,7 @@ Notes: used when a process is aborted; the process being terminated is this function is called by the DOS 3.1+ kernel closes all FCBs opened by process this is only called if the process being terminated isn't self- - parented and the termination is no TSR. + parented and the termination is no TSR (INT 21/AH=31h). called after all PHT / Job File Table entries have been closed, and before FCB SFTs and busy SFTs are freed. -SeeAlso: INT 21/AX=5D04h - +SeeAlso: AX=1122h,INT 21/AH=4Ch,INT 21/AX=5D04h diff --git a/source/Interrupt List/INT 2F Multiplex/Networking/INT 2F1121 NETWORK REDIRECTOR SEEK FROM END OF REMOTE FILE.txt b/source/Interrupt List/INT 2F Multiplex/Networking/INT 2F1121 NETWORK REDIRECTOR SEEK FROM END OF REMOTE FILE.txt index 05c94d96e..3b40941ba 100644 --- a/source/Interrupt List/INT 2F Multiplex/Networking/INT 2F1121 NETWORK REDIRECTOR SEEK FROM END OF REMOTE FILE.txt +++ b/source/Interrupt List/INT 2F Multiplex/Networking/INT 2F1121 NETWORK REDIRECTOR SEEK FROM END OF REMOTE FILE.txt @@ -18,6 +18,10 @@ Return: CF set on error Notes: this function is called by the DOS 3.1+ kernel, but only when seeking from the end of a file opened with sharing modes set in such a manner that another process is able to change the size of the file - while it is already open + while it is already open. if the seek origin is the file's current + seek or the start of the file, its resulting seek can be entirely + determined by DOS's local understanding of the file (its SFT). if + the seek origin is EOF and EOF may have changed, the redirector + must be called to determine the final seek. SeeAlso: AX=1228h,INT 21/AH=42h diff --git a/source/Interrupt List/INT 2F Multiplex/Networking/INT 2F1142 NETWORK REDIRECTOR dosemu2 64bit SEEK obsolete.txt b/source/Interrupt List/INT 2F Multiplex/Networking/INT 2F1142 NETWORK REDIRECTOR dosemu2 64bit SEEK obsolete.txt new file mode 100644 index 000000000..6e063753c --- /dev/null +++ b/source/Interrupt List/INT 2F Multiplex/Networking/INT 2F1142 NETWORK REDIRECTOR dosemu2 64bit SEEK obsolete.txt @@ -0,0 +1,22 @@ +---------------------------------------------------------------------------- + Unique ID: 2F1142 + Category: N network + Flag: C callout or callback (usually hooked rather than called) +---------------------------------------------------------------------------- + +INT 2F C - NETWORK REDIRECTOR - dosemu2 - 64-bit SEEK (obsolete) + AX = 1142h + DS:DX -> 64-bit seek buffer (in destination offset, out result seek) + CL = origin of move + 00h start of file + 01h current file position + 02h end of file + ES:DI -> SFT +Return: CF set on error + AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h) + CF clear if successful + buffer updated with new 64-bit file position +Notes: called by fdpp or lDOS SEEKEXT to service 64-bit seeking from + INT 21/AX=7142h on a redirector SFT + historical, now function number AX=11C2h is used +SeeAlso: INT 21/AH=42h,INT 21/AX=7142h,AX=11C2h diff --git a/source/Interrupt List/INT 2F Multiplex/Networking/INT 2F11A3 NETWORK REDIRECTOR dosemu2 GET LARGE DISK SPACE.txt b/source/Interrupt List/INT 2F Multiplex/Networking/INT 2F11A3 NETWORK REDIRECTOR dosemu2 GET LARGE DISK SPACE.txt new file mode 100644 index 000000000..f5c33be0b --- /dev/null +++ b/source/Interrupt List/INT 2F Multiplex/Networking/INT 2F11A3 NETWORK REDIRECTOR dosemu2 GET LARGE DISK SPACE.txt @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- + Unique ID: 2F11A3 + Category: N network + Flag: C callout or callback (usually hooked rather than called) +---------------------------------------------------------------------------- + +INT 2F C - NETWORK REDIRECTOR - dosemu2 - GET LARGE DISK SPACE + AX = 11A3h + ES:DI -> CDS +Return: CF set on error + AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h) + CF clear if successful + SI = block size (currently always 512) + AX:BX = number of blocks on disk, clamped to all-1s + CX:DX = number of blocks free, clamped to all-1s +Notes: called by fdpp to service INT 21/AX=7303h on a redirector drive +SeeAlso: INT 21/AX=7303h diff --git a/source/Interrupt List/INT 2F Multiplex/Networking/INT 2F11A6 NETWORK REDIRECTOR dosemu2 GET LARGE FILE INFO.txt b/source/Interrupt List/INT 2F Multiplex/Networking/INT 2F11A6 NETWORK REDIRECTOR dosemu2 GET LARGE FILE INFO.txt new file mode 100644 index 000000000..ceb088f1a --- /dev/null +++ b/source/Interrupt List/INT 2F Multiplex/Networking/INT 2F11A6 NETWORK REDIRECTOR dosemu2 GET LARGE FILE INFO.txt @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- + Unique ID: 2F11A6 + Category: N network + Flag: C callout or callback (usually hooked rather than called) +---------------------------------------------------------------------------- + +INT 2F C - NETWORK REDIRECTOR - dosemu2 - GET LARGE FILE INFO + AX = 11A6h + DS:DX -> buffer for result (see #01784) + ES:DI -> SFT +Return: CF set on error + AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h) + CF clear if successful + buffer written +Notes: called by fdpp or lDOS SEEKEXT to service INT 21/AX=71A6h on a + redirector SFT +SeeAlso: INT 21/AX=71A6h diff --git a/source/Interrupt List/INT 2F Multiplex/Networking/INT 2F11C2 NETWORK REDIRECTOR dosemu2 64bit SEEK.txt b/source/Interrupt List/INT 2F Multiplex/Networking/INT 2F11C2 NETWORK REDIRECTOR dosemu2 64bit SEEK.txt new file mode 100644 index 000000000..5c385c72a --- /dev/null +++ b/source/Interrupt List/INT 2F Multiplex/Networking/INT 2F11C2 NETWORK REDIRECTOR dosemu2 64bit SEEK.txt @@ -0,0 +1,22 @@ +---------------------------------------------------------------------------- + Unique ID: 2F11C2 + Category: N network + Flag: C callout or callback (usually hooked rather than called) +---------------------------------------------------------------------------- + +INT 2F C - NETWORK REDIRECTOR - dosemu2 - 64-bit SEEK + AX = 11C2h + DS:DX -> 64-bit seek buffer (in destination offset, out result seek) + CL = origin of move + 00h start of file + 01h current file position + 02h end of file + ES:DI -> SFT +Return: CF set on error + AX = DOS error code (see #01680 at INT 21/AH=59h/BX=0000h) + CF clear if successful + buffer updated with new 64-bit file position +Notes: called by fdpp or lDOS SEEKEXT to service 64-bit seeking from + INT 21/AX=7142h on a redirector SFT + previously used function number AX=1142h +SeeAlso: INT 21/AH=42h,INT 21/AX=7142h,AX=1142h