Category : Miscellaneous Language Source Code
Archive   : BIOS-DOS.ZIP
Filename : DOSREF2.CRD
Output of file : DOSREF2.CRD contained in archive : BIOS-DOS.ZIP
| |
7 INT 21 - FUNCTION REQUEST (CONT.) | 8 ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ |
| ³ PROGRAM SEGMENT PREFIX LAYOUT ³ |
AH = 5C - LOCK/UNLOCK FILE ACCESS | ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ |
INPUT: AL = 00 TO LOCK; AL=01 TO UNLOCK | |
BX = FILE HANDLE | BYTE FUNCTION |
CX = OFFSET HIGH | |
DX = OFFSET LOW | 00-01 - INT 20 INSTRUCTION |
SI = LENGTH HIGH | 02-03 - TOP OF MEMORY IN SEGMENT (PARAGRAPH) FORM |
DI = LENGTH LOW | 04 - RESERVED |
OUTPUT: AX = ERROR CODE IF CARRY SET | 05-09 - LONG CALL TO THE DOS FUNCTION DISPATCHER |
| (06-07 - NUMBER OF BYTES AVAILABLE IN THIS SEGMENT) |
AH = 62 - GET PROGRAM SEGMENT PREFIX ADDRESS | 0A-0D - TERMINATE ADDRESS (IP,CS) |
INPUT: NONE | 0E-11 - CTL-BREAK EXIT ADDRESS (IP,CS) |
OUTPUT: BX = SEGMENT ADDRESS OF CURRENT PROCESS | 12-15 - CRITICAL ERROR EXIT ADDRESS (IP,CS) |
| 16-2B - USED BY DOS |
| 2C-2D - SEGMENT ADDRESS OF THE ENVIRONMENT |
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | 2E-5B - USED BY DOS |
³ INT 22 - PROGRAM TERMINATE ³ | 5C-6B - FORMATTED AS A STANDARD UNOPENED FCB |
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | 6C-7F - FORMATTED AS A STANDARD UNOPENED FCB |
| 80 - NUMBER OF CHARACTERS ENTERED AFTER FILENAME |
INPUT: NONE. DO NOT EXECUTE THIS INTERRUPT DIRECTLY. | 81-FF - ALL CHARACTERS ENTERED AFTER THE FILENAME |
SEE DOS MANUAL FOR MORE INFORMATION. | |
| |
| ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ |
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ³ DIRECTORY STRUCTURE ³ |
³ INT 23 - CTL BREAK EXIT ADDRESS ³ | ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ |
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | |
| BYTE DESCRIPTION |
INPUT: NONE. DO NOT EXECUTE THIS INTERRUPT DIRECTLY. | |
SEE DOS MANUAL FOR MORE INFORMATION. | 00 - FILENAME STATUS: |
| 00 = FILENAME NEVER USED |
| 05 = FIRST CHARACTER OF FILENAME IS E5 |
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | E5 = FILE HAS BEEN ERASED |
³ INT 24 - CRITICAL ERROR HANDLER ³ | 2E = THIS IS A SUBDIRECTORY ENTRY |
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | 00-07 - FILENAME, LEFT JUSTIFIED |
| 08-0A - FILENAME EXTENTION, LEFT JUSTIFIED |
INPUT: NONE. DO NOT EXECUTE THIS INTERRUPT DIRECTLY. | 0B - FILE'S ATTRIBUTE: |
SEE DOS MANUAL FOR MORE INFORMATION. | ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿ |
| ³7³6³5³4³3³2³1³0³ BYTE 0B |
| ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÙ |
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ³ ³ ³ ³ ³ ³ ³ ³ |
³ INT 25 - ABSOLUTE DISK READ ³ | ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄ READ ONLY |
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄ HIDDEN |
| ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄ SYSTEM |
INPUT: AL = DRIVE NUMBER (0=A) | ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ VOLUME LABEL |
CX = NUMBER OF SECTORS TO READ | ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ SUBDIRECTORY |
DX = BEGINNING LOGICAL SECTOR NUMBER | ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ARCHIVE |
DS:BX = TRANSFER ADDRESS | ÀÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ UNUSED |
OUTPUT: AL = DOS ERROR CODE IF CARRY SET | 0C-15 - RESERVED BY DOS |
AH = BIOS ERROR CODE IF CARRY SET: | 16-17 - TIME THE FILE WAS CREATED OR LAST UPDATED: |
80 = ATTACHMENT FAILED TO RESPOND | ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿ |
40 = SEEK FAILED | ³F³E³D³C³B³A³9³8³7³6³5³4³3³2³1³0³ 17,16 |
08 = BAD CRC ON DISKETTE | ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÙ |
04 = SECTOR NOT FOUND | ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄÁÄÁÄÁÄÁÄ SECONDS/2 |
03 = WRITE PROTECT | ³ ³ ³ ³ ³ ÀÄÁÄÁÄÁÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄ MINUTES |
02 = OTHER ERROR | ÀÄÁÄÁÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ HOURS |
NOTE: CALLER FLAGS RETURNED ON STACK | 18-19 - DATE THE FILE WAS CREATED OR LAST UPDATED: |
| ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿ |
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ³F³E³D³C³B³A³9³8³7³6³5³4³3³2³1³0³ 19,18 |
³ INT 26 - ABSOLUTE DISK WRITE ³ | ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÙ |
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄÁÄÁÄÁÄÁÄ DAY 1-31 |
| ³ ³ ³ ³ ³ ³ ³ ÀÄÁÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄ MONTH 1-12 |
INPUT: AL = DRIVE NUMBER (0=A) | ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ YEAR + 1980 |
CX = NUMBER OF SECTORS TO WRITE | 1A-1B - STARTING CLUSTER NUMBER OF THE FIRST CLUSTER |
DX = BEGINNING LOGICAL SECTOR NUMBER | OF THE FILE |
DS:BX = TRANSFER ADDRESS | 1C-1F - FILE SIZE IN BYTES (LOW ORDER FIRST) |
OUTPUT: AL = DOS ERROR CODE IF CARRY SET | |
AH = BIOS ERROR CODE IF CARRY SET: | |
80 = ATTACHMENT FAILED TO RESPOND | ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ |
40 = SEEK FAILED | ³ FILE CONTROL BLOCK (FCB) LAYOUT ³ |
08 = BAD CRC ON DISKETTE | ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ |
04 = SECTOR NOT FOUND | |
03 = WRITE PROTECT | BYTE FUNCTION |
02 = OTHER ERROR | |
NOTE: CALLER FLAGS RETURNED ON STACK | -7 FLAG CONTAINING FF IF THIS IS AN EXTENDED FCB |
| -6 TO -2 RESERVED |
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | -1 DIRECTORY ATTRIBUTE BYTE |
³ INT 27 - TERMINATE BUT STAY RESIDENT ³ | 0 DRIVE NUMBER (0 FOR DEFAULT DRIVE) |
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | 1 TO 8 FILENAME, LEFT JUSTIFIED WITH TRAILING BLANKS |
| 9 TO 11 FILENAME EXTENSION, LEFT JUSTIFIED W/BLANKS |
INPUT: DS:DX = PROGRAM'S LAST ADDRESS PLUS ONE | 12,13 CURRENT BLOCK NUMBER RELATIVE TO START OF FILE|
OUTPUT: NONE | 14,15 LOGICAL RECORD SIZE IN BYTES |
| 16 TO 19 FILE SIZE IN BYTES |
| 20,21 DATE THE FILE WAS CREATED OR LAST UPDATED |
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿ |
³ INT 2F - PRINT.COM INTERFACE ³ | ³F³E³D³C³B³A³9³8³7³6³5³4³3³2³1³0³ 21,20 |
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÙ |
| ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄÁÄÁÄÁÄÁÄ DAY 1-31 |
AL = 00 - GET INSTALLED STATE | ³ ³ ³ ³ ³ ³ ³ ÀÄÁÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄ MONTH 1-12 |
INPUT: NONE | ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ YEAR + 1980 |
OUTPUT: AL = 00 IF NOT INSTALLED, OK TO INSTALL | |
AL = 01 IF NOT INSTALLED, NOT OK TO INSTALL | 22 TO 31 RESERVED FOR SYSTEM USE |
AL = FF IF INSTALLED | 32 CURRENT RELATIVE RECORD NUMBER WITHIN CURRENT |
| BLOCK |
AL = 01 - SUBMIT FILE | 22 TO 36 RELATIVE RECORD NUMBER FROM START OF FILE |
INPUT: DS:DX = POINTER TO A SUBMIT PACKET CONSISTING | |
OF THE LEVEL (BYTE) AND A DWORD | NOTE: POINT TO BYTE 0 FOR STANDARD FILE CONTROL BLOCK, |
POINTER TO AN ASCIIZ PATH/FILENAME | POINT TO BYTE "-7" FOR EXTENDED FILE CONTROL BLOCK|
OUTPUT: NONE | |
| |
AL = 02 - CANCEL FILE | ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ |
INPUT: DS:DX = POINTER TO ASCIIZ FILENAME TO CANCEL | ³ BOOT SECTOR LAYOUT ³ |
OUTPUT: NONE | ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ |
³ | |
AL = 03 - CANCEL ALL FILES ³ ---- ERROR CODES ---- | OFFSET SIZE DESCRIPTION |
INPUT: NONE ³ | 00 3 BYTES JUMP TO EXECUTABLE CODE |
OUTPUT: NONE ³ 01 - INVALID FUNCTION | 03 8 BYTES OEM NAME AND VERSION |
³ 02 - FILE NOT FOUND | 0B 1 WORD BYTES PER SECTOR |
AL = 04 - PAUSE / RETURN STATUS ³ 03 - PATH NOT FOUND | 0D 1 BYTE SECTORS PER ALLOCATION UNIT |
INPUT: NONE ³ 04 - TOO MANY FILES | 0E 1 WORD RESERVED SECTORS (STARTING AT 0) |
OUTPUT: DX = ERROR COUNT ³ 05 - ACCESS DENIED | 10 1 BYTE NUMBER OF FATS |
DS:SI = POINTER TO ³ 08 - QUEUE FULL | 11 1 WORD NUMBER OF ROOT DIR. ENTRIES ALLOWED |
PRINT QUEUE ³ 09 - BUSY | 13 1 WORD TOTAL NUMBER OF SECTORS IN MEDIA |
³ 0C - NAME TOO LONG | 15 1 BYTE MEDIA DESCRIPTOR |
AL = 05 - END OF STATUS ³ 0F - INVALID DRIVE | 16 1 WORD NUMBER OF SECTORS PER FAT |
INPUT: NONE ³ | 18 1 WORD SECTORS PER TRACK |
OUTPUT: AX = ERROR CODE ³ | 1A 1 WORD NUMBER OF HEADS |
| 1C 1 WORD NUMBER OF HIDDEN SECTORS |
| |
5 INT 21 - FUNCTION REQUEST (CONT.) | |
| 6 INT 21 - FUNCTION REQUEST (CONT.) |
AH = 2F - GET DISK TRANSFER ADDRESS (DTA) | |
INPUT: NONE | AH = 43 - CHANGE FILE MODE |
OUTPUT: ES:BX = THE CURRENT DTA | INPUT: DS:DX = POINTER TO AN ASCIIZ PATH NAME |
| CX = ATTRIBUTE |
AH = 30 - GET DOS VERSION NUMBER | AL = 00 TO GET ATTRIBUTE; 01 TO SET |
INPUT: NONE | OUTPUT: AX = ERROR CODE IF CARRY SET |
OUTPUT: AL = MAJOR VERSION NUMBER (LEFT OF DECIMAL) | CX = THE ATTRIBUTE |
AH = MINOR VERSION NUMBER (RIGHT OF DECIMAL) | |
BX,CX = 0000 | AH = 44 - I/O CONTROL FOR DEVICES |
| INPUT: DS:DX = DATA OR BUFFER |
AH = 31 - TERMINATE PROCESS AND REMAIN RESIDENT | CX = NUMBER OF BYTES TO READ OR WRITE |
INPUT: AL = EXIT CODE (RETURNED TO BATCH FILES) | BX = FILE HANDLE |
DX = THE MEMORY SIZE IN PARAGRAPHS | BL = DEVICE NUMBER (0=DEFAULT) |
OUTPUT: NONE | AL = FUNCTION VALUE |
| OUTPUT: AX = ERROR CODE IF CARRY SET |
AH = 33 - GET/SET CTL-BREAK CHECK STATE | AX = # OF BYTES XFERRED IF CARRY NOT SET |
INPUT: AL = 00 TO REQUEST CURRENT STATE | NOTE: SEE DOS MANUAL FOR FUNCTION VALUES |
AL = 01 TO SET CURRENT STATE | |
DL = 00 TO SET STATE OFF; DL=01 TO SET ON | AH = 45 - DUPLICATE A FILE HANDLE |
OUTPUT: DL = THE CURRENT STATE (00=OFF, 01=ON) | INPUT: BX = FILE HANDLE |
| OUTPUT: AX = ERROR CODE IF CARRY SET |
AH = 35 - GET VECTOR | AX = NEW FILE HANDLE IF CARRY NOT SET |
INPUT: AL = VECTOR NUMBER | |
OUTPUT: ES:BX = POINTER TO INTERRUPT HANDLER | AH = 46 - FORCE A DUPLICATE OF A FILE HANDLE |
| INPUT: BX = EXISTING FILE HANDLE |
AH = 36 - GET DISK FREE SPACE | CX = SECOND FILE HANDLE |
INPUT: DL = DRIVE NUMBER (0=DEFAULT) | OUTPUT: AX = ERROR CODE IF CARRY SET |
OUTPUT: BX = AVAILABLE CLUSTERS | |
DX = CLUSTERS PER DRIVE | AH = 47 - GET THE CURRENT DIRECTORY |
CX = BYTES PER SECTOR | INPUT: DS:SI = POINTER TO A 64 BYTE USER AREA |
AX = FFFF IF DRIVE HAS INVALID SECTORS/CLUSTER | DL = DRIVE NUMBER (0=DEFAULT) |
| OUTPUT: DS:SI = POINTER TO PATH NAME FROM ROOT |
AH = 38 - GET COUNTRY DEPENDENT INFORMATION | AX = ERROR CODE IF CARRY SET |
INPUT: DS:DX = POINTER TO BUFFER FOR RETURNED DATA | |
AL = 00 TO GET CURRENT COUNTRY INFORMATION | AH = 48 - ALLOCATE MEMORY |
AL = 01-FE FOR COUNTRY CODES < 255 | INPUT: BX = # OF PARAGRAPHS OF MEMORY REQUESTED |
AL = FF FOR COUNTRY CODES >255 | OUTPUT: AX:0 = POINTER TO ALLOCATED MEMORY BLOCK |
BX = COUNTRY CODE IF AL = FF | AX = ERROR CODE IF CARRY SET |
OUTPUT: AX = ERROR CODE IF CARRY SET | BX = SIZE OF THE LARGEST BLOCK OF MEMORY |
DS:DX = POINTER TO BUFFER OF RETURNED DATA | AVAILABLE (PARAGRAPHS) IF CARRY SET |
BX = COUNTRY CODE | |
| AH = 49 - FREE ALLOCATED MEMORY |
AH = 38 - SET CURRENT COUNTRY | INPUT: ES = SEGMENT OF THE BLOCK TO BE RETURNED |
INPUT: DX = FFFF | OUTPUT: AX = ERROR CODE IF CARRY SET |
AL = 01-FE FOR COUNTRY CODES < 255 | |
AL = FF FOR COUNTRY CODES >255 | AH = 4A - MODIFY ALLOCATED MEMORY BLOCKS |
BX = COUNTRY CODE IF AL = FF | INPUT: ES = THE SEGMENT OF THE BLOCK |
OUTPUT: AX = ERROR CODE IF CARRY SET | BX = REQUESTED BLOCK SIZE IN PARAGRAPHS |
| OUTPUT: AX = ERROR CODE IF CARRY SET |
NOTE: SEE DOS MANUAL FOR COUNTRY INFORMATION | BX = MAXIMUM SIZE POSSIBLE IF CARRY SET |
BUFFER LAYOUT AND COUNTRY CODES | |
| AH = 4B - LOAD OR EXECUTE A PROGRAM |
AH = 39 - CREATE SUBDIRECTORY (MKDIR) | INPUT: DS:DX = POINTER TO AN ASCIIZ FILENAME |
INPUT: DS:DX = POINTER TO ASCIIZ PATH NAME | ES:BX = POINTER TO A PARAMETER BLOCK |
OUTPUT: AX = ERROR CODE IF CARRY SET | AL = 00 TO LOAD AND EXECUTE PROGRAM |
| AL = 03 TO JUST LOAD |
AH = 3A - REMOVE SUBDIRECTORY (RMDIR) | OUTPUT: AX = ERROR CODE IF CARRY SET |
INPUT: DS:DX = POINTER TO ASCIIZ PATH NAME | |
OUTPUT: AX = ERROR CODE IF CARRY SET | AH = 4C - TERMINATE A PROCESS |
| INPUT: AL = RETURN CODE (FOR BATCH FILES) |
AH = 3B - CHANGE THE CURRENT DIRECTORY (CHDIR) | OUTPUT: NONE |
INPUT: DS:DX = POINTER TO ASCIIZ PATH NAME | |
OUTPUT: AX = ERROR CODE IF CARRY SET | AH = 4D - GET THE RETURN CODE OF A SUB-PROCESS |
| INPUT: NONE |
AH = 3C - CREATE A FILE | OUTPUT: AL = EXIT CODE SENT BY SUB-PROCESS |
INPUT: DS:DX = POINTER TO ASCIIZ PATH NAME | AH = 00 FOR NORMAL TERMINATION |
CX = THE ATTRIBUTE OF THE FILE | AH = 01 IF TERMINATED BY CTL-BREAK |
OUTPUT: AX = ERROR CODE IF CARRY SET | AH = 02 IF CRITICAL DEVICE ERROR |
AX = FILE'S HANDLE IF CARRY NOT SET | AH = 03 IF TERMINATED BY FUNCTION REQ. 31 |
| |
AH = 3D - OPEN A FILE | AH = 4E - FIND FIRST MATCHING FILE |
INPUT: DS:DX = POINTER TO AN ASCIIZ PATH NAME | INPUT: DS:DX = POINTER TO ASCIIZ PATH/FILENAME |
ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿ | CX = ATTRIBUTE USED DURING SEARCH |
AL = ³7³6³5³4³3³2³1³0³ OPEN MODE | OUTPUT: AX = ERROR CODE IF CARRY SET |
ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÙ | |
³ ³ ³ ³ ³ ³ ³ ³ | AH = 4F - FIND NEXT MATCHING FILE |
³ ³ ³ ³ ³ ÀÄÁÄÁÄÄÄÄÄ ACCESS MODE | INPUT: DS:DX = UNCHANGED FROM PREVIOUS FUNCTION 4E|
³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄ ALWAYS 0 | OUTPUT: AX = ERROR CODE IF CARRY SET |
³ ÀÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄ SHARING MODE | |
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INHERITANCE FLAG | AH = 54 - GET VERIFY SETTING |
(SEE DOS MANUAL FOR BIT VALUES) | INPUT: NONE |
OUTPUT: AX = ERROR CODE IF CARRY SET | OUTPUT: AL = 00 IF VERIFY OFF, AL=01 IF VERIFY ON |
AX = FILE HANDLE IF CARRY NOT SET | |
| AH = 56 - RENAME A FILE |
AH = 3E - CLOSE A FILE HANDLE | INPUT: DS:DX = POINTER TO OLD ASCIIZ PATH/FILENAME|
INPUT: BX = THE FILE HANDLE TO CLOSE | ES:DI = POINTER TO NEW ASCIIZ PATH/FILENAME|
OUTPUT: AX = ERROR CODE IF CARRY SET | OUTPUT: AX = ERROR CODE IF CARRY SET |
| |
AH = 3F - READ FROM A FILE OR DEVICE | AH = 57 - GET/SET A FILE'S DATE AND TIME |
INPUT: BX = FILE HANDLE | INPUT: AL = 00 TO GET; AL=01 TO SET |
DS:DX = POINTER TO READ BUFFER | BX = FILE'S HANDLE |
CX = NUMBER OF BYTES TO READ | CX = TIME TO BE SET |
OUTPUT: AX = ERROR CODE IF CARRY SET | DX = DATE TO BE SET |
AX = NUMBER OF BYTES READ IF CARRY NOT SET | OUTPUT: AX = ERROR CODE IF CARRY SET |
| CX = FILE'S TIME FROM TABLE |
AH = 40 - WRITE TO A FILE OR DEVICE | DX = FILE'S DATE FROM TABLE |
INPUT: BX = FILE HANDLE | |
DS:DX = POINTER TO WRITE BUFFER | AH = 59 - GET EXTENDED ERROR INFORMATION |
CX = NUMBER OF BYTES TO WRITE | INPUT: BX = 00 FOR VERSIONS 3.0, 3.1, 3.2 |
OUTPUT: AX = ERROR CODE IF CARRY SET | OUTPUT: AX = EXTENDED ERROR CODE (SEE PANEL 1) |
AX = NUMBER OF BYTES WRITTEN IF CARRY NOT SET | BH = ERROR CLASS (SEE PANEL 1) |
| BL = SUGGESTED ACTION (SEE PANEL 1) |
AH = 41 - DELETE A FILE FROM A SPECIFIED DIRECTORY | CH = LOCUS (SEE PANEL 1) |
INPUT: DS:DX = POINTER TO AN ASCIIZ FILENAME | |
OUTPUT: AX = ERROR CODE IF CARRY SET | AH = 5A - CREATE A TEMPORARY FILE |
| INPUT: DS:DX = POINTER TO ASCIIZ PATH ENDING IN \ |
AH = 42 - MOVE FILE READ/WRITE POINTER | CX = ATTRIBUTE |
INPUT: CX:DX = DISTANCE TO MOVE IN BYTES (OFFSET) | OUTPUT: AX = ERROR CODE IF CARRY SET |
AL = ORIGIN OF MOVE: | DS:DX = POINTER TO ASCIIZ PATH/FILENAME |
00 = BEGINNING OF FILE PLUS OFFSET | |
01 = CURRENT LOCATION PLUS OFFSET | AH = 5B - CREATE A NEW FILE |
02 = END OF FILE PLUS OFFSET | INPUT: DS:DX = POINTER TO ASCIIZ PATH/FILENAME |
BX = THE FILE'S HANDLE | CX = ATTRIBUTE |
OUTPUT: AX = ERROR CODE IF CARRY SET | OUTPUT: AX = ERROR CODE IF CARRY SET |
DX:AX = NEW POINTER LOCATION IF CARRY NOT SET | AX = HANDLE IF CARRY NOT SET |
| |
CONTINUED ON NEXT PANEL | CONTINUED ON NEXT PANEL |
| |
Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!
This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.
But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/