home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / INTER53C.ZIP / FARCALL.LST < prev    next >
File List  |  1997-01-12  |  57KB  |  1,489 lines

  1. FAR CALL Interface List        Release 53        Last change 12jan97
  2. Copyright (c) 1989,1990,1991,1992,1993,1994,1995,1996,1997 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. --------D-@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. --------D-@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. --------D-@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. --------D-@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. --------D-@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. --------D-@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. --------D-@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. --------D-@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. --------D-@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. --------D-@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. --------D-@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. --------D-@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. --------D-@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. --------D-@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. --------D-@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. --------D-@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. --------V-@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. --------V-@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. --------V-@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. --------V-@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. --------V-@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. --------V-@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. --------V-@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. --------B-@F000E739--------------------------
  331. CALL F000h:E739h - ROM BIOS INT 14 HANDLER
  332. InstallCheck:    present if BIOS is 100% compatible with original IBM PC
  333. --------B-@F000E82E--------------------------
  334. CALL F000h:E82Eh - ROM BIOS INT 16 HANDLER
  335. InstallCheck:    present if BIOS is 100% compatible with original IBM PC
  336. --------B-@F000EC59--------------------------
  337. CALL F000h:EC59h - ROM BIOS INT 13 HANDLER
  338. InstallCheck:    present if BIOS is 100% compatible with original IBM PC
  339. --------B-@F000EFD2--------------------------
  340. CALL F000h:EFD2h - ROM BIOS INT 17 HANDLER
  341. InstallCheck:    present if BIOS is 100% compatible with original IBM PC
  342. --------B-@F000F065--------------------------
  343. CALL F000h:F065h - ROM BIOS INT 10 HANDLER
  344. InstallCheck:    present if BIOS is 100% compatible with original IBM PC
  345. --------B-@F000F841--------------------------
  346. CALL F000h:F841h - ROM BIOS INT 12 HANDLER
  347. InstallCheck:    present if BIOS is 100% compatible with original IBM PC
  348. --------B-@F000F84D--------------------------
  349. CALL F000h:F84Dh - ROM BIOS INT 11 HANDLER
  350. InstallCheck:    present if BIOS is 100% compatible with original IBM PC
  351. --------B-@F000F859--------------------------
  352. CALL F000h:F859h - ROM BIOS INT 15 HANDLER
  353. InstallCheck:    present if BIOS is 100% compatible with original IBM PC
  354. --------B-@F000FE6E--------------------------
  355. CALL F000h:FE6Eh - ROM BIOS INT 1A HANDLER
  356. InstallCheck:    present if BIOS is 100% compatible with original IBM PC
  357. --------H-@F000FFF0--------------------------
  358. CALL F000h:FFF0h - COLD-BOOT ADDRESS
  359. InstallCheck:    always present
  360. SeeAlso: @FFFFh:0000h
  361. --------H-@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. --------m-@xxxxxxxx--------------------------
  367. CALL xxxxh:xxxxh - 10NET - 10MEMMGR.SYS
  368. InstallCheck:    see INT 21/AX=4402h"10MEMMGR"
  369. SeeAlso: INT 21/AX=4402h"10MEMMGR"
  370. --------t-@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:    a 32-bit-code alternate PCI BIOS entry point may be found (if
  383.       supported) by requesting the entry point for the API with
  384.       identifier "$PCI"
  385.     an alternate entry point for INT 1A/AH=B4h may be found (if
  386.       supported) by requesting the entry point for the API with identifier
  387.       "$ACF"
  388. SeeAlso: INT 1A/AX=B100h
  389.  
  390. Format of BIOS32 Service Directory header structure:
  391. Offset    Size    Description    (Table F021)
  392.  00h  4 BYTEs    signature "_32_"
  393.  04h    DWORD    physical address of BSD entry point (see #F022)
  394.  08h    BYTE    header structure version number (currently 00h)
  395.  09h    BYTE    header structure length in paragraphs (currently 01h)
  396.  0Ah    BYTE    checksum (8-bit sum of all bytes in structure, including this
  397.           one, should equal zero)
  398.  0Bh  5 BYTEs    reserved (0)
  399.  
  400. (Table F022)
  401. Call BIOS32 Service Directory entry point with:
  402.     EBX = function
  403.         00000000h get service entry point
  404.         EAX = service identifier
  405.             49435024h ("ICP$") PCI BIOS
  406.             46434124h ("FCA$") Plug-and-Play Auto-Configuration
  407.         Return: AL = status
  408.                 00h successful
  409.                  EBX = base address of handler's code seg
  410.                  ECX = size of code segment
  411.                  EDX = offset of handler in code seg
  412.                 80h unknown service identifier
  413.         else
  414.         Return: AL = 81h invalid function
  415. Notes:    the BSD handler assumes that it is running in a 32-bit code segment
  416.     the returned entry points for PCI BIOS and Auto-Config must be called
  417.       with the same registers as the real-mode INT 1Ah interface,
  418.       including the value B1h or B4h in AH (AMI BIOS v1.00.05.AX1 returns
  419.       the same entry point for both interfaces and uses AH to distinguish
  420.       which API is desired)
  421.     some references indicate that only BL is used for the function number,
  422.       though at least one implementation actually checks the entire EBX
  423.       register; for maximum compatibility, the upper 24 bits of EBX should
  424.       be cleared when calling the entry point
  425. SeeAlso: #F021
  426. --------E-@xxxxxxxx--------------------------
  427. CALL xxxxh:xxxxh - Borland TKERNEL
  428. InstallCheck:    see INT 2F/AX=FBA1h/BX=0082h
  429. SeeAlso: INT 2F/AX=FBA1h/BX=0082h
  430. ----------@xxxxxxxx--------------------------
  431. CALL xxxxh:xxxxh - Buffit v3.0
  432. InstallCheck:    see INT 60"Buffit"
  433. SeeAlso: INT 60"Buffit"
  434. --------m-@xxxxxxxx--------------------------
  435. CALL xxxxh:xxxxh - CEMM v5.10+ Private API
  436. InstallCheck:    see INT 21/AX=4402h/SF=00h
  437. SeeAlso: INT 21/AX=4402h/SF=00h
  438. --------m-@xxxxxxxx--------------------------
  439. CALL xxxxh:xxxxh - Cloaking - PROTECTED-MODE API
  440. InstallCheck:    see INT 2C/AX=001Dh
  441. SeeAlso: INT 2C/AX=001Dh
  442. --------m-@xxxxxxxx--------------------------
  443. CALL xxxxh:xxxxh - Cloaking - REAL-MODE API
  444. InstallCheck:    see INT 2F/AX=4310h"Cloaking"
  445. SeeAlso: INT 2F/AX=4310h"Cloaking"
  446. ----------@xxxxxxxx--------------------------
  447. CALL xxxxh:xxxxh - CTMMSYS.SYS - API
  448. InstallCheck:    see INT 21/AX=4402h"CTMMSYS"
  449. Program: CTMMSYS.SYS is the Creative DOS Multimedia Architecture Integration
  450.       driver
  451. SeeAlso: INT 21/AX=4402h"CTMMSYS"
  452. --------Q-@xxxxxxxx--------------------------
  453. CALL xxxxh:xxxxh - DESQview XDI - Driver API
  454. InstallCheck:    see INT 2F/AX=DE01h
  455. SeeAlso: INT 2F/AX=DE01h
  456. --------D-@xxxxxxxx--------------------------
  457. CALL xxxxh:xxxxh - DOS Device Drivers
  458. InstallCheck:    see INT 21/AH=52h
  459. SeeAlso: INT 21/AH=52h
  460. --------E-@xxxxxxxx--------------------------
  461. CALL xxxxh:xxxxh - DOS Protected-Mode Interface - MODE SWITCH
  462. InstallCheck:    see INT 2F/AX=1687h
  463. SeeAlso: INT 2F/AX=1687h
  464. --------E-@xxxxxxxx--------------------------
  465. CALL xxxxh:xxxxh - DOS Protected-Mode Interface - Phar Lap RUN286
  466. InstallCheck:    see INT 2F/AX=168Ah
  467. SeeAlso: INT 2F/AX=168Ah
  468. --------E-@xxxxxxxx--------------------------
  469. CALL xxxxh:xxxxh - DOS Protected-Mode Interface - Vendor-Specific APIs
  470. InstallCheck:    see INT 31/AX=0A00h
  471. SeeAlso: INT 31/AX=0A00h
  472. --------E-@xxxxxxxx--------------------------
  473. CALL xxxxh:xxxxh - DOS Protected-Mode Interface - Windows Support
  474. InstallCheck:    see INT 2F/AX=168Ah
  475. SeeAlso: INT 2F/AX=168Ah
  476. --------E-@xxxxxxxx--------------------------
  477. CALL xxxxh:xxxxh - DOS Protected-Mode Services
  478. InstallCheck:    see INT 2F/AX=43E0h
  479. SeeAlso: INT 2F/AX=43E1h
  480. --------T-@xxxxxxxx--------------------------
  481. CALL xxxxh:xxxxh - DOS Task Switcher - Callout
  482. InstallCheck:    see INT 2F/AX=4B01h
  483. SeeAlso: INT 2F/AX=4B01h
  484. --------T-@xxxxxxxx--------------------------
  485. CALL xxxxh:xxxxh - DOS Task Switcher
  486. InstallCheck:    see INT 2F/AX=4B02h
  487. SeeAlso: INT 2F/AX=4B02h
  488. ----------@xxxxxxxx--------------------------
  489. CALL xxxxh:xxxxh - Enhanced Parallel Port (EPP) BIOS
  490. InstallCheck:    see INT 17/AX=0200h/BX=5050h
  491. SeeAlso: INT 17/AX=0200h/BX=5050h
  492. --------m-@xxxxxxxx--------------------------
  493. CALL xxxxh:xxxxh - Extended Memory Specification (XMS)
  494. InstallCheck:    see INT 2F/AX=4300h
  495. SeeAlso: INT 2F/AX=4310h
  496. --------c-@xxxxxxxx--------------------------
  497. CALL xxxxh:xxxxh - FASTOPEN
  498. InstallCheck:    see INT 2F/AX=122Ah
  499. SeeAlso: INT 2F/AX=122Ah
  500. --------m-@xxxxxxxx--------------------------
  501. CALL xxxxh:xxxxh - HIGHUMM.SYS
  502. InstallCheck:    see INT 21/AX=4402h"HIGHUMM"
  503. SeeAlso: INT 21/AX=4402h"HIGHUMM"
  504. ----------@xxxxxxxx--------------------------
  505. CALL xxxxh:xxxxh - HugeRealMode Driver
  506. InstallCheck:    see INT 78/AX=0000h,INT 78/AX=0001h
  507. SeeAlso: INT 78/AX=0001h
  508. --------V-@xxxxxxxx--------------------------
  509. CALL xxxxh:xxxxh - IBM 8514/A Adapter Interface (HDILOAD)
  510. InstallCheck:    see INT 7F/AX=0105h
  511. SeeAlso: INT 7F/AX=0105h
  512. ----------@xxxxxxxx--------------------------
  513. CALL xxxxh:xxxxh - IBM 8516 Touch Screen Device Driver
  514. InstallCheck:    see INT 7F/AX=ABCDh
  515. SeeAlso: INT 7F/AX=ABCDh
  516. --------u-@xxxxxxxx--------------------------
  517. CALL xxxxh:xxxxh - IBM System 36/38 Workstation Emulation
  518. InstallCheck:    see INT 0C"SYSTEM 36/38"
  519. SeeAlso: INT 0C"SYSTEM 36/38"
  520. --------D-@xxxxxxxx--------------------------
  521. CALL xxxxh:xxxxh - IFS Drivers
  522. InstallCheck:    see INT 21/AH=52h
  523. SeeAlso: INT 21/AH=52h
  524. --------W-@xxxxxxxx--------------------------
  525. CALL xxxxh:xxxxh - IFSHLP.SYS
  526. InstallCheck:    see INT 21/AH=3Fh"IFSHLP"
  527. SeeAlso: INT 21/AH=3Fh"IFSHLP"
  528. --------b-@xxxxxxxx--------------------------
  529. CALL xxxxh:xxxxh - Intel BIOS Upgrade
  530. InstallCheck:    scan paragraph boundaries from 0F0000h to 0FFFFFh for signature
  531.       string "$IBU" (see #F023)
  532. SeeAlso: INT 15/AX=D042h/BL=00h
  533. !!! IAL\PROCESSR\PPROBIOS.PDF page 60
  534.  
  535. Format of Intel BIOS Upgrade header:
  536. Offset    Size    Description    (Table F023)
  537.  00h  4 BYTEs    signature "$IBU"
  538.  04h    BYTE    IBU specification version (currently 01h = 1.0)
  539.  05h    BYTE    length of entire header structure in bytes (currently 17h)
  540.  06h    BYTE    checksum (forces 8-bit sum of all header bytes to 00h)
  541.  07h    DWORD    real-mode entry point address
  542.  0Bh    WORD    offset of 16-bit protected mode entry point
  543.  0Dh    DWORD    segment base address of 16-bit protected-mode entry point
  544.  11h    WORD    real-mode data segment address
  545.  13h    DWORD    segment base address of 16-bit protected-mode data segment
  546. Notes:    calls from 32-bit protected mode may be made to the 16-bit entry
  547.       point, but must ensure that any stack arguments are pushed as
  548.       16-bit values instead of 32-bit values
  549.     the entry point uses standard C calling conventions to implement
  550.       functions prototyped as
  551.         int far (*entrypoint)(int function, ...)
  552. ----------@xxxxxxxx--------------------------
  553. CALL xxxxh:xxxxh - Interrupt Sharing Protocol
  554. InstallCheck:    see INT 2D"AMIS"
  555. SeeAlso: INT 2D"AMIS"
  556. --------X-@xxxxxxxx--------------------------
  557. CALL xxxxh:xxxxh - Intel System Management Bus BIOS
  558. InstallCheck:    see INT 15/AX=53B0h/BH=01h,INT 15/AX=53B0h/BH=02h
  559. SeeAlso: INT 15/AX=53B0h/BH=01h,INT 15/AX=53B0h/BH=05h
  560. --------G-@xxxxxxxx--------------------------
  561. CALL xxxxh:xxxxh - INTRSPY v1.0 only
  562. InstallCheck:    see INT 60"INTRSPY"
  563. SeeAlso: INT 60"INTRSPY"
  564. --------m-@xxxxxxxx--------------------------
  565. CALL xxxxh:xxxxh - Memory Managers
  566. InstallCheck:    see INT 21/AX=4402h/SF=00h
  567. SeeAlso: INT 21/AX=4402h/SF=00h
  568. --------m-@xxxxxxxx--------------------------
  569. CALL xxxxh:xxxxh - Microsoft EMM386.EXE
  570. InstallCheck:    see INT 67/AX=FFA5h
  571. SeeAlso: INT 67/AX=FFA5h
  572. --------M-@xxxxxxxx--------------------------
  573. CALL xxxxh:xxxxh - Microsoft Mouse Driver - Alternate Entry Point
  574. InstallCheck:    INT 33 must be non-NULL, and must not point at an IRET
  575.       instruction; the alternate entry point is located two bytes past
  576.       the INT 33 handler
  577. Note:    this alternate entry point accepts the same arguments as the
  578.       INT 33 interface, but is invoked with a FAR CALL instead of INT 33.
  579. SeeAlso: INT 33/AX=0000h
  580. --------k-@xxxxxxxx--------------------------
  581. CALL xxxxh:xxxxh - Microsoft Real-Time Compression Interface (MRCI)
  582. InstallCheck:    see INT 1A/AX=B001h
  583. SeeAlso: INT 1A/AX=B001h
  584. --------N-@xxxxxxxx--------------------------
  585. CALL xxxxh:xxxxh - Microsoft Workgroup Connection - WORKGRP.SYS
  586. InstallCheck:    see INT 21/AH=3Fh"WORKGRP.SYS"
  587. SeeAlso: INT 21/AX=4402h"WORKGRP.SYS"
  588. --------W-@xxxxxxxx--------------------------
  589. CALL xxxxh:xxxxh - MS Windows - DOSMGR Device
  590. InstallCheck:    see INT 2F/AX=1684h/BX=0015h
  591. SeeAlso: INT 2F/AX=1684h/BX=0015h
  592. --------W-@xxxxxxxx--------------------------
  593. CALL xxxxh:xxxxh - MS Windows - EDOS Device
  594. InstallCheck:    see INT 2F/AX=1684h/BX=2925h
  595. SeeAlso: INT 2F/AX=1684h/BX=2925h
  596. --------W-@xxxxxxxx--------------------------
  597. CALL xxxxh:xxxxh - MS Windows - POSTMSG Device
  598. InstallCheck:    see INT 2F/AX=1684h/BX=8888h
  599. SeeAlso: INT 2F/AX=1684h/BX=8888h
  600. --------W-@xxxxxxxx--------------------------
  601. CALL xxxxh:xxxxh - MS Windows - REBOOT Device
  602. InstallCheck:    see INT 2F/AX=1684h/BX=0009h
  603. SeeAlso: INT 2F/AX=1684h/BX=0009h
  604. --------W-@xxxxxxxx--------------------------
  605. CALL xxxxh:xxxxh - MS Windows - SHELL Device
  606. InstallCheck:    see INT 2F/AX=1684h/BX=0017h
  607. SeeAlso: INT 2F/AX=1684h/BX=0017h
  608. --------W-@xxxxxxxx--------------------------
  609. CALL xxxxh:xxxxh - MS Windows - VADMAD Device
  610. InstallCheck:    see INT 2F/AX=1684h/BX=0444h
  611. SeeAlso: INT 2F/AX=1684h/BX=0444h
  612. --------W-@xxxxxxxx--------------------------
  613. CALL xxxxh:xxxxh - MS Windows - VbillD Device
  614. InstallCheck:    see INT 2F/AX=1684h/BX=8888h
  615. SeeAlso: INT 2F/AX=1684h/BX=8888h
  616. --------W-@xxxxxxxx--------------------------
  617. CALL xxxxh:xxxxh - MS Windows - VSWITCHD Device
  618. InstallCheck:    see INT 2F/AX=1684h/BX=0750h
  619. SeeAlso: INT 2F/AX=1684h/BX=0750h
  620. --------W-@xxxxxxxx--------------------------
  621. CALL xxxxh:xxxxh - MS Windows - VTD Device
  622. InstallCheck:    see INT 2F/AX=1684h/BX=0005h
  623. SeeAlso: INT 2F/AX=1684h/BX=0005h
  624. --------W-@xxxxxxxx--------------------------
  625. CALL xxxxh:xxxxh - MS Windows - WPS Device
  626. InstallCheck:    see INT 2F/AX=1684h/BX=310Eh
  627. SeeAlso: INT 2F/AX=1684h/BX=310Eh
  628. --------m-@xxxxxxxx--------------------------
  629. CALL xxxxh:xxxxh - Netroom RM386 v6.00
  630. InstallCheck:    see INT 2F/AX=4310h
  631. SeeAlso: INT 2F/AX=4310h
  632. --------N-@xxxxxxxx--------------------------
  633. CALL xxxxh:xxxxh - Novell - ODI Link Support Layer
  634. InstallCheck:    see INT 2F/AX=C000h"LSL.COM"
  635. SeeAlso: INT 2F/AX=C000h"LSL.COM"
  636. --------O-@xxxxxxxx--------------------------
  637. CALL xxxxh:xxxxh - Novell DOS 7 DELWATCH.EXE
  638. InstallCheck:    see INT 2F/AX=10FEh
  639. SeeAlso: INT 2F/AX=10FEh
  640. --------m-@xxxxxxxx--------------------------
  641. CALL xxxxh:xxxxh - Novell DOS 7 EMM386.EXE
  642. InstallCheck:    see INT 2F/AX=12FFh/BX=0106h
  643. SeeAlso: INT 2F/AX=12FFh/BX=0106h
  644. --------N-@xxxxxxxx--------------------------
  645. CALL xxxxh:xxxxh - Novell NetWare - Access Server Driver
  646. InstallCheck:    see INT 2F/AX=7AF1h
  647. SeeAlso: INT 2F/AX=7AF1h
  648. --------N-@xxxxxxxx--------------------------
  649. CALL xxxxh:xxxxh - Novell NetWare - DOS Requester
  650. InstallCheck:    see INT 2F/AX=7A20h/BX=0000h
  651. SeeAlso: INT 2F/AX=7A20h/BX=0000h
  652. --------N-@xxxxxxxx--------------------------
  653. CALL xxxxh:xxxxh - Novell Netware - Event Service Layer
  654. InstallCheck:    see INT 2F/AX=C000h"NESL"
  655. SeeAlso: INT 2F/AX=C000h"NESL"
  656. --------N-@xxxxxxxx--------------------------
  657. CALL xxxxh:xxxxh - Novell NetWare - IPX
  658. InstallCheck:    see INT 2F/AX=7A00h
  659. SeeAlso: INT 2F/AX=7A00h
  660. --------N-@xxxxxxxx--------------------------
  661. CALL xxxxh:xxxxh - Novell NetWare - IPXODI
  662. InstallCheck:    see INT 2F/AX=7A2Fh
  663. SeeAlso: INT 2F/AX=7A2Fh
  664. --------N-@xxxxxxxx--------------------------
  665. CALL xxxxh:xxxxh - Novell NetWare - TCP/IP Protocol Stack
  666. InstallCheck:    see INT 2F/AX=7A40h
  667. SeeAlso: INT 2F/AX=7A40h
  668. --------N-@xxxxxxxx--------------------------
  669. CALL xxxxh:xxxxh - Novell NetWare - VLM
  670. InstallCheck:    see INT 2F/AX=7A20h/BX=0000h
  671. SeeAlso: INT 2F/AX=7A20h/BX=0000h
  672. --------N-@xxxxxxxx--------------------------
  673. CALL xxxxh:xxxxh - Novell NetWare - VLM CallA
  674. InstallCheck:    see INT 2F/AX=7A20h/BX=0001h
  675. SeeAlso: INT 2F/AX=7A20h/BX=0001h
  676. --------N-@xxxxxxxx--------------------------
  677. CALL xxxxh:xxxxh - Novell NetWare - VLM Multicast
  678. InstallCheck:    see INT 2F/AX=7A20h/BX=0004h
  679. SeeAlso: INT 2F/AX=7A20h/BX=0004h
  680. --------N-@xxxxxxxx--------------------------
  681. CALL xxxxh:xxxxh - Novell NetWare - VLM Multiplex
  682. InstallCheck:    see INT 2F/AX=7A20h/BX=0002h
  683. SeeAlso: INT 2F/AX=7A20h/BX=0002h
  684. --------N-@xxxxxxxx--------------------------
  685. CALL xxxxh:xxxxh - Novell NetWare - VLM Parse API
  686. InstallCheck:    see INT 2F/AX=7A20h/BX=0003h
  687. SeeAlso: INT 2F/AX=7A20h/BX=0003h
  688. --------N-@xxxxxxxx--------------------------
  689. CALL xxxxh:xxxxh - Novell NetWare Lite - CLIENT
  690. InstallCheck:    see INT 2F/AX=D800h
  691. SeeAlso: INT 2F/AX=D800h
  692. --------N-@xxxxxxxx--------------------------
  693. CALL xxxxh:xxxxh - Novell NetWare Lite - NLCACHE/NWCACHE
  694. InstallCheck:    see INT 2F/AX=D8C0h
  695. SeeAlso: INT 2F/AX=D8C0h
  696. --------N-@xxxxxxxx--------------------------
  697. CALL xxxxh:xxxxh - Novell NetWare Lite - SERVER
  698. InstallCheck:    see INT 2F/AX=D880h
  699. SeeAlso: INT 2F/AX=D880h
  700. --------R-@xxxxxxxx--------------------------
  701. CALL xxxxh:xxxxh - pcANYWHERE IV/LAN
  702. InstallCheck:    see INT 21/AX=2B44h/BX=4D41h
  703. SeeAlso: INT 21/AX=2B44h/BX=4D41h
  704. --------X-@xxxxxxxx--------------------------
  705. CALL xxxxh:xxxxh - PCI BIOS v2.0c Protected-Mode API
  706. InstallCheck:    see INT 1A/AX=B101h
  707. SeeAlso: INT 1A/AX=B101h
  708. ----------@xxxxxxxx--------------------------
  709. CALL xxxxh:xxxxh - PenDOS PENDEV.SYS
  710. InstallCheck:    see INT 21/AX=4402h"PENDEV"
  711. SeeAlso: INT 21/AX=4402h"PENDEV"
  712. --------E-@xxxxxxxx--------------------------
  713. CALL xxxxh:xxxxh - Phar Lap 386/DOS-Extender v4.1
  714. InstallCheck:    see INT 2F/AX=ED03h
  715. SeeAlso: INT 2F/AX=ED03h
  716. --------X-@xxxxxxxx--------------------------
  717. CALL xxxxh:xxxxh - Plug-and-Play BIOS v1.0A
  718. InstallCheck:    scan paragraph boundaries F000h to FFFFh for signature string
  719.       "$PnP" followed by a valid Plug-and-Play header structure
  720.       (see #F024)
  721. SeeAlso: @xxxxh:xxxxh"BIOS32 Service Directory",INT 1A/AH=B4h
  722.  
  723. Format of Plug-and-Play Installation Structure:
  724. Offset    Size    Description    (Table F024)
  725.  00h  4 BYTEs    signature "$PnP"
  726.  04h    BYTE    Plug-and-Play version (major in high nybble, BCD minor in low)
  727.         10h for current specification
  728.  05h    BYTE    length of Installation Structure in bytes
  729.  06h    WORD    control field
  730.         bits 15-2 reserved
  731.         bits 1-0: event notification mechanism
  732.              00 not supported
  733.              01 polling
  734.              10 asynchronous (interrupt time)
  735.  08h    BYTE    checksum (8-bit sum of all bytes in structure, including this
  736.           one, should equal zero)
  737.  09h    DWORD    physical address of event notification flag if using polling
  738.         (bit 0 set when a system even occurs)
  739.  0Dh    WORD    real mode entry offset (see #F025)
  740.  0Fh    WORD    real mode code segment
  741.  11h    WORD    16-bit protected mode entry point offset (see #F025)
  742.  13h    DWORD    16-bit protected mode code segment base address
  743.  17h    DWORD    OEM device identifier
  744.  1Bh    WORD    real mode data segment
  745.  1Dh    DWORD    16-bit protected mode data segment base address
  746.  
  747. (Table F025)
  748. Call Plug-and-Play BIOS entry point with:
  749.     STACK:    WORD    function number
  750.             0000h Get Number of System Device Nodes (see #F026)
  751.             0001h Get System Device Node (see #F027)
  752.             0002h Set System Device Node (see #F028)
  753.             0003h Get Event (see #F029)
  754.             0004h Send Message (see #F031)
  755.             0005h Get Docking Station Information (see #F033)
  756.             0006h reserved for future versions
  757.             0007h Select Primary Boot Devices (see #F034)
  758.             0008h Get Primary Boot Devices (see #F035)
  759.             0009h Set Statically Allocated Resource Information
  760.                   (see #F037)
  761.             000Ah Get Statically Allocated Resource Information
  762.                   (see #F038)
  763.             000Bh Get APM ID Table (see #F039)
  764.             0040h Get Plug-and-Play ISA Configuration Structure
  765.                   (see #F041)
  766.             0041h Get Extended System Configuration Data Info
  767.                   (see #F043)
  768.             0042h Read Extended SYstem Configuration Data
  769.                   (see #F044)
  770.             0043h Write Extended SYstem Configuration Data
  771.                   (see #F045)
  772.             ---BIOS Boot Specification---
  773.             0060h Get Version and Installation Check (see #F046)
  774.             0061h Get IPL Device Count (see #F047)
  775.             0062h Get Boot Priority and IPL Table (see #F048)
  776.             0063h Set Boot Priority (see #F049)
  777.             0064h Get IPL Device from Last Boot (see #F050)
  778.             0065h Get Boot First (see #F051)
  779.             0066h Set Boot First (see #F052)
  780.             0067h-006Fh reserved
  781.         var    function arguments
  782.         WORD    PnP BIOS writable segment/selector
  783. Return: AX = status (see #F053)
  784. Notes:    the caller must provide at least 1024 bytes of stack space for use by
  785.       the Plug-and-Play BIOS
  786.     this API is bi-modal; all calls are available in both real mode and
  787.       16-bit protected mode (if calling from 32-bit protected mode, care
  788.       must be taken to ensure proper alignment of the stack arguments)
  789. SeeAlso: #F024
  790.  
  791. (Table F026)
  792. Call Plug-and-Play BIOS function 00h with:
  793.     STACK:    WORD    0000h (function "Get Number of System Device Nodes")
  794.         DWORD    -> BYTE in which to return number of device nodes
  795.         DWORD    -> WORD in which to return size of largest device node
  796.         WORD    PnP BIOS writable segment/selector
  797. Return: AX = status (see #F053)
  798. Note:    the large-model C declaration is
  799.       int (*entry)(int, unsigned char *, unsigned int *, unsigned int);
  800.  
  801. (Table F027)
  802. Call Plug-and-Play BIOS function 01h with:
  803.     STACK:    WORD    0001h (function "Get System Device Node")
  804.         DWORD    -> BYTE containing node number or handle
  805.         DWORD    -> buffer for device node
  806.         WORD    control flag
  807.             bits 15-2 reserved (0)
  808.             bit 1: get static config (values for next boot)
  809.             bit 0: get current (dynamic) configuration
  810.         WORD    PnP BIOS writable segment/selector
  811. Return: AX = status (see #F053)
  812. Notes:    the large-model C declaration is
  813.       int (*entry)(int, unsigned char *, DEV_NODE *, unsigned int,
  814.         unsigned int);
  815.     exactly one of the two defined bits in the control flag must be set
  816.  
  817. (Table F028)
  818. Call Plug-and-Play BIOS function 02h with:
  819.     STACK:    WORD    0002h (function "Set System Device Node")
  820.         DWORD    -> BYTE containing node number or handle
  821.         DWORD    -> buffer containing device node
  822.         WORD    control flag
  823.             bits 15-2 reserved (0)
  824.             bit 1: set static config (values for next boot)
  825.             bit 0: set current (dynamic) configuration
  826.         WORD    PnP BIOS writable segment/selector
  827. Return: AX = status (see #F053)
  828. Notes:    the large-model C declaration is
  829.       int (*entry)(int, unsigned char *, DEV_NODE *, unsigned int,
  830.         unsigned int);
  831.     exactly one of the two defined bits in the control flag must be set
  832.  
  833. (Table F029)
  834. Call Plug-and-Play BIOS function 03h with:
  835.     STACK:    WORD    0003h (function "Get Event")
  836.         DWORD    -> WORD buffer for event message identifier (see #F030)
  837.         WORD    PnP BIOS writable segment/selector
  838. Return: AX = status (see #F053)
  839. Note:    the large-model C declaration is
  840.       int (*entry)(int, unsigned int *, unsigned int);
  841.  
  842. (Table F030)
  843. Values for PnP Event Identifier:
  844.  0001h    "ABOUT_TO_CHANGE_CONFIG" preliminary notification of changes, including
  845.       docking and undocking
  846.  0002h    "DOCK_CHANGED" devices have been added to or removed from system
  847.  0003h    "SYSTEM_DEVICE_CHANGED" removable system devices have been inserted
  848.       or removed
  849.  0004h    "CONFIG_CHANGE_FAILED" error detected while atempting to add or remove
  850.       devices
  851.  8000h-FFFEh OEM-defined events
  852.  FFFFh    "UNKNOWN_SYSTEM_EVENT"
  853.  
  854. (Table F031)
  855. Call Plug-and-Play BIOS function 04h with:
  856.     STACK:    WORD    0004h (function "Send Message")
  857.         WORD    message identifier (see #F032)
  858.         WORD    PnP BIOS writable segment/selector
  859. Return: AX = status (see #F053)
  860. Note:    the large-model C declaration is
  861.       int (*entry)(int, unsigned int, unsigned int);
  862. SeeAlso: #F031,#F033
  863.  
  864. (Table F032)
  865. Values for PnP Message Identifier:
  866.  0000h    "OK"
  867.  0001h    "ABORT" action which caused an ABOUT_TO_X message
  868.  0002h-003Fh reserved for future Response Messages
  869.  0040h    "UNDOCK_DEFAULT_ACTION"
  870.  0041h    "POWER_OFF"
  871.  0042h    "PNP_OS_ACTIVE"
  872.  0043h    "PNP_OS_INACTIVE"
  873.  0044h-007Fh reserved for future Control Messages
  874.  8000h-FFFFh OEM-defined messages
  875.  
  876. (Table F033)
  877. Call Plug-and-Play BIOS function 05h with:
  878.     STACK:    WORD    0005h (function "Get Docking Station Information")
  879.         DWORD    -> buffer for docking station info (see #F036)
  880.         WORD    PnP BIOS writable segment/selector
  881. Return: AX = status (see #F053)
  882. Note:    the large-model C declaration is
  883.       int (*entry)(int, unsigned char *, unsigned int);
  884. SeeAlso: #F031,#F034
  885.  
  886. (Table F034)
  887. Call Plug-and-Play BIOS function 07h with:
  888.     STACK:    WORD    0007h (function "Select Primary Boot Devices")
  889.         WORD    type of primary boot device
  890.             0000h primary input
  891.             0001h primary output
  892.             0002h primary IPL
  893.         DWORD    Plug-and-Play 32-bit device ID or FFFFFFFFh for ISA
  894.         DWORD    device serial number or FFFFFFFFh
  895.         DWORD    32-bit logical device ID or FFFFFFFFh for ISA device
  896.         WORD    physical unit number
  897.         WORD    control flag
  898.             bits 15-1 reserved (0)
  899.             bit 0: do not check for attached device during PnP POST
  900.                   boot device selection
  901.         DWORD    -> preferred resource allocation or -> END_TAG if none
  902.         WORD    PnP BIOS writable segment/selector
  903. Return: AX = status (see #F053)
  904. Note:    the large-model C declaration is
  905.       int (*entry)(int, int, unsigned long, unsigned long, unsigned long,
  906.         int, int, char *, unsigned int);
  907.  
  908. (Table F035)
  909. Call Plug-and-Play BIOS function 08h with:
  910.     STACK:    WORD    0008h (function "Get Primary Boot Devices")
  911.         WORD    type of primary boot device
  912.             0000h primary input
  913.             0001h primary output
  914.             0002h primary IPL
  915.         DWORD    -> DWORD buffer for Plug-and-Play 32-bit device ID
  916.         DWORD    -> DWORD buffer for device serial number
  917.         DWORD    -> DWORD buffer for logical device ID
  918.         DWORD    -> WORD buffer for physical unit number
  919.         DWORD    -> buffer for preferred resource allocation
  920.         WORD    PnP BIOS writable segment/selector
  921. Return: AX = status (see #F053)
  922. Note:    the large-model C declaration is
  923.       int (*entry)(int, int, unsigned long *, unsigned long *,
  924.         unsigned long *, unsigned int *, char *, unsigned int);
  925.  
  926. Format of Plug-and-Play Docking Station Information:
  927. Offset    Size    Description    (Table F036)
  928.  00h    DWORD    docking station location identifier (EISA device ID format)
  929.         FFFFFFFFh if unknown or no product identifier
  930.  04h    DWORD    serial number or 00000000h
  931.  08h    WORD    capabilities
  932.         bits 15-3 reserved (0)
  933.         bits 2-1: hot-pluggability
  934.             00 power-down required to dock/undock
  935.             01 must be in suspend mode ("warm" dock/undock)
  936.             10 system can be hot-docked
  937.             11 reserved
  938.         bit 0: docking station provides support for controlling
  939.               sequence of docking/undocking
  940.  
  941. (Table F037)
  942. Call Plug-and-Play BIOS function 09h with:
  943.     STACK:    WORD    0009h (function "Set Statically Allocated Resource
  944.               Information")
  945.         DWORD    -> block of statically-allocated resources as described
  946.               in the Plug-and-Play ISA Spec
  947.         WORD    PnP BIOS writable segment/selector
  948. Return: AX = status (see #F053)
  949. Notes:    the large-model C declaration is
  950.       int (*entry)(int, unsigned char *, unsigned int);
  951.     if the returned status is 008Dh, the Plug-and-Play BIOS supports
  952.       ESCD, and the caller should thus use functions 41h to 43h instead
  953.       of 09h and 0Ah
  954.  
  955. (Table F038)
  956. Call Plug-and-Play BIOS function 0Ah with:
  957.     STACK:    WORD    000Ah (function "Get Statically Allocated Resource
  958.               Information")
  959.         DWORD    -> buffer for statically-allocated resources as
  960.               described in the Plug-and-Play ISA Spec
  961.         WORD    PnP BIOS writable segment/selector
  962. Return: AX = status (see #F053)
  963. Notes:    the large-model C declaration is
  964.       int (*entry)(int, unsigned char *, unsigned int);
  965.     if the returned status is 008Dh, the Plug-and-Play BIOS supports
  966.       ESCD, and the caller should thus use functions 41h to 43h instead
  967.       of 09h and 0Ah
  968.  
  969. (Table F039)
  970. Call Plug-and-Play BIOS function 0Bh with:
  971.     STACK:    WORD    000Bh (function "Get APM ID Table")
  972.               Information")
  973.         DWORD    -> WORD buffer for size of data buffer
  974.         DWORD    -> buffer for storing APM ID table (see #F040)
  975.         WORD    PnP BIOS writable segment/selector
  976. Return: AX = status (see #F053)
  977. Desc:    copies the Advanced Power Management v1.1 device identifier table to
  978.       Plug-and-Play device identifier mappings
  979. Note:    the large-model C declaration is
  980.       int (*entry)(int, unsigned int *, unsigned char *, unsigned int);
  981. SeeAlso: INT 15/AX=5300h
  982.  
  983. Format of Plug-and-Play APM ID Table:
  984. Offset    Size    Description    (Table F040)
  985.  00h    DWORD    Plug-and-Play device identifier
  986.  04h    WORD    APM v1.1+ identifier
  987. SeeAlso: #F039
  988.  
  989. (Table F041)
  990. Call Plug-and-Play BIOS function 40h with:
  991.     STACK:    WORD    0040h (function "Get Plug-and-Play ISA Configuration
  992.               Structure")
  993.         DWORD    -> buffer for configuration structure (see #F042)
  994.         WORD    PnP BIOS writable segment/selector
  995. Return: AX = status (see #F053)
  996. Note:    the large-model C declaration is
  997.       int (*entry)(int, unsigned char *, unsigned int);
  998.  
  999. Format of Plug-and-Play ISA Configuration Structure:
  1000. Offset    Size    Description    (Table F042)
  1001.  00h    BYTE    structure revision level (01h)
  1002.  01h    BYTE    total Card Select Numbers (CSNs) assigned
  1003.  02h    WORD    ISA Read Data Port (see also PORT 0A79h)
  1004.  04h    WORD    reserved (0)
  1005. SeeAlso: #F041
  1006.  
  1007. (Table F043)
  1008. Call Plug-and-Play BIOS function 41h with:
  1009.     STACK:    WORD    0041h (function "Get Extended System Configuration
  1010.               Information")
  1011.         DWORD    -> WORD buffer for size of nonvolatile storage
  1012.         DWORD    -> WORD buffer for size of ESCD allocated
  1013.         DWORD    -> DWORD buffer for physical base address of NV storage
  1014.               (if memory-mapped, else 00000000h)
  1015.         WORD    PnP BIOS writable segment/selector
  1016. Return: AX = status (see #F053)
  1017. Note:    the large-model C declaration is
  1018.       int (*entry)(int, unsigned int *, unsigned int *, unsigned long *,
  1019.           unsigned int);
  1020. SeeAlso: INT 1A/AX=B401h
  1021.  
  1022. (Table F044)
  1023. Call Plug-and-Play BIOS function 42h with:
  1024.     STACK:    WORD    0042h (function "Read Extended System Configuration
  1025.               Data")
  1026.         DWORD    -> buffer for storing ESCD
  1027.         WORD    read/writable selector for ESCD if memory-mapped and
  1028.               called in protected mode (ignored otherwise)
  1029.         WORD    PnP BIOS writable segment/selector
  1030. Return: AX = status (see #F053)
  1031. Notes:    the large-model C declaration is
  1032.       int (*entry)(int, unsigned char *, unsigned int, unsigned int);
  1033.     if an ESCD selector is required, the caller must construct a 16-bit
  1034.       data segment selector with a limit of 64K
  1035.  
  1036. (Table F045)
  1037. Call Plug-and-Play BIOS function 43h with:
  1038.     STACK:    WORD    0043h (function "Write Extended System Configuration
  1039.               Data")
  1040.         DWORD    -> buffer containing ESCD
  1041.         WORD    read/writable selector for ESCD if memory-mapped and
  1042.               called in protected mode (ignored otherwise)
  1043.         WORD    PnP BIOS writable segment/selector
  1044. Return: AX = status (see #F053)
  1045. Notes:    the large-model C declaration is
  1046.       int (*entry)(int, unsigned char *, unsigned int, unsigned int);
  1047.     if an ESCD selector is required, the caller must construct a 16-bit
  1048.       data segment selector with a limit of 64K
  1049.  
  1050. (Table F046)
  1051. Call BIOS Boot Specification function 60h with:
  1052.     STACK:    WORD    0060h (function "Get Version and Installation Check")
  1053.         DWORD    -> WORD buffer for BIOS Boot Spec version number (BCD)
  1054. Return: AX = status (see #F053)
  1055.        0081h if BIOS Boot not available
  1056. Note:    the large-model C declaration is
  1057.       int (*entry)(int, int *) ;
  1058. SeeAlso: #F047,#F048,#F049,#F050
  1059.  
  1060. (Table F047)
  1061. Call BIOS Boot Specification function 61h with:
  1062.     STACK:    WORD    0061h (function "Get IPL Device Count")
  1063.         DWORD    -> WORD buffer for number of IPL devices in system
  1064.         DWORD    -> WORD buffer for max. number of IPL devices supported
  1065.         DWORD    -> WORD buffer for size of an IPL table entry
  1066. Return: AX = status (see #F053)
  1067. Note:    the large-model C declaration is
  1068.       int (*entry)(int, unsigned int *, unsigned int *, unsigned int *) ;
  1069. SeeAlso: #F046,#F048,#F049,#F050
  1070.  
  1071. (Table F048)
  1072. Call BIOS Boot Specification function 62h with:
  1073.     STACK:    WORD    0062h (function "Get Boot Priority and IPL Table")
  1074.         DWORD    -> buffer for copy of boot priority stored in NVRAM
  1075.         DWORD    -> buffer for IPL table
  1076. Return: AX = status (see #F053)
  1077. Notes:    the large-model C declaration is
  1078.       int (*entry)(int, unsigned char *, unsigned char *) ;
  1079.     the size of the boot priority buffer must be at least MaxIPL bytes
  1080.       (see #F047), of which the first CurrentIPL bytes are valid, with
  1081.       the lowest-valued byte indicating the device which should attempt
  1082.       booting first, the next lowest second, etc.
  1083.     the size of the IPL table buffer must be at least MaxIPL + IPLsize
  1084.       bytes (see #F047)
  1085. SeeAlso: #F046,#F047,#F049,#F050
  1086.  
  1087. (Table F049)
  1088. Call BIOS Boot Specification function 63h with:
  1089.     STACK:    WORD    0063h (function "Set Boot Priority")
  1090.         DWORD    -> buffer containing new boot priority list (see #F048)
  1091. Return: AX = status (see #F053)
  1092. Note:    the large-model C declaration is
  1093.       int (*entry)(int, unsigned char *) ;
  1094. SeeAlso: #F046,#F047,#F048,#F050
  1095.  
  1096. (Table F050)
  1097. Call BIOS Boot Specification function 64h with:
  1098.     STACK:    WORD    0064h (function "Get IPL Device from Last Boot")
  1099.         DWORD    -> WORD buffer for index in IPL table of boot device
  1100. Return: AX = status (see #F053)
  1101. Note:    the large-model C declaration is
  1102.       int (*entry)(int, unsigned int *) ;
  1103. SeeAlso: #F046,#F047,#F048,#F049,#F051
  1104.  
  1105. (Table F051)
  1106. Call BIOS Boot Specification function 65h with:
  1107.     STACK:    WORD    0065h (function "Get Boot First")
  1108.         DWORD    -> WORD buffer for index in IPL table of current
  1109.               first boot device
  1110. Return: AX = status (see #F053)
  1111. Notes:    the large-model C declaration is
  1112.       int (*entry)(int, unsigned int *) ;
  1113.     the boot-first device will attempt booting before the boot-priority
  1114.       list is considered
  1115. SeeAlso: #F046,#F047,#F048,#F049,#F052
  1116.  
  1117. (Table F052)
  1118. Call BIOS Boot Specification function 66h with:
  1119.     STACK:    WORD    0066h (function "Set Boot First")
  1120.         DWORD    -> WORD containing index in IPL table of new device
  1121.               from which to attempt booting first before
  1122.               considering the boot priority list
  1123. Return: AX = status (see #F053)
  1124. Note:    the large-model C declaration is
  1125.       int (*entry)(int, 
  1126. SeeAlso: #F046,#F047,#F048,#F049,#F051
  1127.  
  1128. (Table F053)
  1129. Values for Plug-and-Play function status code:
  1130.  0000h    successful
  1131.  0001h    boot device resource configuration not saved to nonvolatile memory
  1132.  0002h-007Eh reserved for future warnings
  1133.  0055h    unable to read/write Extended System Config Data from nonvolatile mem
  1134.  0056h    no valid Extended System Configuration Data in nonvolatile storage
  1135.  0059h    user's buffer was too small for Extended System Configuration Data
  1136.  007Fh    device could not be configured statically, but dynamic config succeeded
  1137.  0081h    unknown function
  1138.  0082h    unsupported function
  1139.  0083h    invalid device node number/handle
  1140.  0084h    bad parameter
  1141.  0085h    failure setting device node
  1142.  0086h    no pending events
  1143.  0087h    system not docked
  1144.  0088h    no ISA Plug-and-Play cards installed
  1145.  0089h    unable to determine docking station's capabilities
  1146.  008Ah    undocking sequence failed because system unit does not have a battery
  1147.  008Bh    resource conflict with a primary boot device
  1148.  008Ch    buffer provided by user was too small
  1149.  008Dh    must use ESCD support for specified device
  1150.  008Eh    message not supported
  1151.  008Fh    hardware error
  1152. SeeAlso: #0650
  1153.  
  1154. Format of Option ROM header:
  1155. Offset    Size    Description    (Table F054)
  1156.  00h    WORD    AA55h signature
  1157.  02h    BYTE    length of option ROM in 512-byte pages (should be multiple 4)
  1158.  03h  4 BYTEs    standard initialization entry point
  1159.         (called with ES:DI -> PnP Installation Structure)
  1160.  07h 19 BYTEs    reserved
  1161.  1Ah    WORD    offset to PnP Expansion Header
  1162.  
  1163. Format of Expansion Header:
  1164. Offset    Size    Description    (Table F055)
  1165.  00h  4 BYTEs    signature ("$PnP" for Plug-and-Play expansion header)
  1166.  04h    BYTE    structure version number
  1167.  05h    BYTE    length of entire header in paragraphs
  1168.  06h    WORD    offset to next header or 0000h
  1169.  08h    BYTE    reserved
  1170.  09h    BYTE    checksum (sum of all bytes in header, including this one,
  1171.           mod 256 should equal zero)
  1172. ---PnP Expansion Header---
  1173.  0Ah    DWORD    Plug-and-Play device identifier
  1174.  0Eh    WORD    offset of manufacturer ID string in Option ROM or 0000h
  1175.  10h    WORD    offset of product name string in Option ROM or 0000h
  1176.  12h  3 BYTEs    device type code (see #F057)
  1177.         byte 0: base type (general kind of device)
  1178.         byte 1: device subtype
  1179.         byte 2: device programming interface
  1180.  15h    BYTE    device indicator flags (see #F056)
  1181.  16h    WORD    Boot Connection Vector offset (real/protected mode) or 0000h
  1182.         (see #F060)
  1183.  18h    WORD    Disconnect Vector offset (real/protected mode) or 0000h
  1184.         far-called by system BIOS is boot attempt failed
  1185.  1Ah    WORD    bootstrap entry point (real/protected mode) or 0000h
  1186.  1Ch    WORD    reserved (0)
  1187.  1Eh    WORD    Static Resource Information offset (real/prot mode) or 0000h
  1188.         should be used only by non-PnP devices to make them PnP-aware
  1189.           (see #F061)
  1190.  
  1191. Bitfields for Plug-and-Play device indicator flags:
  1192. Bit(s)    Description    (Table F056)
  1193.  7    supports Device Driver Initialization model
  1194.  6    may be shadowed in RAM
  1195.  5    may be read cached
  1196.  4    only required if device used for booting
  1197.  3    reserved (0)
  1198.  2    device is Initial Program Load (IPL, i.e. boot) device
  1199.  1    device is Input device
  1200.  0    device is Display device
  1201. SeeAlso: #F057
  1202.  
  1203. (Table F057)
  1204. Values for Plug-and-Play device type code:
  1205. Type    Subtype        Description
  1206.  00h    ---    reserved
  1207.  01h    ---    mass storage
  1208.     00h      SCSI controller
  1209.     01h      IDE controller
  1210.     02h      floppy controller (NEC 765-compatible)
  1211.     03h      IPI controller
  1212.     04h      RAID controller
  1213.     80h      other
  1214.  02h    ---    network interface controller
  1215.     00h      Ethernet
  1216.     01h      Token Ring
  1217.     02h      FDDI
  1218.     03h      ATM
  1219.     80h      other
  1220.  03h    ---    display controller
  1221.     00h      VGA
  1222.     01h      SuperVGA
  1223.     02h      XGA
  1224.     80h      other
  1225.  04h    ---    multi-media controller
  1226.     00h      video
  1227.     01h      audio
  1228.     80h      other
  1229.  05h    ---    memory
  1230.     00h      RAM
  1231.     01h      Flash memory
  1232.     80h      other
  1233.  06h    ---    bridge controller
  1234.     00h      host processor bridge
  1235.     01h      ISA bridge
  1236.     02h      EISA bridge
  1237.     03h      MicroChannel bridge
  1238.     04h      PCI bridge
  1239.     05h      PCMCIA bridge
  1240.     06h      NuBus bridge
  1241.     07h      CardBus bridge
  1242.     80h      other
  1243.  07h    ---    communications device
  1244.     00h      XT-compatible RS-232
  1245.     01h      AT-compatible parallel port
  1246.     80h      other
  1247.  08h    ---    system peripherals
  1248.     00h      8259-compatible Programmable Interrupt Controller
  1249.     01h      8237-compatible DMA Controller
  1250.     02h      8254-compatible system timer
  1251.     03h      real-time clock
  1252.     80h      other
  1253.  09h    ---    input device
  1254.     00h      keyboard controller
  1255.     01h      digitizer/pen
  1256.     02h      mouse
  1257.     80h      other
  1258.  0Ah    ---    docking station
  1259.     00h      generic docking station
  1260.     80h      other
  1261.  0Bh    ---    CPU
  1262.     00h      386-based
  1263.     01h      486-based
  1264.     02h      Pentium-based
  1265.     03h      Pentium-Pro (P6)
  1266.     10h      DEC Alpha
  1267.     40h      coprocessor
  1268.  0Ch    ---    Serial Bus controller
  1269.     00h      Firewire (IEEE 1394)
  1270.     01h      ACCESS.bus
  1271.     02h      SSA
  1272.     03h      Universal Serial Bus (USB)
  1273.             programming interface 10h = OpenHCI Host Controller
  1274. SeeAlso: #F056,#F058,#0628
  1275.  
  1276. (Table F058)
  1277. Values for Plug-and-Play generic EISA device ID:
  1278.  PNP0xxx    system devices
  1279.  PNP00xx      interrupt controller
  1280.  PNP0000        AT interrupt controller
  1281.  PNP0001        EISA interrupt controller
  1282.  PNP0002        MCA interrupt controller
  1283.  PNP0003        APIC
  1284.  PNP0004        Cyrix SLiC MP interrupt controller
  1285.  PNP01xx      timer
  1286.  PNP0100        AT timer
  1287.  PNP0101        EISA timer
  1288.  PNP0102        MCA timer
  1289.  PNP02xx      DMA controller
  1290.  PNP0200        AT DMA controller
  1291.  PNP0201        EISA DMA controller
  1292.  PNP0202        MCA DMA controller
  1293.  PNP03xx      keyboard
  1294.  PNP0300        PC/XT keyboard controller (83-key)
  1295.  PNP0301        PC/AT keyboard controller (84-key)
  1296.  PNP0302        PC/XT keyboard controller (84-key)
  1297.  PNP0303        IBM enhanced keyboard (101/102-key, PS/2 mouse)
  1298.  PNP0304        Olivetti keyboard (83-key)
  1299.  PNP0305        Olivetti keyboard (102-key)
  1300.  PNP0306        Olivetti keyboard (86-key)
  1301.  PNP0307        enhanced keyboard with Windows keys
  1302.  PNP0308        General Input Device Emulation Interface (GIDEI) legacy
  1303.  PNP0309        Olivetti keyboard (A101/102-key)
  1304.  PNP030A        AT&T 302 keyboard
  1305.  PNP04xx      parallel port
  1306.  PNP0400        standard printer port
  1307.  PNP0401        ECP printer port
  1308.  PNP05xx      serial port
  1309.  PNP0500        standard 8250/16450 UART
  1310.  PNP0501        16550A-compatible UART
  1311.  PNP06xx      disk controller
  1312.  PNP0600        generic ESDI/IDE/ATA controller
  1313.  PNP0601        Plus Hardcard II
  1314.  PNP0602        Plus Hardcard IIXL/EX
  1315.  PNP0700      standard floppy controller
  1316.  PNP0800      PC speaker
  1317.  PNP09xx      display adapter
  1318.  PNP0900        VGA-compatible
  1319.  PNP0Axx      periperal bus
  1320.  PNP0A00        ISA
  1321.  PNP0A01        EISA
  1322.  PNP0A02        MCA
  1323.  PNP0A03        PCI
  1324.  PNP0A04        VESA/VL bus
  1325.  PNP0A05        generic ACPI bus
  1326.  PNP0A06        extended IO bus
  1327.  PNP0A07        SMB bus
  1328.  PNP0A08        ACPI three-wire device bus
  1329.  PNP0A09        ACPI two-wire device bus
  1330.  PNP0B00      AT-style real-time clock
  1331.  PNP0Cxx      BIOS/system board
  1332.  PNP0C00        Plug-and-Play BIOS
  1333.  PNP0C01        system board
  1334.  PNP0C02        (PnP-reserved resources)
  1335.  PNP0C03        Plug-and-Play event notification interrupt
  1336.  PNP0C04        math coprocessor
  1337.  PNP0C08        ACPI driver/BIOS
  1338.  PNP0C09        embedded controller device
  1339.  PNP0C0A        control method battery
  1340.  PNP0C0B        fan
  1341.  PNP0C0C        power button
  1342.  PNP0C0D        lid
  1343.  PNP0Exx      PCMCIA controller chipset
  1344.  PNP0E00        Intel 82365-compatible
  1345.  PNP0Fxx      mouse
  1346.  PNP8xxx    network adapter
  1347.  PNP9xxx    modem
  1348.  PNPAxxx    SCSI controller/proprietary CD-ROM controller
  1349.  PNPA000        Adaptec 154x-compatible
  1350.  PNPA001        Adaptec 174x-compatible
  1351.  PNPA002        Future Domain 16-700-compatible
  1352.  PNPBxxx    sound/video/multimedia
  1353.  PNPB000        Sound Blaster 1.5
  1354.  PNPB001        Sound Blaster 2.0
  1355.  PNPB002        Sound Blaster Pro
  1356.  PNPB004        Thunderboard
  1357.  PNPB005        Adlib-compatible FM synthesis
  1358.  PNPB006        MPU-401
  1359.  PNPB007        Microsoft Windows Sound System
  1360.  PNPB008        Compaq Waveform
  1361.  PNPB010        Motion Video device (MCI)
  1362.  PNPB011        MIDI Sequencer (MCI)
  1363.  PNPB012        Wave Audio (MCI)
  1364.  PNPB013        VISCA VCR (MCI)
  1365.  PNPB014        Pioneer Laserdisk (MCI)    
  1366.  PNPB015        CD Audio (MCI)
  1367.  PNPB020        Yamaha OPL3-compatible FM synthesis
  1368.  PNPB02F        joystick/game port
  1369.  ACPI0001    three-wire serial memory device
  1370.  ACPI0002    two-wire serial memory device
  1371. SeeAlso: #F057,#F059
  1372.  
  1373. (Table F059)
  1374. Values for data tags:
  1375.  22h    IRQ descriptor, no flags
  1376.  23h    IRQ descriptor, with flags
  1377.  2Ah    DMA descriptor
  1378.  30h    Dependent Function start
  1379.  31h    Dependent Function start, with priority byte
  1380.  38h    Dependent Function end
  1381.  47h    I/O port descriptor
  1382.  4Bh    fixed-location I/O port descriptor
  1383.  78h    "END_TAG" end of resource descriptors
  1384. SeeAlso: #F058
  1385.  
  1386. (Table F060)
  1387. Values Boot Connection Vector is called with:
  1388.     AX = which vectors to hook
  1389.        bit 2: connect as IPL (INT 13)
  1390.        bit 1: connect as primary video (INT 10)
  1391.        bit 0: connect as primary input (INT 09)
  1392.     ES:DI -> system BIOS PnP Installation Check Structure
  1393.     BX = Card Select Number for this card (ISA bus only)
  1394.     DX = read data port (ISA only) or FFFFh
  1395. SeeAlso: #F061
  1396.  
  1397. (Table F061)
  1398. Values Static Resource Information vector is called with:
  1399.     ES:DI -> buffer for device's static resource config info (at least 1024
  1400.           bytes)
  1401. SeeAlso: #F060
  1402.  
  1403. Format of Plug-and-Play System Device Node:
  1404. Offset    Size    Description    (Table F062)
  1405.  00h    WORD    size of device node in bytes
  1406.  02h    BYTE    device node number/handle
  1407.  03h    DWORD    EISA product identifier
  1408.  07h  3 BYTEs    device type code
  1409.  0Ah    WORD    attribute flags
  1410.         bits 15-9 reserved (0)
  1411.         bits 8-7: configurability
  1412.             00 can only be statically configured for next boot
  1413.             01 can be dynamically configured at runtime
  1414.             10 reserved
  1415.             11 can only be dynamically configured
  1416.         bit 6: removable device
  1417.         bit 5: docking station
  1418.         bit 4: capable of being primary IPL (boot) device
  1419.         bit 3: capable of being primary input device
  1420.         bit 2: capable of being primary output device
  1421.         bit 1: device is not configurable
  1422.         bit 0: device can not be disabled
  1423.  0Ch    var    allocated resource configuration descriptors
  1424.     var    possible resource configuration descriptors
  1425.     var    compatible device identifiers
  1426. --------b-@xxxxxxxx--------------------------
  1427. CALL xxxxh:xxxxh - BIOS Boot Specification (BBS)
  1428. InstallCheck:    perform Plug-and-Play installation check, then call PnP
  1429.       function 60h
  1430. SeeAlso: @xxxxh:xxxxh"Plug-and-Play"
  1431. --------m-@xxxxxxxx--------------------------
  1432. CALL xxxxh:xxxxh - QEMM Programming Interface (QPI)
  1433. InstallCheck:    see INT 67/AH=3Fh
  1434. SeeAlso: INT 67/AH=3Fh
  1435. --------m-@xxxxxxxx--------------------------
  1436. CALL xxxxh:xxxxh - QEXT.SYS Private API
  1437. InstallCheck:    see INT 15/AX=11DEh
  1438. SeeAlso: INT 15/AX=11DEh
  1439. --------m-@xxxxxxxx--------------------------
  1440. CALL xxxxh:xxxxh - Quarterdeck VIDRAM
  1441. InstallCheck:    see INT 2F/AX=D201h/BX=5649h
  1442. SeeAlso: INT 2F/AX=D201h/BX=5649h
  1443. --------s-@xxxxxxxx--------------------------
  1444. CALL xxxxh:xxxxh - SoundBlaster Speech Driver
  1445. InstallCheck:    see INT 2F/AX=FBFBh
  1446. SeeAlso: INT 2F/AX=FBFBh
  1447. --------k-@xxxxxxxx--------------------------
  1448. CALL xxxxh:xxxxh - Stacker
  1449. InstallCheck:    see INT 2F/AX=4A12h/CX=5354h
  1450. SeeAlso: INT 2F/AX=4A12h/CX=5354h
  1451. --------s-@xxxxxxxx--------------------------
  1452. CALL xxxxh:xxxxh - VESA Audio Interface Driver
  1453. InstallCheck:    see INT 10/AX=4F13h/BX=0002h
  1454. SeeAlso: INT 10/AX=4F13h/BX=0002h
  1455. --------m-@xxxxxxxx--------------------------
  1456. CALL xxxxh:xxxxh - Virtual Control Program Interface (VCPI) - Protected-Mode
  1457. InstallCheck:    see INT 67/AX=DE01h
  1458. SeeAlso: INT 67/AX=DE01h
  1459. --------N-@xxxxxxxx--------------------------
  1460. CALL xxxxh:xxxxh - WEB v4.02 - MODULE APIs
  1461. InstallCheck:    see INT 2F/AH=EEh
  1462. SeeAlso: INT 2F/AH=EEh
  1463. ---------------------------------------------
  1464.  
  1465.  
  1466. ----------@xxxxxxxx--------------------------
  1467. CALL xxxxh:xxxxh - 
  1468. InstallCheck:    
  1469. SeeAlso: 
  1470. ---------------------------------------------
  1471.  
  1472. --------!---Admin----------------------------
  1473. Highest Table Number = F062
  1474. --------!---FILELIST-------------------------
  1475. Please redistribute all of the files comprising the interrupt list (listed at
  1476. the beginning of the list and in INTERRUP.1ST) unmodified as a group, in a
  1477. quartet of archives named INTER53A through INTER53D (preferably the original
  1478. authenticated PKZIP archives), and the utility and hypertext conversion
  1479. programs in three additional archives called INTER53E.ZIP to INTER53G.ZIP
  1480.  
  1481. Copyright (c) 1989,1990,1991,1992,1993,1994,1995,1996,1997 Ralf Brown
  1482. --------!---CONTACT_INFO---------------------
  1483. Internet: ralf@pobox.com (currently forwards to ralf@telerama.lm.com)
  1484. UUCP: {uunet,harvard}!pobox.com!ralf
  1485. FIDO: Ralf Brown 1:129/26.1
  1486.     or post a message to me in the DR_DEBUG echo (I probably won't see it
  1487.     unless you address it to me)
  1488. CIS:  >INTERNET:ralf@pobox.com
  1489.