home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 24 / CD_ASCQ_24_0995.iso / dos / tools / inter47 / farcall.lst < prev    next >
File List  |  1995-08-13  |  47KB  |  1,257 lines

  1. FAR CALL Interface List     Release 47        Last Change 8/13/95
  2. This compilation is Copyright (c) 1989,1990,1991,1992,1993,1994,1995 Ralf Brown
  3.  
  4. =============================================
  5. >CALL 0000h:0000h - Sample Entry
  6. >InstallCheck:    how to determine CALL address if variable, whether it is
  7. >      available if address is fixed
  8. >Program: description of the program(s) providing the API
  9. >Note:    any notes related to the API
  10. >SeeAlso: related APIs, and interrupt entries for this API in INTERRUP.*
  11. >
  12. >Call entry point with:
  13. >    input registers
  14. >Return: result registers
  15. >
  16. >Format of data:
  17. >Offset    Size    Description
  18. > 00h    ...    ...
  19. =============================================
  20.  
  21. ----------@00600000--------------------------
  22. CALL 0060h:0000h - Eagle MS-DOS v1.25 IO.SYS - INITIALIZE
  23. InstallCheck:    MS-DOS v1.25 must be installed
  24. Note:    this function should only be called by MSDOS.SYS
  25. SeeAlso: @0060h:0003h,@0060h:0039h
  26. ----------@00600003--------------------------
  27. CALL 0060h:0003h - Eagle MS-DOS v1.25 IO.SYS - CHECK FOR KEYSTROKE
  28. InstallCheck:    MS-DOS v1.25 must be installed
  29. Note:    does not return extended keystrokes
  30. SeeAlso: @0060h:0000h,@0060h:0006h,@0060h:0027h
  31.  
  32. (Table F001)
  33. Call Eagle MS-DOS entry point 0003h with:
  34.     nothing
  35. Return: ZF set if no key
  36.     ZF clear if keystroke available
  37.         AL = keystroke
  38. ----------@00600006--------------------------
  39. CALL 0060h:0006h - Eagle MS-DOS v1.25 IO.SYS - WAIT FOR KEYSTROKE
  40. InstallCheck:    MS-DOS v1.25 must be installed
  41. Notes:    if an extended keystroke is available, only the low byte is returned,
  42.       and this function must be called again to get the high byte
  43.     the BIOS keycode 0000h (Ctrl-Break) is returned as 00h+FFh to avoid
  44.       the ambiguity that might be caused by returning the 00h high byte
  45. SeeAlso: @0060h:0000h,@0060h:0003h,@0060h:0027h
  46.  
  47. (Table F002)
  48. Call Eagle MS-DOS entry point 0006h with:
  49.     nothing
  50. Return: AL = keystroke
  51.     flags modified
  52. ----------@00600009--------------------------
  53. CALL 0060h:0009h - Eagle MS-DOS v1.25 IO.SYS - OUTPUT CHARACTER TO SCREEN
  54. InstallCheck:    MS-DOS v1.25 must be installed
  55. Note:    this entry point supports most of the ANSI.SYS control sequences,
  56.       plus several additional escape sequences
  57. SeeAlso: @0060h:0000h,@0060h:0003h,@0060h:000Ch
  58.  
  59. (Table F003)
  60. Call Eagle MS-DOS entry point 0009h with:
  61.     AL = character to output
  62. Return: flags modified
  63. ----------@0060000C--------------------------
  64. CALL 0060h:000Ch - Eagle MS-DOS v1.25 IO.SYS - OUTPUT CHARACTER TO PRINTER
  65. InstallCheck:    MS-DOS v1.25 must be installed
  66. Note:    this entry point is able, if set by configuration (see @0060h:0039h),
  67.       to strip linefeed characters following carriage returns
  68. SeeAlso: @0060h:0000h,@0060h:0009h
  69.  
  70. (Table F004)
  71. Call Eagle MS-DOS entry point 000Ch with:
  72.     AL = character to be printed
  73. Return: flags modified
  74. ----------@0060000F--------------------------
  75. CALL 0060h:000Fh - Eagle MS-DOS v1.25 IO.SYS - INPUT CHAR FROM AUX: DEVICE
  76. InstallCheck:    MS-DOS v1.25 must be installed
  77. Note:    if the configured AUX: device is a parallel port, this call always
  78.       returns a Ctrl-Z as the "read" character; Ctrl-Z is also returned
  79.       if the user presses Esc or Ctrl-Break while waiting for a character
  80.       to arrive on a serial port
  81. SeeAlso: @0060h:0000h
  82.  
  83. (Table F005)
  84. Call Eagle MS-DOS entry point 000Fh with:
  85.     nothing
  86. Return: AL = received character
  87. ----------@00600012--------------------------
  88. CALL 0060h:0012h - Eagle MS-DOS v1.25 IO.SYS - OUTPUT CHAR TO AUX: DEVICE
  89. InstallCheck:    MS-DOS v1.25 must be installed
  90. Note:    if the port is busy, this function waits until the port becomes
  91.       available or the user presses Esc or Ctrl-Break
  92. SeeAlso: @0060h:0000h
  93.  
  94. (Table F006)
  95. Call Eagle MS-DOS entry point 0012h with:
  96.     AL = character to output
  97. Return: flags modified
  98. ----------@00600015--------------------------
  99. CALL 0060h:0015h - Eagle MS-DOS v1.25 IO.SYS - READ ABSOLUTE SECTOR(S)
  100. InstallCheck:    MS-DOS v1.25 must be installed
  101. SeeAlso: @0060h:0000h,@0060h:0018h,@0060h:001Bh
  102.  
  103. (Table F007)
  104. Call Eagle MS-DOS entry point 0015h with:
  105.     AL = drive table number
  106.     ES:BX -> buffer
  107.     CX = number of sectors to read
  108.     DX = logical sector number of first sector
  109.     AH = verify flag
  110. Return: CF clear if successful
  111.     CF set on error
  112.         AL = error code
  113.         0Ch drive table number out of range
  114. Note:    the drive number in AL is *not* the logical DOS drive number, but
  115.       the number of an internal data table; multiple data tables, each
  116.       describing a distinct disk format, may be shared by one logical
  117.       drive
  118. ----------@00600018--------------------------
  119. CALL 0060h:0018h - Eagle MS-DOS v1.25 IO.SYS - WRITE ABSOLUTE SECTOR(S)
  120. InstallCheck:    MS-DOS v1.25 must be installed
  121. SeeAlso: @0060h:0000h,@0060h:0015h,@0060h:001Bh
  122.  
  123. (Table F008)
  124. Call Eagle MS-DOS entry point 0018h with:
  125.     AL = drive table number
  126.     ES:BX -> data to be written
  127.     CX = number of sectors to write
  128.     DX = logical sector number of first sector
  129.     AH = verify flag
  130. Return: CF clear if successful
  131.     CF set on error
  132.         AL = error code
  133.         0Ch drive table number out of range
  134. Note:    the drive number in AL is *not* the logical DOS drive number, but
  135.       the number of an internal data table; multiple data tables, each
  136.       describing a distinct disk format, may be shared by one logical
  137.       drive
  138. ----------@0060001B--------------------------
  139. CALL 0060h:001Bh - Eagle MS-DOS v1.25 IO.SYS - DETERMINE DISK FORMAT
  140. InstallCheck:    MS-DOS v1.25 must be installed
  141. SeeAlso: @0060h:0000h,@0060h:0015h,@0060h:002Ah
  142.  
  143. (Table F009)
  144. Call Eagle MS-DOS entry point 001Bh with:
  145.     AL = DOS drive number
  146. Return: CF clear if successful
  147.         AL = drive table number
  148.         AH = ??? flag
  149.         00h ???
  150.         FFh ???
  151.     CF set on error
  152.         AL = error code
  153.         02h ???
  154.         0Ch unrecognized format
  155. ----------@0060001E--------------------------
  156. CALL 0060h:001Eh - Eagle MS-DOS v1.25 IO.SYS - SET DAY COUNT
  157. InstallCheck:    MS-DOS v1.25 must be installed
  158. SeeAlso: @0060h:0000h,@0060h:0021h,@0060h:0024h
  159.  
  160. (Table F010)
  161. Call Eagle MS-DOS entry point 001Eh with:
  162.     AX = day count
  163. Return: nothing
  164. ----------@00600021--------------------------
  165. CALL 0060h:0021h - Eagle MS-DOS v1.25 IO.SYS - SET SYSTEM TIME
  166. InstallCheck:    MS-DOS v1.25 must be installed
  167. SeeAlso: @0060h:0000h,@0060h:001Eh,@0060h:0024h
  168.  
  169. (Table F011)
  170. Call Eagle MS-DOS entry point 0021h with:
  171.     CH = hours
  172.     CL = minutes
  173.     DH = seconds
  174.     DL = hundredths
  175. Return: flags modified
  176. ----------@00600024--------------------------
  177. CALL 0060h:0024h - Eagle MS-DOS v1.25 IO.SYS - READ SYSTEM TIME
  178. InstallCheck:    MS-DOS v1.25 must be installed
  179. SeeAlso: @0060h:0000h,@0060h:001Eh,@0060h:0021h
  180.  
  181. (Table F012)
  182. Call Eagle MS-DOS entry point 0024h with:
  183.     nothing
  184. Return: AX = day count
  185.     CH = hours
  186.     CL = minutes
  187.     DH = seconds
  188.     DL = hundredths
  189. ----------@00600027--------------------------
  190. CALL 0060h:0027h - Eagle MS-DOS v1.25 IO.SYS - CLEAR KEYBOARD BUFFER
  191. InstallCheck:    MS-DOS v1.25 must be installed
  192. SeeAlso: @0060h:0000h,@0060h:0003h,@0060h:0006h
  193.  
  194. (Table F013)
  195. Call Eagle MS-DOS entry point 0027h with:
  196.     nothing
  197. Return: ZF set
  198. ----------@0060002A--------------------------
  199. CALL 0060h:002Ah - Eagle MS-DOS v1.25 IO.SYS - SEARCH FOR NEXT DISK FORMAT
  200. InstallCheck:    MS-DOS v1.25 must be installed
  201. SeeAlso: @0060h:0000h,@0060h:001Bh
  202.  
  203. (Table F014)
  204. Call Eagle MS-DOS entry point 002Ah with:
  205.     AL = drive table number
  206. Return: AL = next drive table number with matching disk sector size and media
  207.           ID byte
  208. ----------@00600039--------------------------
  209. CALL 0060h:0039h - Eagle MS-DOS v1.25 IO.SYS - CONFIGURE FROM SYSINFO.SYS
  210. InstallCheck:    MS-DOS v1.25 must be installed
  211. Note:    reads the first 144 bytes of SYSINFO.SYS from the current drive into
  212.       an internal configuration buffer
  213. SeeAlso: @0060h:0000h
  214. ----------@C0000003--------------------------
  215. CALL C000h:0003h - VIDEO BIOS INITIALIZATION
  216. InstallCheck:    C000h:0000h must contain the word AA55h and the 
  217.           512*BYTE[C000h:0002h] bytes must sum to 00h (mod 256)
  218. Note:    is normally called only by the System ROM BIOS initialization code
  219. ----------@C0000064--------------------------
  220. CALL C000h:0064h U - ATI Mach32 VIDEO BIOS - ???
  221. InstallCheck: ATI Mach32 video board must be installed
  222. SeeAlso: @C000h:0068h"Mach32",@C000h:006Ch,@C000h:0070h
  223.  
  224. (Table F015)
  225. Call ATI Mach32 entry point with:
  226.     AL = function
  227.         00h ???
  228.         01h,02h ???
  229.         11h,12h ???
  230.         21h,22h ???
  231.         41h,42h ???
  232.         81h,82h ???
  233. Return: CF clear if successful
  234.     CF set on error
  235. ----------@C0000064--------------------------
  236. CALL C000h:0064h U - ATI Mach64 VIDEO BIOS - ALTERNATE INT 10/AH=A0h (IRET)
  237. InstallCheck: ATI Mach64 video board must be installed
  238. SeeAlso: @C000h:0068h"Mach64",INT 10/AH=A0h"Mach64"
  239. ----------@C0000068--------------------------
  240. CALL C000h:0068h U - ATI Mach32 VIDEO BIOS - ???
  241. InstallCheck: ATI Mach32 video board must be installed
  242. SeeAlso: @C000h:0064h"Mach32",@C000h:006Ch,@C000h:0070h
  243.  
  244. (Table F016)
  245. Call ATI Mach32 entry point with:
  246.     AL = ??? (00h-02h)
  247.     ???
  248. Return: ???
  249. ----------@C0000068--------------------------
  250. CALL C000h:0068h U - ATI Mach64 VIDEO BIOS - ALTERNATE INT 10/AH=A0h (RETF)
  251. InstallCheck: ATI Mach64 video board must be installed
  252. SeeAlso: @C000h:0064h"Mach64",INT 10/AH=A0h"Mach64"
  253. ----------@C000006C--------------------------
  254. CALL C000h:006Ch - ATI Mach32 VIDEO BIOS - 
  255. InstallCheck: ATI Mach32 video board must be installed
  256. SeeAlso: @C000h:0064h,@C000h:0068h,@C000h:0070h
  257.  
  258. (Table F017)
  259. Call ATI Mach32 entry point with:
  260.     AL = function
  261.         00h get ???
  262.         Return: AX = ??? (019Eh)
  263.         01h get ??? information
  264.         ES:BX -> buffer for ??? information (see #F018)
  265.         Return: buffer filled
  266.         02h get ???
  267.         Return: AX = ??? (0250h)
  268.             BX = ??? (0A00h)
  269.             CX = ??? (0200h)
  270.             DX = ??? (0003h)
  271. Return: CF clear if successful
  272.     CF set if invalid function
  273.     all other registers preserved
  274. Note:    officially (Programmer's Reference Guide), interrupts should be
  275.       disabled (CLI) during a function 01h call
  276.  
  277. Format of ATI Mach32 ??? information:
  278. Offset    Size    Description    (Table F018)
  279.  00h    WORD    number of bytes of data returned (0116h for tested BIOS)
  280.  02h  2 BYTEs    ??? (00h 00h and 00h 05h seen)
  281.  04h    WORD    offset of video mode records??? (0028h)
  282.  06h    BYTE    length of one video mode record??? (22h)
  283.  07h    BYTE    ???
  284.  08h    BYTE    ??? (00h/01h, reflects bit 1 of port 36EEh)
  285.  09h    BYTE    ??? (01h)
  286.  0Ah    BYTE    ???
  287.  0Bh    BYTE    memory size
  288.         00h = 256K, 01h = 512K, 02h = 1024K, 03h = 2M, 04h = 4M
  289.  0Ch    BYTE    ???
  290.  0Dh    BYTE    ???
  291.  0Eh    BYTE    ???
  292.  0Fh    BYTE    ??? (bits 6-4 of port 42E8h)
  293.  10h    BYTE    ???
  294.  11h    BYTE    ???
  295.  12h    BYTE    ???
  296.  13h    BYTE    ???
  297.  14h    WORD    ???
  298.  16h    BYTE    ???
  299.  17h    BYTE    ???
  300.  18h    BYTE    ???
  301.  19h 14 BYTEs    unused
  302.  27h    BYTE    scratch byte used by ROM code
  303.  28h 34N BYTEs    ??? video mode records (see #F019)
  304. SeeAlso: #F017
  305.  
  306. Format of ATI Mach32 ??? video mode record:
  307. Offset    Size    Description    (Table F019)
  308.  00h    WORD    horizontal resolution in pixels
  309.  02h    WORD    vertical resolution in pixels
  310.  04h 30 BYTEs    ???
  311. SeeAlso: #F018
  312. ----------@C0000070--------------------------
  313. CALL C000h:0070h U - ATI Mach32 VIDEO BIOS - ???
  314. InstallCheck: ATI Mach32 video board must be installed
  315. SeeAlso: @C000h:0064h,@C000h:0068h,@C000h:006Ch
  316.  
  317. (Table F020)
  318. Call ATI Mach32 entry point with:
  319.     AH = function
  320.         00h ???
  321.         01h ???
  322.         02h ???
  323.             AL = subfunction
  324.             00h ???
  325.             01h ???
  326.         03h ???
  327.             AL = ??? (00h/nonzero)
  328. Return: CF clear if successful
  329.     CF set on error
  330. ----------@F000E739--------------------------
  331. CALL F000h:E739h - ROM BIOS INT 14 HANDLER
  332. InstallCheck:    present if BIOS is 100% compatible with original IBM PC
  333. ----------@F000E82E--------------------------
  334. CALL F000h:E82Eh - ROM BIOS INT 16 HANDLER
  335. InstallCheck:    present if BIOS is 100% compatible with original IBM PC
  336. ----------@F000EC59--------------------------
  337. CALL F000h:EC59h - ROM BIOS INT 13 HANDLER
  338. InstallCheck:    present if BIOS is 100% compatible with original IBM PC
  339. ----------@F000EFD2--------------------------
  340. CALL F000h:EFD2h - ROM BIOS INT 17 HANDLER
  341. InstallCheck:    present if BIOS is 100% compatible with original IBM PC
  342. ----------@F000F065--------------------------
  343. CALL F000h:F065h - ROM BIOS INT 10 HANDLER
  344. InstallCheck:    present if BIOS is 100% compatible with original IBM PC
  345. ----------@F000F841--------------------------
  346. CALL F000h:F841h - ROM BIOS INT 12 HANDLER
  347. InstallCheck:    present if BIOS is 100% compatible with original IBM PC
  348. ----------@F000F84D--------------------------
  349. CALL F000h:F84Dh - ROM BIOS INT 11 HANDLER
  350. InstallCheck:    present if BIOS is 100% compatible with original IBM PC
  351. ----------@F000F859--------------------------
  352. CALL F000h:F859h - ROM BIOS INT 15 HANDLER
  353. InstallCheck:    present if BIOS is 100% compatible with original IBM PC
  354. ----------@F000FE6E--------------------------
  355. CALL F000h:FE6Eh - ROM BIOS INT 1A HANDLER
  356. InstallCheck:    present if BIOS is 100% compatible with original IBM PC
  357. ----------@F000FFF0--------------------------
  358. CALL F000h:FFF0h - COLD-BOOT ADDRESS
  359. InstallCheck:    always present
  360. SeeAlso: @FFFFh:0000h
  361. ----------@FFFF0000--------------------------
  362. CALL FFFFh:0000h - COLD-BOOT ADDRESS
  363. InstallCheck:    always present
  364. Note:    this address is another way of expressing F000h:FFF0h
  365. SeeAlso: @F000h:FFF0h
  366. ----------@xxxxxxxx--------------------------
  367. CALL xxxxh:xxxxh - 10NET - 10MEMMGR.SYS
  368. InstallCheck:    see INT 21/AX=4402h"10MEMMGR"
  369. SeeAlso: INT 21/AX=4402h"10MEMMGR"
  370. ----------@xxxxxxxx--------------------------
  371. CALL xxxxh:xxxxh - Alternate Multiplex Interrupt Specification TSRs
  372. InstallCheck:    see INT 2D"AMIS"
  373. SeeAlso: INT 2D"AMIS"
  374. ----------@xxxxxxxx--------------------------
  375. CALL xxxxh:xxxxh - AutoCAD Device Interface
  376. InstallCheck:    see INT 7A/AX=0001h
  377. SeeAlso: INT 7A/AX=0001h
  378. ----------@xxxxxxxx---------------------------
  379. CALL xxxxh:xxxxh - BIOS32 Service Directory
  380. InstallCheck:    scan paragraph boundaries E000h to FFFFh for signature string
  381.     "_32_", followed by a valid header structure (see #F021)
  382. Notes:    an alternate PCI BIOS entry point may be found (if supported) by
  383.       requesting the entry point for the API with identifier "$PCI"
  384.     an alternate entry point for INT 1A/AH=B4h may be found (if
  385.       supported) by requesting the entry point for the API with identifier
  386.       "$ACF"
  387.  
  388. Format of BIOS32 Service Directory header structure:
  389. Offset    Size    Description    (Table F021)
  390.  00h  4 BYTEs    signature "_32_"
  391.  04h    DWORD    physical address of BSD entry point (see #F022)
  392.  08h    WORD    version number??? (high byte = major, low byte = minor)
  393.  0Ah    BYTE    checksum (8-bit sum of all bytes in structure, including this
  394.           one, should equal zero)
  395.  
  396. (Table F022)
  397. Call BIOS32 Service Directory entry point with:
  398.     EBX = function
  399.         00000000h get service entry point
  400.         EAX = service identifier
  401.             49435024h ("ICP$") PCI BIOS
  402.             46434124h ("FCA$") Plug-and-Play Auto-Configuration
  403.         Return: AL = status
  404.                 00h successful
  405.                  EBX = base address of handler's code seg???
  406.                  ECX = size of code segment???
  407.                  EDX = offset of handler in code seg
  408.                 80h unknown service identifier
  409.         else
  410.         Return: AL = 81h
  411. Notes:    the BSD handler assumes that it is running in a 32-bit code segment
  412.     the returned entry points for PCI BIOS and Auto-Config must be called
  413.       with the same registers as the real-mode INT 1Ah interface,
  414.       including the value B1h or B4h in AH (AMI BIOS v1.00.05.AX1 returns
  415.       the same entry point for both interfaces and uses AH to distinguish
  416.       which API is desired)
  417. SeeAlso: #F021
  418. ----------@xxxxxxxx--------------------------
  419. CALL xxxxh:xxxxh - Borland TKERNEL
  420. InstallCheck:    see INT 2F/AX=FBA1h/BX=0082h
  421. SeeAlso: INT 2F/AX=FBA1h/BX=0082h
  422. ----------@xxxxxxxx--------------------------
  423. CALL xxxxh:xxxxh - Buffit v3.0
  424. InstallCheck:    see INT 60"Buffit"
  425. SeeAlso: INT 60"Buffit"
  426. ----------@xxxxxxxx--------------------------
  427. CALL xxxxh:xxxxh - CEMM v5.10+ Private API
  428. InstallCheck:    see INT 21/AX=4402h/SF=00h
  429. SeeAlso: INT 21/AX=4402h/SF=00h
  430. ----------@xxxxxxxx--------------------------
  431. CALL xxxxh:xxxxh - Cloaking - PROTECTED-MODE API
  432. InstallCheck:    see INT 2C/AX=001Dh
  433. SeeAlso: INT 2C/AX=001Dh
  434. ----------@xxxxxxxx--------------------------
  435. CALL xxxxh:xxxxh - Cloaking - REAL-MODE API
  436. InstallCheck:    see INT 2F/AX=4310h"Cloaking"
  437. SeeAlso: INT 2F/AX=4310h"Cloaking"
  438. ----------@xxxxxxxx--------------------------
  439. CALL xxxxh:xxxxh - CTMMSYS.SYS - API
  440. InstallCheck:    see INT 21/AX=4402h"CTMMSYS"
  441. Program: CTMMSYS.SYS is the Creative DOS Multimedia Architecture Integration
  442.       driver
  443. SeeAlso: INT 21/AX=4402h"CTMMSYS"
  444. ----------@xxxxxxxx--------------------------
  445. CALL xxxxh:xxxxh - DESQview XDI - Driver API
  446. InstallCheck:    see INT 2F/AX=DE01h
  447. SeeAlso: INT 2F/AX=DE01h
  448. ----------@xxxxxxxx--------------------------
  449. CALL xxxxh:xxxxh - DOS Device Drivers
  450. InstallCheck:    see INT 21/AH=52h
  451. SeeAlso: INT 21/AH=52h
  452. ----------@xxxxxxxx--------------------------
  453. CALL xxxxh:xxxxh - DOS Protected-Mode Interface - MODE SWITCH
  454. InstallCheck:    see INT 2F/AX=1687h
  455. SeeAlso: INT 2F/AX=1687h
  456. ----------@xxxxxxxx--------------------------
  457. CALL xxxxh:xxxxh - DOS Protected-Mode Interface - Phar Lap RUN286
  458. InstallCheck:    see INT 2F/AX=168Ah
  459. SeeAlso: INT 2F/AX=168Ah
  460. ----------@xxxxxxxx--------------------------
  461. CALL xxxxh:xxxxh - DOS Protected-Mode Interface - Vendor-Specific APIs
  462. InstallCheck:    see INT 31/AX=0A00h
  463. SeeAlso: INT 31/AX=0A00h
  464. ----------@xxxxxxxx--------------------------
  465. CALL xxxxh:xxxxh - DOS Protected-Mode Interface - Windows Support
  466. InstallCheck:    see INT 2F/AX=168Ah
  467. SeeAlso: INT 2F/AX=168Ah
  468. ----------@xxxxxxxx--------------------------
  469. CALL xxxxh:xxxxh - DOS Protected-Mode Services
  470. InstallCheck:    see INT 2F/AX=43E0h
  471. SeeAlso: INT 2F/AX=43E1h
  472. ----------@xxxxxxxx--------------------------
  473. CALL xxxxh:xxxxh - DOS Task Switcher - Callout
  474. InstallCheck:    see INT 2F/AX=4B01h
  475. SeeAlso: INT 2F/AX=4B01h
  476. ----------@xxxxxxxx--------------------------
  477. CALL xxxxh:xxxxh - DOS Task Switcher
  478. InstallCheck:    see INT 2F/AX=4B02h
  479. SeeAlso: INT 2F/AX=4B02h
  480. ----------@xxxxxxxx--------------------------
  481. CALL xxxxh:xxxxh - Enhanced Parallel Port (EPP) BIOS
  482. InstallCheck:    see INT 17/AX=0200h/BX=5050h
  483. SeeAlso: INT 17/AX=0200h/BX=5050h
  484. ----------@xxxxxxxx--------------------------
  485. CALL xxxxh:xxxxh - Extended Memory Specification (XMS)
  486. InstallCheck:    see INT 2F/AX=4300h
  487. SeeAlso: INT 2F/AX=4310h
  488. ----------@xxxxxxxx--------------------------
  489. CALL xxxxh:xxxxh - FASTOPEN
  490. InstallCheck:    see INT 2F/AX=122Ah
  491. SeeAlso: INT 2F/AX=122Ah
  492. ----------@xxxxxxxx--------------------------
  493. CALL xxxxh:xxxxh - HIGHUMM.SYS
  494. InstallCheck:    see INT 21/AX=4402h"HIGHUMM"
  495. SeeAlso: INT 21/AX=4402h"HIGHUMM"
  496. ----------@xxxxxxxx--------------------------
  497. CALL xxxxh:xxxxh - IBM 8514/A Adapter Interface (HDILOAD)
  498. InstallCheck:    see INT 7F/AX=0105h
  499. SeeAlso: INT 7F/AX=0105h
  500. ----------@xxxxxxxx--------------------------
  501. CALL xxxxh:xxxxh - IBM 8516 Touch Screen Device Driver
  502. InstallCheck:    see INT 7F/AX=ABCDh
  503. SeeAlso: INT 7F/AX=ABCDh
  504. ----------@xxxxxxxx--------------------------
  505. CALL xxxxh:xxxxh - IBM System 36/38 Workstation Emulation
  506. InstallCheck:    see INT 0C"SYSTEM 36/38"
  507. SeeAlso: INT 0C"SYSTEM 36/38"
  508. ----------@xxxxxxxx--------------------------
  509. CALL xxxxh:xxxxh - IFS Drivers
  510. InstallCheck:    see INT 21/AH=52h
  511. SeeAlso: INT 21/AH=52h
  512. ----------@xxxxxxxx--------------------------
  513. CALL xxxxh:xxxxh - IFSHLP.SYS
  514. InstallCheck:    see INT 21/AH=3Fh"IFSHLP"
  515. SeeAlso: INT 21/AH=3Fh"IFSHLP"
  516. ----------@xxxxxxxx--------------------------
  517. CALL xxxxh:xxxxh - Interrupt Sharing Protocol
  518. InstallCheck:    see INT 2D"AMIS"
  519. SeeAlso: INT 2D"AMIS"
  520. ----------@xxxxxxxx--------------------------
  521. CALL xxxxh:xxxxh - Intel System Management Bus BIOS
  522. InstallCheck:    see INT 15/AX=53B0h/BH=01h,INT 15/AX=53B0h/BH=02h
  523. SeeAlso: INT 15/AX=53B0h/BH=01h,INT 15/AX=53B0h/BH=05h
  524. ----------@xxxxxxxx--------------------------
  525. CALL xxxxh:xxxxh - INTRSPY v1.0 only
  526. InstallCheck:    see INT 60"INTRSPY"
  527. SeeAlso: INT 60"INTRSPY"
  528. ----------@xxxxxxxx--------------------------
  529. CALL xxxxh:xxxxh - Memory Managers
  530. InstallCheck:    see INT 21/AX=4402h/SF=00h
  531. SeeAlso: INT 21/AX=4402h/SF=00h
  532. ----------@xxxxxxxx--------------------------
  533. CALL xxxxh:xxxxh - Microsoft EMM386.EXE
  534. InstallCheck:    see INT 67/AX=FFA5h
  535. SeeAlso: INT 67/AX=FFA5h
  536. ----------@xxxxxxxx--------------------------
  537. CALL xxxxh:xxxxh - Microsoft Real-Time Compression Interface (MRCI)
  538. InstallCheck:    see INT 1A/AX=B001h
  539. SeeAlso: INT 1A/AX=B001h
  540. ----------@xxxxxxxx--------------------------
  541. CALL xxxxh:xxxxh - Microsoft Workgroup Connection - WORKGRP.SYS
  542. InstallCheck:    see INT 21/AH=3Fh"WORKGRP.SYS"
  543. SeeAlso: INT 21/AX=4402h"WORKGRP.SYS"
  544. ----------@xxxxxxxx--------------------------
  545. CALL xxxxh:xxxxh - MS Windows - DOSMGR Device
  546. InstallCheck:    see INT 2F/AX=1684h/BX=0015h
  547. SeeAlso: INT 2F/AX=1684h/BX=0015h
  548. ----------@xxxxxxxx--------------------------
  549. CALL xxxxh:xxxxh - MS Windows - EDOS Device
  550. InstallCheck:    see INT 2F/AX=1684h/BX=2925h
  551. SeeAlso: INT 2F/AX=1684h/BX=2925h
  552. ----------@xxxxxxxx--------------------------
  553. CALL xxxxh:xxxxh - MS Windows - POSTMSG Device
  554. InstallCheck:    see INT 2F/AX=1684h/BX=8888h
  555. SeeAlso: INT 2F/AX=1684h/BX=8888h
  556. ----------@xxxxxxxx--------------------------
  557. CALL xxxxh:xxxxh - MS Windows - REBOOT Device
  558. InstallCheck:    see INT 2F/AX=1684h/BX=0009h
  559. SeeAlso: INT 2F/AX=1684h/BX=0009h
  560. ----------@xxxxxxxx--------------------------
  561. CALL xxxxh:xxxxh - MS Windows - SHELL Device
  562. InstallCheck:    see INT 2F/AX=1684h/BX=0017h
  563. SeeAlso: INT 2F/AX=1684h/BX=0017h
  564. ----------@xxxxxxxx--------------------------
  565. CALL xxxxh:xxxxh - MS Windows - VADMAD Device
  566. InstallCheck:    see INT 2F/AX=1684h/BX=0444h
  567. SeeAlso: INT 2F/AX=1684h/BX=0444h
  568. ----------@xxxxxxxx--------------------------
  569. CALL xxxxh:xxxxh - MS Windows - VbillD Device
  570. InstallCheck:    see INT 2F/AX=1684h/BX=8888h
  571. SeeAlso: INT 2F/AX=1684h/BX=8888h
  572. ----------@xxxxxxxx--------------------------
  573. CALL xxxxh:xxxxh - MS Windows - VSWITCHD Device
  574. InstallCheck:    see INT 2F/AX=1684h/BX=0750h
  575. SeeAlso: INT 2F/AX=1684h/BX=0750h
  576. ----------@xxxxxxxx--------------------------
  577. CALL xxxxh:xxxxh - MS Windows - VTD Device
  578. InstallCheck:    see INT 2F/AX=1684h/BX=0005h
  579. SeeAlso: INT 2F/AX=1684h/BX=0005h
  580. ----------@xxxxxxxx--------------------------
  581. CALL xxxxh:xxxxh - MS Windows - WPS Device
  582. InstallCheck:    see INT 2F/AX=1684h/BX=310Eh
  583. SeeAlso: INT 2F/AX=1684h/BX=310Eh
  584. ----------@xxxxxxxx--------------------------
  585. CALL xxxxh:xxxxh - Netroom RM386 v6.00
  586. InstallCheck:    see INT 2F/AX=4310h
  587. SeeAlso: INT 2F/AX=4310h
  588. ----------@xxxxxxxx--------------------------
  589. CALL xxxxh:xxxxh - Novell - ODI Link Support Layer
  590. InstallCheck:    see INT 2F/AX=C000h"LSL.COM"
  591. SeeAlso: INT 2F/AX=C000h"LSL.COM"
  592. ----------@xxxxxxxx--------------------------
  593. CALL xxxxh:xxxxh - Novell DOS 7 DELWATCH.EXE
  594. InstallCheck:    see INT 2F/AX=10FEh
  595. SeeAlso: INT 2F/AX=10FEh
  596. ----------@xxxxxxxx--------------------------
  597. CALL xxxxh:xxxxh - Novell DOS 7 EMM386.EXE
  598. InstallCheck:    see INT 2F/AX=12FFh/BX=0106h
  599. SeeAlso: INT 2F/AX=12FFh/BX=0106h
  600. ----------@xxxxxxxx--------------------------
  601. CALL xxxxh:xxxxh - Novell NetWare - Access Server Driver
  602. InstallCheck:    see INT 2F/AX=7AF1h
  603. SeeAlso: INT 2F/AX=7AF1h
  604. ----------@xxxxxxxx--------------------------
  605. CALL xxxxh:xxxxh - Novell NetWare - DOS Requester
  606. InstallCheck:    see INT 2F/AX=7A20h/BX=0000h
  607. SeeAlso: INT 2F/AX=7A20h/BX=0000h
  608. ----------@xxxxxxxx--------------------------
  609. CALL xxxxh:xxxxh - Novell Netware - Event Service Layer
  610. InstallCheck:    see INT 2F/AX=C000h"NESL"
  611. SeeAlso: INT 2F/AX=C000h"NESL"
  612. ----------@xxxxxxxx--------------------------
  613. CALL xxxxh:xxxxh - Novell NetWare - IPX
  614. InstallCheck:    see INT 2F/AX=7A00h
  615. SeeAlso: INT 2F/AX=7A00h
  616. ----------@xxxxxxxx--------------------------
  617. CALL xxxxh:xxxxh - Novell NetWare - IPXODI
  618. InstallCheck:    see INT 2F/AX=7A2Fh
  619. SeeAlso: INT 2F/AX=7A2Fh
  620. ----------@xxxxxxxx--------------------------
  621. CALL xxxxh:xxxxh - Novell NetWare - TCP/IP Protocol Stack
  622. InstallCheck:    see INT 2F/AX=7A40h
  623. SeeAlso: INT 2F/AX=7A40h
  624. ----------@xxxxxxxx--------------------------
  625. CALL xxxxh:xxxxh - Novell NetWare - VLM
  626. InstallCheck:    see INT 2F/AX=7A20h/BX=0000h
  627. SeeAlso: INT 2F/AX=7A20h/BX=0000h
  628. ----------@xxxxxxxx--------------------------
  629. CALL xxxxh:xxxxh - Novell NetWare - VLM CallA
  630. InstallCheck:    see INT 2F/AX=7A20h/BX=0001h
  631. SeeAlso: INT 2F/AX=7A20h/BX=0001h
  632. ----------@xxxxxxxx--------------------------
  633. CALL xxxxh:xxxxh - Novell NetWare - VLM Multicast
  634. InstallCheck:    see INT 2F/AX=7A20h/BX=0004h
  635. SeeAlso: INT 2F/AX=7A20h/BX=0004h
  636. ----------@xxxxxxxx--------------------------
  637. CALL xxxxh:xxxxh - Novell NetWare - VLM Multiplex
  638. InstallCheck:    see INT 2F/AX=7A20h/BX=0002h
  639. SeeAlso: INT 2F/AX=7A20h/BX=0002h
  640. ----------@xxxxxxxx--------------------------
  641. CALL xxxxh:xxxxh - Novell NetWare - VLM Parse API
  642. InstallCheck:    see INT 2F/AX=7A20h/BX=0003h
  643. SeeAlso: INT 2F/AX=7A20h/BX=0003h
  644. ----------@xxxxxxxx--------------------------
  645. CALL xxxxh:xxxxh - Novell NetWare Lite - CLIENT
  646. InstallCheck:    see INT 2F/AX=D800h
  647. SeeAlso: INT 2F/AX=D800h
  648. ----------@xxxxxxxx--------------------------
  649. CALL xxxxh:xxxxh - Novell NetWare Lite - NLCACHE/NWCACHE
  650. InstallCheck:    see INT 2F/AX=D8C0h
  651. SeeAlso: INT 2F/AX=D8C0h
  652. ----------@xxxxxxxx--------------------------
  653. CALL xxxxh:xxxxh - Novell NetWare Lite - SERVER
  654. InstallCheck:    see INT 2F/AX=D880h
  655. SeeAlso: INT 2F/AX=D880h
  656. ----------@xxxxxxxx--------------------------
  657. CALL xxxxh:xxxxh - pcANYWHERE IV/LAN
  658. InstallCheck:    see INT 21/AX=2B44h/BX=4D41h
  659. SeeAlso: INT 21/AX=2B44h/BX=4D41h
  660. ----------@xxxxxxxx--------------------------
  661. CALL xxxxh:xxxxh - PCI BIOS v2.0c Protected-Mode API
  662. InstallCheck:    see INT 1A/AX=B101h
  663. SeeAlso: INT 1A/AX=B101h
  664. ----------@xxxxxxxx--------------------------
  665. CALL xxxxh:xxxxh - PenDOS PENDEV.SYS
  666. InstallCheck:    see INT 21/AX=4402h"PENDEV"
  667. SeeAlso: INT 21/AX=4402h"PENDEV"
  668. ----------@xxxxxxxx--------------------------
  669. CALL xxxxh:xxxxh - Phar Lap 386/DOS-Extender v4.1
  670. InstallCheck:    see INT 2F/AX=ED03h
  671. SeeAlso: INT 2F/AX=ED03h
  672. ----------@xxxxxxxx--------------------------
  673. CALL xxxxh:xxxxh - Plug-and-Play BIOS v1.0A
  674. InstallCheck:    scan paragraph boundaries F000h to FFFFh for signature string
  675.       "$PnP" followed by a valid Plug-and-Play header structure
  676.       (see #F023)
  677. SeeAlso: @xxxxh:xxxxh"BIOS32 Service Directory",INT 1A/AH=B4h
  678.  
  679. Format of Plug-and-Play Installation Structure:
  680. Offset    Size    Description    (Table F023)
  681.  00h  4 BYTEs    signature "$PnP"
  682.  04h    BYTE    Plug-and-Play version (major in high nybble, BCD minor in low)
  683.         10h for current specification
  684.  05h    BYTE    length of Installation Structure in bytes
  685.  06h    WORD    control field
  686.         bits 15-2 reserved
  687.         bits 1-0: event notification mechanism
  688.              00 not supported
  689.              01 polling
  690.              10 asynchronous (interrupt time)
  691.  08h    BYTE    checksum (8-bit sum of all bytes in structure, including this
  692.           one, should equal zero)
  693.  09h    DWORD    physical address of event notification flag if using polling
  694.         (bit 0 set when a system even occurs)
  695.  0Dh    WORD    real mode entry offset
  696.  0Fh    WORD    real mode code segment
  697.  11h    WORD    16-bit protected mode entry point offset
  698.  13h    DWORD    16-bit protected mode code segment base address
  699.  17h    DWORD    OEM device identifier
  700.  1Bh    WORD    real mode data segment
  701.  1Dh    DWORD    16-bit protected mode data segment base address
  702.  
  703. (Table F024)
  704. Call Plug-and-Play BIOS entry point with:
  705.     STACK:    WORD    function number
  706.             0000h Get Number of System Device Nodes
  707.             0001h Get System Device Node
  708.             0002h Set System Device Node
  709.             0003h Get Event
  710.             0004h Send Message
  711.             0005h Get Docking Station Information
  712.             0006h reserved for future versions
  713.             0007h Select Primary Boot Devices
  714.             0008h Get Primary Boot Devices
  715.             0009h Set Statically Allocated Resource Information
  716.             000Ah Get Statically Allocated Resource Information
  717.             000Bh Get APM ID Table
  718.             0040h Get Plug-and-Play ISA Configuration Structure
  719.             0041h Get Extended System Configuration Data Info
  720.             0042h Read Extended SYstem Configuration Data
  721.             0043h Write Extended SYstem Configuration Data
  722.         var    function arguments
  723.         WORD    PnP BIOS writable segment/selector
  724. Return: AX = status
  725. Notes:    the caller must provide at least 1024 bytes of stack space for use by
  726.       the Plug-and-Play BIOS
  727.     this API is bi-modal; all calls are available in both real mode and
  728.       16-bit protected mode (if calling from 32-bit protected mode, care
  729.       must be taken to ensure proper alignment of the stack arguments)
  730.  
  731. (Table F025)
  732. Call Plug-and-Play BIOS function 00h with:
  733.     STACK:    WORD    0000h (function "Get Number of System Device Nodes")
  734.         DWORD    -> BYTE in which to return number of device nodes
  735.         DWORD    -> WORD in which to return size of largest device node
  736.         WORD    PnP BIOS writable segment/selector
  737. Return: AX = status
  738. Note:    the large-model C declaration is
  739.       int (*entry)(int, unsigned char *, unsigned int *, unsigned int);
  740.  
  741. (Table F026)
  742. Call Plug-and-Play BIOS function 01h with:
  743.     STACK:    WORD    0001h (function "Get System Device Node")
  744.         DWORD    -> BYTE containing node number or handle
  745.         DWORD    -> buffer for device node
  746.         WORD    control flag
  747.             bits 15-2 reserved (0)
  748.             bit 1: get static config (values for next boot)
  749.             bit 0: get current (dynamic) configuration
  750.         WORD    PnP BIOS writable segment/selector
  751. Return: AX = status
  752. Notes:    the large-model C declaration is
  753.       int (*entry)(int, unsigned char *, DEV_NODE *, unsigned int,
  754.         unsigned int);
  755.     exactly one of the two defined bits in the control flag must be set
  756.  
  757. (Table F027)
  758. Call Plug-and-Play BIOS function 02h with:
  759.     STACK:    WORD    0002h (function "Set System Device Node")
  760.         DWORD    -> BYTE containing node number or handle
  761.         DWORD    -> buffer containing device node
  762.         WORD    control flag
  763.             bits 15-2 reserved (0)
  764.             bit 1: set static config (values for next boot)
  765.             bit 0: set current (dynamic) configuration
  766.         WORD    PnP BIOS writable segment/selector
  767. Return: AX = status
  768. Notes:    the large-model C declaration is
  769.       int (*entry)(int, unsigned char *, DEV_NODE *, unsigned int,
  770.         unsigned int);
  771.     exactly one of the two defined bits in the control flag must be set
  772.  
  773. (Table F028)
  774. Call Plug-and-Play BIOS function 03h with:
  775.     STACK:    WORD    0003h (function "Get Event")
  776.         DWORD    -> WORD buffer for event message identifier (see #F029)
  777.         WORD    PnP BIOS writable segment/selector
  778. Return: AX = status
  779. Note:    the large-model C declaration is
  780.       int (*entry)(int, unsigned int *, unsigned int);
  781.  
  782. (Table F029)
  783. Values for PnP Event Identifier:
  784.  0001h    "ABOUT_TO_CHANGE_CONFIG" preliminary notification of changes, including
  785.       docking and undocking
  786.  0002h    "DOCK_CHANGED" devices have been added to or removed from system
  787.  0003h    "SYSTEM_DEVICE_CHANGED" removable system devices have been inserted
  788.       or removed
  789.  0004h    "CONFIG_CHANGE_FAILED" error detected while atempting to add or remove
  790.       devices
  791.  8000h-FFFEh OEM-defined events
  792.  FFFFh    "UNKNOWN_SYSTEM_EVENT"
  793.  
  794. (Table F030)
  795. Call Plug-and-Play BIOS function 04h with:
  796.     STACK:    WORD    0004h (function "Send Message")
  797.         WORD    message identifier (see #F031)
  798.         WORD    PnP BIOS writable segment/selector
  799. Return: AX = status
  800. Note:    the large-model C declaration is
  801.       int (*entry)(int, unsigned int, unsigned int);
  802. SeeAlso: #F030,#F032
  803.  
  804. (Table F031)
  805. Values for PnP Message Identifier:
  806.  0000h    "OK"
  807.  0001h    "ABORT" action which caused an ABOUT_TO_X message
  808.  0002h-003Fh reserved for future Response Messages
  809.  0040h    "UNDOCK_DEFAULT_ACTION"
  810.  0041h    "POWER_OFF"
  811.  0042h    "PNP_OS_ACTIVE"
  812.  0043h    "PNP_OS_INACTIVE"
  813.  0044h-007Fh reserved for future Control Messages
  814.  8000h-FFFFh OEM-defined messages
  815.  
  816. (Table F032)
  817. Call Plug-and-Play BIOS function 05h with:
  818.     STACK:    WORD    0005h (function "Get Docking Station Information")
  819.         DWORD    -> buffer for docking station info (see #F035)
  820.         WORD    PnP BIOS writable segment/selector
  821. Return: AX = status
  822. Note:    the large-model C declaration is
  823.       int (*entry)(int, unsigned char *, unsigned int);
  824. SeeAlso: #F030,#F033
  825.  
  826. (Table F033)
  827. Call Plug-and-Play BIOS function 07h with:
  828.     STACK:    WORD    0007h (function "Select Primary Boot Devices")
  829.         WORD    type of primary boot device
  830.             0000h primary input
  831.             0001h primary output
  832.             0002h primary IPL
  833.         DWORD    Plug-and-Play 32-bit device ID or FFFFFFFFh for ISA
  834.         DWORD    device serial number or FFFFFFFFh
  835.         DWORD    32-bit logical device ID or FFFFFFFFh for ISA device
  836.         WORD    physical unit number
  837.         WORD    control flag
  838.             bits 15-1 reserved (0)
  839.             bit 0: do not check for attached device during PnP POST
  840.                   boot device selection
  841.         DWORD    -> preferred resource allocation or -> END_TAG if none
  842.         WORD    PnP BIOS writable segment/selector
  843. Return: AX = status
  844. Note:    the large-model C declaration is
  845.       int (*entry)(int, int, unsigned long, unsigned long, unsigned long,
  846.         int, int, char *, unsigned int);
  847.  
  848. (Table F034)
  849. Call Plug-and-Play BIOS function 08h with:
  850.     STACK:    WORD    0008h (function "Get Primary Boot Devices")
  851.         WORD    type of primary boot device
  852.             0000h primary input
  853.             0001h primary output
  854.             0002h primary IPL
  855.         DWORD    -> DWORD buffer for Plug-and-Play 32-bit device ID
  856.         DWORD    -> DWORD buffer for device serial number
  857.         DWORD    -> DWORD buffer for logical device ID
  858.         DWORD    -> WORD buffer for physical unit number
  859.         DWORD    -> buffer for preferred resource allocation
  860.         WORD    PnP BIOS writable segment/selector
  861. Return: AX = status
  862. Note:    the large-model C declaration is
  863.       int (*entry)(int, int, unsigned long *, unsigned long *,
  864.         unsigned long *, unsigned int *, char *, unsigned int);
  865.  
  866. Format of Plug-and-Play Docking Station Information:
  867. Offset    Size    Description    (Table F035)
  868.  00h    DWORD    docking station location identifier (EISA device ID format)
  869.         FFFFFFFFh if unknown or no product identifier
  870.  04h    DWORD    serial number or 00000000h
  871.  08h    WORD    capabilities
  872.         bits 15-3 reserved (0)
  873.         bits 2-1: hot-pluggability
  874.             00 power-down required to dock/undock
  875.             01 must be in suspend mode ("warm" dock/undock)
  876.             10 system can be hot-docked
  877.             11 reserved
  878.         bit 0: docking station provides support for controlling
  879.               sequence of docking/undocking
  880.  
  881. (Table F036)
  882. Call Plug-and-Play BIOS function 09h with:
  883.     STACK:    WORD    0009h (function "Set Statically Allocated Resource
  884.               Information")
  885.         DWORD    -> block of statically-allocated resources as described
  886.               in the Plug-and-Play ISA Spec
  887.         WORD    PnP BIOS writable segment/selector
  888. Return: AX = status
  889. Notes:    the large-model C declaration is
  890.       int (*entry)(int, unsigned char *, unsigned int);
  891.     if the returned status is 008Dh, the Plug-and-Play BIOS supports
  892.       ESCD, and the caller should thus use functions 41h to 43h instead
  893.       of 09h and 0Ah
  894.  
  895. (Table F037)
  896. Call Plug-and-Play BIOS function 0Ah with:
  897.     STACK:    WORD    000Ah (function "Get Statically Allocated Resource
  898.               Information")
  899.         DWORD    -> buffer for statically-allocated resources as
  900.               described in the Plug-and-Play ISA Spec
  901.         WORD    PnP BIOS writable segment/selector
  902. Return: AX = status
  903. Notes:    the large-model C declaration is
  904.       int (*entry)(int, unsigned char *, unsigned int);
  905.     if the returned status is 008Dh, the Plug-and-Play BIOS supports
  906.       ESCD, and the caller should thus use functions 41h to 43h instead
  907.       of 09h and 0Ah
  908.  
  909. (Table F038)
  910. Call Plug-and-Play BIOS function 0Bh with:
  911.     STACK:    WORD    000Bh (function "Get APM ID Table")
  912.               Information")
  913.         DWORD    -> WORD buffer for size of data buffer
  914.         DWORD    -> buffer for storing APM ID table (see #F039)
  915.         WORD    PnP BIOS writable segment/selector
  916. Return: AX = status
  917. Desc:    copies the Advanced Power Management v1.1 device identifier table to
  918.       Plug-and-Play device identifier mappings
  919. Note:    the large-model C declaration is
  920.       int (*entry)(int, unsigned int *, unsigned char *, unsigned int);
  921. SeeAlso: INT 15/AX=5300h
  922.  
  923. Format of Plug-and-Play APM ID Table:
  924. Offset    Size    Description    (Table F039)
  925.  00h    DWORD    Plug-and-Play device identifier
  926.  04h    WORD    APM v1.1+ identifier
  927.  
  928. (Table F040)
  929. Call Plug-and-Play BIOS function 40h with:
  930.     STACK:    WORD    0040h (function "Get Plug-and-Play ISA Configuration
  931.               Structure")
  932.         DWORD    -> buffer for configuration structure (see #F041)
  933.         WORD    PnP BIOS writable segment/selector
  934. Return: AX = status
  935. Note:    the large-model C declaration is
  936.       int (*entry)(int, unsigned char *, unsigned int);
  937.  
  938. Format of Plug-and-Play ISA Configuration Structure:
  939. Offset    Size    Description    (Table F041)
  940.  00h    BYTE    structure revision level (01h)
  941.  01h    BYTE    total Card Select Numbers (CSNs) assigned
  942.  02h    WORD    ISA Read Data Port
  943.  04h    WORD    reserved (0)
  944.  
  945. (Table F042)
  946. Call Plug-and-Play BIOS function 41h with:
  947.     STACK:    WORD    0041h (function "Get Extended System Configuration
  948.               Information")
  949.         DWORD    -> WORD buffer for size of nonvolatile storage
  950.         DWORD    -> WORD buffer for size of ESCD allocated
  951.         DWORD    -> DWORD buffer for physical base address of NV storage
  952.               (if memory-mapped, else 00000000h)
  953.         WORD    PnP BIOS writable segment/selector
  954. Return: AX = status
  955. Note:    the large-model C declaration is
  956.       int (*entry)(int, unsigned int *, unsigned int *, unsigned long *,
  957.           unsigned int);
  958. SeeAlso: INT 1A/AX=B401h
  959.  
  960. (Table F043)
  961. Call Plug-and-Play BIOS function 42h with:
  962.     STACK:    WORD    0042h (function "Read Extended System Configuration
  963.               Data")
  964.         DWORD    -> buffer for storing ESCD
  965.         WORD    read/writable selector for ESCD if memory-mapped and
  966.               called in protected mode (ignored otherwise)
  967.         WORD    PnP BIOS writable segment/selector
  968. Return: AX = status
  969. Notes:    the large-model C declaration is
  970.       int (*entry)(int, unsigned char *, unsigned int, unsigned int);
  971.     if an ESCD selector is required, the caller must construct a 16-bit
  972.       data segment selector with a limit of 64K
  973.  
  974. (Table F044)
  975. Call Plug-and-Play BIOS function 43h with:
  976.     STACK:    WORD    0043h (function "Write Extended System Configuration
  977.               Data")
  978.         DWORD    -> buffer containing ESCD
  979.         WORD    read/writable selector for ESCD if memory-mapped and
  980.               called in protected mode (ignored otherwise)
  981.         WORD    PnP BIOS writable segment/selector
  982. Return: AX = status
  983. Notes:    the large-model C declaration is
  984.       int (*entry)(int, unsigned char *, unsigned int, unsigned int);
  985.     if an ESCD selector is required, the caller must construct a 16-bit
  986.       data segment selector with a limit of 64K
  987.  
  988. (Table F045)
  989. Values for Plug-and-Play function status code:
  990.  0000h    successful
  991.  0001h    boot device resource configuration not saved to nonvolatile memory
  992.  0002h-007Eh reserved for future warnings
  993.  0055h    unable to read/write Extended System Config Data from nonvolatile mem
  994.  0056h    no valid Extended System Configuration Data in nonvolatile storage
  995.  0059h    user's buffer was too small for Extended System Configuration Data
  996.  007Fh    device could not be configured statically, but dynamic config succeeded
  997.  0081h    unknown function
  998.  0082h    unsupported function
  999.  0083h    invalid device node number/handle
  1000.  0084h    bad parameter
  1001.  0085h    failure setting device node
  1002.  0086h    no pending events
  1003.  0087h    system not docked
  1004.  0088h    no ISA Plug-and-Play cards installed
  1005.  0089h    unable to determine docking station's capabilities
  1006.  008Ah    undocking sequence failed because system unit does not have a battery
  1007.  008Bh    resource conflict with a primary boot device
  1008.  008Ch    buffer provided by user was too small
  1009.  008Dh    must use ESCD support for specified device
  1010.  008Eh    message not supported
  1011.  008Fh    hardware error
  1012.  
  1013. Format of Option ROM header:
  1014. Offset    Size    Description    (Table F046)
  1015.  00h    WORD    AA55h signature
  1016.  02h    BYTE    length of option ROM in 512-byte pages (should be multiple 4)
  1017.  03h  4 BYTEs    standard initialization entry point
  1018.         (called with ES:DI -> PnP Installation Structure)
  1019.  07h 19 BYTEs    reserved
  1020.  1Ah    WORD    offset to PnP Expansion Header
  1021.  
  1022. Format of Expansion Header:
  1023. Offset    Size    Description    (Table F047)
  1024.  00h  4 BYTEs    signature ("$PnP" for Plug-and-Play expansion header)
  1025.  04h    BYTE    structure version number
  1026.  05h    BYTE    length of entire header in paragraphs
  1027.  06h    WORD    offset to next header or 0000h
  1028.  08h    BYTE    reserved
  1029.  09h    BYTE    checksum (sum of all bytes in header, including this one,
  1030.           mod 256 should equal zero)
  1031. ---PnP Expansion Header---
  1032.  0Ah    DWORD    Plug-and-Play device identifier
  1033.  0Eh    WORD    offset of manufacturer ID string in Option ROM or 0000h
  1034.  10h    WORD    offset of product name string in Option ROM or 0000h
  1035.  12h  3 BYTEs    device type code (see #F049)
  1036.         byte 0: base type (general kind of device)
  1037.         byte 1: device subtype
  1038.         byte 2: device programming interface
  1039.  15h    BYTE    device indicator flags (see #F048)
  1040.  16h    WORD    Boot Connection Vector offset (real/protected mode) or 0000h
  1041.         (see #F052)
  1042.  18h    WORD    Disconnect Vector offset (real/protected mode) or 0000h
  1043.         far-called by system BIOS is boot attempt failed
  1044.  1Ah    WORD    bootstrap entry point (real/protected mode) or 0000h
  1045.  1Ch    WORD    reserved (0)
  1046.  1Eh    WORD    Static Resource Information offset (real/prot mode) or 0000h
  1047.         should be used only by non-PnP devices to make them PnP-aware
  1048.           (see #F053)
  1049.  
  1050. Bitfields for Plug-and-Play device indicator flags:
  1051. Bit(s)    Description    (Table F048)
  1052.  7    supports Device Driver Initialization model
  1053.  6    may be shadowed in RAM
  1054.  5    may be read cached
  1055.  4    only required if device used for booting
  1056.  3    reserved (0)
  1057.  2    device is Initial Program Load (IPL, i.e. boot) device
  1058.  1    device is Input device
  1059.  0    device is Display device
  1060. SeeAlso: #F049
  1061.  
  1062. (Table F049)
  1063. Values for Plug-and-Play device type code:
  1064. Type    Subtype        Description
  1065.  00h    ---    reserved
  1066.  01h    ---    mass storage
  1067.     00h      SCSI controller
  1068.     01h      IDE controller
  1069.     02h      floppy controller (NEC 765-compatible)
  1070.     03h      IPI controller
  1071.     80h      other
  1072.  02h    ---    network interface controller
  1073.     00h      Ethernet
  1074.     01h      Token Ring
  1075.     02h      FDDI
  1076.     80h      other
  1077.  03h    ---    display controller
  1078.     00h      VGA
  1079.     01h      SuperVGA
  1080.     02h      XGA
  1081.     80h      other
  1082.  04h    ---    multi-media controller
  1083.     00h      video
  1084.     01h      audio
  1085.     80h      other
  1086.  05h    ---    memory
  1087.     00h      RAM
  1088.     01h      Flash memory
  1089.     80h      other
  1090.  06h    ---    bridge controller
  1091.     00h      host processor bridge
  1092.     01h      ISA bridge
  1093.     02h      EISA bridge
  1094.     03h      MicroChannel bridge
  1095.     04h      PCI bridge
  1096.     05h      PCMCIA bridge
  1097.     80h      other
  1098.  07h    ---    communications device
  1099.     00h      XT-compatible RS-232
  1100.     01h      AT-compatible parallel port
  1101.     80h      other
  1102.  08h    ---    system peripherals
  1103.     00h      8259-compatible Programmable Interrupt Controller
  1104.     01h      8237-compatible DMA Controller
  1105.     02h      8254-compatible system timer
  1106.     03h      real-time clock
  1107.     80h      other
  1108.  09h    ---    input device
  1109.     00h      keyboard controller
  1110.     01h      digitizer/pen
  1111.     02h      mouse
  1112.     80h      other
  1113.  0Ah    ---    docking station
  1114.     00h      generic docking station
  1115.     80h      other
  1116.  0Bh    ---    CPU
  1117.     00h      386-based
  1118.     01h      486-based
  1119.     02h      Pentium-based
  1120. SeeAlso: #F048,#F050
  1121.  
  1122. (Table F050)
  1123. Values for Plug-and-Play generic EISA device ID:
  1124.  PNP0xxx    system devices
  1125.  PNP00xx      interrupt controller
  1126.  PNP01xx      timer
  1127.  PNP02xx      DMA controller
  1128.  PNP03xx      keyboard
  1129.  PNP04xx      parallel port
  1130.  PNP05xx      serial port
  1131.  PNP06xx      disk controller
  1132.  PNP0700      floppy controller
  1133.  PNP0800      PC speaker
  1134.  PNP09xx      display adapter
  1135.  PNP0Axx      periperal bus
  1136.  PNP0B00      real-time clock
  1137.  PNP0Cxx      BIOS/system board
  1138.  PNP0Exx      PCMCIA controller chipset
  1139.  PNP0Fxx      mouse
  1140.  PNP8xxx    network adapter
  1141.  PNP9xxx    modem
  1142.  PNPAxxx    SCSI controller/proprietary CD-ROM controller
  1143.  PNPBxxx    sound/video/multimedia
  1144. SeeAlso: #F049,#F051
  1145.  
  1146. (Table F051)
  1147. Values for data tags:
  1148.  22h    IRQ descriptor, no flags
  1149.  23h    IRQ descriptor, with flags
  1150.  2Ah    DMA descriptor
  1151.  30h    Dependent Function start
  1152.  31h    Dependent Function start, with priority byte
  1153.  38h    Dependent Function end
  1154.  47h    I/O port descriptor
  1155.  4Bh    fixed-location I/O port descriptor
  1156.  78h    "END_TAG" end of resource descriptors
  1157. SeeAlso: #F050
  1158.  
  1159. (Table F052)
  1160. Values Boot Connection Vector is called with:
  1161.     AX = which vectors to hook
  1162.        bit 2: connect as IPL (INT 13)
  1163.        bit 1: connect as primary video (INT 10)
  1164.        bit 0: connect as primary input (INT 09)
  1165.     ES:DI -> system BIOS PnP Installation Check Structure
  1166.     BX = Card Select Number for this card (ISA bus only)
  1167.     DX = read data port (ISA only) or FFFFh
  1168. SeeAlso: #F053
  1169.  
  1170. (Table F053)
  1171. Values Static Resource Information vector is called with:
  1172.     ES:DI -> buffer for device's static resource config info (at least 1024
  1173.           bytes)
  1174. SeeAlso: #F052
  1175.  
  1176. Format of Plug-and-Play System Device Node:
  1177. Offset    Size    Description    (Table F054)
  1178.  00h    WORD    size of device node in bytes
  1179.  02h    BYTE    device node number/handle
  1180.  03h    DWORD    EISA product identifier
  1181.  07h  3 BYTEs    device type code
  1182.  0Ah    WORD    attribute flags
  1183.         bits 15-9 reserved (0)
  1184.         bits 8-7: configurability
  1185.             00 can only be statically configured for next boot
  1186.             01 can be dynamically configured at runtime
  1187.             10 reserved
  1188.             11 can only be dynamically configured
  1189.         bit 6: removable device
  1190.         bit 5: docking station
  1191.         bit 4: capable of being primary IPL (boot) device
  1192.         bit 3: capable of being primary input device
  1193.         bit 2: capable of being primary output device
  1194.         bit 1: device is not configurable
  1195.         bit 0: device can not be disabled
  1196.  0Ch    var    allocated resource configuration descriptors
  1197.     var    possible resource configuration descriptors
  1198.     var    compatible device identifiers
  1199. ----------@xxxxxxxx--------------------------
  1200. CALL xxxxh:xxxxh - QEMM Programming Interface (QPI)
  1201. InstallCheck:    see INT 67/AH=3Fh
  1202. SeeAlso: INT 67/AH=3Fh
  1203. ----------@xxxxxxxx--------------------------
  1204. CALL xxxxh:xxxxh - QEXT.SYS Private API
  1205. InstallCheck:    see INT 15/AX=11DEh
  1206. SeeAlso: INT 15/AX=11DEh
  1207. ----------@xxxxxxxx--------------------------
  1208. CALL xxxxh:xxxxh - Quarterdeck VIDRAM
  1209. InstallCheck:    see INT 2F/AX=D201h/BX=5649h
  1210. SeeAlso: INT 2F/AX=D201h/BX=5649h
  1211. ----------@xxxxxxxx--------------------------
  1212. CALL xxxxh:xxxxh - SoundBlaster Speech Driver
  1213. InstallCheck:    see INT 2F/AX=FBFBh
  1214. SeeAlso: INT 2F/AX=FBFBh
  1215. ----------@xxxxxxxx--------------------------
  1216. CALL xxxxh:xxxxh - Stacker
  1217. InstallCheck:    see INT 2F/AX=4A12h/CX=5354h
  1218. SeeAlso: INT 2F/AX=4A12h/CX=5354h
  1219. ----------@xxxxxxxx--------------------------
  1220. CALL xxxxh:xxxxh - VESA Audio Interface Driver
  1221. InstallCheck:    see INT 10/AX=4F13h/BX=0002h
  1222. SeeAlso: INT 10/AX=4F13h/BX=0002h
  1223. ----------@xxxxxxxx--------------------------
  1224. CALL xxxxh:xxxxh - Virtual Control Program Interface (VCPI) - Protected-Mode
  1225. InstallCheck:    see INT 67/AX=DE01h
  1226. SeeAlso: INT 67/AX=DE01h
  1227. ----------@xxxxxxxx--------------------------
  1228. CALL xxxxh:xxxxh - WEB v4.02 - MODULE APIs
  1229. InstallCheck:    see INT 2F/AH=EEh
  1230. SeeAlso: INT 2F/AH=EEh
  1231. ---------------------------------------------
  1232.  
  1233.  
  1234. ----------@xxxxxxxx--------------------------
  1235. CALL xxxxh:xxxxh - 
  1236. InstallCheck:    
  1237. SeeAlso: 
  1238. ---------------------------------------------
  1239.  
  1240. --------!---Admin----------------------------
  1241. Highest Table Number = F054
  1242. --------!---FILELIST-------------------------
  1243. Please redistribute all of the files comprising the interrupt list (listed at
  1244. the beginning of the list and in INTERRUP.1ST) unmodified as a group, in a
  1245. quartet of archives named INTER47A through INTER47D (preferably the original
  1246. authenticated PKZIP archives), and the utility programs in a two additional
  1247. archives called INTER47E.ZIP and INTER47F.ZIP
  1248.  
  1249. This compilation is Copyright (c) 1989,1990,1991,1992,1993,1994,1995 Ralf Brown
  1250. --------!---CONTACT_INFO---------------------
  1251. Internet: ralf@telerama.lm.com
  1252. UUCP: {uunet,harvard}!telerama.lm.com!ralf
  1253. FIDO: Ralf Brown 1:129/26.1
  1254.     or post a message to me in the DR_DEBUG echo (I probably won't see it
  1255.     unless you address it to me)
  1256. CIS:  >INTERNET:ralf@telerama.lm.com
  1257.