📄 farcall.lst
字号:
FAR CALL Interface List Release 61 Last change 16jul00
Copyright (c) 1989-1999,2000 Ralf Brown
=============================================
>CALL 0000h:0000h - Sample Entry
>Program: description of the program(s) providing the API
>InstallCheck: how to determine CALL address if variable, whether it is
> available if address is fixed
>Note: any notes related to the API
>SeeAlso: related APIs, and interrupt entries for this API in INTERRUP.*
>
>Call entry point with:
> input registers
>Return: result registers
>
>Format of data:
>Offset Size Description
> 00h ... ...
=============================================
--------D-@00600000--------------------------
CALL 0060h:0000h - Eagle MS-DOS v1.25 IO.SYS - INITIALIZE
InstallCheck: MS-DOS v1.25 must be installed
Note: this function should only be called by MSDOS.SYS
SeeAlso: @0060h:0003h,@0060h:0039h
--------D-@00600003--------------------------
CALL 0060h:0003h - Eagle MS-DOS v1.25 IO.SYS - CHECK FOR KEYSTROKE
InstallCheck: MS-DOS v1.25 must be installed
Note: does not return extended keystrokes
SeeAlso: @0060h:0000h,@0060h:0006h,@0060h:0027h
(Table F0001)
Call Eagle MS-DOS entry point 0003h with:
nothing
Return: ZF set if no key
ZF clear if keystroke available
AL = keystroke
--------D-@00600006--------------------------
CALL 0060h:0006h - Eagle MS-DOS v1.25 IO.SYS - WAIT FOR KEYSTROKE
InstallCheck: MS-DOS v1.25 must be installed
Notes: if an extended keystroke is available, only the low byte is returned,
and this function must be called again to get the high byte
the BIOS keycode 0000h (Ctrl-Break) is returned as 00h+FFh to avoid
the ambiguity that might be caused by returning the 00h high byte
SeeAlso: @0060h:0000h,@0060h:0003h,@0060h:0027h
(Table F0002)
Call Eagle MS-DOS entry point 0006h with:
nothing
Return: AL = keystroke
flags modified
--------D-@00600009--------------------------
CALL 0060h:0009h - Eagle MS-DOS v1.25 IO.SYS - OUTPUT CHARACTER TO SCREEN
InstallCheck: MS-DOS v1.25 must be installed
Note: this entry point supports most of the ANSI.SYS control sequences,
plus several additional escape sequences
SeeAlso: @0060h:0000h,@0060h:0003h,@0060h:000Ch
(Table F0003)
Call Eagle MS-DOS entry point 0009h with:
AL = character to output
Return: flags modified
--------D-@0060000C--------------------------
CALL 0060h:000Ch - Eagle MS-DOS v1.25 IO.SYS - OUTPUT CHARACTER TO PRINTER
InstallCheck: MS-DOS v1.25 must be installed
Note: this entry point is able, if set by configuration (see @0060h:0039h),
to strip linefeed characters following carriage returns
SeeAlso: @0060h:0000h,@0060h:0009h
(Table F0004)
Call Eagle MS-DOS entry point 000Ch with:
AL = character to be printed
Return: flags modified
--------D-@0060000F--------------------------
CALL 0060h:000Fh - Eagle MS-DOS v1.25 IO.SYS - INPUT CHAR FROM AUX: DEVICE
InstallCheck: MS-DOS v1.25 must be installed
Note: if the configured AUX: device is a parallel port, this call always
returns a Ctrl-Z as the "read" character; Ctrl-Z is also returned
if the user presses Esc or Ctrl-Break while waiting for a character
to arrive on a serial port
SeeAlso: @0060h:0000h
(Table F0005)
Call Eagle MS-DOS entry point 000Fh with:
nothing
Return: AL = received character
--------D-@00600012--------------------------
CALL 0060h:0012h - Eagle MS-DOS v1.25 IO.SYS - OUTPUT CHAR TO AUX: DEVICE
InstallCheck: MS-DOS v1.25 must be installed
Note: if the port is busy, this function waits until the port becomes
available or the user presses Esc or Ctrl-Break
SeeAlso: @0060h:0000h
(Table F0006)
Call Eagle MS-DOS entry point 0012h with:
AL = character to output
Return: flags modified
--------D-@00600015--------------------------
CALL 0060h:0015h - Eagle MS-DOS v1.25 IO.SYS - READ ABSOLUTE SECTOR(S)
InstallCheck: MS-DOS v1.25 must be installed
SeeAlso: @0060h:0000h,@0060h:0018h,@0060h:001Bh
(Table F0007)
Call Eagle MS-DOS entry point 0015h with:
AL = drive table number
ES:BX -> buffer
CX = number of sectors to read
DX = logical sector number of first sector
AH = verify flag
Return: CF clear if successful
CF set on error
AL = error code
0Ch drive table number out of range
Note: the drive number in AL is *not* the logical DOS drive number, but
the number of an internal data table; multiple data tables, each
describing a distinct disk format, may be shared by one logical
drive
--------D-@00600018--------------------------
CALL 0060h:0018h - Eagle MS-DOS v1.25 IO.SYS - WRITE ABSOLUTE SECTOR(S)
InstallCheck: MS-DOS v1.25 must be installed
SeeAlso: @0060h:0000h,@0060h:0015h,@0060h:001Bh
(Table F0008)
Call Eagle MS-DOS entry point 0018h with:
AL = drive table number
ES:BX -> data to be written
CX = number of sectors to write
DX = logical sector number of first sector
AH = verify flag
Return: CF clear if successful
CF set on error
AL = error code
0Ch drive table number out of range
Note: the drive number in AL is *not* the logical DOS drive number, but
the number of an internal data table; multiple data tables, each
describing a distinct disk format, may be shared by one logical
drive
--------D-@0060001B--------------------------
CALL 0060h:001Bh - Eagle MS-DOS v1.25 IO.SYS - DETERMINE DISK FORMAT
InstallCheck: MS-DOS v1.25 must be installed
SeeAlso: @0060h:0000h,@0060h:0015h,@0060h:002Ah
(Table F0009)
Call Eagle MS-DOS entry point 001Bh with:
AL = DOS drive number
Return: CF clear if successful
AL = drive table number
AH = ??? flag
00h ???
FFh ???
CF set on error
AL = error code
02h ???
0Ch unrecognized format
--------D-@0060001E--------------------------
CALL 0060h:001Eh - Eagle MS-DOS v1.25 IO.SYS - SET DAY COUNT
InstallCheck: MS-DOS v1.25 must be installed
SeeAlso: @0060h:0000h,@0060h:0021h,@0060h:0024h
(Table F0010)
Call Eagle MS-DOS entry point 001Eh with:
AX = day count
Return: nothing
--------D-@00600021--------------------------
CALL 0060h:0021h - Eagle MS-DOS v1.25 IO.SYS - SET SYSTEM TIME
InstallCheck: MS-DOS v1.25 must be installed
SeeAlso: @0060h:0000h,@0060h:001Eh,@0060h:0024h
(Table F0011)
Call Eagle MS-DOS entry point 0021h with:
CH = hours
CL = minutes
DH = seconds
DL = hundredths
Return: flags modified
--------D-@00600024--------------------------
CALL 0060h:0024h - Eagle MS-DOS v1.25 IO.SYS - READ SYSTEM TIME
InstallCheck: MS-DOS v1.25 must be installed
SeeAlso: @0060h:0000h,@0060h:001Eh,@0060h:0021h
(Table F0012)
Call Eagle MS-DOS entry point 0024h with:
nothing
Return: AX = day count
CH = hours
CL = minutes
DH = seconds
DL = hundredths
--------D-@00600027--------------------------
CALL 0060h:0027h - Eagle MS-DOS v1.25 IO.SYS - CLEAR KEYBOARD BUFFER
InstallCheck: MS-DOS v1.25 must be installed
SeeAlso: @0060h:0000h,@0060h:0003h,@0060h:0006h
(Table F0013)
Call Eagle MS-DOS entry point 0027h with:
nothing
Return: ZF set
--------D-@0060002A--------------------------
CALL 0060h:002Ah - Eagle MS-DOS v1.25 IO.SYS - SEARCH FOR NEXT DISK FORMAT
InstallCheck: MS-DOS v1.25 must be installed
SeeAlso: @0060h:0000h,@0060h:001Bh
(Table F0014)
Call Eagle MS-DOS entry point 002Ah with:
AL = drive table number
Return: AL = next drive table number with matching disk sector size and media
ID byte
--------D-@00600039--------------------------
CALL 0060h:0039h - Eagle MS-DOS v1.25 IO.SYS - CONFIGURE FROM SYSINFO.SYS
InstallCheck: MS-DOS v1.25 must be installed
Note: reads the first 144 bytes of SYSINFO.SYS from the current drive into
an internal configuration buffer
SeeAlso: @0060h:0000h
--------V-@C0000003--------------------------
CALL C000h:0003h - VIDEO BIOS INITIALIZATION
InstallCheck: C000h:0000h must contain the word AA55h and the
512*BYTE[C000h:0002h] bytes must sum to 00h (mod 256)
Note: is normally called only by the System ROM BIOS initialization code
--------V-@C0000064--------------------------
CALL C000h:0064h U - ATI Mach32 VIDEO BIOS - ???
InstallCheck: ATI Mach32 video board must be installed
SeeAlso: @C000h:0068h"Mach32",@C000h:006Ch,@C000h:0070h
(Table F0015)
Call ATI Mach32 entry point with:
AL = function
00h ???
01h,02h ???
11h,12h ???
21h,22h ???
41h,42h ???
81h,82h ???
Return: CF clear if successful
CF set on error
--------V-@C0000064--------------------------
CALL C000h:0064h U - ATI Mach64 VIDEO BIOS - ALTERNATE INT 10/AH=A0h (IRET)
InstallCheck: ATI Mach64 video board must be installed
SeeAlso: @C000h:0068h"Mach64",INT 10/AH=A0h"Mach64"
--------V-@C0000068--------------------------
CALL C000h:0068h U - ATI Mach32 VIDEO BIOS - ???
InstallCheck: ATI Mach32 video board must be installed
SeeAlso: @C000h:0064h"Mach32",@C000h:006Ch,@C000h:0070h
(Table F0016)
Call ATI Mach32 entry point with:
AL = ??? (00h-02h)
???
Return: ???
--------V-@C0000068--------------------------
CALL C000h:0068h U - ATI Mach64 VIDEO BIOS - ALTERNATE INT 10/AH=A0h (RETF)
InstallCheck: ATI Mach64 video board must be installed
SeeAlso: @C000h:0064h"Mach64",INT 10/AH=A0h"Mach64"
--------V-@C000006C--------------------------
CALL C000h:006Ch - ATI Mach32 VIDEO BIOS -
InstallCheck: ATI Mach32 video board must be installed
SeeAlso: @C000h:0064h,@C000h:0068h,@C000h:0070h
(Table F0017)
Call ATI Mach32 entry point with:
AL = function
00h get ???
Return: AX = ??? (019Eh)
01h get ??? information
ES:BX -> buffer for ??? information (see #F0018)
Return: buffer filled
02h get ???
Return: AX = ??? (0250h)
BX = ??? (0A00h)
CX = ??? (0200h)
DX = ??? (0003h)
Return: CF clear if successful
CF set if invalid function
all other registers preserved
Note: officially (Programmer's Reference Guide), interrupts should be
disabled (CLI) during a function 01h call
Format of ATI Mach32 ??? information:
Offset Size Description (Table F0018)
00h WORD number of bytes of data returned (0116h for tested BIOS)
02h 2 BYTEs ??? (00h 00h and 00h 05h seen)
04h WORD offset of video mode records??? (0028h)
06h BYTE length of one video mode record??? (22h)
07h BYTE ???
08h BYTE ??? (00h/01h, reflects bit 1 of port 36EEh)
09h BYTE ??? (01h)
0Ah BYTE ???
0Bh BYTE memory size
00h = 256K, 01h = 512K, 02h = 1024K, 03h = 2M, 04h = 4M
0Ch BYTE ???
0Dh BYTE ???
0Eh BYTE ???
0Fh BYTE ??? (bits 6-4 of port 42E8h)
10h BYTE ???
11h BYTE ???
12h BYTE ???
13h BYTE ???
14h WORD ???
16h BYTE ???
17h BYTE ???
18h BYTE ???
19h 14 BYTEs unused
27h BYTE scratch byte used by ROM code
28h 34N BYTEs ??? video mode records (see #F0019)
SeeAlso: #F0017
Format of ATI Mach32 ??? video mode record:
Offset Size Description (Table F0019)
00h WORD horizontal resolution in pixels
02h WORD vertical resolution in pixels
04h 30 BYTEs ???
SeeAlso: #F0018
--------V-@C0000070--------------------------
CALL C000h:0070h U - ATI Mach32 VIDEO BIOS - ???
InstallCheck: ATI Mach32 video board must be installed
SeeAlso: @C000h:0064h,@C000h:0068h,@C000h:006Ch
(Table F0020)
Call ATI Mach32 entry point with:
AH = function
00h ???
01h ???
02h ???
AL = subfunction
00h ???
01h ???
03h ???
AL = ??? (00h/nonzero)
Return: CF clear if successful
CF set on error
--------B-@F000E739--------------------------
CALL F000h:E739h - ROM BIOS INT 14 HANDLER
InstallCheck: present if BIOS is 100% compatible with original IBM PC
--------B-@F000E82E--------------------------
CALL F000h:E82Eh - ROM BIOS INT 16 HANDLER
InstallCheck: present if BIOS is 100% compatible with original IBM PC
--------B-@F000EC59--------------------------
CALL F000h:EC59h - ROM BIOS INT 13 HANDLER
InstallCheck: present if BIOS is 100% compatible with original IBM PC
--------B-@F000EFD2--------------------------
CALL F000h:EFD2h - ROM BIOS INT 17 HANDLER
InstallCheck: present if BIOS is 100% compatible with original IBM PC
--------B-@F000F065--------------------------
CALL F000h:F065h - ROM BIOS INT 10 HANDLER
InstallCheck: present if BIOS is 100% compatible with original IBM PC
--------B-@F000F841--------------------------
CALL F000h:F841h - ROM BIOS INT 12 HANDLER
InstallCheck: present if BIOS is 100% compatible with original IBM PC
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -