home *** CD-ROM | disk | FTP | other *** search
/ Hacker Chronicles 2 (Alt) / The_Hacker_Chronicles_Volume_II-CD2.iso / misc / interrup.h < prev    next >
Encoding:
Text File  |  1995-01-03  |  231.8 KB  |  6,620 lines

  1. Interrupt List, part 8 of 8
  2. This compilation is Copyright (c) 1989,1990,1991,1992 Ralf Brown
  3. ----------68---------------------------------
  4. INT 68 - Sangoma CCPOP 3270 resident module
  5. SeeAlso: INT 67"Sangoma",INT 92"Sangoma"
  6. ----------6801-------------------------------
  7. INT 68 - APPC/PC - NETWORK DEVICE CONTROL
  8.     AH = 01h
  9.     DS:DX -> control block
  10.  
  11. Format of control block:
  12. Offset    Size    Description
  13.  00h 12 BYTEs    reserved
  14.  0Ch    WORD    verb (action)
  15.  0Eh  6 BYTEs    00h
  16.  14h    DWORD    big-endian return code (see below)
  17. ---if verb = 1B00h (DISPLAY)---
  18.  18h    WORD    00h
  19.  1Ah  8 BYTEs    logical unit ID (big-endian)
  20.  22h  8 BYTEs    partner logical unit name (big-endian)
  21.  2Ah  8 BYTEs    mode name (big-endian)
  22.  32h    BYTE    logical unit session limit
  23.  33h    BYTE    partner logical unit session limit
  24.  34h    BYTE    node maximum negotiable session limit
  25.  35h    BYTE    current session limit
  26.  36h    BYTE    minimum negotiated winner limit
  27.  37h    BYTE    maximum negotiated loser limit
  28.  38h    BYTE    active session count
  29.  39h    BYTE    active CONWINNER session count
  30.  3Ah    BYTE    active CONLOSER session count
  31.  3Bh    BYTE    session termination count
  32.  3Ch    BYTE    bit 7: SESSION_TERMINATION_TARGET_DRAIN
  33.         bit 6: SESSION_TERMINATION_SOURCE_DRAIN
  34. ---if verb=2000h (Attach Physical Unit)---
  35.  18h    WORD    00h
  36.  1Ah    BYTE    version
  37.  1Bh    BYTE    release
  38.  1Ch  8 BYTEs    net name (big-endian)
  39.  24h  8 BYTEs    physical unit name (big-endian)
  40.  2Ch  8 BYTEs    00h
  41.  34h    DWORD    pointer to SYSTEM_LOG_EXIT routine, FFFFFFFFh=don't log errors
  42.  38h    DWORD    00h
  43.  3Ch    BYTE    00h RETURN_CONTROL: COMPLETE
  44.         01h RETURN_CONTROL: INCOMPLETE
  45. ---if verb=2100h (Attach Logical Unit)---
  46.  18h    WORD    70  offset to partner logical unit record
  47.  1Ah  8 BYTEs    logical unit name (big-endian)
  48.  22h  8 BYTEs    logical unit ID (big-endian)
  49.  2Ah    BYTE    logical unit local address
  50.  2Bh    BYTE    logical unit session limit
  51.  2Ch    DWORD    pointer to CREATE_TP_EXIT routine,
  52.         FFFFFFFFh = reject incoming ALLOCATEs
  53.         00000000h = queue ALLOCATEs
  54.  30h    DWORD    00h
  55.  34h    DWORD    pointer to SYSTEM_LOG_EXIT routine, FFFFFFFFh=don't log errors
  56.  38h    DWORD    00h
  57.  3Ch    BYTE    maximum TPs
  58.  3Dh    BYTE    queue depth
  59.  3Eh    DWORD    pointer to LU_LU_PASSWORD_EXIT routine, FFFFFFFFh=no pswd exit
  60.  42h    DWORD    00h
  61.  46h    WORD    total length of partner records
  62.     for each partner logical unit:
  63.     WORD    length of this partner logical unit record
  64.     WORD    42  offset to mode records
  65.       8 BYTEs    partner logical unit name (big-endian)
  66.     BYTE    partner logical unit security capabilities
  67.         bit 7: already verified
  68.         bit 6: conversation level security
  69.         bit 5: session level security
  70.     BYTE    partner logical unit session limit
  71.     WORD    partner logical unit maximum MC_SEND_LL
  72.       8 BYTEs    partner logical unit DLC name (big-endian)
  73.     BYTE    partner logical unit adapter number
  74.      17 BYTEs    (counted string) partner logical unit adapter address
  75.     WORD    total length of mode records
  76.    for each mode:
  77.     WORD    16  length of this mode record
  78.       8 BYTEs    mode name (big-endian)
  79.     WORD    RU_SIZE high bound
  80.     WORD    RU_SIZE low bound
  81.     BYTE    mode maximum negotiable session limit
  82.     BYTE    pacing size for receive
  83. ---if verb=2200h (Detach Logical Unit)---
  84.  18h  8 BYTEs    logical unit ID (big-endian)
  85.  20h    BYTE    00h
  86. ---if verb=2700h (Detach Physical Unit)---
  87.  18h    BYTE    00h  type: hard
  88.         01h  type: soft
  89. ---if verb=2B00h (Activate DLC)---
  90.  18h  8 BYTEs    DLC name (big-endian)
  91.  20h    BYTE    adapter number
  92.  
  93. Values for return code:
  94.      0000h    successful
  95.      0001h    BAD_TP_ID
  96.      0002h    BAD_CONV_ID
  97.      0003h    bad logical unit ID
  98.      0008h    no physical unit attached
  99.      0110h    bad state
  100.      01B1h    BAD_PART_LUNAME
  101.      01B2h    bad mode name
  102.      0201h    physical unit already active
  103.      0211h    logical unit already active
  104.      0212h    BAD_PART_SESS
  105.      0213h    BAD_RU_SIZES
  106.      0214h    BAD_MODE_SESS
  107.      0216h    BAD_PACING_CNT
  108.      0219h    EXTREME_RUS
  109.      021Ah    SNASVCMG_1
  110.      0223h    SSCP_CONNECTED_LU
  111.      0230h    invalid change
  112.      0243h    too many TPs
  113.      0272h    adapter close failure
  114.      0281h    GET_ALLOC_BAD_TYPE
  115.      0282h    unsuccessful
  116.      0283h    DLC failure
  117.      0284h    unrecognized DLC
  118.      0286h    duplicate DLC
  119.      0301h    SSCP_PU_SESSION_NOT_ACTIVE
  120.      0302h    data exceeds RU size
  121.      0401h    invalid direction
  122.      0402h    invalid type
  123.      0403h    segment overlap
  124.      0404h    invalid first character
  125.      0405h    table error
  126.      0406h    conversion error
  127.      F0010000h    APPC disabled
  128.      F0020000h    APPC busy
  129.      F0030000h    APPC abended
  130.      F0040000h    incomplete
  131.  
  132. Routines defined by LU_LU_PASSWORD_EXIT, CREATE_TP_EXIT, and SYSTEM_LOG_EXIT
  133. pointers are called by pushing the DWORD pointer to the verb on the stack and
  134. then performing a FAR call.
  135.  
  136. Format of ACCESS_LU_LU_PW verb:
  137. Offset    Size    Description
  138.  00h 12 BYTEs    reserved
  139.  0Ch    WORD    1900h
  140.  0Eh  8 BYTEs    logical unit ID (big-endian)
  141.  16h  8 BYTEs    logical unit name (big-endian)
  142.  1Eh  8 BYTEs    partner logical unit name (big-endian)
  143.  26h 17 BYTEs    (counted string) partner fully qualified logical unit name
  144.  37h    BYTE    password available (0=no, 1=yes)
  145.  38h  8 BYTEs    password
  146.  
  147. Format of CREATE_TP verb:
  148. Offset    Size    Description
  149.  00h 12 BYTEs    reserved
  150.  0Ch    WORD    2300h
  151.  0Eh  6 BYTEs    00h
  152.  14h    DWORD    sense code (big-endian)
  153.         00000000h    Ok
  154.         080F6051h    SECURITY_NOT_VALID
  155.         084B6031h    TP_NOT_AVAIL_RETRY
  156.         084C0000h    TP_NOT_AVAIL_NO_RETRY
  157.         10086021h    TP_NAME_NOT_RECOGNIZED
  158.         10086034h    CONVERSATION_TYPE_MISMATCH
  159.         10086041h    SYNC_LEVEL_NOT_SUPPORTED
  160.  18h  8 BYTEs    TP ID (big-endian)
  161.  20h  8 BYTEs    logical unit ID (big-endian)
  162.  28h    DWORD    conversation ID (big-endian)
  163.  2Ch    BYTE    0 basic conversation, 1 mapped conversation
  164.  2Dh    BYTE    0 no sync level, 1 confirm
  165.  2Eh    BYTE    reserved
  166.  2Fh 65 BYTEs    (counted string) transaction program name
  167.  70h  6 BYTEs    00h
  168.  76h    WORD    length of ERROR_LOG_DATA to return
  169.  78h    DWORD    pointer to ERROR_LOG_DATA buffer
  170.  7Ch  8 BYTEs    partner logical unit name (big-endian)
  171.  84h 18 BYTEs    (counted string) partner fully qualified logical unit name
  172.  96h  8 BYTEs    mode name (big-endian)
  173.  9Eh 12 BYTEs    00h
  174.  AAh 11 BYTEs    (counted string) password
  175.  B5h 11 BYTEs    (counted string) user ID
  176.  C0h    BYTE    0 verification should be performed
  177.         1 already verified
  178.  
  179. Format of SYSLOG verb:
  180. Offset    Size    Description
  181.  00h 12 BYTEs    reserved
  182.  0Ch    WORD    2600h
  183.  0Eh 10 BYTEs    00h
  184.  18h    WORD    type (big-endian)
  185.  1Ah    DWORD    subtype (big-endian)
  186.  1Eh    DWORD    pointer to ADDITIONAL_INFO
  187.  22h    DWORD    conversation ID (big-endian)
  188.  26h  8 BYTEs    TP ID (big-endian)
  189.  2Eh  8 BYTEs    physical unit or logical unit name (big-endian)
  190.  36h    WORD    length of data
  191.  38h    DWORD    pointer to data
  192.  3Ch    BYTE    00h
  193. ----------6802-------------------------------
  194. INT 68 - APPC/PC - CONNECTION CONTROL
  195.     AH = 02h
  196.     DS:DX -> control block
  197.  
  198. Format of control block:
  199. Offset    Size    Description
  200.  00h 12 BYTEs    reserved
  201.  0Ch    WORD    verb (action)
  202.  0Eh    BYTE    1 if MC_ (mapped conversation) form of verb
  203.         0 if basic verb
  204.  0Fh  5 BYTEs    reserved (0)
  205.  14h    WORD    (high byte first) primary return code (see below)
  206.  16h    DWORD    (high byte first) error code (see below)
  207.  1Ah  8 BYTEs    (high byte first) TP_ID
  208.  22h    DWORD    (high byte first) conversation ID
  209. ---if verb=0100h (Allocate or MC_Allocate)---
  210.  26h    BYTE    (MC_Allocate only) 0 basic conversation
  211.                    1 mapped conversation
  212.  27h    BYTE    00h SYNC_LEVEL = none
  213.         01h SYNC_LEVEL = confirm
  214.  28h    WORD    0000h
  215.  2Ah    BYTE    00h RETURN_CONTROL: when session allocated
  216.         01h RETURN_CONTROL: immediate
  217.         02h RETURN_CONTROL: when session free
  218.  2Bh  8 BYTEs    00h
  219.  33h  8 BYTEs    (high byte first) partner logical unit name
  220.  3Bh  8 BYTEs    (high byte first) mode name
  221.  43h 65 BYTEs    (counted string) TP name
  222.  84h    BYTE    00h security: none
  223.         01h security: same
  224.         02h security: pgm
  225.  85h 11 BYTEs    00h
  226.  90h 11 BYTEs    (counted string) password
  227.  9Bh 11 BYTEs    (counted string) user ID
  228.  A6h    WORD    PIP_DATA length
  229.  A8h    DWORD    pointer to PIP_DATA
  230. ---if verb=0300h (Confirm or MC_Confirm)---
  231.  26h    BYTE  request to send received (0=no, 1=yes)
  232. ---if verb=0400h (Confirmed or MC_Confirmed), no additional fields---
  233. ---if verb=0500h (Deallocate or MC_Deallocate)---
  234.  26h    BYTE    00h
  235.  27h    BYTE    type 0 SYNC_LEVEL
  236.              1 FLUSH
  237.              2 ABEND_PROC
  238.              3 ABEND_SVC
  239.              4 ABEND_TIMER
  240.              5 ABEND
  241.  28h    WORD    (MC_Deallocate only) length of error log data
  242.  2Ah    DWORD    (MC_Deallocate only) pointer to error log data
  243. ---if verb=0600h (Flush or MC_Flush), no additional fields---
  244. ---if verb=0700h (Get_Attributes or MC_Get_Attributes)---
  245.  26h  8 BYTEs    (high byte first) logical unit ID
  246.  2Eh    BYTE    00h
  247.  2Fh    BYTE    SYNC_LEVEL (0=none, 1=confirm)
  248.  30h  8 BYTEs    (high byte first) mode name
  249.  38h  8 BYTEs    (high byte first) own net name
  250.  40h  8 BYTEs    (high byte first) own logical unit name
  251.  48h  8 BYTEs    (high byte first) partner logical unit name
  252.  50h 18 BYTEs    (counted string) partner's fully qualified logical unit name
  253.  62h    BYTE    00h
  254.  63h 11 BYTEs    (counted string) user ID
  255. ---if verb=0800h (Get_Type)---
  256.  26h    BYTE    type (0=basic conversation, 1=mapped conversation)
  257. ---if verb=0900h (Post_on_Receipt)---
  258.  26h    WORD    maximum length
  259.  28h    BYTE    fill (0=buffer, 1=LL)
  260. ---if verb=0A00h (Prepare_to_Receive or MC_Prepare_to_Receive)---
  261.  26h    BYTE    type (0=SYNC_LEVEL, 1=FLUSH)
  262.  27h    BYTE    locks (0=short, 1=long)
  263. ---if verb=0B00h (Receive_and_Wait or MC_Receive_and_Wait)---
  264.  26h    BYTE    what received
  265.         00h data
  266.         01h data complete
  267.         02h data incomplete
  268.         03h confirm
  269.         04h confirm send
  270.         05h confirm deallocate
  271.         06h send
  272.  27h    BYTE    (MC_Receive_and_Wait only) fill (0=buffer, 1=LL)
  273.  28h    BYTE    Request_to_Send_Received (0=no, 1=yes)
  274.  29h    WORD    maximum length
  275.  2Bh    WORD    data length
  276.  2Dh    DWORD    pointer to data
  277. ---if verb=0C00h (Receive_Immediate or MC_Receive_Immediate)---
  278.  26h    BYTE    what received
  279.         00h data
  280.         01h data complete
  281.         02h data incomplete
  282.         03h confirm
  283.         04h confirm send
  284.         05h confirm deallocate
  285.         06h send
  286.  27h    BYTE    (MC_Receive_Immediate only) fill (0=buffer, 1=LL)
  287.  28h    BYTE    Request_to_Send_Received (0=no, 1=yes)
  288.  29h    WORD    maximum length
  289.  2Bh    WORD    data length
  290.  2Dh    DWORD    pointer to data
  291. ---if verb=0E00h (Request_to_Send or MC_Request_to_Send), no other fields---
  292. ---if verb=0F00h (Send_Data or MC_Send_Data)---
  293.  26h    BYTE    request to send received (0=no, 1=yes)
  294.  27h    BYTE    00h
  295.  28h    WORD    data length
  296.  2Ah    DWORD    pointer to data
  297. ---if verb=1000h (Send_Error or MC_Send_Error)---
  298.  26h    BYTE    request to send received (0=no, 1=yes)
  299.  27h    BYTE    type (0=program, 1=SVC)
  300.  28h    DWORD    00h
  301.  2Ch    WORD    (MC_Send_Error only) LOG_DATA length
  302.  2Eh    DWORD    (MC_Send_Error only) pointer to LOG_DATA
  303. ---if verb=1200h (Test or MC_Test)---
  304.  26h    BYTE    (MC_Test only) test (0=posted, 1=request_to_send received)
  305.         Note: error code has different interpretations for:
  306.             0 posted data
  307.             1 posted not data (primary return code = 0)
  308.             1 bad TP_ID (primary return code = 1)
  309. ---if verb=1300h (Wait)---
  310.  26h    BYTE    number of conversations to wait on
  311.         Note: error codes have interpretations as for 1200h above
  312.  
  313. Values for primary return code:
  314.  0000h    successful
  315.  0001h    parameter check
  316.  0002h    state check
  317.  0003h    allocation error
  318.  0005h    deallocate abended
  319.  0006h    deallocate abended program
  320.  0007h    deallocate abended SVC
  321.  0008h    deallocate abended timer
  322.  0009h    deallocate normal return
  323.  000Ah    data posting blocked
  324.  000Bh    posting not active
  325.  000Ch    PROG_ERROR_NO_TRUNC
  326.  000Dh    PROG_ERROR_TRUNC
  327.  000Eh    PROG_ERROR_PURGING
  328.  000Fh    CONV_FAILURE_RETRY
  329.  0010h    CONV_FAILURE_NO_RETRY
  330.  0011h    SVC_ERROR_NO_TRUNC
  331.  0012h    SVC_ERROR_TRUNC
  332.  0013h    SVC_ERROR_PURGING
  333.  0014h    unsuccessful
  334.  0018h    CNOS partner logical unit reject
  335.  0019h    conversation type mixed
  336.  F001h    APPC disabled
  337.  F002h    APPC busy
  338.  F003h    APPC abended
  339.  F004h    incomplete
  340.  
  341. Values for error code:
  342.  0001h bad TP ID
  343.  0002h bad conversation ID
  344.  0004h allocation error, no retry
  345.  0005h allocation error, retry
  346.  0006h data area crosses segment boundary
  347.  0010h bad TPN length
  348.  0011h bad CONV length
  349.  0012h bad SYNC level
  350.  0013h bad security selection
  351.  0014h bad return control
  352.  0015h SEC_TOKENS too big
  353.  0016h PIP_LEN incorrect
  354.  0017h no use of SNASVCMG
  355.  0018h unknown partner mode
  356.  0031h confirm: SYNC_NONE
  357.  0032h confirm: bad state
  358.  0033h confirm: NOT_LL_BDY
  359.  0041h confirmed: bad state
  360.  0051h deallocate: bad type
  361.  0052h deallocate: flush bad state
  362.  0053h deallocate: confirm bad state
  363.  0055h deallocate: NOT_LL_BDY
  364.  0057h deallocate: log LL_WRONG
  365.  0061h flush: not send state
  366.  0091h post on receipt: invalid length
  367.  0092h post on receipt: not in receive state
  368.  0093h post on receipt: bad fill
  369.  00A1h prepare to receive:invalid type
  370.  00A2h prepare to receive: unfinished LL
  371.  00A3h prepare to receive: not in send state
  372.  00B1h receive and wait: bad state
  373.  00B2h receive and wait: NOT_LL_BDY
  374.  00B5h receive and wait: bad fill
  375.  00C1h receive immediate: not in receive state
  376.  00C4h receive immediate: bad fill
  377.  00E1h request to send: not in receive state
  378.  00F1h send data: bad LL
  379.  00F2h send data: not in send state
  380.  0102h send error: log LL wrong
  381.  0103h send error: bad type
  382.  0121h test: invalid type
  383.  0122h test: not in receive state
  384. ----------6803-------------------------------
  385. INT 68 - APPC/PC
  386.     AH = 03h
  387.     DS:DX -> control block (see below)
  388.  
  389. Format of control block:
  390. Offset    Size    Description
  391.  00h 12 BYTEs    reserved
  392.  0Ch    WORD    verb (action)
  393.  0Eh  6 BYTEs    0
  394.  14h    DWORD    (high byte first) return code (see AH=01h)
  395.  18h    WORD    0
  396.  1Ah  8 BYTEs    (high byte first) logical unit ID
  397. ---if verb=2400h (TP Started), control block continues---
  398.  22h  8 BYTEs    (high byte first) TP ID
  399. ---if verb=2800h (Get ALLOCATE), control block continues---
  400.  22h    BYTE    type
  401.         00h dequeue
  402.         01h test
  403.  23h    DWORD    pointer to CREATE_TP record
  404. ---if verb=2A00h (Change Logical Unit). control block continues---
  405.  22h    DWORD    pointer to CREATE_TP_EXIT routine
  406.         FFFFFFFFh reject incoming ALLOCATEs
  407.         00000000h queue ALLOCATEs
  408.  26h    DWORD    00000000h
  409.  2Ah    DWORD    pointer to SYSTEM_LOG_EXIT routine, FFFFFFFFh= don't log errors
  410.  2Eh    DWORD    00000000h
  411.  32h    BYTE    maximum TPs
  412.  33h    BYTE    00h stop QUEUE_ALLOCATEs
  413.         01h resume QUEUE_ALLOCATEs
  414.  34h    DWORD    pointer to LU_LU_PASSWORD_EXIT routine, FFFFFFFFh = no exit
  415.  38h    DWORD    00000000h
  416. ----------6804-------------------------------
  417. INT 68 - APPC/PC
  418.     AH = 04h
  419.     DS:DX -> control block (see below)
  420.  
  421. Format of control block:
  422. Offset    Size    Description
  423.  00h 12 BYTEs    reserved
  424.  0Ch    WORD    verb (action)
  425.         2500h TP_ENDED
  426.         2900h TP_VALID
  427.  0Eh  6 BYTEs    0
  428.  14h    DWORD    (high byte first) return code (see AH=01h)
  429.  18h    WORD    0
  430.  1Ah  8 BYTEs    (high byte first) TP_ID
  431.  22h    DWORD -> CREATE_TP record (only if verb = 2900h)
  432. ----------6805-------------------------------
  433. INT 68 - APPC/PC - TRANSFER MSG DATA
  434.     AH = 05h
  435.     DS:DX -> control block (see below)
  436.  
  437. Format of control block:
  438. Offset    Size    Description
  439.  00h 12 BYTEs    reserved
  440.  0Ch    WORD    1C00h
  441.  0Eh    BYTE    00h user defined
  442.         01h NMVT
  443.         02h alert subvectors
  444.         03h PDSTATS subvectors
  445.  0Fh  5 BYTEs    0
  446.  14h    DWORD    (high byte first) return code (see AH=01h)
  447.  18h 12 BYTEs    0
  448.  24h    BYTE    if bit 0 clear, add correlation subvector
  449.         if bit 1 clear, add product set ID subvector
  450.         if bit 2 clear, do SYSLOG
  451.         if bit 3 clear, send SSCP_PU_SESSION
  452.  25h    BYTE    0
  453.  26h    WORD    length of data
  454.  28h  N BYTEs    data
  455. ----------6806-------------------------------
  456. INT 68 - APPC/PC - CHANGE NUMBER OF SESSIONS
  457.     AH = 06h
  458.     DS:DX -> control block (see below)
  459.  
  460. Format of control block:
  461. Offset    Size    Description
  462.  00h 12 BYTEs    reserved
  463.  0Ch    WORD    1500h
  464.  0Eh  6 BYTEs    0
  465.  14h    WORD    (high byte first) primary return code (see AH=02h)
  466.  16h    DWORD    (high byte first) secondary return code (see below, AH=01h)
  467.  1Ah  8 BYTEs    (high byte first) logical unit ID
  468.  22h  8 BYTEs    blanks
  469.  2Ah  8 BYTEs    (high byte first) partner logical unit name
  470.  32h  8 BYTEs    (high byte first) mode name
  471.  3Ah    BYTE    bit 7: use MODE_NAME_SELECT_ALL rather than MODE_NAME
  472.         bit 6: set negotiable values
  473.  3Bh    BYTE    partner logical unit mode session limit
  474.  3Ch    BYTE    minimum CONWINNERS_SOURCE
  475.  3Dh    BYTE    maximum CONWINNERS_TARGET
  476.  3Eh    BYTE    automatic activation
  477.  3Fh    BYTE    0
  478.  40h    BYTE    bit 7: drain target
  479.         bit 6: drain source
  480.         bit 5: target responsible, not source
  481.  
  482. Values for secondary return code (see also AH=01h):
  483.   0000h accepted
  484.   0001h negotiated
  485.   0003h bad logical unit ID
  486.   0004h allocation failure, no retry
  487.   0005h allocation failure, retry
  488.   0151h can't raise limits
  489.   0153h all modes must reset
  490.   0154h bad SNASVCMG limits
  491.   0155h minimum greater than total
  492.   0156h mode closed (prim return code = 1)
  493.     CNOS mode closed (prim return code = 18h)
  494.   0157h bad mode name (prim return code = 1)
  495.     CNOS bad mode name (prim return code = 18h)
  496.   0159h reset SNA drains
  497.   015Ah single not SRC response
  498.   015Bh bad partner logical unit
  499.   015Ch exceeds maximum allowed
  500.   015Dh change SRC drains
  501.   015Eh logical unit detached
  502.   015Fh CNOS command race reject
  503. ----------6807-------------------------------
  504. INT 68 - APPC/PC - PASSTHROUGH
  505.     AH = 07h
  506.     DS:DX -> control block (format depends on application subsystem)
  507. SeeAlso: AH=FFh
  508. ----------68FA-------------------------------
  509. INT 68 - APPC/PC - ENABLE/DISABLE APPC
  510.     AH = FAh
  511.     AL bit 0 = 0 enable
  512.            1 disable
  513. ----------68FB-------------------------------
  514. INT 68 - APPC/PC - CONVERT
  515.     AH = FBh
  516.     DS:DX -> control block (see below)
  517.  
  518. Format of control block:
  519. Offset    Size    Description
  520.  00h 12 BYTEs    reserved
  521.  0Ch    WORD    1A00h
  522.  0Eh  6 BYTEs    0
  523.  14h    DWORD    (high byte first) return code
  524.  18h    BYTE    conversion
  525.            00h ASCII to EBCDIC
  526.            01h EBCDIC to ASCII
  527.  19h    BYTE    character set
  528.            00h AE
  529.            01h A
  530.            02h G
  531.  1Ah    WORD    length of string to convert
  532.  1Ch    DWORD    pointer to source
  533.  20h    DWORD    pointer to target
  534. ----------68FC-------------------------------
  535. INT 68 - APPC/PC - ENABLE/DISABLE MESSAGE TRACING
  536.     AH = FCh
  537.     AL = 00h disable tracing
  538.        = 01h enable tracing
  539.         DX = number of bytes to keep (0=all)
  540. SeeAlso: AH=FDh
  541. ----------68FD-------------------------------
  542. INT 68 - APPC/PC - ENABLE/DISABLE API VERB TRACING
  543.     AH = FDh
  544.     AL = 00h disable tracing
  545.          01h enable tracing
  546. SeeAlso: AH=FCh,AH=FEh
  547. ----------68FE-------------------------------
  548. INT 68 - APPC/PC - SET TRACE DESTINATION
  549.     AH = FEh
  550.     AL = trace destinations
  551.         bit 0  storage (DS:DX -> trace stats record)
  552.         bit 1  display
  553.         bit 2  file (trace written to file OUTPUT.PC)
  554.         bit 3  printer
  555. SeeAlso: AH=FDh
  556.  
  557. Format of Trace Statistics Record:
  558. Offset    Size    Description
  559.  00h    DWORD    pointer to storage trace buffer
  560.  04h    WORD    max number of 80-byte records in trace
  561.  06h    WORD    (high-order byte first!) current record number (must init to 0)
  562.  08h    DWORD    (high-order byte first!) number of records written (init to 0)
  563.  0Ch    DWORD    reserved
  564. Note:    do not move record while trace is active
  565. ----------68FF-------------------------------
  566. INT 68 - APPC/PC - SET PASSTHROUGH
  567.     AH = FFh
  568.     DS:DX -> passthrough exit routine
  569. SeeAlso: AH=07h
  570. ----------69---------------------------------
  571. INT 69 - Zenith AT BIOS - ???
  572.    called by INT 09 handler
  573. ----------690100-----------------------------
  574. INT 69 - DECnet DOS CTERM - INSTALLATION CHECK
  575.     AX = 0100h
  576. Return: AL = FFh if present
  577. SeeAlso: AX=010Fh
  578. ----------690101-----------------------------
  579. INT 69 - DECnet DOS CTERM - SEND BYTE
  580.     AX = 0101h
  581.     BL = character
  582.     DX = session handle
  583. Return: AH >= 80h on error
  584. SeeAlso: AX=0102h
  585. ----------690102-----------------------------
  586. INT 69 - DECnet DOS CTERM - READ BYTE
  587.     AX = 0102h
  588.     DX = session handle
  589. Return: AH >= 80h on error
  590.     AH < 80h if successful
  591.         AL = character
  592. SeeAlso: AX=0101h
  593. ----------690103-----------------------------
  594. INT 69 - DECnet DOS CTERM - STATUS
  595.     AX = 0103h
  596.     DX = session handle
  597. Return: AH status flags
  598.         bit 7 session has been aborted
  599.         6 DECnet error
  600.         1 trace data available
  601.         0 receive data available
  602.     AL = reason code if DECnet error
  603.         00h normal disconnect
  604.         01h unknown message from host
  605.         02h protocol violation from host
  606.         03h could not process the initiate message
  607.         04h error receiving message from host
  608.         05h error sending message to host
  609.         06h error checking for message from host
  610.         07h remote system does not support CTERM
  611.         08h remote system does not support correct protocol version
  612.         09h did not receive BIND message from host
  613.         0Ah could not send BIND message to host
  614.         0Bh no more sessions available
  615.         0Ch session does not exist
  616.         0Dh not enough memory to complete operation
  617.         0Eh connection has broken
  618. SeeAlso: AX=0104h
  619. ----------690104-----------------------------
  620. INT 69 - DECnet DOS CTERM - DECnet STATUS
  621.     AX = 0104h
  622.     DX = session handle
  623. Return: AX = reason code (see AX=0103h)
  624. Note:    use this call when AX=0103h returns a DECnet error
  625. SeeAlso: AX=0103h
  626. ----------690105-----------------------------
  627. INT 69 - DECnet DOS CTERM - OPEN SESSION
  628.     AX = 0105h
  629.     DS:BX -> ASCIZ node name
  630.     ES:DX -> buffer for session control block (see INT 6A/AH=D0h)
  631. Return: AX <= 0 on error
  632.     AX > 0 session handle
  633. SeeAlso: AX=0103h,AX=0106h,AX=010Ah
  634. ----------690106-----------------------------
  635. INT 69 - DECnet DOS CTERM - CLOSE SESSION
  636.     AX = 0106h
  637.     DX = session handle
  638. Return: AH = 00h good close
  639.        other error code (see AX=0103h)
  640. SeeAlso: AX=0103h,AX=0105h
  641. ----------69010A-----------------------------
  642. INT 69 - DECnet DOS CTERM - GET SESSION CONTROL BLOCK SIZE
  643.     AX = 010Ah
  644. Return: AX = length of session control block in bytes
  645. SeeAlso: AX=0105h
  646. ----------69010B-----------------------------
  647. INT 69 - DECnet DOS CTERM - GET DECnet SOCKET
  648.     AX = 010Bh
  649.     DX = session handle
  650. Return: AX > 0    DECnet socket for the session
  651.        = 0    no match for handle
  652. ----------69010F-----------------------------
  653. INT 69 - DECnet DOS CTERM - DEINSTALL CTERM
  654.     AX = 010Fh
  655. Return: AH = 00h succesful uninstall
  656.        other error code
  657. Note:    CTERM must have been the last TSR loaded in order to deinstall it
  658. SeeAlso: AX=0100h
  659. ----------690A-------------------------------
  660. INT 69 - DECnet DOS 2.1+ - DATA LINK LAYER
  661.     AH = 0Ah
  662.     AL = function
  663.         00h initialize
  664.         01h open portal
  665.         02h close portal
  666.         03h enable multicast address
  667.         04h disable multicast address
  668.         05h transmit
  669.         06h request transmit buffer
  670.         07h deallocate transmit buffer
  671.         08h read channel status
  672.         09h read datalink portal list
  673.         0Ah read information about a datalink portal
  674.         0Bh read and/or clear counters
  675.         0Ch request to boot from a network server
  676.         0Dh enable Ethernet channel
  677.         0Eh disable Ethernet channel
  678.         0Fh start MOP/send a System ID message
  679.         10h stop MOP
  680.         11h get DECPARM
  681.         12h set DECPARM
  682.         13h external loopback
  683.     ES:BX -> Datalink Communication Block
  684. Return: AX = status
  685.         00h successful
  686.         01h hardware failed to initialize
  687.         02h channel state was not off (must be off to execute that command)
  688.         03h channel state is off (must be on to execute that command)
  689.         04h address not set
  690.         05h hardware missing
  691.         06h buffer too small
  692.         07h no more buffers available
  693.         08h no more resources available
  694.         09h promiscuous receiver active
  695.         0Ah non exclusive
  696.         0Bh unrecognized portal
  697.         0Ch protocol type in use
  698.         0Dh not a valid Multicast address
  699.         0Eh outstanding calls
  700.         0Fh hardware doesn't support receiving bad frames
  701.         10h none outstanding
  702.         11h no events
  703.         12h broken
  704.         13h buffer quota exceeded
  705.         14h already initialized
  706.         15h loopback failure
  707. SeeAlso: INT 6D"DECnet"
  708.  
  709. Format of Datalink Communication Block
  710. Offset    Type    Description
  711.  00h    WORD    portal ID
  712.  02h  6 BYTEs    source address
  713.  08h  6 BYTEs    destination address
  714.  0Eh    DWORD    buffer pointer
  715.  12h    WORD    buffer length
  716.  14h    WORD    operation
  717.  16h    BYTE    pad flag (used on open)
  718.             00h no pad
  719.             01h pad
  720.  17h    BYTE    mode flag (used on open)
  721.             00h 802.3
  722.             01h Ethernet
  723.             02h promiscuous
  724.  18h    DWORD    line status change function
  725.  1Ch    DWORD    received data function
  726.  20h    DWORD    transmitted data function
  727.  24h    BYTE    maximum outstanding transmits/receives
  728.  25h  2 BYTEs    protocol type
  729.  27h    WORD    buffers lost
  730. ----------696996-----------------------------
  731. INT 69 - ISR.COM v1.00 - SPECIFY INTERRUPT HANDLER
  732.     AX = 6996h
  733.     DS:DX -> interrupt handler or 0000h:0000h to disable
  734. Return: AX = 9669h
  735. Notes:    ISR (Interrupt Service Reflector) is a TSR by Rich Bono which permits
  736.       a program to provide hardware interrupt handlers even while being
  737.       debugged with a debugger that swaps interrupt vectors during
  738.       debugging.
  739.     the interrupt vector which is to be reflected is set at installation
  740.       time and cannot be changed
  741. ----------6A---------------------------------
  742. INT 6A - OPTHELP.COM
  743. Notes:    OPTHELP is an optionally-resident help system for SLR Systems's OPTASM
  744.       assembler
  745.     may be configured to use any interrupt from 60h to 7Fh (default 6Ah)
  746. ----------6A---------------------------------
  747. INT 6A - DECnet DOS - LOCAL AREA TRANSPORT PROGRAM
  748. Note:    the 3 bytes preceding the interrupt handler are "LAT"; this serves as
  749.       the installation check
  750. ----------6A01--DHFF-------------------------
  751. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - SEND BYTE
  752.     AH = 01h
  753.     DH = FFh
  754.     AL = character
  755.     DL = handle
  756. Return: AH >= 80h on error
  757. SeeAlso: AH=02h
  758. ----------6A02--DHFF-------------------------
  759. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - READ BYTE
  760.     AH = 02h
  761.     DH = FFh
  762.     DL = handle
  763. Return: AH < 80h if successful
  764.         AL = character
  765.     AH >= 80h on error
  766. SeeAlso: AH=01h
  767. ----------6A03--DHFF-------------------------
  768. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - STATUS
  769.     AH = 03h
  770.     DH = FFh
  771.     DL = handle
  772. Return: AH = status flags
  773.         bit 5 transmit buffer empty
  774.         3 session in start state
  775.         2 session not active
  776.         1 unable to queue transmit data
  777.         0 receive data available
  778. ----------6AD0--DHFF-------------------------
  779. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - OPEN SESSION
  780.     AH = D0h
  781.     DH = FFh
  782.     AL = FFh no password
  783.        = 0Fh password at ES:DI
  784.     ES:BX -> LAT session control block (see below)
  785.     ES:DI -> 16-byte blank-padded password
  786. Return: AH = 00h success
  787.         DL = handle
  788. SeeAlso: AX=D000h
  789.  
  790. Format of LAT Session Control Block:
  791. Offset    Size    Description
  792.  00h 18 BYTEs    service name
  793.  12h 18 BYTEs    node name (future use)
  794.  24h 18 BYTEs    port name (future use)
  795.  36h    DWORD    -> session stopped post routine
  796.  3Ah    DWORD    -> service table overflow post routine
  797.  3Eh    DWORD    -> transmit post routine
  798.  42h    DWORD    -> receive post routine
  799.  46h    WORD    session status
  800.         04h circuit failure
  801.         08h stop slot received
  802.  48h    WORD    slot state (LAT driver use)
  803.  4Ah    WORD    local credits (LAT driver use)
  804.  4Ch    DWORD    -> VCB (LAT driver use)
  805.  50h    WORD    backward slot (LAT driver use)
  806.  52h    WORD    forward slot (LAT driver use)
  807.  54h    WORD    remote slot ID (LAT driver use)
  808.  56h    WORD    local slot ID (LAT driver use)
  809.  58h    WORD    slot byte count (LAT driver use)
  810.  5Ah    BYTE    remote credits (LAT driver use)
  811.  5Bh 255 BYTEs    transmitted data slot
  812. 15Ah    BYTE    number of receive data slots (4 recommended)
  813. 15Bh    BYTE    number of occupied slots
  814. 15Ch    BYTE    index of next receive slot to use
  815. 15Dh    BYTE    index of current receive slot
  816. 15Eh    WORD    pointer to first received character
  817. 160h  N WORDs    pointers to receive slots (buffers); each is 259 bytes
  818. Note:    set post routines to 0000h:0000h if polled operation will be used
  819. ----------6AD000DHFF-------------------------
  820. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - CLOSE SESSION
  821.     AX = D000h
  822.     DH = FFh
  823.     DL = handle
  824. Return: AX = 0000h successful
  825.        = 0001h no such session
  826.        = 0002h session not running, try again later
  827. SeeAlso: AH=D0h
  828. ----------6AD100DHFF-------------------------
  829. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - SEND BREAK
  830.     AX = D100h
  831.     DH = FFh
  832.     DL = handle
  833. Return: AX = 0000h if successful
  834.     AH bit 7 set if unable to send break
  835. ----------6AD300DHFF-------------------------
  836. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - RESET LAT COUNTERS
  837.     AX = D300h
  838.     DH = FFh
  839. SeeAlso: AX=D400h
  840. ----------6AD400DHFF-------------------------
  841. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - COPY LAT COUNTERS
  842.     AX = D400h
  843.     DH = FFh
  844.     CX = buffer size
  845.     ES:BX -> buffer for LAT counters
  846. Return: AX = 0000h counters copied into buffer
  847.        = FFFFh buffer too small
  848. SeeAlso: AX=D300h
  849. ----------6AD500DHFF-------------------------
  850. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - GET NEXT LAT SERVICE NAME
  851.     AX = D500h
  852.     DH = FFh
  853.     ES:BX -> 17-byte buffer for name
  854. Return: AH = 00h if successful
  855.        ES:BX buffer filled
  856.     AX = FFFFh if end of table or no name available
  857. Notes:    use this function to get the names of the hosts on the network
  858.     successive calls are necessary to get all names
  859. SeeAlso: AX=D600h
  860. ----------6AD600DHFF-------------------------
  861. INT 6A - DECnet DOS LOCAL AREA TRANSPORT - LAT SERVICE TABLE RESET
  862.     AX = D600h
  863.     DH = FFh
  864. Return: AX = number of service table entries
  865.     BX = 0000h service table has not overflowed
  866.        = FFFFh service table has overflowed
  867. SeeAlso: AX=D500h
  868. ----------6B0000-----------------------------
  869. INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - BUFFERED WRITE
  870.     AX = 0000h
  871.     CX = length
  872.     ES:BX -> buffer
  873. Return: CX = number of bytes written
  874. Note:    also supported by NPC NCSI
  875. SeeAlso: AX=0100h,AH=18h,INT 14/AH=19h
  876. ----------6B0100-----------------------------
  877. INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - BUFFERED READ
  878.     AX = 0100h
  879.     CX = length of buffer
  880.     ES:BX -> buffer
  881. Return: CX = number of bytes read
  882. Note:    also supported by NPC NCSI
  883. SeeAlso: AX=0000h,AH=19h,INT 14/AH=18h,INT 14/AX=FF02h
  884. ----------6B02-------------------------------
  885. INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - INSTALL CHECK
  886.     AH = 02h
  887.     AL nonzero
  888. Return: AL = 00h if present and OK
  889. Note:    also supported by NPC NCSI
  890. SeeAlso: AX=0700h
  891. ----------6B0600-----------------------------
  892. INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - CONTROL
  893.     AX = 0600h
  894.     CX = command
  895.         02h send break
  896.         04h disconnect
  897.         06h hold
  898. Note:    also supported by NPC NCSI
  899. ----------6B0700-----------------------------
  900. INT 6B - Novell NASI/NACS, Ungermann-Bass Net One SERIAL I/O - GET STATUS
  901.     AX = 0700h
  902. Return: CH <> 00h if connection active
  903. Note:    also supported by NPC NCSI
  904. SeeAlso: AH=02h,AH=10h
  905. ----------6B10-------------------------------
  906. INT 6B - NPC NCSI EXTENDED SERIAL I/O - GET STATUS
  907.     AH = 10h
  908.     ???
  909. Return: ???
  910. SeeAlso: AX=0700h,AH=12h,AH=1Fh
  911. ----------6B11-------------------------------
  912. INT 6B - NPC NCSI EXTENDED SERIAL I/O - ALLOCATE A VIRTUAL CIRCUIT
  913.     AH = 11h
  914.     ???
  915. Return: ???
  916. SeeAlso: AH=12h,AH=15h,AH=16h,AH=17h,AH=18h
  917. ----------6B12-------------------------------
  918. INT 6B - NPC NCSI EXTENDED SERIAL I/O - VIRTUAL CIRCUIT STATUS
  919.     AH = 12h
  920.     ???
  921. Return: ???
  922. SeeAlso: AH=10h,AH=15h,AH=1Ah,AH=1Bh,AH=1Fh
  923. ----------6B13-------------------------------
  924. INT 6B - NPC NCSI EXTENDED SERIAL I/O - SET/RETRIEVE REQUEST/REPLY SERVICE NAME
  925.     AH = 13h
  926.     ???
  927. Return: ???
  928. SeeAlso: AH=14h,AH=15h
  929. ----------6B14-------------------------------
  930. INT 6B - NPC NCSI EXTENDED SERIAL I/O - SET/RETRIEVE SERVICE ADDRESS
  931.     AH = 14h
  932.     ???
  933. Return: ???
  934. SeeAlso: AH=13h,AH=15h,AH=21h
  935. ----------6B15-------------------------------
  936. INT 6B - NPC NCSI EXTENDED SERIAL I/O - SET/RETRIEVE VIRTUAL CIRCUIT CONFIG
  937.     AH = 15h
  938.     ???
  939. Return: ???
  940. SeeAlso: AH=13h,AH=14h
  941. ----------6B16-------------------------------
  942. INT 6B - NPC NCSI EXTENDED SERIAL I/O - LOG AND/OR INITIALIZE VIRTUAL CIRCUIT
  943.     AH = 16h
  944.     ???
  945. Return: ???
  946. SeeAlso: AH=11h,AH=12h,AH=17h
  947. ----------6B17-------------------------------
  948. INT 6B - NPC NCSI EXTENDED SERIAL I/O - DISCONNECT A VIRTUAL CIRCUIT
  949.     AH = 17h
  950.     ???
  951. Return: ???
  952. SeeAlso: AH=11h,AH=16h
  953. ----------6B18-------------------------------
  954. INT 6B - NPC NCSI EXTENDED SERIAL I/O - WRITE DATA ON A VIRTUAL CIRCUIT
  955.     AH = 18h
  956.     ???
  957. Return: ???
  958. SeeAlso: AX=0000h,AH=12h,AH=19h
  959. ----------6B19-------------------------------
  960. INT 6B - NPC NCSI EXTENDED SERIAL I/O - READ DATA ON A VIRTUAL CIRCUIT
  961.     AH = 19h
  962.     ???
  963. Return: ???
  964. SeeAlso: AX=0100h,AH=12h,AH=18h
  965. ----------6B1A-------------------------------
  966. INT 6B - NPC NCSI EXTENDED SERIAL I/O - RECEIVE STATUS
  967.     AH = 1Ah
  968.     ???
  969. Return: ???
  970. SeeAlso: AH=12h,AH=1Bh
  971. ----------6B1B-------------------------------
  972. INT 6B - NPC NCSI EXTENDED SERIAL I/O - TRANSMIT STATUS
  973.     AH = 1Bh
  974.     ???
  975. Return: ???
  976. SeeAlso: AH=12h,AH=1Ah
  977. ----------6B1C-------------------------------
  978. INT 6B - NPC NCSI EXTENDED SERIAL I/O - RECEIVE BUFFER CONTROL
  979.     AH = 1Ch
  980.     ???
  981. Return: ???
  982. SeeAlso: AH=1Dh,AH=1Eh
  983. ----------6B1D-------------------------------
  984. INT 6B - NPC NCSI EXTENDED SERIAL I/O - TRANSMIT BUFFER CONTROL
  985.     AH = 1Dh
  986.     ???
  987. Return: ???
  988. SeeAlso: AH=1Ch,AH=1Eh
  989. ----------6B1E-------------------------------
  990. INT 6B - NPC NCSI EXTENDED SERIAL I/O - ISSUE CONTROL REQUEST
  991.     AH = 1Eh
  992.     ???
  993. Return: ???
  994. SeeAlso: AH=1Ch,AH=1Dh
  995. ----------6B1F-------------------------------
  996. INT 6B - NPC NCSI EXTENDED SERIAL I/O - EXTERNAL STATUS
  997.     AH = 1Fh
  998.     ???
  999. Return: ???
  1000. SeeAlso: AH=10h,AH=12h
  1001. ----------6B21-------------------------------
  1002. INT 6B - NPC NCSI EXTENDED SERIAL I/O - QUERY NAME SERVICE
  1003.     AH = 21h
  1004.     ???
  1005. Return: ???
  1006. SeeAlso: AH=14h
  1007. ----------6B6B-------------------------------
  1008. INT 6B - Tandy SCHOOLMATE PLUS - API
  1009.     AH = 6Bh
  1010.     AL = E0h to FFh
  1011. ----------6B---------------------------------
  1012. INT 6B - VIRUS - "Saddam" - ???
  1013. SeeAlso: INT 21/AX=FFFFh,INT 61"VIRUS",INT 70"VIRUS"
  1014. ----------6C---------------------------------
  1015. INT 6C - system resume vector (CONVERTIBLE)
  1016. ----------6C---------------------------------
  1017. INT 6C - DOS 3.2 Realtime Clock update
  1018. ----------6C---------------------------------
  1019. INT 6C - DECnet DOS network scheduler
  1020. SeeAlso: INT 6D"DECnet",INT 6E"DECnet"
  1021. ----------6D---------------------------------
  1022. INT 6D - VGA - internal
  1023. Note:    used by IBM, Paradise, Video7, and NCR
  1024. ----------6D---------------------------------
  1025. INT 6D - ATI VGA Wonder - VIDEO BIOS ENTRY POINT
  1026.    points at the original INT 10 entry point set up by the ATI BIOS
  1027. SeeAlso: INT 10
  1028. ----------6D---------------------------------
  1029. INT 6D - DECnet DOS (before 2.1) - DATA LINK LAYER PROGRAM
  1030.     AH = function
  1031.     ???
  1032. Return: ???
  1033. SeeAlso: INT 69/AH=0Ah,INT 6C"DECnet",INT 6E"DECnet"
  1034. ----------6E---------------------------------
  1035. INT 6E - DECnet DOS - DECnet NETWORK PROCESS API
  1036. Notes:    this is the main DECnet DOS access, and is described in Digital manual
  1037.       AA-EB46B-TV ("DECnet-DOS Programmer's Reference Manual")
  1038.     there is a signature/data area immediately prior to the interrupt
  1039.       handler which may be used as an installation check
  1040.  
  1041. Format of signature area:
  1042. Offset    Size    Description
  1043.  -5    BYTE    major version number
  1044.  -4    BYTE    minor version number
  1045.  -3   3 BYTEs    signature (ASCII "DNP")
  1046. ----------6F22--BP0012-----------------------
  1047. INT 6F - HP ES-12 EXTENDED BIOS - READ CMOS MEMORY
  1048.     AH = 22h
  1049.     BP = 0012h
  1050.     BL = address of CMOS byte to read
  1051. Return: AH = status
  1052.     AL = byte read
  1053.     BP, DS destroyed
  1054. SeeAlso: BP=0012h/AH=24h
  1055. ----------6F24--BP0012-----------------------
  1056. INT 6F - HP ES-12 EXTENDED BIOS - WRITE CMOS MEMORY
  1057.     AH = 24h
  1058.     BP = 0012h
  1059.     BL = address of CMOS byte to write
  1060.     AL = new value
  1061. Return: AH = status
  1062.     BP, DS destroyed
  1063. SeeAlso: BP=0012h/AH=22h
  1064. ----------6F---------------------------------
  1065. INT 6F - Novell NetWare - PCOX API (3270 PC terminal interface)
  1066. ----------6F00-------------------------------
  1067. INT 6F - 10-NET - LOGIN
  1068.     AH = 00h
  1069.     DS:DX -> login record (see below)
  1070. Return: CL = security level
  1071.     AX = status
  1072.         0000h successful
  1073.         01FFh time out on response
  1074.         02FFh network (hardware) error
  1075.         03FFh invalid password
  1076.         04FFh local resource not available
  1077.         05FFh server resource not available
  1078.         06FFh already logged in under different name
  1079.         07FFh login security failure (node)
  1080.         08FFh not logged in
  1081.         09FFh position calc error
  1082.         0AFFh receive subfunction not = send subfunction (i.e. read, write)
  1083.         0BFFh request function not in range
  1084.         0CFFh no more server file handle entries left
  1085.         0DFFh no more shared file table entries left
  1086.         0EFFh no more user file handle entries left
  1087.         0FFFh chat permit not on
  1088.         10FFh not a server on request
  1089.         11FFh no transporter board error
  1090.         12FFh time out on send
  1091.         13FFh item not found (spool item not on queue)
  1092.         14FFh DOS access incompatible
  1093.         15FFh record already locked
  1094.         16FFh invalid parameter
  1095.         17FFh record lock time out error
  1096.         18FFh currently spooling to named device
  1097.         19FFh dropped receive message (throttle)
  1098.         1AFFh open sharing violation
  1099.         1BFFh no more tuf entries left
  1100.         1CFFh not file owner on open
  1101.         1DFFh read security not passed
  1102.         1EFFh write security not passed
  1103.         1FFFh group security not passed
  1104.         20FFh security file failure
  1105.         21FFh activity file failure
  1106.         22FFh spool cntrl file failure
  1107.         23FFh device not mounted (spooling)
  1108.         24FFh spool file has not been terminated
  1109.         25FFh device not mounted or is not being shared
  1110.         26FFh duplicate node id
  1111.         27FFh file not found error
  1112.         28FFh no more files
  1113.         29FFh unknown internal system error
  1114.         2AFFh print queue is full or corrupted
  1115.         2BFFh invalid function
  1116.         2CFFh invalid handle
  1117.         2DFFh too many files opened
  1118.         2EFFh path not found
  1119.         2FFFh named file is active
  1120. /* I've gotten one submission which says FFxxh, and another with xxFFh */
  1121. /* I don't know which way around these should be, does somebody else know? */
  1122.         FF01h timeout
  1123.         FF02h network error
  1124.         FF03h invalid password
  1125.         FF04h no local buffer
  1126.         FF05h superstation not available
  1127.         FF06h node already logged in
  1128.         FF07h login not valid from this node
  1129.         FF08h node ID already in use
  1130.         FF16h invalid parameter (bad length, invalid node ID, etc)
  1131.         FF17h record locked by another user
  1132.         FF18h sent message has been dropped
  1133. SeeAlso: AH=01h
  1134.  
  1135. Format of login record:
  1136. Offset    Size    Description
  1137.  00h  8 BYTEs    user name
  1138.  08h  8 BYTEs    password
  1139.  10h 12 BYTEs    name of SuperStation
  1140. ----------6F01-------------------------------
  1141. INT 6F - 10-NET - LOGOFF
  1142.     AH = 01h
  1143.     DS:DX -> superstation ID or nulls (12 bytes)
  1144. Return: CX = number of files closed
  1145.     AX = status (see AH=00h)
  1146.         FF08h superstation ID not already logged in
  1147. SeeAlso: AH=00h
  1148. ----------6F02-------------------------------
  1149. INT 6F - 10-NET - STATUS OF NODE
  1150.     AH = 02h
  1151.     DS:DX -> 512-byte status record (see below)
  1152. Return: CF set on error
  1153.         AX = error code (see AH=00h)
  1154.     CF clear if successful
  1155.  
  1156. Format of node status record:
  1157. Offset    Size    Description
  1158.  00h  8 BYTEs    user name (0 if none)
  1159.  08h    BYTE    station type
  1160.            00h workstation
  1161.            01h superstation
  1162.            02h gateway station
  1163.            03h gateway active
  1164.            04h logged into multiple superstations
  1165.            05h reserved
  1166.  09h 24 BYTEs    list of superstations logged into more than one superstation
  1167.  21h 12 BYTEs    node ID
  1168.  2Dh    WORD    message count for this station (send for user node, receive for
  1169.         superstations)
  1170. ---for superstations only---
  1171.  2Fh    WORD    drives allocated (bit 0=A:, bit 1=B:,...)
  1172.  31h    BYTE    user service flag
  1173.         bit 7: gate
  1174.             6: print permit on
  1175.             4: SUBMIT is on
  1176.             3: mail waiting for node
  1177.             2: calendar waiting for you
  1178.             1: news waiting for you
  1179.             0: mail waiting for you
  1180.  32h    BYTE    printers allocated (bit 0=LPT1,...)
  1181.  33h    BYTE    number of unprinted spool files
  1182.  34h    BYTE    number of opened files
  1183.  35h    BYTE    number of logged on nodes
  1184.  36h    BYTE    primary drive (1=A:)
  1185.  37h    BYTE    reserved
  1186.  38h  N BYTEs    list of logged on node IDs (each 12 bytes, max 37 IDs)
  1187. 1F4h  3 BYTEs    time: sec/min/hrs
  1188. 1F7h  3 BYTEs    date: day/mon/year-1980
  1189. ----------6F03-------------------------------
  1190. INT 6F - 10-NET - GET ADDRESS OF CONFIGURATION TABLE
  1191.     AH = 03h
  1192.     DS:DI -> node ID (optional)
  1193. Return: ES:BX -> configuration table 
  1194. SeeAlso: AH=13h
  1195.  
  1196. Format of configuration table:
  1197. Offset    Size    Description
  1198. -41    WORD    local device table address
  1199. -39    WORD    extended network error mapping table address
  1200. -37    WORD    shared device table address
  1201. -35    WORD    mounted device table address
  1202. -33    BYTE    receive buffer counter
  1203. -32    BYTE    collect buffer counter
  1204. -31    WORD    TUF address
  1205. -29    BYTE    enable flag
  1206. -28    BYTE    FCB keep flag
  1207. -27    WORD    reserved
  1208. ---up to here, 10-Net v3.3---
  1209. -25    WORD    count of dropped Send6F
  1210. -23    WORD    buffer start address
  1211. -21    WORD    comm driver base address
  1212. -19    WORD    send/receive retry count
  1213. -17    BYTE    number of 550ms loops before timeout
  1214. -16    WORD    UFH address
  1215. -14    WORD    CDIR address
  1216. -12    WORD    LTAB address
  1217. -10    WORD    SFH address
  1218. -8    WORD    FTAB address
  1219. -6    WORD    RLTAB address
  1220. -4    WORD    SMI address
  1221. -2    WORD    NTAB address
  1222.  00h    WORD    address of first CT_DRV
  1223.  02h    BYTE    number of DRV entries
  1224.  03h  8 BYTEs    login name
  1225.  0Bh 12 BYTEs    node ID (blank-padded)
  1226.  17h  6 BYTEs    node address
  1227.  1Dh    BYTE    flag
  1228.  1Eh    BYTE    CT_CFLG (chat permit)
  1229.         bit 1: sound bell
  1230.         bit 0: CHAT permit
  1231.  1Fh    BYTE    CT_PSFLG
  1232.         bit 5: PRINT permit
  1233.         bit 4: KB initiated
  1234.         bit 3: CHAT called FOXPTRM
  1235.         bit 2: SUBMIT active
  1236.         bit 1: SUBMIT received
  1237.         bit 0: SUBMIT permit
  1238.  20h    BYTE    in 10Net flag
  1239.  21h    WORD    receive message count
  1240.  23h    WORD    send message count
  1241.  25h    WORD    retry count
  1242.  27h    WORD    failed count
  1243.  29h    WORD    driver errors
  1244.  2Bh    WORD    dropped responses/CHATs
  1245.  2Dh  9 BYTEs    LIST ID/NTAB address (3 entries--LPT1-3)
  1246.  36h  6 BYTEs    AUX ID/NTAB address (2 entries--COM1-2)
  1247.  3Ch    BYTE    active CB channel
  1248.  3Dh    BYTE    received 6F messages on queue
  1249.  3Eh  9 BYTEs    activity counters for channels 1-9
  1250. ---beyond here, 10-Net v3.3---
  1251.  47h    BYTE    bit 0 = RS232 gate
  1252.             1 = Send6F gate (user set)
  1253.  48h    DWORD    pointer into gate (user set)
  1254.  4Ch    DWORD    pointer into 10Net send
  1255.  50h  N WORDs    addresses of timer blocks
  1256. ----------6F04-------------------------------
  1257. INT 6F - 10-NET - SEND
  1258.     AH = 04h
  1259.     DS:BX -> record
  1260.         12 BYTEs receiving node's ID
  1261.             if first byte has high-order bit set, message is
  1262.                directed to the CT_RGATE vector at the receiver
  1263.             if second byte is 00h, first byte is taken as a CB
  1264.                channel number and delivered to all nodes on same
  1265.                channel
  1266.            WORD     length of data at DX
  1267.     DS:DX -> data (max 1024 bytes)
  1268. Return: CF set on error
  1269.         AX = error code (see AH=00h)
  1270.     CF clear if successful
  1271. SeeAlso: AH=05h
  1272. ----------6F05-------------------------------
  1273. INT 6F - 10-NET - RECEIVE
  1274.     AH = 05h
  1275.     CX = number of seconds before timeout
  1276.     DS:DX -> receive buffer (see below)
  1277. Return: CF set on error
  1278.         AX = error code (see AH=00h)
  1279.     CF clear if successful
  1280.         AH = FEh if dequeued message is a CB message
  1281. SeeAlso: AH=04h
  1282.  
  1283. Format of receive buffer:
  1284. Offset    Size    Description
  1285.  00h 12 BYTEs    sending node's ID
  1286.  0Ch    WORD    length of message
  1287.  0Eh  N BYTEs    message (maximum 1024 bytes)
  1288. ----------6F07-------------------------------
  1289. INT 6F - 10-NET - LOCK HANDLE
  1290.     AH = 07h
  1291.     BX = file handle
  1292.     CX:DX = starting offset in file
  1293.     SI = record length
  1294. Return: CF set on error
  1295.         AX = error code (see also AH=00h)
  1296.         0002h file not found
  1297.     CF clear if successful
  1298. SeeAlso: AH=08h,INT 21/AH=5Ch
  1299. ----------6F08-------------------------------
  1300. INT 6F - 10-NET - UNLOCK HANDLE
  1301.     AH = 08h
  1302.     BX = file handle
  1303.     AL = mode
  1304.         00h unlock all
  1305.         01h unlock record at CX:DX
  1306. Return: CF set on error
  1307.         AX = error code (see also AH=00h)
  1308.         0002h file not found
  1309.     CF clear if successful
  1310. SeeAlso: AH=07h,INT 21/AH=5Ch
  1311. ----------6F09-------------------------------
  1312. INT 6F - 10-NET - SUBMIT
  1313.     AH = 09h
  1314.     DS:BX -> submit record (see below)
  1315.  
  1316. Format of submit record:
  1317. Offset    Size    Description
  1318.  00h 12 BYTEs    destination node ID (must be logged in)
  1319.  0Ch    WORD    length+2 of following 'command line' text
  1320.  0Eh  N BYTEs    command line text (<=100 bytes), system adds CR
  1321. ----------6F0A-------------------------------
  1322. INT 6F - 10-NET - CHAT
  1323.     AH = 0Ah
  1324.     DS:BX -> control parameters (see below)
  1325.     DS:DX -> chat message (see below)
  1326.  
  1327. Format of control parameters:
  1328. Offset    Size    Description
  1329.  00h  8 BYTEs    sender ID, defaults to node's userID if nulls
  1330.  08h  8 BYTEs    destination user ID, 'EVERYONE' may be used
  1331.  10h 12 BYTEs    destination node ID
  1332.  
  1333. Format of chat message:
  1334. Offset    Size    Description
  1335.  00h    WORD    length+2 of following text
  1336.  02h  N BYTEs    text, max 101 bytes
  1337. ----------6F0B-------------------------------
  1338. INT 6F - 10-NET - LOCK SEMAPHORE, RETURN IMMEDIATELY
  1339.     AH = 0Bh
  1340.     AL = drive number or 0
  1341.     ES:SI = Ethernet address or 0
  1342.     DS:BX -> 31-byte ASCIZ semaphore name
  1343. Return: AL = status
  1344.         00h successful
  1345.         01h semaphore currently locked
  1346.         02h server not responding
  1347.         03h invalid semaphore name
  1348.         04h semaphore list is full
  1349.         05h invalid drive ID
  1350.         06h invalid Ethernet address
  1351.         07h not logged in
  1352.         08h write to network failed
  1353.         09h semaphore already logged in this CPU
  1354. Note:    same as INT 60/AH=12h
  1355. SeeAlso: AH=0Ch,INT 60/AH=12h
  1356. ----------6F0C-------------------------------
  1357. INT 6F - 10-NET - UNLOCK SEMAPHORE
  1358.     AH = 0Ch
  1359.     AL = drive number or 0
  1360.     ES:SI = Ethernet address or 0
  1361.     DS:BX -> 31-byte ASCIZ semaphore name
  1362. Return: AL = status (see also AH=0Bh)
  1363.         01h semaphore not locked
  1364. Note:    same as INT 60/AH=13h
  1365. SeeAlso: AH=0Bh,INT 60/AH=13h
  1366. ----------6F0D-------------------------------
  1367. INT 6F - 10-NET - WHO
  1368.     AH = 0Dh
  1369.     AL = type code
  1370.         01h return superstations only
  1371.         02h return non-superstations only
  1372.         otherwise return all
  1373.     CX = length of data
  1374.     DS:DX -> array of records to be filled (see below)
  1375. Return: CL = number of records returned (responding stations)
  1376.  
  1377. Format of station record:
  1378. Offset    Size    Description
  1379.  00h 12 BYTEs    node ID
  1380.  0Ch    BYTE    flags
  1381.         bit 1 = workstation
  1382.             2 = superstation
  1383.             3 = xgate
  1384.             4 = active gate
  1385. ---if AL = 01h---
  1386.  0Dh    BYTE    version number
  1387.     WORD    level number of 10Net software in responding node
  1388. ---if AL = 02h---
  1389.  0Dh  8 BYTEs    user ID
  1390.  15h    BYTE    version number
  1391.  16h    WORD    level number
  1392. ----------6F0E-------------------------------
  1393. INT 6F - 10-NET - SPOOL/PRINT
  1394.     AH = 0Eh
  1395.     DS:DX -> spool/print record (see below)
  1396. Return: CF set on error
  1397.         AX = error code (see also AH=00h)
  1398.         FF17h device not mounted
  1399.         FF18h already spooling to named device
  1400.     CF clear if successful
  1401.  
  1402. Format of Spool/Print record:
  1403. Offset    Size    Description
  1404.  00h    WORD    operation code
  1405.            00h initiate spool
  1406.            01h abort print
  1407.            02h close spool
  1408.            03h delete spool
  1409.            04h print
  1410.            05h get report info
  1411.            06h set chat template
  1412.            07h queue
  1413.            08h return queue
  1414.            09h queue non-spooled file for printing
  1415.  02h 11 BYTEs    file name in FCB format
  1416. ---if operation code = 00h or 06h---
  1417.  0Dh    BYTE    notification
  1418.         bit 7: queue to top
  1419.         bit 6: do ID page
  1420.         bit 5: no form feed
  1421.         bit 4: reserved
  1422.         bit 3: explicity queuing only
  1423.         bit 2: notify at print completion
  1424.         bit 1: notify server operator/reply
  1425.         bit 0: notify at print start
  1426.  0Eh    BYTE    days to keep (FFh=forever)
  1427.  0Fh    BYTE    bits 0,1: device (1=LPT1)
  1428.         bits 4-7: remote drive to store spool file (1=A,...)
  1429.  10h    WORD    length of following data area
  1430.  12h  N BYTEs    up to 64 bytes of description
  1431. ---if operation code = 03h---
  1432.  0Dh  8 BYTEs    user ID to associate with filename
  1433. ---if operation code = 04h---
  1434.  0Dh    WORD    block number
  1435.  0Fh  8 BYTEs    user ID to associate with filename
  1436. ---if operation code = 05h---
  1437.  0Dh    BYTE    RRN to start retrieve
  1438.  0Eh    BYTE    bits 0,1: local print device (LPTx)
  1439.         bit 3: if set, return entries for all users
  1440.  0Fh    WORD    length of following area
  1441.  11h  N BYTEs    up to 1500 bytes to receive $SCNTL records returned
  1442. ---if operation code = 07h---
  1443.  0Dh    BYTE    queue number
  1444.  0Eh    BYTE    bits 0,1: local print device (LPTx)
  1445.  0Fh    WORD    number of bytes of test print to be done
  1446.  11h    BYTE    code: 01h print device
  1447.               02h test print count
  1448.               03h prn
  1449. ---if operation code = 08h---
  1450.  0Dh    BYTE    queue location or $SCNTL location to start access
  1451.             returns next item for access:
  1452.                 00h-7Fh queued items
  1453.                 80h-FEh non-queued, non-printed items
  1454.                 FFh    no more items
  1455.  0Eh    WORD    unused
  1456.  10h    WORD    length of following area
  1457.  12h  N BYTEs    up to 64 bytes to receive $SCNTL records
  1458. ---if operation code = 09h---
  1459.  0Dh  3 BYTEs    unused
  1460.  10h  N BYTEs    path to non-spooled file to be queued for printing
  1461.  
  1462. Format of $SCNTL record:
  1463. Offset    Size    Description
  1464.  00h  8 BYTEs    user ID
  1465.  08h 11 BYTEs    filename in FCB format
  1466.  13h  6 BYTEs    node ID
  1467.  19h  3 BYTEs    creation date
  1468.  1Ch    BYTE    flags
  1469.         bit 7: queue to top
  1470.             6: do ID page
  1471.             5: no form feed at end
  1472.             4: reserved
  1473.             3: explicit queueing only
  1474.             2: notify at completion
  1475.             1: notify server operator/reply
  1476.             0: notify at start
  1477.  1Dh    BYTE    retention time in days
  1478.  1Eh    BYTE    printing device (LPTx)
  1479.  1Fh  3 BYTEs    date last printed (0 = never)
  1480.  22h    BYTE    device containing spoolfile
  1481.  23h    WORD    bytes to print for test print
  1482.  25h    WORD    block number to start print
  1483.  27h    BYTE    reserved
  1484. ----------6F10-------------------------------
  1485. INT 6F - 10-NET - ATTACH/DETACH PRINTER
  1486.     AH = 10h
  1487.     AL = subfunction
  1488.         00h initiate spooling if LPT1 is mounted
  1489.         01h terminate spooling if LPT1 is mounted
  1490. SeeAlso: INT 21/AX=5D08h
  1491. ----------6F11-------------------------------
  1492. INT 6F - 10-NET - LOCK FCB
  1493.     AH = 11h
  1494.     AL = mode
  1495.         01h sequential
  1496.         02h random
  1497.         03h random block
  1498.         CX = number of records
  1499.     DS:DX -> FCB (see INT 21/AH=0Fh)
  1500. Return: CF set on error
  1501.         AX = error code (see also AH=00h)
  1502.         0002h file not found
  1503.     CF clear if successful
  1504. SeeAlso: AH=12h
  1505. ----------6F12-------------------------------
  1506. INT 6F - 10-NET - UNLOCK FCB
  1507.     AH = 12h
  1508.     AL = mode
  1509.         00h sequential
  1510.         01h random
  1511.         02h random block
  1512.         CX = number of records
  1513.     DS:DX -> FCB (see INT 21/AH=0Fh)
  1514. Return: CF set on error
  1515.         AX = error code (see also AH=00h)
  1516.         0002h file not found
  1517.     CF clear if successful
  1518. SeeAlso: AH=11h
  1519. ----------6F13-------------------------------
  1520. INT 6F - 10-NET v3.3 - GET REMOTE CONFIGURATION TABLE ADDRESS
  1521.     AH = 13h
  1522.     DS:DX -> node ID, 12 bytes blank-padded
  1523. Return: CF set on error
  1524.         AX = error code (see AH=00h)
  1525.     CF clear if successful
  1526.         ES:BX = configuration table address on given machine
  1527. SeeAlso: AH=03h
  1528. ----------6F14-------------------------------
  1529. INT 6F - 10-NET v3.3 - GET REMOTE MEMORY
  1530.     AH = 14h
  1531.     BX:SI = address of remote memory
  1532.     CX = length (<=1024 bytes)
  1533.     DS:DX -> node ID, 12 bytes blank-padded
  1534.     DS:DI -> area to receive remote memory image
  1535. Return: CF set on error
  1536.         AX = error code (see AH=00h)
  1537.     CF clear if successful
  1538.         CX = amount of memory copied to DS:SI
  1539. ----------6F1501-----------------------------
  1540. INT 6F - 10-NET v3.3 - GET SHARED DEVICE ENTRY
  1541.     AX = 1501h
  1542.     BX = zero-based index
  1543.     DS:SI -> node ID, 12 bytes blank-padded
  1544.     ES:DI -> 85-byte buffer for shared device table entry (see below)
  1545. Return: CF set on error
  1546.         AX = error code (see AH=00h)
  1547.     CF clear if successful
  1548.         ES:DI buffer contains shared device table entry of BXth device:
  1549. SeeAlso: AX=1502h,AX=1503h
  1550.  
  1551. Format of shared device table entry:
  1552. Offset    Size    Description
  1553.  00h  8 BYTEs    device
  1554.  08h  8 BYTEs    alias
  1555.  10h 64 BYTEs    path
  1556.  50h  8 BYTEs    password
  1557.  58h    BYTE    access
  1558.  59h  4 BYTEs    mask
  1559. ----------6F1502-----------------------------
  1560. INT 6F - 10-NET v3.3 - SET SHARED DEVICE ENTRY
  1561.     AX = 1502h
  1562.     DS:SI -> node ID, 12 bytes blank-padded
  1563.     ES:DI -> valid shared device table entry
  1564. Return: CF set on error
  1565.         AX = error code (see AH=00h)
  1566.     CF clear if successful
  1567. SeeAlso: AX=1501h,AX=1503h
  1568. ----------6F1503-----------------------------
  1569. INT 6F - 10-NET v3.3 - DELETE SHARED DEVICE ENTRY
  1570.     AX = 1503h
  1571.     BX = zero-based index
  1572.     DS:SI -> node ID, 12 bytes blank-padded
  1573. Return: CF set on error
  1574.         AX = error code (see AH=00h)
  1575.     CF clear if successful
  1576. SeeAlso: AX=1501h,AX=1502h
  1577. ----------6F17-------------------------------
  1578. INT 6F - 10-NET v3.3 - MOUNT
  1579.     AH = 17h
  1580.     AL = local drive number (0=A:)
  1581.     BL = remote drive letter or '1'..'3' for LPTn or '4' or '5' for COMx
  1582.     DS:DX -> node ID, 12 bytes blank-padded
  1583. Return: CF set on error
  1584.         AX = error code (see AH=00h)
  1585.     CF clear if successful
  1586. SeeAlso: AH=18h
  1587. ----------6F18-------------------------------
  1588. INT 6F - 10-NET v3.3 - UNMOUNT
  1589.     AH = 18h
  1590.     AL = local drive number (0=A:)
  1591.     BL = type
  1592.         00h        disk
  1593.         01h-03h LPTn
  1594.         04h,05h COMx
  1595. Return: CF set on error
  1596.         AX = error code (see AH=00h)
  1597.     CF clear if successful
  1598. SeeAlso: AH=17h
  1599. ----------70---------------------------------
  1600. INT 70 - IRQ8 - CMOS REAL-TIME CLOCK
  1601. Notes:    this interrupt is called when the real-time clock chip generates an
  1602.       alarm or periodic interrupt, among others.  The periodic interrupt
  1603.       occurs 1024 times per second, although many BIOSes turn it off in
  1604.       the INT 70h handler unless in an event wait (see INT 15/AH=83h or
  1605.       INT 15/AH=86h).
  1606.     may be masked by setting bit 0 on I/O port A1h
  1607. SeeAlso: INT 08,INT 0F"HP 95LX",INT 15/AH=01h"Amstrad",INT 15/AH=83h
  1608. SeeAlso: INT 15/AH=86h,INT 1A/AH=02h,INT 58"DESQview"
  1609. ----------70---------------------------------
  1610. INT 70 - VIRUS "Stupid" - ???
  1611. SeeAlso: INT 6B"VIRUS",INT E0"VIRUS"
  1612. ----------71---------------------------------
  1613. INT 71 - IRQ9 - REDIRECTED TO INT 0A BY BIOS
  1614. Notes:    may be masked by setting bit 1 on I/O port A1h
  1615.     the default BIOS handler invokes INT 0A for compatibility, since the
  1616.       pin for IRQ2 on the PC expansion bus became the pin for IRQ9 on the
  1617.       AT expansion bus.
  1618.     under DESQview, only the INT 15h vector and BASIC segment address (the
  1619.       word at 0000h:0510h) may be assumed to be valid for the handler's
  1620.       process
  1621. SeeAlso: INT 0A,INT 59
  1622. ----------72---------------------------------
  1623. INT 72 - IRQ10 - RESERVED
  1624. Note:    may be masked by setting bit 2 on I/O port A1h
  1625. SeeAlso: INT 5A
  1626. ----------73---------------------------------
  1627. INT 73 - IRQ11 - RESERVED
  1628. Note:    may be masked by setting bit 3 on I/O port A1h
  1629. SeeAlso: INT 5B
  1630. ----------74---------------------------------
  1631. INT 74 - IRQ12 - POINTING DEVICE (PS)
  1632. Notes:    may be masked by setting bit 4 on I/O port A1h
  1633.     under DESQview, only the INT 15h vector and BASIC segment address (the
  1634.       word at 0000h:0510h) may be assumed to be valid for the handler's
  1635.       process
  1636. SeeAlso: INT 33,INT 5C
  1637. ----------75---------------------------------
  1638. INT 75 - IRQ13 - MATH COPROCESSOR EXCEPTION (AT and up)
  1639.    redirected to INT 02 by the BIOS, for compatibility with the PC
  1640. Notes:    may be masked by setting bit 5 on I/O port A1h
  1641.     not all clones wire the coprocessor to generate this IRQ; some systems
  1642.       generate an NMI (see INT 02) or assert the -ERROR pin on the CPU
  1643.       (see INT 10"COPROCESSOR")
  1644.     under DESQview, only the INT 15h vector and BASIC segment address (the
  1645.       word at 0000h:0510h) may be assumed to be valid for the handler's
  1646.       process
  1647. SeeAlso: INT 10"COPROCESSOR",INT 5D
  1648. ----------76---------------------------------
  1649. INT 76 - IRQ14 - HARD DISK CONTROLLER (AT and later)
  1650. Note:    may be masked by setting bit 6 on I/O port A1h
  1651. SeeAlso: INT 0E"IRQ6",INT 5E
  1652. ----------77---------------------------------
  1653. INT 77 - IRQ15 - RESERVED (AT,PS)
  1654. Note:    may be masked by setting bit 7 on I/O port A1h
  1655. SeeAlso: INT 5F
  1656. ----------77---------------------------------
  1657. INT 77 - IRQ15 - POWER CONSERVATION (Compaq SLT/286)
  1658. Note:    may be masked by setting bit 7 on I/O port A1h
  1659. SeeAlso: INT 15/AX=4600h,INT 5F
  1660. ----------78---------------------------------
  1661. INT 78 - UofSalford DBOS DOS extender - API
  1662.     BYTE following INT instruction contains function code
  1663.         03h switch to protected mode
  1664.         1Eh set real-mode memory size (specify how much real-mode memory
  1665.               to leave free when running FTN77 programs)
  1666.         22h uninstall
  1667.     ???
  1668. Return: ???
  1669. Note:    DBOS supports functions 00h through 50h
  1670. ----------78---------------------------------
  1671. INT 78 - DJGPP GO32 DOS EXTENDER - RELOCATED IRQ0
  1672. Note:    this vector is overwritten when GO32 starts but is not restored
  1673. SeeAlso: INT 08,INT 10/AH=FFh"GO32",INT 79"GO32"
  1674. ----------78---------------------------------
  1675. INT 78 - AutoCAD 10 ADI for Plotters
  1676.     AX = function
  1677.         0001h initialize comm port and reset plotter
  1678.             BX = ??? (comm port?)
  1679.         0002h close plotter
  1680.         0003h move (pen up)
  1681.             BX = new X position
  1682.         CX = new Y position
  1683.         0004h move (pen down)
  1684.             BX = new X position
  1685.         CX = new Y position
  1686.         0005h select pen
  1687.             BX = pen number
  1688.         0006h select drawing speed
  1689.             BX = drawing speed N
  1690.         0007h select line style
  1691.             BX = line style N
  1692.         0008h return pen to pen carrier??? (called before change-pen cmd)
  1693. Return: ???
  1694. SeeAlso: INT 7A"AutoCAD",INT 7B"AutoCAD"
  1695. ----------78---------------------------------
  1696. INT 78 - ADP-60 IDE controller - ORIGINAL INT 13
  1697. SeeAlso: INT 79"ADP-60"
  1698. ----------7800-------------------------------
  1699. INT 78 - TARGA.DEV - CMC International SCSI device driver - SET I/O PORT
  1700.     AH = 00h
  1701.     DX = interface board I/O port
  1702. Return:    CF set on error
  1703.         AL = error code
  1704.         00h illegal command given to SCSI code
  1705.         01h invalid I/O port specified (must be from 100H to 3F8H, and
  1706.             must be on an 8-port boundary)
  1707.         02h invalid DMA channel specified (must be from 1 to 3)
  1708.         03h invalid SCSI board number specified (must be from 0 to 7)
  1709.         04h error from data register test during self-test
  1710.         05h SCSI input signals not all 0 when SCSI RST activated
  1711.         06h SCSI input signals not all 0 before selecting a SCSI device
  1712.         07h BSY signal is active; SCSI bus is busy
  1713.         08h SCSI board not selected, BSY signal did not come on in
  1714.             response to raising SEL
  1715.         09h time-out waiting for status state, signifying end of DMA
  1716.             transfer
  1717. Note:    if this routine is not called, the port is the driver's default
  1718.       (usually 0280h or 0300h)
  1719.     an installation check is performed by TARGA.DEV upon initialization
  1720.       by checking for the string "SCSI" at offset 03h into the interrupt
  1721.       handler
  1722. SeeAlso: AH=01h,AH=02h
  1723. ----------7801-------------------------------
  1724. INT 78 - TARGA.DEV - GET I/O PORT
  1725.     AH = 01h
  1726. Return: DX = current interface board I/O port
  1727. SeeAlso: AH=00h,AH=03h"TARGA"
  1728. ----------7802-------------------------------
  1729. INT 78 - TARGA.DEV - SET DMA CHANNEL
  1730.     AH = 02h
  1731.     AL = interface board DMA channel
  1732. Return: CF set on error
  1733.     AL = error code (see AH=00h)
  1734. Note:    if this routine is not called, the DMA channel is the driver's default
  1735.       (usually 3)
  1736. SeeAlso: AH=00h,AH=03h"TARGA"
  1737. ----------7803-------------------------------
  1738. INT 78 - TARGA.DEV - GET DMA CHANNEL
  1739.     AH = 03h
  1740. Return: AL = current interface board DMA channel
  1741. SeeAlso: AH=01h,AH=02h
  1742. ----------7804-------------------------------
  1743. INT 78 - TARGA.DEV - SET SCSI DEVICE NUMBER
  1744.     AH = 04h
  1745.     AL = SCSI device number
  1746. Return: CF set on error
  1747.     AL = error code (see AH=00h)
  1748. Note:    if this routine is not called, the device number used is the driver's
  1749.       default (usually 0)
  1750. SeeAlso: AH=02h,AH=05h
  1751. ----------7805-------------------------------
  1752. INT 78 - TARGA.DEV - GET SCSI DEVICE NUMBER
  1753.     AH = 05h
  1754. Return: AL = current SCSI device number
  1755. SeeAlso: AH=03h"TARGA",AH=04h
  1756. ----------7806-------------------------------
  1757. INT 78 - TARGA.DEV - SET/CLEAR EARLY RETURN MODE
  1758.     AH = 06h
  1759.     AL = 00h clear early return mode
  1760.        = 01h set early return mode
  1761. Note:    if early return mode is set then SCSI will return with no errors
  1762.       when the last DMA transfer is started in a call with AH=13h or AH=14h
  1763.     if this routine is not called, early return mode is cleared
  1764. SeeAlso: AH=13h,AH=14h,AH=15h
  1765. ----------7808-------------------------------
  1766. INT 78 - TARGA.DEV - INTERFACE BOARD SELF-TEST
  1767.     AH = 08h
  1768. Return: CF set on error
  1769.     AL = error code (see AH=00h)
  1770. Note:    the SCSI bus is also reset
  1771. SeeAlso: AH=09h
  1772. ----------7809-------------------------------
  1773. INT 78 - TARGA.DEV - RESET SCSI BUS
  1774.     AH = 09h
  1775. Return: AL = error code if carry set (see AH=00h)
  1776. SeeAlso: AH=08h
  1777. ----------7810-------------------------------
  1778. INT 78 - TARGA.DEV - SEND SCSI COMMAND
  1779.     AH = 10h
  1780.     DS:SI -> command bytes
  1781. Return: AH = SCSI status byte
  1782.     CF clear if successful
  1783.         AL = SCSI message byte
  1784.     CF set on error
  1785.         AL = error code (see AH=00h)
  1786. SeeAlso: AH=11h,INT 21/AX=4403h"ST-01"
  1787.  
  1788. Format of SCSI Command:
  1789. Offset    Size    Description
  1790.  00h    BYTE    length of command
  1791.  01h    ???    command bytes
  1792. ----------7811-------------------------------
  1793. INT 78 - TARGA.DEV - SEND SCSI COMMAND, RECEIVE DATA (PROGRAMMED I/O)
  1794.     AH = 11h
  1795.     DS:SI -> command bytes
  1796.     ES:BX -> data storage area
  1797.     CX = number of data bytes to transfer
  1798. Return: AH = SCSI status byte
  1799.     CF clear if successful
  1800.         AL = SCSI message byte
  1801.     CF set on error
  1802.         AL = error code (see AH=00h)
  1803. Note:    this command receives data internally one byte at a time
  1804. SeeAlso: AH=10h,AH=13h
  1805.  
  1806. Format of SCSI Command:
  1807. Offset    Size    Description
  1808.  00h    BYTE    length of command
  1809.  01h    ???    command bytes
  1810. ----------7812-------------------------------
  1811. INT 78 - TARGA.DEV - SEND SCSI COMMAND AND DATA (PROGRAMMED I/O)
  1812.     AH = 12h
  1813.     DS:SI -> command bytes
  1814.     ES:BX -> data storage area
  1815.     CX = number of data bytes to transfer
  1816. Return: AH = SCSI status byte
  1817.     CF clear if successful
  1818.         AL = SCSI message byte
  1819.     CF set on error
  1820.         AL = error code (see AH=00h)
  1821. Note:    this command sends data internally one byte at a time
  1822. SeeAlso: AH=14h
  1823.  
  1824. Format of SCSI Command:
  1825. Offset    Size    Description
  1826.  00h    BYTE    length of command
  1827.  01h    ???    command bytes
  1828. ----------7813-------------------------------
  1829. INT 78 - TARGA.DEV - SEND SCSI COMMAND, RECEIVE DATA (DMA)
  1830.     AH = 13h
  1831.     DS:SI -> command bytes
  1832.     ES:BX -> data storage area
  1833.     DX:CX = number of data bytes to transfer
  1834. Return: AH = SCSI status byte (if early return mode is clear)
  1835.     CF clear if successful
  1836.         AL = SCSI message byte (if early return mode is clear)
  1837.     CF set on error
  1838.         AL = error code (see AH=00h)
  1839. Note:    this command receives data using DMA
  1840. SeeAlso: AH=11h,AH=12h
  1841.  
  1842. Format of SCSI Command:
  1843. Offset    Size    Description
  1844.  00h    BYTE    length of command
  1845.  01h    ???    command bytes
  1846. ----------7814-------------------------------
  1847. INT 78 - TARGA.DEV - SEND SCSI COMMAND AND DATA (DMA)
  1848.     AH = 14h
  1849.     DS:SI -> command bytes
  1850.     ES:BX -> data storage area
  1851.     DX:CX = number of data bytes to transfer
  1852. Return: AH = SCSI status byte (if early return mode is clear)
  1853.     CF clear if successful
  1854.         AL = SCSI message byte (if early return mode is clear)
  1855.     CF set on error
  1856.         AL = error code (see AH=00h)
  1857. Note:    this command sends data using DMA
  1858. SeeAlso: AH=12h,AH=13h
  1859.  
  1860. Format of SCSI Command:
  1861. Offset    Size    Description
  1862.  00h    BYTE    length of command
  1863.  01h    ???    command bytes
  1864. ----------7815-------------------------------
  1865. INT 78 - TARGA.DEV - FINISH DATA TRANSFER (DMA)
  1866.     AH = 15h
  1867. Return: AH = SCSI status byte
  1868.     CF clear if successful
  1869.         AL = SCSI message byte
  1870.     CF set on error
  1871.         AL = error code (see AH=00h)
  1872. Note:    if AH=06h was previously called to set the early return mode, this
  1873.       function finishes a command AH=13h or AH=14h which returned before
  1874.       the last DMA transfer was finished
  1875. SeeAlso: AH=06h,AH=13h,AH=14h
  1876. ----------79---------------------------------
  1877. INT 79 - AVATAR.SYS - FAST GET KEYSTROKE
  1878. Return: CF set if no keystroke available
  1879.         AX = FFFFh
  1880.     CF clear if key pressed
  1881.         AX = keystroke
  1882. Notes:    if a keystroke is available, it is removed from the keyboard buffer
  1883.       before being returned
  1884.     AVATAR.SYS is a CON driver by George Adam Stanislav which interprets
  1885.       AVATAR command codes just as ANSI.SYS interprets ANSI commands
  1886. SeeAlso: INT 29
  1887. ----------79---------------------------------
  1888. INT 79 - DJGPP GO32 DOS EXTENDER - RELOCATED IRQ1
  1889. Note:    this vector is overwritten when GO32 starts but is not restored
  1890. SeeAlso: INT 09,INT 78"GO32",INT 7A"GO32"
  1891. ----------79---------------------------------
  1892. INT 79 U - ADP-60 IDE adapter - ???
  1893. SeeAlso: INT 78"ADP-60"
  1894. ----------790001-----------------------------
  1895. INT 79 U - AutoCAD Device Interface - DIGITIZER - INITIALIZE
  1896.     AX = 0001h
  1897. Return: AX = 0001h ??? self-test result???
  1898.     BX = 0001h
  1899. SeeAlso: AX=0002h,AX=0003h,INT 7A"AutoCAD"
  1900. ----------790002-----------------------------
  1901. INT 79 U - AutoCAD Device Interface - DIGITIZER - CLOSE
  1902.     AX = 0002h
  1903. SeeAlso: AX=0001h,AX=0003h
  1904. ----------790003-----------------------------
  1905. INT 79 U - AutoCAD Device Interface - DIGITIZER - GET DIGITIZER STATUS
  1906.     AX = 0003h
  1907. Return: AX = button state
  1908.         0002h no button pressed
  1909.             BX = X coordinate
  1910.         CX = Y coordinate
  1911.         0003h Pick button (0,A,B,C,D) pressed
  1912.             BX = X coordinate
  1913.         CX = Y coordinate
  1914.         0005h other button (1-9) pressed
  1915.             BX = number of button - 1
  1916.         CX = X coordinate
  1917.         DX = Y coordinate
  1918. Note:    these return values are valid for the Houston Instruments HiPad Plus
  1919.       9236 digitizer with a 16-button cursor
  1920. SeeAlso: AX=0001h,AX=0002h
  1921. ----------7A---------------------------------
  1922. INT 7A U - Topware Network Operating System - ???
  1923.     AL = ???
  1924.     ???
  1925. Return: ???
  1926. SeeAlso: INT 21/AH=FFh"Topware",INT 2F/AX=FF00h
  1927. ----------7A---------------------------------
  1928. INT 7A - AutoCAD Device Interface
  1929.     ???
  1930. SeeAlso: INT 61/AX=0007h"OPTIMA",INT 78"AutoCAD",INT 79/AX=0001h
  1931. SeeAlso: INT 7B"AutoCAD"
  1932. ----------7A---------------------------------
  1933. INT 7A - X.PC Packet software interface
  1934.     ES:BX -> parameter block
  1935. SeeAlso: INT 60/AX=01FFh
  1936. ----------7A---------------------------------
  1937. INT 7A - Novell NetWare - LOW-LEVEL API - Notes
  1938. Note:    this interrupt is used for IPX/SPX access in NetWare versions through
  1939.       2.0a; in later versions, you should use INT 2F/AX=7A00h to get an
  1940.       entry point even though INT 7A still exists.    For both INT 7A and
  1941.       the FAR entry point, BX contains the function number; IPX is
  1942.       sometimes called internally with BX bit 15 set.
  1943. SeeAlso: INT 2F/AX=7A00h,INT 64"Novell",INT 7A/BX=0000h
  1944. ----------7A---------------------------------
  1945. INT 7A - DJGPP GO32 DOS EXTENDER - RELOCATED IRQ2
  1946. Note:    this vector is overwritten when GO32 starts but is not restored
  1947. SeeAlso: INT 0A,INT 79"GO32",INT 7B"GO32"
  1948. ----------7A----BX0000-----------------------
  1949. INT 7A - Novell NetWare - IPX Driver - OPEN SOCKET
  1950.     BX = 0000h
  1951.     AL = socket longevity
  1952.         00h open until close or terminate
  1953.         FFh open until close
  1954.     DX = socket number (high byte in DL)
  1955.         0000h dynamic allocation
  1956.         else  socket to open
  1957.             0452h Service Advertising Socket
  1958.         0456h diagnostics
  1959.         4000h-7FFFh used for dynamic allocation
  1960.         8000h-FFFFh assigned by Novell
  1961. Return: AL = return code
  1962.         00h success
  1963.         DX = socket number
  1964.         FEh socket table full
  1965.         FFh socket already open
  1966. Notes:    TSRs which need to use sockets should set AL to FFh, non-resident
  1967.       programs should normally use AL=00h
  1968.     IPX can be configured to support up to 150 open sockets on a
  1969.       workstation, and defaults to 20
  1970.     this function is supported by Advanced NetWare 1.02+
  1971. SeeAlso: BX=0001h,BX=0004h
  1972. ----------7A----BX0001-----------------------
  1973. INT 7A - Novell NetWare - IPX Driver - CLOSE SOCKET
  1974.     BX = 0001h
  1975.     DX = socket number (high byte in DL)
  1976. Notes:    also cancels events set by any Event Control Blocks for the socket
  1977.     the program must close all open sockets before terminating
  1978.     this function is supported by Advanced NetWare 1.02+
  1979. SeeAlso: BX=0000h
  1980. ----------7A----BX0002-----------------------
  1981. INT 7A - Novell NetWare - IPX Driver - GET LOCAL TARGET
  1982.     BX = 0002h
  1983.     ES:SI -> target internetwork address (see INT 7A/BX=000Bh)
  1984.     ES:DI -> 6-byte buffer for local target
  1985. Return: AL = return code
  1986.         00h success
  1987.            CX = expected one-way transfer time (clock ticks) for a 576-byte
  1988.                    packet
  1989.            ES:DI -> local target
  1990.         FAh unsuccessful (no path to destination)
  1991. Notes:    the internetwork address consists of a 4-byte network address followed
  1992.       by a 6-byte node address.  The local target is only a 6-byte node
  1993.       address.  If the target is in the same network, the local target is
  1994.       just the node address of target; otherwise, the local target is the
  1995.       node address of the bridge that leads to the target.
  1996.     this function may be called from inside IPX and AES Event Service
  1997.       Routines, but not from other interrupt handlers
  1998.     this function is supported by Advanced NetWare 1.02+
  1999. SeeAlso: BX=0009h
  2000. ----------7A----BX0003-----------------------
  2001. INT 7A - Novell NetWare - IPX Driver - SEND PACKET
  2002.     BX = 0003h
  2003.     ES:SI -> Event Control Block (see below)
  2004. Notes:    returns immediately; IPX attempts to send the packet in the background
  2005.     this function is supported by Advanced NetWare 1.02+
  2006. SeeAlso: BX=0004h,BX=000Fh
  2007.  
  2008. Format of Event Control Block:
  2009. Offset    Size    Description
  2010.  00h    DWORD    Link
  2011.  04h    DWORD    -> Event Service Routine (00000000h if none)
  2012.  08h    BYTE    in use flag
  2013.          00h available
  2014.         FDh AES couting down delay time
  2015.         FEh awaiting packet reception
  2016.         FFh sending packet
  2017.  09h    BYTE    completion code (see below)
  2018.  0Ah    WORD    socket (big-endian)
  2019.          0452h Service Advertising Socket
  2020.         0456h diagnostics
  2021.         other
  2022.  0Ch  4 BYTES    IPX workspace
  2023.  10h 12 BYTES    driver workspace
  2024.  1Ch  6 BYTES    immediate local node address
  2025.  22h    WORD    fragment count
  2026.  26h    var    fragment descriptors
  2027.         Offset    Size    Description
  2028.          00h    DWORD    -> fragment data
  2029.          04h    WORD    size of fragment in bytes.
  2030. Notes:    ESR is a far procedure that is called when the ECB has been handled.
  2031.       On call, the in use flag is zero if the ECB has been handled,
  2032.       non-zero otherwise. If the flag is zero, the completion code holds
  2033.       the result of the event.
  2034.     the first fragment should start with an IPX header
  2035.     all fragments are concatenated and sent in one piece
  2036.     node address FFh FFh FFh FFh FFh FFh broadcasts to all nodes
  2037.  
  2038. Values for ECB completion code:
  2039.  00h success
  2040.  ECh remote terminated connection without acknowledging packet
  2041.  EDh abnormal connection termination
  2042.  EEh invalid connection ID
  2043.  EFh SPX connection table full
  2044.  F9h event should not be cancelled
  2045.  FCh cancelled
  2046.  FDh malformed packet
  2047.  FEh packet undeliverable
  2048.  FFh physical error
  2049.  
  2050. Event Service Routine called with:
  2051.     AL = caller's identity (00h = AES, FFh = IPX)
  2052.     ES:SI -> event control block
  2053.     interrupts disabled
  2054.  
  2055. Format of IPX header:
  2056. Offset    Size    Description
  2057.  00h    WORD    checksum (high byte first [big-endian])
  2058.  02h    WORD    length in bytes (high byte first) of total packet
  2059.  04h    BYTE    transport control
  2060.  05h    BYTE    packet type
  2061.         00h unknown packet type
  2062.         01h routing information packet
  2063.         02h echo packet
  2064.         03h error packet
  2065.         04h packet exchange packet (always use this one)
  2066.         05h SPX packet
  2067.         11h (used internally)
  2068.  06h 10 BYTES    destination internetwork address
  2069.  10h    WORD    destination socket (high byte first)
  2070.  12h 10 BYTES    source internetwork address
  2071.  1Ch    WORD    source socket
  2072.  
  2073. Format of Service Advertising Protocol Service Query Packet:
  2074. Offset    Size    Description
  2075.  00h 30 BYTEs    IPX header
  2076.  1Eh    WORD    query type (big-endian)
  2077.  20h    WORD    server type (big-endian) (see INT 21/AH=E3h"NetWare")
  2078.  
  2079. Format of Service Advertising Protocol Server Identification Packet:
  2080. Offset    Size    Description
  2081.  00h 30 BYTEs    IPX header
  2082.  1Eh    WORD    response type (big-endian)
  2083.          0002h general service
  2084.         0004h nearest service
  2085.  20h    WORD    server type (big-endian) (see INT 21/AH=E3h"NetWare")
  2086.  22h 48 BYTEs    ASCIZ server name
  2087.  52h  2 WORDs    network number (big-endian)
  2088.  54h  3 WORDs    node number (big-endian)
  2089.  5Ch    WORD    socket number (big-endian)
  2090.  5Eh    WORD    number of hops between caller and server (big-endian)
  2091. ----------7A----BX0004-----------------------
  2092. INT 7A - Novell NetWare - IPX Driver - LISTEN FOR PACKET
  2093.     BX = 0004h
  2094.     ES:SI -> Event Control Block (see BX=0003h)
  2095. Return: AL = status
  2096.         FFh no listening socket
  2097. Desc:    this function provides IPX with an ECB for receiving an IPX packet, but
  2098.       does not wait for a packet to arrive
  2099. Notes:    the application must open a socket and initialize the ECB's ESR
  2100.       address, socket number, fragment count, and fragment descriptor
  2101.       fields before invoking this function
  2102.     there is no limit on the number of ECBs which may simultaneously be
  2103.       listening on a socket
  2104.     this function is supported by Advanced NetWare 1.02+
  2105. SeeAlso: BX=0000h,BX=0003h
  2106. ----------7A----BX0005-----------------------
  2107. INT 7A - Novell NetWare - IPX Driver - SCHEDULE IPX EVENT
  2108.     BX = 0005h
  2109.     AX = delay time in clock ticks
  2110.     ES:SI -> Event Control Block (see BX=0003h)
  2111. Note:    this function is supported by Advanced NetWare 1.02+
  2112. SeeAlso: BX=0006h,BX=0007h,BX=0008h
  2113. ----------7A----BX0006-----------------------
  2114. INT 7A - Novell NetWare - IPX Driver - CANCEL EVENT
  2115.     BX = 0006h
  2116.     ES:SI -> Event Control Block (see BX=0003h)
  2117. Return: AL = return code
  2118.         00h success
  2119.         F9h event in use
  2120.         FCh event cancelled
  2121.         FFh unsuccessful, event not in use
  2122. Notes:    cannot cancel packets which the node's driver has already sent
  2123.     this function is supported by Advanced NetWare 1.02+
  2124. SeeAlso: BX=0005h
  2125. ----------7A----BX0007-----------------------
  2126. INT 7A - Novell NetWare - IPX Driver - SCHEDULE SPECIAL EVENT
  2127.     BX = 0007h
  2128.     AX = delay time
  2129.     ES:SI -> Event Control Block (see BX=0003h)
  2130. Note:    this function is supported by Advanced NetWare 1.02+
  2131. SeeAlso: BX=0006h
  2132. ----------7A----BX0008-----------------------
  2133. INT 7A - Novell NetWare - IPX Driver - GET INTERVAL MARKER
  2134.     BX = 0008h
  2135. Return: AX = interval marker in clock ticks
  2136. Notes:    may be used to measure the time elapsed between two events, up to one
  2137.       hour
  2138.     this function is supported by Advanced NetWare 1.02+
  2139. SeeAlso: BX=0005h
  2140. ----------7A----BX0009-----------------------
  2141. INT 7A - Novell NetWare - IPX Driver - GET INTERNETWORK ADDRESS
  2142.     BX = 0009h
  2143. Return: ES:SI -> own internetwork address (see below)
  2144. Note:    this function is supported by Advanced NetWare 1.02+
  2145. SeeAlso: BX=0002h,BX=000Bh
  2146.  
  2147. Format of internetwork address:
  2148. Offset    Size    Description
  2149.  00h  4 BYTEs    network number (big-endian)
  2150.  04h  6 BYTEs    node number within network (big-endian)
  2151. ----------7A----BX000A-----------------------
  2152. INT 7A - Novell NetWare - IPX Driver - RELINQUISH CONTROL
  2153.     BX = 000Ah
  2154. Desc:    this call indicates that the application is idle and permits the IPX
  2155.       driver to do some work
  2156. Note:    this function is supported by Advanced NetWare 1.02+
  2157. SeeAlso: INT 15/AX=1000h,INT 21/AH=89h,INT 2F/AX=1680h
  2158. ----------7A----BX000B-----------------------
  2159. INT 7A - Novell NetWare - IPX Driver - DISCONNECT FROM TARGET
  2160.     BX = 000Bh
  2161.     ES:SI -> internetwork address (see below)
  2162. Notes:    this function permits the network software on the remote machine to
  2163.       remove any virtual connection with the calling machine
  2164.     only use in point-to-point networks
  2165.     should never be called from within an Event Service Routine
  2166.     this function is supported by Advanced NetWare 1.02+
  2167. SeeAlso: BX=0002h,BX=0009h
  2168.  
  2169. Format of internetwork address:
  2170. Offset    Size    Description
  2171.  00h  4 BYTEs    destination network (big-endian)
  2172.  04h  6 BYTEs    destination node (big-endian)
  2173.  0Ah  2 BYTEs    destination socket (big-endian)
  2174. ----------7A----BX000C-----------------------
  2175. INT 7A U - Novell NetWare - IPX Driver - INTERNAL
  2176.     BX = 000Ch
  2177.     ???
  2178. Return: ???
  2179. ----------7A----BX000D-----------------------
  2180. INT 7A U - Novell NetWare - IPX Driver - INTERNAL
  2181.     BX = 000Dh
  2182.     ???
  2183. Return: AX = ???
  2184.     CL = ???
  2185. ----------7A----BX000E-----------------------
  2186. INT 7A U - Novell NetWare - IPX Driver - INTERNAL
  2187.     BX = 000Eh
  2188.     ???
  2189. Return: ???
  2190. ----------7A----BX000F-----------------------
  2191. INT 7A U - Novell NetWare - IPX Driver - INTERNAL - SEND PACKET
  2192.     BX = 000Fh
  2193.     ES:SI -> Event Control Block (see BX=0003h)
  2194. Note:    similar to function 0003h, but apparently does not allow multiple
  2195.       fragments
  2196. SeeAlso: BX=0003h
  2197. ----------7A----BX0010-----------------------
  2198. INT 7A - Novell NetWare - SPX Driver - INSTALLATION CHECK
  2199.     BX = 0010h
  2200.     AL = 00h
  2201. Return: AL = FFh if SPX loaded
  2202.         BH = SPX major version
  2203.         BL = SPX minor version
  2204.         CX = maximum SPX connections
  2205.         DX = SPX connections available
  2206. Note:    this function is supported by Advanced NetWare 2.1+
  2207. SeeAlso: BX=0015h
  2208. ----------7A----BX0011-----------------------
  2209. INT 7A - Novell NetWare - SPX Driver - ESTABLISH SPX CONNECTION
  2210.     BX = 0011h
  2211.     AL = retry count
  2212.     AH = watchdog flag
  2213.     ES:SI -> Event Control Block (see BX=0003h)
  2214. Return: AL = status
  2215.         00h attempting to contact destination socket
  2216.         EFh local connection table full
  2217.         FDh buffer size not 42 or fragment count not 1
  2218.         FFh sending socket not open
  2219.     DX = assigned connection ID number
  2220. Desc:    attempt to establish a connection with a listening socket
  2221. Notes:    there should always be at least two SPX ECB's listening to a socket, so
  2222.       that NetWare can perform its internal packet exchanges
  2223.     the first fragment should start with a SPX header.  Fill in all
  2224.       destination addresses.
  2225.     this function is supported by Advanced NetWare 2.1+
  2226. SeeAlso: BX=0000h,BX=0012h,BX=0013h,BX=0014h,BX=0015h
  2227.  
  2228. Format of SPX header:
  2229. Offset    Size    Description
  2230.  00h    WORD    checksum (big-endian)
  2231.  02h    WORD    length in bytes of total packet (big-endian)
  2232.  04h    BYTE    transport control
  2233.  05h    BYTE    packet type (see INT 7A/BX=0003h)
  2234.  06h 10 BYTEs    destination internet address
  2235.  10h    WORD    destination socket (big-endian)
  2236.  12h 10 BYTEs    source internet address
  2237.  1Ch    WORD    source socket (big-endian)
  2238.  1Eh    BYTE    connection control
  2239.  1Fh    BYTE    datastream type
  2240.  20h    WORD    source connection ID (big-endian)
  2241.  22h    WORD    destination connection ID (big-endian)
  2242.  24h    WORD    sequence number (big-endian)
  2243.  26h    WORD    acknowledge number (big-endian)
  2244.  28h    WORD    allocation number (big-endian)
  2245. ----------7A----BX0012-----------------------
  2246. INT 7A - Novell NetWare - SPX Driver - LISTEN FOR SPX CONNECTION
  2247.     BX = 0012h
  2248.     AH = watchdog flag
  2249.         00h disabled
  2250.         01h enabled
  2251.     AL = retry count (00h = default)
  2252.     ES:SI -> Event Control Block (see BX=0003h)
  2253. Notes:    there should always be at least two SPX ECB's listening to a socket, so
  2254.       that NetWare can perform its internal packet exchanges
  2255.     this function is supported by Advanced NetWare 2.1+
  2256. SeeAlso: BX=0011h,BX=0013h,BX=0014h
  2257. ----------7A----BX0013-----------------------
  2258. INT 7A - Novell NetWare - SPX Driver - TERMINATE SPX CONNECTION
  2259.     BX = 0013h
  2260.     DX = connection ID to terminate
  2261.     ES:SI -> Event Control Block (see BX=0003h)
  2262. Note:    this function is supported by Advanced NetWare 2.1+
  2263. SeeAlso: BX=0011h,BX=0012h,BX=0014h
  2264. ----------7A----BX0014-----------------------
  2265. INT 7A - Novell NetWare - SPX Driver - ABORT SPX CONNECTION
  2266.     BX = 0014h
  2267.     DX = connection ID to terminate
  2268. Notes:    this function is supported by Advanced NetWare 2.1+
  2269.     this function does not tell the other side that the connection has been
  2270.       terminated
  2271.     also aborts any outstanding Establish Connection, Terminate Connection,
  2272.       and Send Sequenced Packet commands
  2273. SeeAlso: BX=0011h,BX=0013h
  2274. ----------7A----BX0015-----------------------
  2275. INT 7A - Novell NetWare - SPX Driver - GET SPX CONNECTION STATUS
  2276.     BX = 0015h
  2277.     DX = connection ID
  2278.     ES:SI -> status buffer (see below)
  2279. Return: AL = return code
  2280.         00h connection still valid
  2281.         ES:SI -> status buffer filled
  2282.         EEh no such connection
  2283. Note:    this function is supported by Advanced NetWare 2.1+
  2284. SeeAlso: BX=0010h,BX=0011h
  2285.  
  2286. Format of status buffer:
  2287. Offset    Size    Description
  2288.  00h    BYTE    connection state
  2289.          01h waiting to establish connection
  2290.         02h starting (attempting to create connection)
  2291.         03h connection established
  2292.         04h terminating
  2293.  01h    BYTE    watchdog flag
  2294.          bit 0: used internally by SPX
  2295.          bit 1: SPX watchdog is monitoring connection
  2296.         bits 2-7: used internally by SPX
  2297.  02h    WORD    source connection ID (big-endian)
  2298.  04h    WORD    destination connection ID (big-endian)
  2299.  06h    WORD    sequence number of next packet sent (big-endian)
  2300.  08h    WORD    acknowledge number, expected sequence number of next received
  2301.          packet (big-endian)
  2302.  0Ah    WORD    maximum sequence number remote SPX may send without ACK from
  2303.          local SPX (big-endian)
  2304.  0Ch    WORD    remote acknowledge number, next sequence number remote SPX
  2305.          expects to receive (big-endian)
  2306.  0Eh    WORD    remote allocation number, maximum sequence number local SPX
  2307.          may send (big-endian)
  2308.  10h    WORD    connection socket (big-endian)
  2309.  12h  6 BYTEs    immediate node address--bridge on local network to destination
  2310.  18h 10 BYTEs    destination internetwork address (see INT 7A/BX=000Bh)
  2311.  22h    WORD    retransmit count (big-endian)
  2312.  24h    WORD    estimated roundtrip delay (big-endian)
  2313.  26h    WORD    retransmitted packets (big-endian)
  2314.  28h    WORD    suppressed packets (big-endian)
  2315. ----------7A----BX0016-----------------------
  2316. INT 7A - Novell NetWare - SPX Driver - SEND SPX PACKET
  2317.     BX = 0016h
  2318.     DX = connection ID
  2319.     ES:SI -> Event Control Block (see BX=0003h)
  2320. Notes:    this function is supported by Advanced NetWare 2.1+
  2321.     CX may need to be 0001h ???
  2322. SeeAlso: BX=0011h,BX=0017h
  2323. ----------7A----BX0017-----------------------
  2324. INT 7A - Novell NetWare - SPX Driver - LISTEN FOR SPX PACKET
  2325.     BX = 0017h
  2326.     ES:SI -> Event Control Block (see BX=0003h)
  2327. Notes:    this function is supported by Advanced NetWare 2.1+
  2328.     CX may need to be 0001h ???
  2329. SeeAlso: BX=0011h,BX=0016h
  2330. ----------7A----BX0018-----------------------
  2331. INT 7A U - Novell NetWare - SPX Driver - INTERNAL
  2332.     BX = 0018h
  2333.     ???
  2334. Return: ???
  2335. ----------7A----BX0019-----------------------
  2336. INT 7A U - Novell NetWare - IPX Driver - INTERNAL
  2337.     BX = 0019h
  2338.     ???
  2339. Return: ???
  2340. ----------7A----BX001A-----------------------
  2341. INT 7A U - Novell NetWare - IPX Driver - INTERNAL
  2342.     BX = 001Ah
  2343.     ???
  2344. Return: ???
  2345. ----------7A----BX001B-----------------------
  2346. INT 7A U - Novell NetWare - IPX Driver - INTERNAL
  2347.     BX = 001Bh
  2348.     ???
  2349. Return: ???
  2350. ----------7A04-------------------------------
  2351. INT 7A - IBM 3270 Workstation Program API - CREATE A QUEUE
  2352.     AH = 04h
  2353.     ???
  2354. Return: ???
  2355. SeeAlso: AH=06h
  2356. ----------7A06-------------------------------
  2357. INT 7A - IBM 3270 Workstation Program API - DELETE A QUEUE
  2358.     AH = 06h
  2359.     ???
  2360. Return: ???
  2361. SeeAlso: AH=04h
  2362. ----------7A09--BX8020-----------------------
  2363. INT 7A - IBM 3270 Workstation Program API - SESSION SERVICES
  2364.     AH = 09h
  2365.     BX = 8020h (synchronous request)
  2366.     CX = 0000h
  2367.     DX = ID of session manager (SESSMGR)
  2368.     AL = service
  2369.         01h get session ID
  2370.         02h get session info
  2371.         04h dettach from session
  2372.         05h attach to session
  2373.         06h get list of windows available
  2374.         07h get environment of window
  2375.         08h get 'PIF' (program information file) info
  2376.         0Ah get base window ID
  2377.         0Bh get cursor info
  2378.     ES:DI -> control block
  2379. Return: ???
  2380. ----------7A09--BX8020-----------------------
  2381. INT 7A - IBM 3270 Workstation Program API - KEYBOARD SERVICES
  2382.     AH = 09h
  2383.     BX = 8020h (synchronous request)
  2384.     CX = 0000h
  2385.     DX = ID of keyboard manager
  2386.     AL = service
  2387.         01h connect to keyboard
  2388.         02h disconnect from keyboard
  2389.         03h read from keyboard
  2390.         04h send keystroke to session
  2391.         05h disable input
  2392.         06h enable input
  2393.         07h update status code
  2394.     ES:DI -> control block
  2395. Return: ???
  2396. ----------7A09--BX8020-----------------------
  2397. INT 7A - IBM 3270 Workstation Program API - WINDOW SERVICES
  2398.     AH = 09h
  2399.     BX = 8020h (synchronous request)
  2400.     CX = 00FFh
  2401.     DX = ID of window service controller (WSCTRL)
  2402.     AL = service
  2403.         01h connect to WS control
  2404.         02h disconnect from WS control
  2405.         03h add a window
  2406.         04h change window's position on screen
  2407.         05h change window's size
  2408.         06h change window's color
  2409.         07h change window's position in the presentation space
  2410.         08h hide/unhide toggle
  2411.         09h enlarge/reduce toggle
  2412.         0Ah change screen background color
  2413.         0Bh get window's position on screen
  2414.         0Ch get window's size
  2415.         0Dh get window's color
  2416.         0Eh get window's position in the presentation space
  2417.         0Fh determine whether hidden
  2418.         10h determine whether enlarged
  2419.         11h get background color
  2420.         12h get window names
  2421.         13h delete all windows from profile
  2422.         14h pick active window
  2423.         15h redraw screen
  2424.         16h redraw window
  2425.         17h delete a window from profile
  2426.         18h get active window
  2427.         19h get active screen
  2428.         1Ah get window data
  2429.         1Bh change window data
  2430.         1Ch select active screen
  2431.     ES:DI -> control block
  2432. Return: ???
  2433. ----------7A09--BX8020-----------------------
  2434. INT 7A - IBM 3270 Workstation Program API - PRESENTATION SPACE SERVICES
  2435.     AH = 09h
  2436.     BX = 8020h
  2437.     CX = 00FFh
  2438.     DX = ID of PCPSM
  2439.     AL = service
  2440.         01h define presentation space
  2441.         02h delete presentation space
  2442.         03h display presentation space
  2443.         04h position cursor in presentation space
  2444.         05h change default presentation space
  2445.     ES:DI -> control block
  2446. Return: ???
  2447. ----------7A09--BX8020-----------------------
  2448. INT 7A - IBM 3270 Workstation Program API - 3270 EMULATION
  2449.     AH = 09h
  2450.     BX = 8020h
  2451.     CX = 00FFh
  2452.     DX = ID of 3270EML
  2453.     AL = service
  2454.         01h connect
  2455.         02h disconnect
  2456.     ES:DI -> control block
  2457. Return: ???
  2458. ----------7A09--BX8020-----------------------
  2459. INT 7A - IBM 3270 Workstation Program API - OPERATOR INFORMATION AREA
  2460.     AH = 09h
  2461.     BX = 8020h
  2462.     CX = 00FFh
  2463.     DX = ID of OIAM
  2464.     AL = service
  2465.         01h read Operator Information Area
  2466.         02h read OIA subset
  2467.     ES:DI -> control block
  2468. Return: ???
  2469. Note: the OIA is the 25th line on the Host session
  2470. ----------7A09--BX8020-----------------------
  2471. INT 7A - IBM 3270 Workstation Program API - TRANSLATE DATA
  2472.     AH = 09h
  2473.     BX = 8020h
  2474.     CX = 00FFh
  2475.     DX = ID of XLATE
  2476.     AL = service
  2477.         01h translate from host characters to ASCII and vice versa
  2478.         (determined by control block byte 11)
  2479.     ES:DI -> control block
  2480. Return: ???
  2481. ----------7A09--BX8020-----------------------
  2482. INT 7A - IBM 3270 Workstation Program API - COPY SERVICE
  2483.     AH = 09h
  2484.     BX = 8020h
  2485.     CX = 00FFh
  2486.     DX = ID of copy service
  2487.     AL = service
  2488.         01h copy string from one presentation space to another
  2489.         02h copy block from one presentation space to another
  2490.         03h connect to PC session for copy
  2491.         04h disconnect PC session from copy
  2492.     ES:DI -> control block
  2493. Return: ???
  2494. ----------7A09--BX8020-----------------------
  2495. INT 7A - IBM 3270 Workstation Program API - Multi-DOS
  2496.     AH = 09h
  2497.     BX = 8020h
  2498.     CX = 00FFh
  2499.     ES:DI -> control block
  2500.     DX = ID of INDJQRY  
  2501.         get environment size
  2502.        = ID of INDJASY
  2503.         request DOS functions from workstation
  2504.        = ID of MEMORY
  2505.         AL = function
  2506.             01h allocate memory
  2507.             02h deallocate memory
  2508.             03h modify allocated size
  2509. Return: ???
  2510. ----------7A09-------------------------------
  2511. INT 7A - IBM 3270 Workstation Program API - HOST SERVICES
  2512.     AH = 09h
  2513.     BX = request type (4000h async, 8028h synchronous)
  2514.     CX = 0000h
  2515.     DX = ID of MFIC
  2516.     AL = service
  2517.        01h connect to host
  2518.        02h disconnect from host
  2519.        03h read DFT structured data from host
  2520.        04h write DFT structured data to host
  2521.        05h create a host buffer
  2522.     ES:DI -> control block
  2523. ----------7A13-------------------------------
  2524. INT 7A - IBM 3270 Workstation Program API - GET DATA FROM A QUEUE
  2525.     AH = 13h
  2526.     ???
  2527. Return: ???
  2528. ----------7A7A-------------------------------
  2529. INT 7A - Canon IX-30F Image Scanner SI3.SYS - INTERFACE
  2530.     AH = 7Ah
  2531.     ???
  2532. Return: AX = 0000h success
  2533.          000Eh undefined function code
  2534. Note:    this interface is normally on INT 7A but can be changed via device
  2535.       driver command line arguments
  2536. ----------7A81-------------------------------
  2537. INT 7A - IBM 3270 Workstation Program API - RESOLVE A GATE NAME
  2538.     AH = 81h
  2539.     ES:DI -> 8-char blank-padded gate name
  2540.         "SESSMGR ", "KEYBOARD", "WSCTRL     ", "MFIC    ", "PCPSM     ",
  2541.         "3270EML ", "COPY    ", "XLATE     ", "OIAM    ", "MEMORY     ",
  2542.         "INDJQRY ", or "INDJASY "
  2543. Return: DX = gate ID
  2544. ----------7A83-------------------------------
  2545. INT 7A - IBM 3270 Workstation Program API - GET COMPLETION RESULTS
  2546.     AH = 83h
  2547.     ???
  2548. Return: ???
  2549. ----------7AFDCB-----------------------------
  2550. INT 7A - IBM Personal Communications/3270 - INSTALLATION CHECK
  2551.     AX = FDCBh
  2552. Return: DX:AX -> PCS/3270 signature block if loaded (see below)
  2553.  
  2554. Format of signature block:
  2555. Offset    Size    Description
  2556.  04h    WORD    PCS/3270 signature (5741h)
  2557.  06h    WORD    version (0501h = PCS/3270 v1.0)
  2558. ----------7AFE01-----------------------------
  2559. INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL SEND/RECEIVE FUNCTION
  2560.     AX = FE01h
  2561.     ???
  2562. Return: ???
  2563. SeeAlso: AX=FE02h
  2564. ----------7AFE02-----------------------------
  2565. INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL SEND/RECEIVE FUNCTION
  2566.     AX = FE02h
  2567.     ???
  2568. Return: ???
  2569. SeeAlso: AX=FE01h
  2570. ----------7AFF01-----------------------------
  2571. INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API INITIALIZATION
  2572.     AX = FF01h
  2573.     ES:DI -> API function handler routine
  2574. Return: CX = 1200h
  2575. SeeAlso: AX=FF02h,AX=FF03h
  2576. ----------7AFF02-----------------------------
  2577. INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API TERMINATION
  2578.     AX = FF02h
  2579. Return: CX = 1200h
  2580. SeeAlso: AX=FF01h
  2581. ----------7AFF03-----------------------------
  2582. INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API INITIALIZATION
  2583.     AX = FF03h
  2584.     ES:DI -> send/receive function handler routine
  2585. Return: CX = 1200h
  2586. SeeAlso: AX=FF01h
  2587. ----------7AFF04-----------------------------
  2588. INT 7A U - IBM PC3270 EMUL PROG v3 - INTERNAL ???
  2589.     AX = FF04h
  2590.     ES:DI -> ???
  2591. Return: CX = 1200h
  2592. ----------7B---------------------------------
  2593. INT 7B - Btrieve API (single user)
  2594.     DS:DX -> 38-byte parameter record (see below)
  2595. Return: return code field set
  2596. Note:    Btrieve sets low byte of vector to 33h; this serves as the installation
  2597.       check
  2598. SeeAlso: INT 21/AX=3000h"Btrieve",INT 2F/AX=AB01h,INT 7F/AX=0200h
  2599.  
  2600. Format of Btrieve parameter record:
  2601. Offset    Size    Description
  2602.  00h    DWORD    pointer to data buffer
  2603.  04h    WORD    data buffer length
  2604.  06h    DWORD    pointer to 90-byte record containing positioning info
  2605.         (should be same for all calls for same file)
  2606.  0Ah    DWORD    pointer to 38-byte FCB info buffer
  2607.         (should be same for all calls for same file)
  2608.  0Eh    WORD    function code (see below)
  2609.  10h    DWORD    pointer to file name/key buffer
  2610.  14h    BYTE    key length
  2611.  15h    BYTE    key number
  2612.  16h    DWORD    pointer to status code (see below)
  2613.  1Ah    WORD    interface code (version specific)
  2614.          6176h version 5.10
  2615.  
  2616. Values for function code:
  2617.  00h open
  2618.  01h close
  2619.  02h insert
  2620.  03h update
  2621.  04h delete
  2622.  05h get_equal
  2623.  06h get_next
  2624.  07h get_prev
  2625.  08h get_greater
  2626.  09h get_gr_eql
  2627.  0Ah get_less
  2628.  0Bh get_less_eq
  2629.  0Ch get_first
  2630.  0Dh get_last
  2631.  0Eh create
  2632.  0Fh stat
  2633.  10h extend
  2634.  11h set_dir: set directory information
  2635.  12h get_dir: get directory information
  2636.  13h begin_trans
  2637.  14h end_trans
  2638.  15h abort_trans
  2639.  16h get_pos: get record position number
  2640.  17h get_direct: get data by sending record position
  2641.  18h step_next
  2642.  19h stop
  2643.  1Ah version
  2644.  1Bh unlock
  2645.  1Ch reset
  2646.  1Dh set owner
  2647.  1Eh clear owner
  2648.  1Fh create supplemental index
  2649.  20h drop supplemental index
  2650.  21h step first
  2651.  22h step last
  2652.  23h step previous
  2653.  24h get next extended: get multiple records using a filter
  2654.  25h get previous extended: get multiple records using a filter
  2655.  26h step next extended: get multiple records using a filter
  2656.  27h step previous extended: get multiple records using a filter
  2657.  28h insert extended: insert one or more records
  2658.  31h ???
  2659.  add 50 (32h) to any "get" operation to just return the key data
  2660.  add 100 (64h) for a single-record wait lock (automatically released on next
  2661.         get)
  2662.  add 200 (C8h) for a single-record nowait lock (nowait lock returns error 54h
  2663.         or 55h if record already locked)
  2664.  add 300 (12Ch) for a multiple-record wait lock (not released until unlock
  2665.         called)
  2666.  add 400 (190h) for a multiple-record nowait lock (nowait lock returns error
  2667.         54h or 55h if record already locked)
  2668.  
  2669. Values for status code:
  2670.  00h successful
  2671.  01h invalid operation
  2672.  02h I/O error
  2673.  03h file not open
  2674.  04h key value not found
  2675.  05h duplicate key value
  2676.  06h invalid key number
  2677.  07h different key number
  2678.  08h invalid positioning
  2679.  09h end of file
  2680.  0Ah modifiable key value error
  2681.  0Bh invalid file name
  2682.  0Ch file not found
  2683.  0Dh extended file error
  2684.  0Eh pre-image open error
  2685.  0Fh pre-image I/O error
  2686.  10h expansion error
  2687.  11h close error
  2688.  12h disk full
  2689.  13h unrecoverable error
  2690.  14h record manager inactive
  2691.  15h key buffer too short
  2692.  16h data buffer length overrun
  2693.  17h position block length
  2694.  18h page size error
  2695.  19h create I/O error
  2696.  1Ah number of keys
  2697.  1Bh invalid key position
  2698.  1Ch invalid record length
  2699.  1Dh invalid key length
  2700.  1Eh not a Btrieve file
  2701.  1Fh file already extended
  2702.  20h extended I/O error
  2703.  22h invalid extension name
  2704.  23h directory error
  2705.  24h transaction error
  2706.  25h transaction is active
  2707.  26h transaction control file I/O error
  2708.  27h end/abort transaction error
  2709.  28h transaction max files
  2710.  29h operation not allowed
  2711.  2Ah incomplete accelerated access
  2712.  2Bh invalid record address
  2713.  2Ch null key path
  2714.  2Dh inconsistent key flags
  2715.  2Eh access to file denied
  2716.  2Fh maximum open files
  2717.  30h invalid alternate sequence definition
  2718.  31h key type error
  2719.  32h owner already set
  2720.  33h invalid owner
  2721.  34h error writing cache
  2722.  35h invalid interface
  2723.  36h variable page error
  2724.  37h autoincrement error
  2725.  38h incomplete index
  2726.  39h expanded memory error
  2727.  3Ah compression buffer too short
  2728.  3Bh file already exists
  2729.  3Ch reject count reached
  2730.  3Dh work space too small
  2731.  3Eh incorrect descriptor
  2732.  3Fh invalid extended insert
  2733.  40h filter limit reached
  2734.  41h incorrect field offset
  2735.  4Ah automatic transaction abort
  2736.  4Eh deadlock detected
  2737.  50h conflict
  2738.  51h lock error
  2739.  52h lost position
  2740.  53h read outside transaction
  2741.  54h record in use
  2742.  55h file in use
  2743.  56h file table full
  2744.  57h handle table full
  2745.  58h incompatible open mode
  2746.  5Ah redirected device table full
  2747.  5Bh server error
  2748.  5Ch transaction table full
  2749.  5Dh incompatible lock type
  2750.  5Eh permission error
  2751.  5Fh session no longer valid
  2752.  60h communications environment error
  2753.  61h data message too small
  2754.  62h internal transaction error
  2755. ----------7B---------------------------------
  2756. INT 7B - Eicon Access API (3270/5250 gateways)
  2757. ----------7B---------------------------------
  2758. INT 7B U - AutoCAD ADI INTERFACE
  2759.     AX = function
  2760.         0000h output blank line
  2761.         other ???
  2762. Return: ???
  2763. Note:    called by AutoCAD to perform its output
  2764. SeeAlso: INT 78"AutoCAD",INT 7A"AutoCAD"
  2765. ----------7B---------------------------------
  2766. INT 7B - DJGPP GO32 DOS EXTENDER - RELOCATED IRQ3
  2767. Note:    this vector is overwritten when GO32 starts but is not restored
  2768. SeeAlso: INT 0B,INT 10/AH=FFh"GO32",INT 7A"GO32",INT 7C"GO32"
  2769. ----------7C---------------------------------
  2770. INT 7C U - IBM REXX88PC command language
  2771.     ???
  2772. ----------7C---------------------------------
  2773. INT 7C - DJGPP GO32 DOS EXTENDER - RELOCATED IRQ4
  2774. Note:    this vector is overwritten when GO32 starts but is not restored
  2775. SeeAlso: INT 0C,INT 7B"GO32",INT 7D"GO32"
  2776. ----------7D---------------------------------
  2777. INT 7D - [obsoleted proposal] - ALTERNATE MULTIPLEX INTERRUPT
  2778. Note:    this interface proposal has been moved to INT 2D; there are no known
  2779.       implementations on INT 7D
  2780. SeeAlso: INT 2D, INT 2F
  2781. ----------7D---------------------------------
  2782. INT 7D U - YTERM 1.4 - CLOCK SUPPORT
  2783. SeeAlso: INT 7E"YTERM"
  2784. ----------7D---------------------------------
  2785. INT 7D - DJGPP GO32 DOS EXTENDER - RELOCATED IRQ5
  2786. Note:    this vector is overwritten when GO32 starts but is not restored
  2787. SeeAlso: INT 0D,INT 7C"GO32",INT 7E"GO32"
  2788. ----------7D---------------------------------
  2789. INT 7D - HyperPAD v2.2 - API ACCESS
  2790. Note:    this vector is hooked but immediately passed on (without checking
  2791.       whether the previous handler was 0000h:0000h).  The sole purpose of
  2792.       this vector is to provide the address of the data area described
  2793.       below.
  2794.  
  2795. Format of HyperPAD data area:
  2796. Offset    Size    Description
  2797.  -16h    DWORD    pointer to ??? FAR function
  2798.  -12h    DWORD    pointer to callback setting function
  2799.          [C calling conventions, (*callback)(int (_loadds far *)()) ]
  2800.  -0Eh 6 BYTEs    signature "BRC001"
  2801.  -08h    DWORD    pointer to previous INT 7D handler
  2802.  -04h    DWORD    pointer to ??? data
  2803.  00h        HyperPAD INT 7D handler
  2804. ----------7E---------------------------------
  2805. INT 7E - RESERVED FOR DIP, Ltd. ROM LIBRARY
  2806. ----------7E---------------------------------
  2807. INT 7E U - YTERM 1.4 - ???
  2808. SeeAlso: INT 7D"YTERM",INT 7F"YTERM"
  2809. ----------7E---------------------------------
  2810. INT 7E - DJGPP GO32 DOS EXTENDER - RELOCATED IRQ6
  2811. Note:    this vector is overwritten when GO32 starts but is not restored
  2812. SeeAlso: INT 0E,INT 7D"GO32",INT 7F"GO32"
  2813. ----------7F---------------------------------
  2814. INT 7F - IBM XGA - ???
  2815. ----------7F---------------------------------
  2816. INT 7F - Halo88 - API
  2817.     BX = function
  2818.         64h arc
  2819.         65h bar
  2820.         66h box
  2821.         67h circle
  2822.         68h clr
  2823.         69h default hatch style
  2824.         6Ah default line style
  2825.         6Bh delhcur
  2826.         6Ch delln / deltcur
  2827.         6Dh ellipse
  2828.         6Eh fill
  2829.         6Fh flood
  2830.         70h flood2
  2831.         71h init graphics
  2832.         72h init hcur
  2833.         73h init marker
  2834.         74h init tcur
  2835.         75h inqarc
  2836.         76h inqbknd
  2837.         77h inqclr
  2838.         78h inqerr
  2839.         79h inqgcur
  2840.         7Ah inqhcur
  2841.         7Bh inqmarker
  2842.         7Dh inqtcur
  2843.         7Eh inqtext
  2844.         7Fh lnabs
  2845.         80h lnrel
  2846.         81h markerabs
  2847.         82h markerrel
  2848.         83h moveabs
  2849.         84h movehcurabs
  2850.         85h movehcurrel
  2851.         86h moverel
  2852.         87h movetcurabs
  2853.         88h movetcurrel
  2854.         89h movefrom
  2855.         8Ah moveto
  2856.         8Bh pie
  2857.         8Ch polylnabs
  2858.         8Dh polylnrel
  2859.         8Eh ptabs
  2860.         8Fh ptrel
  2861.         91h setasp
  2862.         92h set color
  2863.         93h set font
  2864.         94h set hatch style
  2865.         95h set line style
  2866.         97h settext
  2867.         98h set text color
  2868.         99h btext
  2869.         9Ah setseg
  2870.         9Bh display
  2871.         9Ch setscreen
  2872.         9Eh close graphics
  2873.         9Fh ftinit
  2874.         A0h ftlocate
  2875.         A1h ftext
  2876.         A5h set viewport
  2877.         A6h set window
  2878.         A7h set world
  2879.         AAh ftcolor
  2880.         ACh initlp
  2881.         ADh inqasp
  2882.         AEh inqdev
  2883.         AFh inqdisplay
  2884.         B0h inqft
  2885.         B1h inqftcolor
  2886.         B2h inqinterlace
  2887.         B3h inqlpa
  2888.         B4h inqlpg
  2889.         B5h inqmode
  2890.         B6h inqscreen
  2891.         B7h inqversion
  2892.         B8h roam
  2893.         B9h scroll
  2894.         BAh setieee
  2895.         BBh set interlace
  2896.         BCh shift
  2897.         BDh start graphics
  2898.         BEh vpan
  2899.         CBh gwrite
  2900.         CCh gread
  2901.         CDh setxor
  2902.         CEh rbox
  2903.         CFh rcir
  2904.         D0h rlnabs
  2905.         D1h rlnrel
  2906.         D2h delbox
  2907.         D3h delcir
  2908.         D5h setseg2
  2909.         DCh worldoff
  2910.         DDh mapwtod
  2911.         DEh mapdtow
  2912.         DFh mapwton
  2913.         E0h mapntow
  2914.         E1h mapdton
  2915.         E2h mapntod
  2916.         E3h inqworld
  2917.         E4h inqviewport
  2918.         E5h set line width
  2919.         E6h lnjoint
  2920.         E7h set locator
  2921.         E8h read locator
  2922.         E9h setdev
  2923.         EBh setstext
  2924.         ECh setstclr
  2925.         EDh setstang
  2926.         EEh stext
  2927.         EFh inqstext
  2928.         F0h setdegree
  2929.         F1h inqstsize
  2930.         F2h polyfabs
  2931.         F3h polyfrel
  2932.         F4h inqdrange
  2933.         F5h inqstang
  2934.         F6h orglocator
  2935.         F7h inqlocator
  2936.         F8h inqarea
  2937.         F9h setipal
  2938.         FAh setborder
  2939.         FBh inqcrange
  2940.         FEh setclip
  2941.         FFh fcir
  2942.            100h setcrange
  2943.            101h setdrange
  2944.            102h setlattr
  2945.            103h polycabs
  2946.            104h polycrel
  2947.            108h memcom
  2948.            109h memexp
  2949.            10Ah memmov
  2950.            10Eh movefx
  2951.            10Fh movetx
  2952.            110h inqrgb
  2953.            111h save image
  2954.            112h restore image
  2955.            113h setapal
  2956.            114h setxpal
  2957.            118h inqtsize
  2958.            12Eh gprint
  2959.            130h setprn
  2960.            131h setpattr
  2961.            133h setbattr
  2962.            135h pexpand
  2963.            136h ptnorm
  2964.            137h pfnorm
  2965.            13Bh inqprn
  2966.            13Ch lopen
  2967.            13Dh lclose
  2968.            13Eh lappend
  2969.            13Fh lrecord
  2970.            140h lswitch
  2971.            142h inqfun
  2972.            15Dh lsetup
  2973.            15Eh lrest
  2974.            15Fh lsave
  2975.     additional parameters on stack
  2976. Return: ???
  2977. Notes:    Halo88 is a suite of graphics routines
  2978.     according to Stuart Kemp, the code appears to make no provisions for
  2979.        chaining
  2980. ----------7F---------------------------------
  2981. INT 7F - CONVERGENT TECHNOLOGIES ClusterShare CTOS ACCESS VECTOR
  2982.     AL = request ID
  2983.         01h "Request"/"RequestDirect"
  2984.         ES:BX -> pRq
  2985.         DX ignored
  2986.         04h "Wait"
  2987.         ES:BX -> ppMsgRet
  2988.         DX = exchange
  2989.         05h "AllocExch"
  2990.         ES:BX -> pExchRet
  2991.         06h "DeAllocExch"
  2992.         DX = exchange
  2993.         07h "Check"
  2994.         ES:BX -> ppMsgRet
  2995.         DX = exchange
  2996.     CX = 4354h ('CT')
  2997. Return: AX = status
  2998.         0000h successful
  2999. ----------7F---------------------------------
  3000. INT 7F - Telebit ACS SERIAL I/O
  3001.     ES:SI-> parameter block
  3002. Return: CF set on error
  3003.     CF clear on success
  3004. Notes:    the signature "PDGATEWRKSTNIF" appears just prior to the interrupt
  3005.       handler; this serves as the installation check
  3006.  
  3007. Format of Telebit ACS parameter block:
  3008. Offset    Size    Description
  3009.  00h    BYTE    command
  3010.             3Ch status
  3011.             3Dh connect
  3012.             3Eh disconnect
  3013.             3Fh read
  3014.             40h data/command write
  3015.             41h clear receive buffer
  3016.             42h get configuration
  3017.             43h get receiver status
  3018.             44h raw write
  3019.             45h search servers
  3020.             46h set transmit buffer size
  3021.  01h    BYTE    gateway number
  3022.  02h    BYTE    reserved
  3023.  03h    BYTE    port
  3024.  04h 17 BYTES    auxiliary buffer
  3025.  15h    BYTE    session
  3026.  16h    WORD    count of bytes passed to API
  3027.  18h    DWORD    buffer pointer passed to/from API
  3028.  1Ch    WORD    count of bytes passed from API
  3029.  1Eh    BYTE    return code (see below)
  3030.  
  3031. Values for return code:
  3032.  00h - success
  3033.  01h - invalid session
  3034.  05h - servername invalid
  3035.  06h - netware fileserver bindery is locked
  3036.  07h communication server not active
  3037.  08h general failure in netware fileserver
  3038.  09h not logged into a fileserver
  3039.  10h connection table full
  3040.  11h no response from communication server
  3041.  12h connection attempt terminated abnormally
  3042.  13h connection refused - no sessions available
  3043.  14h gw_no/port already in use
  3044.  15h invalid connection response
  3045.  16h port invalid
  3046.  17h incorrect version in server response
  3047.  18h gw_no/port combination not configured
  3048.  19h initialization has not been completed
  3049.  20h no more sockets are available
  3050.  21h no active poolname
  3051.  23h FATAL internal interface error
  3052.  24h registration of host workstation failed - name is already in used
  3053.  25h registration of host workstation failed - workstation name table full
  3054.  26h registration of host workstation failed - only one session may be
  3055.     registered for dial-in
  3056.  FFh telebit acs api is busy - retry later
  3057. ----------7F---------------------------------
  3058. INT 7F - Non-dedicated NetWare 2.x File Server - ENTER CONSOLE MODE
  3059. Notes:    the installation check consists of checking for the signature "Lynn"
  3060.       in the four bytes preceding the interrupt handler; if present, the
  3061.       current program is running as a DOS task on a non-dedicated NetWare
  3062.       2.x file server.
  3063.     Before placing the server into "console" mode, it is recommended that
  3064.       NetWare broadcast messages be disabled with INT 21/AX=DE00h.
  3065. SeeAlso: INT 21/AX=DE00h
  3066. ----------7F---------------------------------
  3067. INT 7F U - YTERM - ???
  3068. SeeAlso: INT 7E"YTERM"
  3069. ----------7F---------------------------------
  3070. INT 7F - DJGPP GO32 DOS EXTENDER - RELOCATED IRQ7
  3071. Note:    this vector is overwritten when GO32 starts but is not restored
  3072. SeeAlso: INT 0F,INT 7E"GO32"
  3073. ----------7F---------------------------------
  3074. INT 7F - Canon IXHND2 Scanner Interface
  3075. ----------7F---------------------------------
  3076. INT 7F - Alloy 386/MultiWare (MW386), Novell-Type Network Executive (NTNX)
  3077. Notes:    the words at C800h:0000h and C800h:0002h will both be 584Eh if the
  3078.       MW386 multitasking system is present (i.e. signature "NXNX")
  3079.     NTNX allows its API to be placed on a different interrupt than 7Fh at
  3080.       load time.  To determine the actual vector used, open the device
  3081.       "SPOOLER" with INT 21/AX=3D02h, place it in RAW mode with
  3082.       INT 21/AX=4400h and INT 21/AX=4401h, then read one byte which will
  3083.       be the actual interrupt number being used; the other interrupts may
  3084.       be found with INT 7F/AH=09h/CL=03h
  3085. ----------7F---------------------------------
  3086. INT 7F - Alloy NetWare Support Kit (ANSK) v2.2+ - INSTALLATION CHECK
  3087. Note:    a program may determine that it is running on an ANSK Slave by checking
  3088.       the five bytes at F000h:0000h for the ASCIZ signature "ANSK"; this
  3089.       address is RAM, and should not be written.  However, the above check
  3090.       will not work on Slaves with <1MB RAM or those using the SLIM.SYS
  3091.       device driver
  3092. ----------7F00-------------------------------
  3093. INT 7F - Alloy NTNX, MW386 - SEMAPHORE LOCK AND WAIT
  3094.     AH = 00h
  3095.     DS:DX -> ASCIZ semaphore name (max 64 bytes)
  3096. Return: AL = status
  3097.         00h successful
  3098.         01h invalid function
  3099.         02h semaphore already locked
  3100.         03h unable to lock semaphore
  3101.         04h semaphore space exhausted
  3102.         05h host/target PC did not respond (NTNX)
  3103.     AH = semaphore owner if status=02h
  3104. SeeAlso: AH=01h,AH=02h,AH=41h,INT 67/AH=00h
  3105. ----------7F01-------------------------------
  3106. INT 7F - Alloy NTNX, MW386 - SEMAPHORE LOCK
  3107.     AH = 01h
  3108.     DS:DX -> ASCIZ semaphore name (max 64 bytes)
  3109. Return: AL = status (see AH=00h)
  3110.     AH = semaphore owner if status=02h
  3111. SeeAlso: AH=00h,AH=02h,AH=41h
  3112. ----------7F0104BX0000-----------------------
  3113. INT 7F - HLLAPI (IBM 3270 High-Level Language API)/LLAPI (Rabbit Low Level API)
  3114.     AX = 0104h (HLLAPI gate ID)
  3115.     BX = 0000h
  3116.     DS:SI -> parameter control block (see below)
  3117. Return: parameter control block updated
  3118. SeeAlso: AX=0105h,AX=ABCDh
  3119.  
  3120. Format of parameter control block:
  3121. Offset    Size    Description
  3122.  00h  3 BYTEs    signature = 'PCB'
  3123.  03h    BYTE    function number (see below)
  3124.  04h    WORD    segment of control string
  3125.  06h    WORD    offset of control string
  3126.  08h    WORD    length of control string, unless explicit end-of-str char set
  3127.  0Ah    BYTE    unused (IBM)
  3128.         ControlString[0] (Rabbit)
  3129.  0Bh    WORD    return code
  3130.  0Dh    WORD    maximum length of control string (IBM)
  3131.         unused (Rabbit)
  3132.  
  3133. Values for HLLAPI function number:
  3134.  00h    Query system (Attachmate implementation only)
  3135.  01h    Connect presentation space
  3136.  02h    Disconnect presentation space
  3137.  03h    Send string of keystrokes as if typed from keyboard
  3138.  04h    Wait ~60s, returns status of presentation space
  3139.  05h    Copy current presentation space into a user-defined buffer
  3140.  06h    Search presentation space for first occurrence of a specified string
  3141.  07h    Query cursor location in current presentation space
  3142.  08h    Copy part or all of current presentation space into user buffer
  3143.  09h    Set session parameters; parameters vary by vendor
  3144.  0Ah    Get info on sessions currently connected
  3145.  0Bh    Lock current presentation space
  3146.  0Ch    Unlock previously locked presentation space
  3147.  0Dh    Return copy of operator info area (OIA) of current presentation space
  3148.  0Eh    get attribute byte for given position in the current presentation space
  3149.  0Fh    copy string of characters to the current presentation space
  3150.  10h    workstation control functions
  3151.  11h    storage manager functions, intended primarily for BASIC applications
  3152.     (not implemented by Rabbit)
  3153.  12h    set delay period in half-second intervals
  3154.  14h    get info on level of workstation support used
  3155.  15h    reset session parameters to default values
  3156.  16h    get detailed info on the current session
  3157.  17h    start host notification to application on presentation sp or OIA update
  3158.  18h    check host update when host notification enabled
  3159.  19h    stop host notification
  3160.  1Eh    search field within current presentation space for string
  3161.  1Fh    get first positionof a selected field in the current presentation space
  3162.  20h    get length of specified field
  3163.  21h    copy string into a specified field
  3164.  22h    copy specified field into a user-defined buffer
  3165.  23h    create alternate presentation space (IBM only), don't use with BASIC
  3166.  24h    switch to alternate presentation space (IBM only), not with BASIC
  3167.  25h    display cursor in specified area (IBM only), don't use with BASIC
  3168.  26h    display alternate presentation space (IBM only), don't use with BASIC
  3169.  27h    delete alternate presentation space (IBM only), don't use with BASIC
  3170.  32h    start intercepting keystrokes to allow filtering
  3171.  33h    get keystrokes after turning on interception
  3172.  34h    notify operator when keystroke rejected by filter subroutine
  3173.  35h    stop intercepting keystrokes
  3174.  5Ah    send file
  3175.  5Bh    receive file
  3176.  5Ch    run a program (not implemented by Rabbit)
  3177.  5Dh    execute DOS command (not implemented by Rabbit)
  3178.  63h    change presentation space position to PC display row/col or vice versa
  3179.  FFh    Get info on DCA implementation
  3180.  
  3181. Values for LLAPI function number:
  3182.  80h    initialize LLAPI (internal call)
  3183.  83h    set Session ID (one-character ID)
  3184.  84h    read Session ID (one-character ID)
  3185.  85h    lock 327x keyboard
  3186.  86h    unlock 327x keyboard
  3187.  87h    wait for Clear to Send
  3188.  88h    type ASCII character
  3189.  89h    type 327x key
  3190.  8Ah    read keyboard lock state
  3191.  8Fh    force screen update
  3192.  90h    view session
  3193.  91h    relinquish (suspend foreground until background becomes idle)
  3194.  92h    poke screen character
  3195.  93h    poke translated character
  3196.  94h    peek screen character
  3197.  95h    peek translated character
  3198.  96h    set cursor position
  3199.  97h    send scan code (Rabbit only)
  3200.  98h    synchronize (returns after keystroke queue empty)
  3201.  99h    type PC key (Rabbit only)
  3202.  
  3203. Session Parameters for function 09h:
  3204.  ASCII        ??? (Rabbit only)
  3205.  ATTRIB        return attributes in hex
  3206.  NOATTRIB    return attributes as blanks
  3207.  CONPHYS    make physical connection
  3208.  CONLOG        only make logical connection
  3209.  EAB        copy extended attribute bytes along with data 
  3210.  NOEAB        copy data only
  3211.  ESC=n        set escape character to "n" (default '@')
  3212.  EOT=n        set end of string character (default 00h)
  3213.  FPAUSE        full-duration pause
  3214.  FTNOWAIT    return immediately from functions 5Ah and 5Bh (Rabbit only)
  3215.  FTWAIT        wait for file transfer to complete (Rabbit only)
  3216.  IPAUSE        interruptible pause
  3217.  RABESC        ??? (Rabbit only)
  3218.  NORABESC    ??? (Rabbit only)
  3219.  SCANCODE    ??? (Rabbit only)
  3220.  STRLEN        use explicit string lengths
  3221.  STREOT        use terminated strings
  3222.  SRCHALL    search entire presentation space
  3223.  SRCHFROM    search from specified offset
  3224.  SRCHFRWD    search forward from position 1
  3225.  SRCHBKWD    search backward from last position in presentation space
  3226.  TIMEOUT=n    ??? (Rabbit only)
  3227.  TWAIT        wait specified time for keyboard ready
  3228.  LWAIT        wait until keyboard ready
  3229.  NWAIT        no wait
  3230.  TRON        enable tracing
  3231.  TROFF        disable tracing
  3232.  AUTORESET    send reset before sending keys with function 03h
  3233.  NORESET    don't send reset
  3234.  QUIET        don't display messages sent with INT 21/AH=09h
  3235.  NOQUIET    allow messages to be displayed
  3236.  TIMEOUT=n    set timeout in 30-second intervals, 0 = wait until ^Break
  3237.  XLATE        translate extended attribute bytes
  3238.  NOXLATE    don't translate
  3239.  NEWRET        use HLLAPI v3.0 return code conventions
  3240.  OLDRET        use HLLAPI v2.0 return code conventions
  3241. ----------7F0105-----------------------------
  3242. INT 7F - HDILOAD.EXE - 8514/A VIDEO CONTROLLER INTERFACE
  3243.     AX = 0105h
  3244. Return: CF set on error
  3245.     CF clear if successful
  3246.         CX:DX -> array of FAR pointers to entry points
  3247. Note:    most functions are invoked by pushing the DWORD parameter block pointer
  3248.       and then performing a FAR call via the appropriate vector of the
  3249.       entry point array
  3250. SeeAlso: AX=0104h,AX=ABCDh
  3251.  
  3252. Function numbers: (do FAR call via entry_points+4*function)
  3253.  08h    HOPEN
  3254.  10h    HINT
  3255.  13h    HLDPAL
  3256.  15h    HBBW
  3257.  17h    HBBR
  3258.  18h    HBBCHN
  3259.  1Dh    HQMODE
  3260.  22h    HCLOSE
  3261.  30h    HINIT
  3262.  31h    HSYNC
  3263.  39h    HSPAL
  3264.  3Ah    HRPAL 
  3265. ----------7F02-------------------------------
  3266. INT 7F - Alloy NTNX, MW386 - RELEASE SEMAPHORE
  3267.     AH = 02h
  3268.     DS:DX -> ASCIZ semaphore name (max 64 bytes)
  3269. Return: AL = status
  3270.         00h successful
  3271.         01h invalid function
  3272.         02h semaphore locked by other user
  3273.         AH = semaphore owner
  3274.         03h unable to unlock semaphore
  3275.         05h target PC did not respond
  3276. SeeAlso: AH=00h,AH=01h,AH=42h
  3277. ----------7F0200-----------------------------
  3278. INT 7F - Btrieve Multi-User - GIVE UP TIME???
  3279.     AX = 0200h
  3280. SeeAlso: INT 21/AX=3000h"Btrieve",INT 2F/AX=AB01h,INT 2F/AX=AB02h
  3281. SeeAlso: INT 7B"Btrieve"
  3282. ----------7F03-------------------------------
  3283. INT 7F - Alloy ANSK, NTNX, MW386 - GET USER NUMBER
  3284.     AH = 03h
  3285. Return: AL = user number
  3286.     AH = machine number (MW386)
  3287. Note:    this function call is the recommended method for a CPU-bound process to
  3288.       prevent its priority from being lowered
  3289. SeeAlso: AH=04h,AH=05h,AH=A1h
  3290. ----------7F04-------------------------------
  3291. INT 7F - Alloy NTNX, MW386 - GET NUMBER OF USERS
  3292.     AH = 04h
  3293. Return: AL = total number of users on currrent machine (MW386)
  3294.     AL = number of slaves on system (NTNX)
  3295. SeeAlso: AH=03h
  3296. ----------7F05-------------------------------
  3297. INT 7F - Alloy NTNX (Host) - LOCK/UNLOCK SYSTEM, SPOOLER CONTROL
  3298.     AH = 05h
  3299.     AL = function
  3300.         00h lock system (disable slave services)
  3301.         01h unlock system
  3302.         02h enable spooler
  3303.         03h disable spooler
  3304.         04h enable slave timer update
  3305.         05h disable slave timer update
  3306.         06h enable form feeds
  3307.         07h disable form feeds
  3308. SeeAlso: INT 17/AH=A4h
  3309. ----------7F05-------------------------------
  3310. INT 7F - Alloy NTNX (Slave), MW386 - GET USER PARAMETERS
  3311.     AH = 05h
  3312.     DX:DI -> buffer for user information record (see below)
  3313. Notes:    MW386 provides this function for backward compatibility only, and sets
  3314.       many of the fields to zero because they are meaningless under MW386
  3315.     this function has no effect when called by the host (user 0)
  3316. SeeAlso: AH=03h
  3317.  
  3318. Format of user information record:
  3319. Offset    Size    Description
  3320.  00h    WORD    segment of video RAM
  3321.  02h    WORD    segment of secondary copy of video RAM
  3322.  04h    WORD    offset of screen update flag (see INT 10/AH=8Bh)
  3323.         flag nonzero if update needed
  3324.  06h    WORD    video NMI enable port
  3325.         (not used by MW386, set to 0000h)
  3326.  08h    WORD    video NMI disable port
  3327.         (not used by MW386, set to 0000h)
  3328.  0Ah    BYTE    processor type
  3329.         00h 8088
  3330.         01h V20
  3331.         02h 8086
  3332.         03h V30
  3333.         06h 80386
  3334.  0Bh    WORD    multitasking flag (00h = single tasking, 01h = multitasking)
  3335.         (not used by MW386, set to 0000h)
  3336.  0Dh    WORD    offset of terminal driver
  3337.         (not used by MW386, set to 0000h)
  3338.  0Fh    BYTE    port for console I/O
  3339.         (not used by MW386, set to 0000h)
  3340.  10h    WORD    offset of processor communication busy flag
  3341.         bit 7 set when slave communicating with host
  3342.  12h    WORD    pointer to FAR NX system call
  3343.         (not used by MW386, set to 0000h)
  3344.  14h    WORD    offset of 16-byte user configuration record (see AH=38h)
  3345.  16h    WORD    offset of command/status word
  3346.  18h    WORD    offset of screen valid flag (see INT 10/AH=93h)
  3347.         nonzero if screen must be repainted
  3348.  1Ah    WORD    offset of screen repaint flag
  3349.  1Ch    WORD    pointer to NEAR NX system call
  3350.         (not used by MW386, set to 0000h)
  3351.  1Eh    WORD    offset for intercept flags
  3352.         (not used by MW386, set to 0000h)
  3353.         intercept flag = FFh if MSDOS intercepts should be disabled
  3354.  20h    WORD    offset of terminal lock flag (see INT 10/AH=92h)
  3355.         lock flag = FFh if backgrnd screen updates should be suspended
  3356.  22h 26 BYTEs    reserved
  3357. ----------7F06-------------------------------
  3358. INT 7F - Alloy NTNX (Host) - GET SHARED DRIVE INFO
  3359.     AH = 06h
  3360.     AL = drive number (1=A:, 2=B:, etc)
  3361.     ES:DI -> drive info record (see below)
  3362. Return: AX = status
  3363.         0000h successful
  3364.         ES:DI buffer filled
  3365.         0001h not shared drive
  3366.  
  3367. Format of drive info record:
  3368. Offset    Size    Description
  3369.  00h    WORD    segment of drive IO-REQUEST structure (MSDOS DPB)
  3370.  02h    WORD    segment of allocation map (owner table)
  3371.         one byte per FAT entry, containing user ID owning that entry
  3372.  04h    WORD    segment of master FAT for drive (copy of FAT on disk)
  3373.  06h    WORD    pointer to configuration file
  3374.  08h    WORD    total number of clusters
  3375.  0Ah    WORD    bytes per sector
  3376.  0Ch    WORD    sectors per cluster
  3377.  0Eh    BYTE    FAT type (0Ch = 12-bit, 10h = 16-bit)
  3378. ----------7F06-------------------------------
  3379. INT 7F - Alloy NTNX (Slave) - ALLOCATE FREE CLUSTER ON SHARED DRIVE
  3380.     AH = 06h
  3381.     DL = drive number (1=A:,2=B:,etc)
  3382.     CX = number of clusters to allocate
  3383. Return: AH = status
  3384.         00h successful
  3385.         CX = number of clusters still free
  3386.         10h invalid shared drive request
  3387.         CL = first and second shared drives
  3388.         11h invalid cluster count (must be 01h-FFh)
  3389. ----------7F07-------------------------------
  3390. INT 7F - Alloy NTNX, MW386 - GET LIST OF SHARED DRIVES
  3391.     AH = 07h
  3392. Return: ES:DI -> shared drive list (see below)
  3393. Note:    MW386 considers all fixed disks to be shared drives; only C and D will
  3394.       be returned as shared
  3395.  
  3396. Format of shared drive list:
  3397. Offset    Size    Description
  3398.  00h    BYTE    string length
  3399.  01h    BYTE    number of shared drives
  3400.  02h  N BYTEs    one byte per shared drive
  3401. ----------7F08-------------------------------
  3402. INT 7F - Alloy NTNX (Host) - GET INTERRUPT VECTORS
  3403.     AH = 08h
  3404.     CL = function
  3405.         00h get original interrupt vector
  3406.         01h get Network Executive interrrupt
  3407.     AL = interrupt number
  3408.     DX:SI -> DWORD to hold interrupt vector
  3409. Return: AL = status
  3410.         00h successful
  3411.         01h interrupt vector not used by network executive
  3412.         02h invalid subfunction
  3413. Note:    the network executive uses interrupts 02h,08h,09h,0Fh,10h,13h,16h-19h,
  3414.       1Ch,20h,28h,2Ah,2Fh,5Bh,67h,7Fh,ECh, and F0h-FFh
  3415. SeeAlso: AH=09h/CL=03h,INT 21/AH=35h
  3416. ----------7F08--CL02-------------------------
  3417. INT 7F - Alloy NTNX - SET MESSAGE DISPLAY TIMEOUT
  3418.     AH = 08h
  3419.     CL = 02h
  3420.     DX = timeout in seconds
  3421. Return: AL = status
  3422.         00h successful
  3423.         02h invalid subfunction
  3424. ----------7F09-------------------------------
  3425. INT 7F - MultiLink Advanced - SET TASK PRIORITY
  3426.     AH = 09h
  3427.     AL = priority (0-7)
  3428. Note:    the installation check consists of ensuring that the interrupt vector
  3429.       is not pointing at segment 0000h, then checking whether the byte
  3430.       at offset 0000h in the interrupt handler's segment is E9h
  3431. ----------7F09-------------------------------
  3432. INT 7F - Alloy NTNX - ENABLE/DISABLE MUD FILE CHECKING
  3433.     AH = 09h
  3434.     CL = function
  3435.         00h enable checking of RTNX.MUD file
  3436.         01h disable RTNX.MUD checking
  3437. ----------7F09--CL02-------------------------
  3438. INT 7F - Alloy NTNX - SWITCH HOST TO DEDICATED MODE
  3439.     AH = 09h
  3440.     CL = 02h
  3441. Note:    in dedicated mode, the host will only poll for I/O requests from the
  3442.       slave processors, and not provide workstation services
  3443. ----------7F09--CL03-------------------------
  3444. INT 7F - Alloy NTNX,MW386 - GET ALTERNATE INTERRUPT
  3445.     AH = 09h
  3446.     CL = 03h
  3447.     AL = default interrupt number (67h,7Fh,etc)
  3448. Return:    CL = actual interrupt which handles specified interrupt's calls
  3449. SeeAlso: AH=08h
  3450. ----------7F0A--CL00-------------------------
  3451. INT 7F - Alloy NTNX - GET SYSTEM FLAGS
  3452.     AH = 0Ah
  3453.     CL = 00h
  3454.     ES:DI -> buffer for system flags (see below)
  3455. Return: ES:DI buffer filled
  3456. Notes:    on a slave, only the NX_Busy flag is returned
  3457.     all three flags are at fixed positions, so this function only needs to
  3458.       be called once
  3459.     an interrupt handler should only perform DOS or device accesses when
  3460.       all three flags are 00h
  3461.  
  3462. Format of system flags:
  3463. Offset    Size    Description
  3464.  00h    DWORD    pointer to NX_Busy flag (nonzero when communicating with users)
  3465.  04h    DWORD    pointer to device driver busy flag
  3466.  08h    DWORD    pointer to InTimer flag
  3467. ----------7F0B--CL02-------------------------
  3468. INT 7F - Alloy NTNX (Host) - SET/RESET GRAPHICS DOS ON SLAVE
  3469.     AH = 0Bh
  3470.     CL = 02h
  3471.     AL = slave ID number
  3472.     CH = DOS to activate
  3473.         00h graphics DOS
  3474.         01h character DOS
  3475. Return: AL = status
  3476.         00h successful
  3477.         01h nothing done, proper DOS type already loaded
  3478. ----------7F10--CL00-------------------------
  3479. INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - OPEN CHANNEL
  3480.     AH = 10h
  3481.     CL = 00h
  3482.     AL = channel number
  3483.     DX:DI -> channel buffer
  3484. Return: AL = status
  3485.         00h successful
  3486.         01h busy
  3487.         02h channel range error (not 00h-3Fh)
  3488.         03h invalid subfunction
  3489.         0Dh unable to open
  3490. Note:    may not be invoked from within a hardware interrupt handler
  3491. SeeAlso: AH=10h/CL=01h,AH=10h/CL=04h,AH=14h/CL=02h
  3492. ----------7F10--CL01-------------------------
  3493. INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - CLOSE CHANNEL
  3494.     AH = 10h
  3495.     CL = 01h
  3496.     AL = channel number
  3497. Return: AL = status
  3498.         00h successful
  3499.         01h busy
  3500.         02h channel range error (not 00h-3Fh)
  3501.         03h invalid subfunction
  3502.         0Ah channel not open
  3503. Note:    may not be invoked from within a hardware interrupt handler
  3504. SeeAlso: AH=10h/CL=00h,AH=10h/CL=05h
  3505. ----------7F10--CL02-------------------------
  3506. INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - LOCK CHANNEL
  3507.     AH = 10h
  3508.     CL = 02h
  3509.     AL = channel number
  3510. Return: AL = status
  3511.         00h successful
  3512.         01h busy
  3513.         02h channel range error (not 00h-3Fh)
  3514.         03h invalid subfunction
  3515.         0Ah channel not open
  3516.         0Ch channel already locked
  3517. Note:    may not be invoked from within a hardware interrupt handler
  3518. SeeAlso: AH=10h/CL=03h,AH=10h/CL=06h,AH=10h/CL=08h
  3519. ----------7F10--CL03-------------------------
  3520. INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - UNLOCK CHANNEL
  3521.     AH = 10h
  3522.     CL = 03h
  3523.     AL = channel number
  3524. Return: AL = status (see AH=10h/CL=02h)
  3525. Notes:    should only be used on channels locked with AH=10h/CL=02h, not on those
  3526.       locked by receipt of a datagram
  3527.     may not be invoked from within a hardware interrupt handler
  3528. SeeAlso: AH=10h/CL=02h,AH=10h/CL=04h,AH=10h/CL=09h
  3529. ----------7F10--CL04-------------------------
  3530. INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - RELEASE BUFFER
  3531.     AH = 10h
  3532.     CL = 04h
  3533.     AL = channel number
  3534. Return: AL = status
  3535.         00h successful
  3536.         01h busy
  3537.         02h channel range error (not 00h-3Fh)
  3538.         03h invalid subfunction
  3539. Notes:    unlocks buffer after received datagram has been processed
  3540.     may not be invoked from within a hardware interrupt handler
  3541. SeeAlso: AH=10h/CL=00h
  3542. ----------7F10--CL05-------------------------
  3543. INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - CLOSE ALL CHANNELS
  3544.     AH = 10h
  3545.     CL = 05h
  3546. Return: AL = status
  3547.         00h successful
  3548.         01h busy
  3549.         02h channel range error (not 00h-3Fh)
  3550.         03h invalid subfunction
  3551. Notes:    clears all pending datagrams and clears buffer pointers before closing
  3552.       the channels
  3553.     may not be invoked from within a hardware interrupt handler
  3554. SeeAlso: AH=10h/CL=01h
  3555. ----------7F10--CL06-------------------------
  3556. INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - LOCK ALL OPEN CHANNELS
  3557.     AH = 10h
  3558.     CL = 06h
  3559. Return: AL = status
  3560.         00h successful
  3561.         01h busy
  3562.         02h channel range error (not 00h-3Fh)
  3563.         03h invalid subfunction
  3564. Note:    may not be invoked from within a hardware interrupt handler
  3565. SeeAlso: AH=10h/CL=02h,AH=10h/CL=08h
  3566. ----------7F10--CL07-------------------------
  3567. INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - UNLOCK ALL LOCKED IDLE CHANNELS
  3568.     AH = 10h
  3569.     CL = 07h
  3570. Return: AL = status
  3571.         00h successful
  3572.         01h busy
  3573.         02h channel range error (not 00h-3Fh)
  3574.         03h invalid subfunction
  3575. Notes:    unlocks all locked channels which have no pending datagrams
  3576.     may not be invoked from within a hardware interrupt handler
  3577. SeeAlso: AH=10h/CL=03h,AH=10h/CL=09h
  3578. ----------7F10--CL08-------------------------
  3579. INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - LOCK MULTIPLE CHANNELS
  3580.     AH = 10h
  3581.     CL = 08h
  3582.     DX = maximum channel number to lock
  3583. Return: AL = status
  3584.         00h successful
  3585.         01h busy
  3586.         02h channel range error (not 00h-3Fh)
  3587.         03h invalid subfunction
  3588. Notes:    locks channels numbered 00h through the value in DX
  3589.     may not be invoked from within a hardware interrupt handler
  3590. SeeAlso: AH=10h/CL=02h,AH=10h/CL=06h,AH=10h/CL=09h
  3591. ----------7F10--CL09-------------------------
  3592. INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - UNLOCK MULTIPLE CHANNELS
  3593.     AH = 10h
  3594.     CL = 09h
  3595.     DX = maximum channel number to unlock
  3596. Return: AL = status
  3597.         00h successful
  3598.         01h busy
  3599.         02h channel range error (not 00h-3Fh)
  3600.         03h invalid subfunction
  3601. Notes:    unlocks channels numbered 00h through the value in DX
  3602.     may not be invoked from within a hardware interrupt handler
  3603. SeeAlso: AH=10h/CL=03h,AH=10h/CL=07h,AH=10h/CL=08h
  3604. ----------7F11-------------------------------
  3605. INT 7F - Alloy NTNX, MW386 - SEND DATAGRAM
  3606.     AH = 11h
  3607.     DX:SI -> request block (see below)
  3608. Return: AL = status
  3609.         00h successful
  3610.         01h busy
  3611.         02h channel range error (not 00h-3Fh)
  3612.         03h invalid subfunction
  3613.         0Ah packet too large (or <2 bytes if NTNX)
  3614.         0Bh can't send packet to itself
  3615.         0Ch invalid number of destinations
  3616.         0Dh destination channel number out of range
  3617.         0Eh destination user is busy
  3618.         0Fh destination user has locked channel
  3619.         10h channel not open
  3620.         11h no datagram server on destination (NTNX)
  3621. Note:    if wildcard channel FFh used, actual channel number will be filled in
  3622. SeeAlso: AH=12h
  3623.  
  3624. Format of request block:
  3625. Offset    Size    Description
  3626.  00h    DWORD    pointer to packet to send
  3627.  04h    WORD    packet size in bytes (1-4096)
  3628.  06h    BYTE    number of destinations for packet (max 1Fh)
  3629.  07h 31 BYTEs    destination user IDs (FFh = broadcast to all except sender)
  3630.  26h 31 BYTEs    destination channels (FFh = first available channel)
  3631.  45h 31 BYTEs    return destination statuses
  3632. ----------7F12-------------------------------
  3633. INT 7F - Alloy NTNX, MW386 - ACKNOWLEDGE DATAGRAM
  3634.     AH = 12h
  3635.     AL = channel number being acknowledged
  3636.     DI:DX = 32-bit status to return to sender
  3637. Return: AL = status
  3638.         00h successful
  3639.         01h busy
  3640.         02h channel range error (not 00h-3Fh)
  3641.         03h invalid subfunction
  3642.         0Ah channel not open
  3643.         0Bh no message in channel
  3644.         0Ch destination slave busy--retry (NTNX)
  3645.         0Dh destination user not active
  3646.         0Eh destination slave not active (NTNX)
  3647.         0Fh destination disabled datagram service
  3648. Note:    also unlocks the channel, allowing the next datagram to be received
  3649. SeeAlso: AH=11h,AH=15h/CL=04h
  3650. ----------7F13--CL00-------------------------
  3651. INT 7F - Alloy NTNX, MW386 - RESET USER DATAGRAMS
  3652.     AH = 13h
  3653.     CL = 00h
  3654. Note:    clears all pending datagrams and removes all channels opened in NTNX
  3655.       compatibility mode
  3656. ----------7F14--CL00-------------------------
  3657. INT 7F - Alloy NTNX, MW386 -  SET RECEIVE ISR
  3658.     AH = 14h
  3659.     CL = 00h
  3660.     DX:DI -> application FAR receive service routine (see below)
  3661. Return: AL = status
  3662.         00h successful
  3663.         01h busy
  3664.         02h channel range error (not 00h-3Fh)
  3665.         03h invalid subfunction
  3666. SeeAlso: AH=14h/CL=01h,AH=14h/CL=03h
  3667.  
  3668. Service routine called with:
  3669.     DH = sender ID
  3670.     DL = channel with datagram
  3671.     interrupts disabled
  3672. Return: AL = response code
  3673.         00h leave buffer locked, set channel status, and repeat call later
  3674.         01h release channel buffer
  3675.         02h change buffer pointer to DX:DI
  3676.     AH,CX,DX,DI,SI may be destroyed
  3677. ----------7F14--CL01-------------------------
  3678. INT 7F - Alloy NTNX, MW386 - SET ACKNOWLEDGE ISR
  3679.     AH = 14h
  3680.     CL = 01h
  3681.     DX:DI -> application FAR acknowledge service routine (see below)
  3682. Return: AL = status
  3683.         00h successful
  3684.         01h busy
  3685.         02h channel range error (not 00h-3Fh)
  3686.         03h invalid subfunction
  3687. Note:    the service routine will be called as soon as an acknowledgment arrives
  3688. SeeAlso: AH=12h,AH=14h/CL=00h,AH=14h/CL=04h,AH=15/CL=04h
  3689.  
  3690. Service routine called with:
  3691.     DS:SI -> acknowledge structure (see AH=15h/CL=04h)
  3692. Return: AL = response code
  3693.         00h application busy, network executive should call again later
  3694.         01h acknowledge accepted
  3695.     AH,DX,SI may be destroyed
  3696. ----------7F14--CL02-------------------------
  3697. INT 7F - Alloy NTNX, MW386 - SET CHANNEL BUFFER POINTER
  3698.     AH = 14h
  3699.     CL = 02h
  3700.     AL = channel number
  3701.     DX:DI -> receive buffer
  3702. Return: AL = status
  3703.         00h successful
  3704.         01h busy
  3705.         02h channel range error (not 00h-3Fh)
  3706.         03h invalid subfunction
  3707. Note:    may be called from within a receive ISR or when a datagram is pending
  3708. SeeAlso: AH=10h/CL=00h,AH=14h/CL=00h
  3709. ----------7F14--CL03-------------------------
  3710. INT 7F - Alloy NTNX, MW386 - GET RECEIVE ISR
  3711.     AH = 14h
  3712.     CL = 03h
  3713. Return: DX:DI -> current receive ISR
  3714. SeeAlso: AH=14h/CL=00h,AH=14h/CL=04h
  3715. ----------7F14--CL04-------------------------
  3716. INT 7F - Alloy NTNX, MW386 - GET ACKNOWLEDGE ISR
  3717.     AH = 14h
  3718.     CL = 04h
  3719. Return: DX:DI -> current acknowledge ISR
  3720. SeeAlso: AH=14h/CL=01h,AH=14h/CL=03h
  3721. ----------7F14--CL05-------------------------
  3722. INT 7F - Alloy NTNX (Host), MW386 - GET BUSY POINTER
  3723.     AH = 14h
  3724.     CL = 05h
  3725.     DX:DI -> buffer for busy structure (see below)
  3726. Return: DX:DI buffer filled
  3727.  
  3728. Format of busy structure:
  3729. Offset    Size    Description
  3730.  00h    DWORD    pointer to busy flag byte
  3731.  04h    WORD    fixed port address (FF00h)
  3732. ----------7F15--CL00-------------------------
  3733. INT 7F - Alloy NTNX, MW386 - GET CHANNEL STATUS
  3734.     AH = 15h
  3735.     CL = 00h
  3736.     AL = channel number
  3737.     DX:DI -> status structure (see below)
  3738. Return: AL = status
  3739.         00h successful
  3740.         01h busy
  3741.         02h channel range error (not 00h-3Fh)
  3742.         03h invalid subfunction
  3743. SeeAlso: AH=15h/CL=01h
  3744.  
  3745. Format of status structure:
  3746. Offset    Size    Description
  3747.  00h    BYTE    channel status
  3748.         bit 0: channel open
  3749.             1: channel buffer contains received data
  3750.             7: channel locked
  3751.  01h    BYTE    sender ID
  3752. ----------7F15--CL01-------------------------
  3753. INT 7F - Alloy NTNX, MW386 - GET NEXT FULL CHANNEL
  3754.     AH = 15h
  3755.     CL = 01h
  3756.     DX:DI -> full-channel structure
  3757. Return: AL = status
  3758.         00h successful
  3759.         01h busy
  3760.         0Ah no datagrams available
  3761. Note:    MW386 v1.0 returns the lowest channel with a datagram; newer versions
  3762.       and NTNX return the oldest datagram
  3763. SeeAlso: AH=15h/CL=00h
  3764.  
  3765. Format of full-channel structure:
  3766. Offset    Size    Description
  3767.  00h    BYTE    number of channel with oldest datagram
  3768.  01h    BYTE    sender ID
  3769. ----------7F15--CL02-------------------------
  3770. INT 7F - Alloy NTNX, MW386 - GET MAXIMUM NUMBER OF CHANNELS
  3771.     AH = 15h
  3772.     CL = 02h
  3773. Return: AH = number of channels available (40h for MW386)
  3774. Note:    the application may always assume at least 32 channels available
  3775. SeeAlso: AH=15h/CL=03h
  3776. ----------7F15--CL03-------------------------
  3777. INT 7F - Alloy NTNX, MW386 - GET MAXIMUM PACKET SIZE
  3778.     AH = 15h
  3779.     CL = 03h
  3780.     DX:DI -> WORD for return value
  3781. Return: buffer WORD filled with maximum packet size (4096 for MW386)
  3782. SeeAlso: AH=15h/CL=02h
  3783. ----------7F15--CL04-------------------------
  3784. INT 7F - Alloy NTNX, MW386 - GET AND CLEAR ACKNOWLEDGE STATUS
  3785.     AH = 15h
  3786.     CL = 04h
  3787.     DX:DI -> status structure (see below)
  3788. Return: AL = status
  3789.         00h successful
  3790.         DX:DI structure filled
  3791.         01h busy
  3792.         0Ah no acknowledgement has arrived
  3793. SeeAlso: AH=12h,AH=14h/CL=01h
  3794.  
  3795. Format of status structure:
  3796. Offset    Size    Description
  3797.  00h    BYTE    sender ID
  3798.  01h    BYTE    channel number
  3799.  02h  4 BYTEs    receiver status (see AH=12h)
  3800. ----------7F16-------------------------------
  3801. INT 7F - Alloy NTNX, MW386 - DIRECT MEMORY TRANSFER
  3802.     AH = 16h
  3803.     DX:SI -> transfer structure (see below)
  3804. Return: AL = status
  3805.         00h successful
  3806.         0Ah source or destination out of range
  3807.         0Bh transfer kernal busy--try again
  3808. Notes:    this call transfers memory contents directly between users; both source
  3809.       and destination user IDs may differ from the caller's ID
  3810.     no segment wrap is allowed
  3811.  
  3812. Format of transfer structure:
  3813. Offset    Size    Description
  3814.  00h    WORD    bytes to transfer
  3815.  02h    BYTE    source ID
  3816.         FEh = caller
  3817.  03h    DWORD    source address
  3818.  07h    BYTE    destination ID
  3819.         FFh = all slaves except caller
  3820.         FEh = caller
  3821.  08h    DWORD    destination address
  3822. ----------7F21-------------------------------
  3823. INT 7F - Alloy NTNX, MW386 - SEND MESSAGE OR COMMAND TO USER(S)
  3824.     AH = 21h
  3825.     AL = sender's user ID
  3826.     DS:DX -> control packet (see below)
  3827. Note:    messages or commands are ignored if disabled by the destination user
  3828. SeeAlso: AH=22h
  3829.  
  3830. Format of control packet:
  3831. Offset    Size    Description
  3832.  00h    BYTE    packet type
  3833.         00h message
  3834.         01h NTNX command
  3835.         02h MW386 command
  3836.  01h    BYTE    destination user ID or 'A' for all users
  3837.  02h 62 BYTEs    ASCIZ message (packet type 00h)
  3838.         BIOS keycodes terminated by NUL byte (type 01h) or word (02h)
  3839. Note:    a maximum of 16 keycodes will be processed for NTNX and MW386 commands
  3840. ----------7F22-------------------------------
  3841. INT 7F - Alloy NTNX - GET MESSAGE
  3842.     AH = 22h
  3843. Return: pending messages displayed on user's screen
  3844. SeeAlso: AH=21h
  3845. ----------7F24-------------------------------
  3846. INT 7F - Alloy NTNX, MW386 - ATTACH OR RELEASE DRIVE FOR LOW-LEVEL WRITE ACCESS
  3847.     AH = 24h
  3848.     CL = function
  3849.         00h attach
  3850.         01h release
  3851.     CH = drive (0=A:,1=B:,etc)
  3852. Return: AX = status
  3853.         00h successful
  3854.         01h invalid request
  3855.         02h already attached
  3856.         03h not attached
  3857.         04h lock table full
  3858. Note:    only drives on the current machine may be attached
  3859. ----------7F24-------------------------------
  3860. INT 7F - Alloy NTNX - ATTACH/RELEASE HOST PROCESSOR
  3861.     AH = 24h
  3862.     CL = function
  3863.         02h attach host
  3864.         03h release host
  3865. Return: AX = status
  3866.         00h successful
  3867.         01h invalid request
  3868.         02h already attached
  3869.         03h not attached
  3870.         04h lock table full
  3871. Note:    the host processor may be attached in order to perform I/O via the host
  3872. ----------7F25--CL00-------------------------
  3873. INT 7F - Alloy ANSK, NTNX, MW386 - GET NETWORK EXECUTIVE VERSION
  3874.     AH = 25h
  3875.     CL = 00h        
  3876. Return: AH = version suffix letter
  3877.     CH = major version number
  3878.     CL = minor version number
  3879. SeeAlso: AH=25h/CL=01h
  3880. ----------7F25--CL01-------------------------
  3881. INT 7F - Alloy ANSK, NTNX, MW386 - GET NETWORK EXECUTIVE TYPE
  3882.     AH = 25h
  3883.     CL = 01h
  3884. Return: CL = type
  3885.         00h RTNX
  3886.         01h ATNX
  3887.         02h NTNX
  3888.         03h BTNX
  3889.         04h MW386
  3890.         05h ANSK
  3891. SeeAlso: AH=25h/CL=00h
  3892. ----------7F26--CL00-------------------------
  3893. INT 7F - Alloy NTNX, MW386 - GET NTNX FILE MODE
  3894.     AH = 26h
  3895.     CL = 00h
  3896. Return: AX = file mode bits
  3897.         bit 0: directory protection enabled
  3898.         1: extended open enabled
  3899.         2: flush on every disk write
  3900.         3: flush on every disk write in locked interval
  3901.         4: flush on reads from simultaneously opened file
  3902. Note:    MW386 does not support file modes, and always returns AX=001Fh
  3903. SeeAlso: AH=26h,AH=26h/CL=06h
  3904. ----------7F26-------------------------------
  3905. INT 7F - Alloy NTNX - SET FILE I/O CHECKING LEVEL
  3906.     AH = 26h
  3907.     CL = check type to set/reset
  3908.         01h directory protection
  3909.         02h extended open
  3910.         03h flush on every disk write
  3911.         04h flush on disk write if any lock set during write
  3912.         05h flush on all reads if file written
  3913.     AL = new state (00h off, 01h on)
  3914. SeeAlso: AH=26h/CL=00h,AH=26h/CL=06h
  3915. ----------7F26--CL06-------------------------
  3916. INT 7F - Alloy NTNX - CANCEL FLUSH ON WRITE
  3917.     AH = 26h
  3918.     CL = 06h
  3919. Note:    cancels flags set by AH=26h/CL=03h and AH=26h/CL=04h
  3920. SeeAlso: AH=26h/CL=00h
  3921. ----------7F30-------------------------------
  3922. INT 7F - Alloy MW386 - GET PORT INFORMATION
  3923.     AH = 30h
  3924.     CX = MW386 port number
  3925. Return: AL = FFh if port not found
  3926.        else     driver unit number
  3927.            BL = port mode
  3928.            BH = port type
  3929.            02h remote
  3930.            DH = owner's machine ID
  3931.            DL = owner's user ID
  3932. SeeAlso: INT 17/AH=8Bh
  3933. ----------7F31-------------------------------
  3934. INT 7F - Alloy MW386 v1.x only - CHECK PORT ASSIGNMENT
  3935.     AH = 31h
  3936.     ???
  3937. Return: ???
  3938. ----------7F37-------------------------------
  3939. INT 7F - Alloy NTNX (Host) - GET SEMAPHORE TABLE
  3940.     AH = 37h
  3941. Return: ES:AX -> semaphore table
  3942. ----------7F37-------------------------------
  3943. INT 7F - Alloy ANSK, NTNX (Slave) - DUMP STRING TO TERMINAL
  3944.     AH = 37h
  3945.     DS:DX -> ASCIZ string to display
  3946. Note:    if the string is empty, a terminal update will be forced
  3947. ----------7F38-------------------------------
  3948. INT 7F - Alloy NTNX (Slave), MW386 - SET NEW TERMINAL DRIVER
  3949.     AH = 38h
  3950.     AL = new terminal driver number
  3951.         FFh dummy driver
  3952.         FEh current driver
  3953.         FDh load new driver
  3954.         DS:SI -> new driver
  3955. SeeAlso: AH=39h
  3956. ----------7F39-------------------------------
  3957. INT 7F - Alloy MW386 - SET TERMINAL DRIVER FOR ANOTHER USER
  3958.     AH = 39h
  3959.     AL = new terminal driver number
  3960.     DL = user number (FFh = caller)
  3961.     DH = machine number if DL <> FFh
  3962. Return: CF set if invalid user number
  3963.     CF clear if successful
  3964. Notes:    only available to supervisors
  3965.     the new driver number will not take effect until the user is rebooted
  3966. SeeAlso: AH=38h
  3967. ----------7F3A-------------------------------
  3968. INT 7F - Alloy MW386 - GET TERMINAL PARAMETERS
  3969.     AH = 3Ah
  3970.     DL = user number (FFh = caller)
  3971.     DH = machine number
  3972. Return: CF clear if successful
  3973.         AH = terminal driver number
  3974.         AL = baud rate (00h = 38400, 01h = 19200, etc)
  3975.         CL = parity (00h none, 01h even, 02h odd)
  3976.         CH = handshaking (00h none, 01h XON/XOFF, 02h DTR/DSR, 03h XPC)
  3977.     CF set if invalid user number
  3978. SeeAlso: AH=3Bh
  3979. ----------7F3B-------------------------------
  3980. INT 7F - Alloy MW386 - SET TERMINAL PARAMETERS
  3981.     AH = 3Bh
  3982.     AL = baud rate (00h = 38400, 01h = 19200, etc)
  3983.     CL = parity (00h none, 01h even, 02h odd)
  3984.     CH = handshaking (00h none, 01h XON/XOFF, 02h DTR/DSR, 03h XPC)
  3985.     DL = user number (FFh = caller)
  3986.     DH = machine number for user
  3987. Return: CF set if invalid user number
  3988. Notes:    only available to supervisors
  3989.     the new parameters will take effect immediately if the user's terminal
  3990.       has not been started, else AH=3Dh must be called to post the changes
  3991. SeeAlso: AH=3Ah,AH=3Dh
  3992. ----------7F3C-------------------------------
  3993. INT 7F - Alloy MW386 - ENABLE/DISABLE AUTOBAUD DETECT
  3994.     AH = 3Ch
  3995.     AL = new state
  3996.          00h disabled, 01h enabled
  3997.     DL = user number (FFh = caller)
  3998.     DH = machine number for user
  3999. Return: CF set if invalid user number
  4000. Note:    only available to supervisors
  4001. SeeAlso: AH=3Dh
  4002. ----------7F3D-------------------------------
  4003. INT 7F - Alloy MW386 - POST TERMINAL CONFIGURATION CHANGES
  4004.     AH = 3Dh
  4005. Note:    should be called whenever a program changes the terminal type or its
  4006.       parameters
  4007. SeeAlso: AH=3Bh
  4008. ----------7F41-------------------------------
  4009. INT 7F - Alloy NTNX - LOCK FILE FOR USER
  4010.     AH = 41h
  4011.     AL = user ID
  4012.     DS:DX -> ASCIZ filename
  4013. Return: AL = status
  4014.         00h successful
  4015.         01h invalid function
  4016.         02h already locked
  4017.         03h unable to lock
  4018.         04h lock table full
  4019. Note:    requests exclusive read/write access to file
  4020. SeeAlso: AH=00h,,AH=41h"MW386",AH=42h"NTNX"
  4021. ----------7F41-------------------------------
  4022. INT 7F - Alloy MW386 - LOCK SEMAPHORE FOR USER
  4023.     AH = 41h
  4024.     AL = user ID
  4025.     DS:DX -> ASCIZ semaphore name
  4026. Return: AL = status
  4027.         00h successful
  4028.         01h invalid function
  4029.         02h semaphore already locked
  4030.         03h unable to lock semaphore
  4031.         04h semaphore space exhausted
  4032. SeeAlso: AH=00h,AH=42h"MW386"
  4033. ----------7F42-------------------------------
  4034. INT 7F - Alloy NTNX - UNLOCK FILE FOR USER
  4035.     AH = 42h
  4036.     AL = user ID
  4037.     DS:DX -> ASCIZ filename
  4038. Return: AL = status
  4039.         00h successful
  4040.         01h invalid function
  4041.         02h already locked
  4042.         03h unable to lock
  4043.         04h lock table full
  4044. SeeAlso: AH=00h,AH=41h"NTNX",AH=42h"MW386"
  4045. ----------7F42-------------------------------
  4046. INT 7F - Alloy MW386 - UNLOCK SEMAPHORE FOR USER
  4047.     AH = 42h
  4048.     AL = user ID
  4049.     DS:DX -> ASCIZ semaphore name
  4050. Return: AL = status
  4051.         00h successful
  4052.         01h invalid function
  4053.         03h unable to unlock semaphore
  4054. SeeAlso: AH=02h,AH=41h"MW386",AH=42h"NTNX"
  4055. ----------7F4E-------------------------------
  4056. INT 7F - Alloy MW386 v2+ - SET ERROR MODE
  4057.     AH = 4Eh
  4058.     AL = error mode flags
  4059.         bit 0: display critical disk errors
  4060.         1: display sharing errors
  4061.     DX = 4E58h ("NX")
  4062. Return: AL = status
  4063.         00h successful
  4064. SeeAlso: AH=4Fh
  4065. ----------7F4F-------------------------------
  4066. INT 7F - Alloy MW386 v2+ - SET FCB MODE
  4067.     AH = 4Fh
  4068.     AL = FCB mode
  4069.         02h read/write compatibility
  4070.         42h read/write shared
  4071.     DX = 4E58h ("NX")
  4072. Return: AL = status
  4073.         00h successful
  4074. ----------7F81-------------------------------
  4075. INT 7F - Alloy NTNX - ATTACH DEVICE FOR USER
  4076.     AH = 81h
  4077.     AL = user ID
  4078.     DS:DX -> ASCIZ device name
  4079. SeeAlso: AH=82h
  4080. ----------7F82-------------------------------
  4081. INT 7F - Alloy NTNX - RELEASE DEVICE FOR USER
  4082.     AH = 82h
  4083.     AL = user ID
  4084.     DS:DX -> ASCIZ device name
  4085. SeeAlso: AH=81h
  4086. ----------7FA0-------------------------------
  4087. INT 7F - Alloy MW386 - GET USER NAME
  4088.     AH = A0h
  4089.     DL = user number (FFh = caller)
  4090.     DH = machine number for user
  4091.     ES:DI -> 17-byte buffer for ASCIZ user name
  4092. Return: CF set if invalid user number
  4093. SeeAlso: AH=03h,AH=A1h
  4094. ----------7FA1-------------------------------
  4095. INT 7F - Alloy MW386 - GET MACHINE, USER, AND PROCESS NUMBER
  4096.     AH = A1h
  4097. Return: AL = process number
  4098.     DL = user number
  4099.     DH = machine number
  4100. SeeAlso: AH=03h,AH=A0h,AH=A2h
  4101. ----------7FA2-------------------------------
  4102. INT 7F - Alloy MW386 - GET USER PRIVILEGE LEVEL
  4103.     AH = A2h
  4104.     DL = user number (FFh = caller)
  4105.     DH = machine number for user
  4106. Return: CF clear if successful
  4107.         AL = privilege level
  4108.         00h supervisor
  4109.         01h high
  4110.         02h medium
  4111.         03h low
  4112.     CF set if invalid user number
  4113. SeeAlso: AH=A1h,AH=A3h
  4114. ----------7FA3-------------------------------
  4115. INT 7F - Alloy MW386 - GET USER LOGIN STATE
  4116.     AH = A3h
  4117.     DL = user number
  4118.     DH = machine number for user
  4119. Return: CF clear if successful
  4120.         AL = login state
  4121.         00h never logged in
  4122.         01h currently logged out
  4123.         03h currently logged in
  4124.     CF set if invalid user number or user not active
  4125. SeeAlso: AH=A2h
  4126. ----------7FA4-------------------------------
  4127. INT 7F - Alloy MW386 - VERIFY USER PASSWORD
  4128.     AH = A4h
  4129.     DS:DX -> ASCIZ password (null-padded to 16 bytes)
  4130. Return: AL = 00h if accepted
  4131.        else     invalid password
  4132. ----------7FA5-------------------------------
  4133. INT 7F - Alloy MW386 - GET/SET USER STATUS
  4134.     AH = A5h
  4135.     AL = function
  4136.         00h get status
  4137.         Return: BX = user flags
  4138.                 bit 5: allow messages
  4139.             CL = scan code for task manager hotkey
  4140.             CH = scan code for spooler hotkey
  4141.             DL = scan code for task swapper hotkey
  4142.             DH = modifier key status
  4143.         01h set status
  4144.         BX = user flags (see above)
  4145.         CL = scan code for task manager hotkey
  4146.         CH = scan code for spooler hotkey
  4147.         DL = scan code for task swapper hotkey
  4148.         DH = modifier key status
  4149.     DI = machine number and user number
  4150. Return: CF set if invalid user number
  4151. Note:    must have supervisor privilege to set another user's status
  4152. ----------7FABCDBX0000-----------------------
  4153. INT 7F - IBM 8516 Touch Screen Device Driver - GET API ENTRY
  4154.     AX = ABCDh
  4155.     BX = 0000h
  4156. Return: ???:??? -> entry point array
  4157. SeeAlso: AX=0104h,AX=0105h
  4158.  
  4159. Function numbers:
  4160.  14h    set user-defined subroutine
  4161. ----------7FB0-------------------------------
  4162. INT 7F - Alloy NTNX, MW386 - RELEASE ALL SEMAPHORES FOR USER
  4163.     AH = B0h
  4164.     AL = user number
  4165.     DS = code segment
  4166. Note:    MW386 ignores AL and DS; it releases all semaphores locked using INT 67
  4167.       or INT 7F locking functions
  4168. SeeAlso: AH=B1h,AH=B2h,AH=B3h,AH=B4h
  4169. ----------7FB1-------------------------------
  4170. INT 7F - Alloy NTNX, MW386 - RELEASE NORMAL SEMAPHORES FOR USER
  4171.     AH = B1h
  4172.     AL = (bits 7-5) 000
  4173.          (bits 4-0) user ID
  4174. Note:    MW386 ignores AL; it releases all semaphores locked using INT 67 or
  4175.       INT 7F locking functions
  4176. SeeAlso: AH=B0h,AH=B2h,AH=B3h,AH=B4h
  4177. ----------7FB2-------------------------------
  4178. INT 7F - Alloy NTNX - RELEASE MESSAGES FOR USER
  4179.     AH = B2h
  4180.     AL = (bits 7-5) 001
  4181.          (bits 4-0) user ID
  4182. SeeAlso: AH=B0h,AH=B1h,AH=B3h,AH=B4h
  4183. ----------7FB3-------------------------------
  4184. INT 7F - Alloy NTNX - RELEASE FILES FOR USER
  4185.     AH = B3h
  4186.     AL = (bits 7-5) 010
  4187.          (bits 4-0) user ID
  4188. SeeAlso: AH=B0h,AH=B1h,AH=B2h,AH=B4h
  4189. ----------7FB4-------------------------------
  4190. INT 7F - Alloy NTNX - RELEASE DEVICES FOR USER
  4191.     AH = B4h
  4192.     AL = user ID
  4193. SeeAlso: AH=B0h,AH=B1h,AH=B2h,AH=B3h
  4194. ----------7FC3-------------------------------
  4195. INT 7F - Alloy MW386 - WRITE BYTE TO TERMINAL AUX PORT
  4196.     AH = C3h
  4197.     AL = byte to write
  4198. Return: CF clear if successful
  4199.     CF set on error
  4200. SeeAlso: AH=C6h
  4201. ----------7FC5-------------------------------
  4202. INT 7F - Alloy MW386 - CHANGE CONSOLE MODE
  4203.     AH = C5h
  4204.     AL = new console mode
  4205.         00h keyboard indirect
  4206.         01h keyboard direct
  4207.         02h data handshake enforced
  4208.         03h no data handshake
  4209. Return: CF clear if successful
  4210.         AL = prior console mode
  4211.     CF set on error (caller is not remote user)
  4212. Note:    modes 2 and 3 may be used for input through the console port; no video
  4213.       output should be performed in these modes
  4214. ----------7FC6-------------------------------
  4215. INT 7F - Alloy MW386 - WRITE BYTE TO CONSOLE PORT
  4216.     AH = C6h
  4217.     AL = byte to write
  4218. Return: CF clear if successful
  4219.     CF set on error (caller is not remote user)
  4220. Note:    any terminal driver data translation will be bypassed
  4221. SeeAlso: AH=C3h,AH=C7h
  4222. ----------7FC7-------------------------------
  4223. INT 7F - Alloy MW386 - READ CONSOLE DATA BYTE
  4224.     AH = C7h
  4225. Return: CF clear if successful
  4226.         AL = byte read
  4227.     CF set on error (no data available or caller is not remote user)
  4228. Note:    used to read data after placing console in mode 2 or 3 (see AH=C5h)
  4229. SeeAlso: AH=C5h,AH=C6h,AH=C8h
  4230. ----------7FC8-------------------------------
  4231. INT 7F - Alloy MW386 - READ CONSOLE DATA INTO BUFFER
  4232.     AH = C8h
  4233.     AL = maximum bytes to read
  4234.     ES:DI -> buffer for console data
  4235. Return: CF clear if successful
  4236.         CX = number of bytes read
  4237.     CF set on error (caller is not remote user)
  4238. SeeAlso: AH=C7h
  4239. ----------7FCF-------------------------------
  4240. INT 7F - Alloy NTNX - REBOOT USER PROCESSOR
  4241.     AH = CFh
  4242.     DS:DX -> ASCIZ string containing user number to be reset
  4243. SeeAlso: AH=D6h
  4244. ----------7FD6-------------------------------
  4245. INT 7F - Alloy MW386 - RESET NETWORK EXECUTIVE
  4246.     AH = D6h
  4247.     DS:DX -> reset packet (see below)
  4248. Return: never if succesful
  4249. Note:    all users will be shut down immediately if successful
  4250. SeeAlso: AH=CFh
  4251.  
  4252. Format of reset packet:
  4253. Offset    Size    Description
  4254.  00h    DWORD    reset code (60606060h)
  4255.  04h 16 BYTEs    ASCIZ supervisor password padded with nulls
  4256. ----------7FD7-------------------------------
  4257. INT 7F - Alloy MW386 - POST EVENT
  4258.     AH = D7h
  4259.     AL = user number (if local event)
  4260.     DX = event number
  4261. ----------7FD8-------------------------------
  4262. INT 7F - Alloy MW386 - FLUSH DISK BUFFERS
  4263.     AH = D8h
  4264. Return: CF set on error
  4265. Note:    forces all disk buffers to be written out immediately
  4266. SeeAlso: INT 21/AH=0Dh,INT 21/AX=5D01h,INT 2F/AX=1120h
  4267. ----------7FDB-------------------------------
  4268. INT 7F - Alloy MW386 v2+ - GET MW386 INVOCATION DRIVE
  4269.     AH = DBh
  4270. Return: AL = drive from which MW386 was started (2=C:,3=D:,etc)
  4271. ----------7FE0-------------------------------
  4272. INT 7F - Alloy MW386 - CREATE DOS TASK
  4273.     AH = E0h
  4274.     AL = memory size (00h=128K, 01h=256K, 02h=384K, 03h=512K, 04h=640K)
  4275.     DS:DX -> ASCIZ task name (max 16 bytes)
  4276. Return: CF clear if successful
  4277.         AL = task create ID
  4278.     CF set on error
  4279. Note:    only foreground DOS tasks can use this function
  4280. SeeAlso: AH=E1h,AH=E2h,AH=E3h,AH=E6h,AH=E7h
  4281. ----------7FE1-------------------------------
  4282. INT 7F - Alloy MW386 - GET DOS TASK PID FROM CREATE ID
  4283.     AH = E1h
  4284.     AL = create ID (from AH=E0h)
  4285. Return: AL = DOS process number
  4286.     CL = memory size (00h=128K, 01h=256K, 02h=384K, 03h=512K, 04h=640K)
  4287. Note:    this function should not be called immediately after creating a new
  4288.       DOS task, since the new task is being initialized by a concurrent
  4289.       process
  4290. SeeAlso: AH=E0h,AH=E2h
  4291. ----------7FE2-------------------------------
  4292. INT 7F - Alloy MW386 - SWITCH TO NEW DOS TASK
  4293.     AH = E2h
  4294.     AL = DOS process number (from AH=E1h)
  4295. Return: CF set on error (invalid process number or caller not foreground task)
  4296. Notes:    specified task becomes the foreground task and current task is placed
  4297.       in the background
  4298.     may only be called by a foreground task
  4299. SeeAlso: AH=E0h,AH=E1h
  4300. ----------7FE3-------------------------------
  4301. INT 7F - Alloy MW386 - CHANGE NAME OF DOS TASK
  4302.     AH = E3h
  4303. ---v1.x---
  4304.     AL = user number
  4305. ---v2+---
  4306.     BH = user number
  4307.     BL = task number
  4308. ---
  4309.     DS:DX -> ASCIZ task name
  4310. Return: CF set on error (invalid process number)
  4311. SeeAlso: AH=E0h,AH=E4h,AH=E5h
  4312. ----------7FE4-------------------------------
  4313. INT 7F - Alloy MW386 - GET TASK NAME FROM PROCESS NUMBER
  4314.     AH = E4h
  4315. ---v1.x---
  4316.     AL = user number
  4317. ---v2+---
  4318.     BH = user number
  4319.     BL = task number
  4320. ---
  4321.     ES:DI -> buffer for task name
  4322. Return: CF clear if successful
  4323.         CL = memory size (00h=128K, 01h=256K, 02h=384K, 03h=512K, 04h=640K)
  4324.         DX = task flags
  4325.         bit 7: MSDOS process
  4326.         ES:DI buffer filled
  4327.     CF set on error (invalid process number)
  4328. SeeAlso: AH=E3h,AH=E5h
  4329. ----------7FE5-------------------------------
  4330. INT 7F - Alloy MW386 - GET PROCESS NUMBER FROM TASK NAME
  4331.     AH = E5h
  4332.     DS:DX -> ASCIZ task name
  4333.     BH = user number
  4334. Return: CF clear if successful
  4335.         AL = DOS process number
  4336.         CL = memory size (00h=128K, 01h=256K, 02h=384K, 03h=512K, 04h=640K)
  4337.     CF set on error (no match for name)
  4338. SeeAlso: AH=E3h,AH=E4h
  4339. ----------7FE6-------------------------------
  4340. INT 7F - Alloy MW386 - GET NUMBER OF AVAILABLE USER TASKS
  4341.     AH = E6h
  4342. Return: AX = number of processes available to current user
  4343. SeeAlso: AH=E0h
  4344. ----------7FE7-------------------------------
  4345. INT 7F - Alloy MW386 - REMOVE DOS TASK
  4346.     AH = E7h
  4347.     AL = DOS process number
  4348. Return: CF set on error (invalid process number or first process)
  4349. Note:    can only be called by a foreground task
  4350. SeeAlso: AH=E0h
  4351. ----------7FE8-------------------------------
  4352. INT 7F - Alloy MW386 - DOS TASK DELAY
  4353.     AH = E8h
  4354.     CX = delay time in milliseconds
  4355. Note:    a delay of 0 may be used to surrender the current time slice
  4356. SeeAlso: INT 15/AX=1000h,INT 21/AH=EEh"DoubleDOS",INT 2F/AX=1680h
  4357. ----------7FF0-------------------------------
  4358. INT 7F - Alloy MW386 - RESTRICT DIRECTORY TO GROUP
  4359.     AH = F0h
  4360.     AL = group number
  4361.     DS:DX -> ASCIZ directory name
  4362. Return: CF clear if successful
  4363.         AX = status
  4364.         0002h directory not found
  4365.         0003h directory not found
  4366.         0005h directory in use, cannot be restricted
  4367.         02xxh restricted to group xxh
  4368.     CF set on error
  4369. Note:    the restriction on the directory may be removed by calling this
  4370.       function with group 0, then using AH=F1h to assign the directory to
  4371.       group 0
  4372. SeeAlso: AH=F1h,AH=F2h,AH=F3h
  4373. ----------7FF1-------------------------------
  4374. INT 7F - Alloy MW386 - ASSIGN DIRECTORY TO GROUP
  4375.     AH = F1h
  4376.     AL = group number
  4377.     DS:DX -> ASCIZ directory name
  4378. Notes:    performs permanent assignment to a group; no immediate action is taken
  4379.       unless the directory has been restricted with AH=F0h
  4380.     may be used to restrict a nonexistent directory
  4381. SeeAlso: AH=F0h
  4382. ----------7FF2-------------------------------
  4383. INT 7F - Alloy MW386 - READ RESTRICTED DIRECTORY ENTRY
  4384.     AH = F2h
  4385.     CX = entry number
  4386.     ES:DI -> 64-byte buffer
  4387. Return: CF clear if successful
  4388.         buffer filled with 63-byte directory info and 1-byte group number
  4389.     CF set on error (invalid entry)
  4390. SeeAlso: AH=F0h,AH=F3h
  4391. ----------7FF3-------------------------------
  4392. INT 7F - Alloy MW386 - READ RESTRICTED DIRECTORY ENTRY FOR GROUP
  4393.     AH = F3h
  4394.     AL = group number
  4395.     CX = entry number
  4396.     ES:DI -> 64-byte buffer
  4397. Return: CF clear if successful
  4398.         CX = next entry number
  4399.         buffer filled with 63-byte directory info and 1-byte group number
  4400.     CF set on error (no more matching entries)
  4401. Note:    like AH=F2h, but only returns directories belonging to the specified
  4402.       group
  4403. SeeAlso: AH=F2h
  4404. ----------7FF8-------------------------------
  4405. INT 7F - Alloy MW386 - ASSIGN USER TO GROUP
  4406.     AH = F8h
  4407.     AL = group number
  4408.     DL = user number
  4409.     DH = machine number (currently 00h)
  4410. Return: CF clear if successful
  4411.     CF set on error (user already in maximum number of groups)
  4412. Note:    each user is allowed eight group assignments
  4413. SeeAlso: AH=F9h,AH=FAh
  4414. ----------7FF9-------------------------------
  4415. INT 7F - Alloy MW386 - REMOVE USER FROM GROUP
  4416.     AH = F9h
  4417.     AL = group number
  4418.     DL = user number
  4419.     DH = machine number (currently 00h)
  4420. Return: CF set if failed
  4421. SeeAlso: AH=F8h,AH=FAh
  4422. ----------7FFA-------------------------------
  4423. INT 7F - Alloy MW386 - GET USER GROUP LIST
  4424.     AH = FAh
  4425.     DL = user number
  4426.     DH = machine number (currently 00h)
  4427.     ES:DI -> 16-byte buffer for group list
  4428. Return: CX = number of groups
  4429.     ES:DI buffer filled with group numbers
  4430. SeeAlso: AH=F8h,AH=F9h
  4431. ----------7FFB-------------------------------
  4432. INT 7F - Alloy MW386 - ASSIGN GROUP NAME
  4433.     AH = FBh
  4434.     CL = group number
  4435.     ES:DI -> ASCIZ group name (max 17 bytes)
  4436. SeeAlso: AH=FCh
  4437. ----------7FFC-------------------------------
  4438. INT 7F - Alloy MW386 - GET GROUP NAME
  4439.     AH = FCh
  4440.     CL = group number
  4441.     ES:DI -> 17-byte buffer for ASCIZ name
  4442. Return: ES:DI buffer filled
  4443. Note:    if the group has not been named, "(unnamed)" is returned
  4444. SeeAlso: AH=FBh
  4445. ----------80---------------------------------
  4446. INT 80 - Q-PRO4 - ???
  4447. ----------80---------------------------------
  4448. INT 80 - reserved for BASIC
  4449. Note:    this vector and INT 81 through INT ED are modified but not restored by
  4450.       Direct Access v4.0, and may be left dangling by other programs
  4451.       written with the same version of compiled BASIC
  4452. SeeAlso: INT 81"BASIC"
  4453. ----------80----BX0000-----------------------
  4454. INT 80 - SoundBlaster SBFM driver - GET VERSION
  4455.     BX = 0000h
  4456. Return: ???
  4457. Note:    SBFM installs at a free interrupt in the range 80h through BFh
  4458. SeeAlso: BX=0008h,INT 2F/AX=FBFBh
  4459. ----------80----BX0001-----------------------
  4460. INT 80 - SoundBlaster SBFM driver - SET MUSIC STATUS BYTE ADDRESS
  4461.     BX = 0001h
  4462.     DX:AX -> music status byte
  4463. SeeAlso: BX=0000h,BX=0002h,BX=0003h
  4464. ----------80----BX0002-----------------------
  4465. INT 80 - SoundBlaster SBFM driver - SET INSTRUMENT TABLE
  4466.     BX = 0002h
  4467.     CX = number of instruments
  4468.     DX:AX -> instrument table
  4469. SeeAlso: BX=0000h,BX=0001h,BX=0005h
  4470. ----------80----BX0003-----------------------
  4471. INT 80 - SoundBlaster SBFM driver - SET SYSTEM CLOCK RATE
  4472.     BX = 0003h
  4473.     AX = clock rate divisor (1193180 / desired frequency in Hertz)
  4474.         FFFFh to restore to 18.2 Hz
  4475. SeeAlso: BX=0000h,BX=0001h,BX=0004h
  4476. ----------80----BX0004-----------------------
  4477. INT 80 - SoundBlaster SBFM driver - SET DRIVER CLOCK RATE
  4478.     BX = 0004h
  4479.     AX = driver clock rate divisor (1193180 / frequency in Hertz)
  4480. Note:    default frequency is 96 Hz
  4481. SeeAlso: BX=0000h,BX=0003h
  4482. ----------80----BX0005-----------------------
  4483. INT 80 - SoundBlaster SBFM driver - TRANSPOSE MUSIC
  4484.     BX = 0005h
  4485.     AX = semi-tone offset
  4486. SeeAlso: BX=0000h,BX=0002h,BX=0006h
  4487. ----------80----BX0006-----------------------
  4488. INT 80 - SoundBlaster SBFM driver - PLAY MUSIC
  4489.     BX = 0006h
  4490.     DX:AX -> music block
  4491. Return: AX = status
  4492.         0000h successful
  4493.         0001h music already active
  4494. SeeAlso: BX=0000h,BX=0007h,BX=000Ah
  4495. ----------80----BX0007-----------------------
  4496. INT 80 - SoundBlaster SBFM driver - STOP MUSIC
  4497.     BX = 0007h
  4498. Return: AX = status
  4499.         0000h successful
  4500.         0001h music not active
  4501. SeeAlso: BX=0000h,BX=0006h,BX=0009h
  4502. ----------80----BX0008-----------------------
  4503. INT 80 - SoundBlaster SBFM driver - RESET DRIVER
  4504.     BX = 0008h
  4505. Return: AX = status
  4506.         0000h successful
  4507.         0001h music is active
  4508. SeeAlso: BX=0000h
  4509. ----------80----BX0009-----------------------
  4510. INT 80 - SoundBlaster SBFM driver - PAUSE MUSIC
  4511.     BX = 0009h
  4512. Return: AX = status
  4513.         0000h successful
  4514.         0001h no music active
  4515. SeeAlso: BX=0000h,BX=0007h,BX=000Ah
  4516. ----------80----BX000A-----------------------
  4517. INT 80 - SoundBlaster SBFM driver - RESUME MUSIC
  4518.     BX = 000Ah
  4519. Return: AX = status
  4520.         0000h successful
  4521.         0001h no music paused
  4522. SeeAlso: BX=0000h,BX=0006h,BX=0009h
  4523. ----------80----BX000B-----------------------
  4524. INT 80 - SoundBlaster SBFM driver - SET USER-DEF TRAP FOR SYSTEM-EXCLUSIVE CMDS
  4525.     BX = 000Bh
  4526.     DX:AX -> trap routine
  4527. SeeAlso: BX=0000h
  4528. ----------8001-------------------------------
  4529. INT 80 - QPC Software PKTINT.COM - INITIALIZE
  4530.     AH = 01h
  4531. Return: AX = 0000h
  4532.     CX = FFFFh
  4533.     DX = FFFFh
  4534. Notes:    this interrupt is the WinQVTNet protected mode interface to Windows 3.0
  4535.     all buffer pointers are reset back to 0
  4536. ----------8002-------------------------------
  4537. INT 80 - QPC Software PKTINT.COM - GET BUFFER ADDRESSES
  4538.     AH = 02h
  4539.     BX = extra bytes to allocate per packet
  4540. Return: AX = segment address of 10K buffer (for receives???)
  4541.     BX = segment address of 2K buffer (for sends???)
  4542. SeeAlso: AH=05h
  4543. ----------8003-------------------------------
  4544. INT 80 - QPC Software PKTINT.COM - GET ENTRY POINT
  4545.     AH = 03h
  4546. Return: CX:DX -> receive call address
  4547. Note:    the returned address can be used in the packet driver calls since it
  4548.       will be a valid address in all DOS boxes
  4549. SeeAlso: AH=06h
  4550. ----------8004-------------------------------
  4551. INT 80 - QPC Software PKTINT.COM - ENABLE???
  4552.     AH = 04h
  4553.     BX = ???
  4554. Return: ???
  4555. ----------8005-------------------------------
  4556. INT 80 - QPC Software PKTINT.COM - GET RECEIVE STATISTICS
  4557.     AH = 05h
  4558. Return: AX = amount of buffer currently in use
  4559.     BX = current offset in buffer
  4560.     CX = number of times receive has been called
  4561. SeeAlso: AH=02h
  4562. ----------8006-------------------------------
  4563. INT 80 - QPC Software PKTINT.COM - REMOVE RECEIVED PACKET
  4564.     AH = 06h
  4565. Return: BX = next packet offset
  4566.     CX = number of bytes still buffered
  4567.     DX = size of packet released back into buffer pool
  4568. SeeAlso: AH=03h
  4569. ----------81---------------------------------
  4570. INT 81 - reserved for BASIC
  4571. Note:    this vector is modified but not restored by Direct Access v4.0, and
  4572.       may be left dangling by other programs written with the same version
  4573.       of compiled BASIC
  4574. SeeAlso: INT 80"BASIC",INT 82"BASIC"
  4575. ----------81---------------------------------
  4576. INT 81 - IBM TOKEN RING ADAPTER - ???
  4577. ----------82---------------------------------
  4578. INT 82 - reserved for BASIC
  4579. SeeAlso: INT 81"BASIC",INT 83"BASIC"
  4580. ----------82---------------------------------
  4581. INT 82 - IBM TOKEN RING ADAPTER - ???
  4582.     AH = function
  4583.         00h display message???
  4584.         DS:BX -> string
  4585.     ???
  4586. Return: ???
  4587. ----------83---------------------------------
  4588. INT 83 - reserved for BASIC
  4589. SeeAlso: INT 82"BASIC",INT 84"BASIC"
  4590. ----------84---------------------------------
  4591. INT 84 - reserved for BASIC
  4592. SeeAlso: INT 83"BASIC",INT 85"BASIC"
  4593. ----------85---------------------------------
  4594. INT 85 - reserved for BASIC
  4595. Note:    INT 80 through INT ED are modified but not restored by Direct Access
  4596.       v4.0, and may be left dangling by other programs written with the
  4597.       same version of compiled BASIC
  4598. SeeAlso: INT 84"BASIC",INT 86"BASIC"
  4599. ----------86---------------------------------
  4600. INT 86 - NetBIOS - ORIGINAL INT 18
  4601. Note:    some implementations of NetBIOS reportedly relocate INT 18 here
  4602. SeeAlso: INT 18
  4603. ----------86---------------------------------
  4604. INT 86 - IBM ROM BASIC - used while in interpreter
  4605. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  4606.     BASIC.COM/BASICA.COM do not restore vector on termination
  4607. SeeAlso: INT 85"BASIC",INT 87"BASIC"
  4608. ----------86---------------------------------
  4609. INT 86 - APL*PLUS/PC - Terminate APL session and return to DOS
  4610. SeeAlso: INT 21/AH=4Ch,INT 87"APL"
  4611. ----------87---------------------------------
  4612. INT 87 - IBM ROM BASIC - used while in interpreter
  4613. Notes:    called by ROM BASIC
  4614.     BASIC.COM/BASICA.COM do not restore vector on termination
  4615. SeeAlso: INT 86"BASIC",INT 88"BASIC"
  4616. ----------87---------------------------------
  4617. INT 87 - APL*PLUS/PC - ???
  4618. SeeAlso: INT 86"APL",INT 88/AL=00h
  4619. ----------88---------------------------------
  4620. INT 88 - IBM ROM BASIC - used while in interpreter
  4621. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  4622.     BASIC.COM/BASICA.COM do not restore vector on termination
  4623. SeeAlso: INT 87"BASIC",INT 89"BASIC"
  4624. ----------88--00-----------------------------
  4625. INT 88 - APL*PLUS/PC - CREATE OBJECT OF ARBITRARY RANK OR SHAPE
  4626.     AL = 00h
  4627.     BX = STPTR of the variable to be assigned
  4628.     ES:SI -> model of type, rank, and shape (see below)
  4629. Return: ES:DI -> first data byte of object
  4630.     DX:CX = number of elements in the object
  4631. SeeAlso: INT C8"APL"
  4632.  
  4633. Format of shape model:
  4634. Offset    Size    Description
  4635.  00h    BYTE    type
  4636.         01h character (2-byte dimension sizes)
  4637.         02h integer (2-byte dimension sizes)
  4638.         08h floating point (2-byte dimension sizes)
  4639.         11h character (4-byte dimension sizes)
  4640.         12h integer (4-byte dimension sizes)
  4641.         18h floating point (4-byte dimension sizes)
  4642.  01h    BYTE    rank
  4643.  02h    WORD/DWORD first dimension of shape
  4644.  N    WORD/DWORD second dimension of shape
  4645.     ...
  4646. ----------88--01-----------------------------
  4647. INT 88 - APL*PLUS/PC - CREATE CHARACTER SCALAR/VECTOR/MATRIX <64K IN SIZE
  4648.     AL = 01h
  4649.     AH = rank
  4650.     BX = STPTR of the variable to be assigned
  4651.     CX = first dimension (if any)
  4652.     DX = second dimension (if any)
  4653. Return: ES:DI -> object
  4654.     CX = number of elements in the object
  4655. Note:    each dimension must be 32767 or smaller
  4656. SeeAlso: AL=02h,AL=08h,INT C8"APL"
  4657. ----------88--02-----------------------------
  4658. INT 88 - APL*PLUS/PC - CREATE INTEGER SCALAR/VECTOR/MATRIX <64K IN SIZE
  4659.     AL = 02h
  4660.     AH = rank
  4661.     BX = STPTR of the variable to be assigned
  4662.     CX = first dimension (if any)
  4663.     DX = second dimension (if any)
  4664. Return: ES:DI -> object
  4665.     CX = number of elements in the object
  4666. Note:    each dimension must be 32767 or smaller
  4667. SeeAlso: AL=01h,AL=08h,INT C8"APL"
  4668. ----------88--08-----------------------------
  4669. INT 88 - APL*PLUS/PC - CREATE FLOATING POINT SCALAR/VECTOR/MATRIX <64K IN SIZE
  4670.     AL = 08h
  4671.     AH = rank
  4672.     BX = STPTR of the variable to be assigned
  4673.     CX = first dimension (if any)
  4674.     DX = second dimension (if any)
  4675. Return: ES:DI -> object
  4676.     CX = number of elements in the object
  4677. Note:    each dimension must be 32767 or smaller
  4678. SeeAlso: AL=01h,AL=02h,INT C8"APL"
  4679. ----------88--F5-----------------------------
  4680. INT 88 - APL*PLUS/PC - FORCE OBJECT INTO REAL WORKSPACE FROM VIRTUAL
  4681.     AL = F5h
  4682.     BX = STPTR of object
  4683. SeeAlso: INT C8"APL"
  4684. ----------88--F6-----------------------------
  4685. INT 88 - APL*PLUS/PC - MAKE NAME IMMUNE FROM OUTSWAPPING
  4686.     AL = F6h
  4687.     BX = STPTR of object
  4688. SeeAlso: AL=F7h,AL=F8h,INT C8"APL"
  4689. ----------88--F7-----------------------------
  4690. INT 88 - APL*PLUS/PC - MAKE NAME ELIGIBLE FOR OUTSWAPPING
  4691.     AL = F7h
  4692.     BX = STPTR of object
  4693. SeeAlso: AL=F6h,AL=F8h,INT C8"APL"
  4694. ----------88--F8-----------------------------
  4695. INT 88 - APL*PLUS/PC - REPORT WHETHER NAME IS ELIGIBLE FOR OUTSWAPPING
  4696.     AL = F8h
  4697.     BX = STPTR of object
  4698. Return:     BX = 0000h eligible
  4699.           0001h not eligible
  4700. SeeAlso: AL=F6h,AL=F7h,INT C8"APL"
  4701. ----------88--F9-----------------------------
  4702. INT 88 - APL*PLUS/PC - DETERMINE NAME STATUS
  4703.     AL = F9h
  4704.     ES:SI -> name
  4705.     CX = length of name
  4706. Return: CF set if name ill-formed or already in use
  4707.         BX = STPTR if already in symbol table
  4708.     CF clear if name is available for use
  4709.         BX = 0000h
  4710. Note:    does not force the name into the workspace
  4711. SeeAlso: AL=FEh,AL=FFh,INT C8"APL"
  4712. ----------88--FC-----------------------------
  4713. INT 88 - APL*PLUS/PC - DETERMINE IF MEMORY AVAIL WITHOUT GARBAGE COLLECTION
  4714.     AL = FCh
  4715.     BX = amount of memory needed (paragraphs)
  4716. Return: CF clear if memory available
  4717.     CF set if a workspace compaction is required
  4718. SeeAlso: AL=FDh,INT C8"APL"
  4719. ----------88--FD-----------------------------
  4720. INT 88 - APL*PLUS/PC - PERFORM GARBAGE COLLECTION AND RETURN AVAILABLE MEMORY
  4721.     AL = FDh
  4722. Return: BX = number of paragraphs available in workspace
  4723. SeeAlso: AL=FCh,INT C8"APL"
  4724. ----------88--FE-----------------------------
  4725. INT 88 - APL*PLUS/PC - CREATE NAME
  4726.     AL = FEh
  4727.     ES:SI -> name
  4728.     CX = length of name
  4729. Return: BX = STPTR of name
  4730.     DX = interpreter's data segment
  4731. SeeAlso: AL=F9h,AL=FFh,INT C8"APL"
  4732. ----------88--FF-----------------------------
  4733. INT 88 - APL*PLUS/PC - DETERMINE NAME STATUS
  4734.     AL = FFh
  4735.     ES:SI -> name
  4736.     CX = length of name
  4737. Return: CF set if name ill-formed or already in use
  4738.         BX = STPTR if already in symbol table
  4739.     CF clear if name is available for use
  4740.         BX = 0000h
  4741. Note:    forces the name into the workspace and makes it immune from outswapping
  4742. SeeAlso: AL=F9h,AL=FEh,INT C8"APL"
  4743. ----------89---------------------------------
  4744. INT 89 - IBM ROM BASIC - used while in interpreter
  4745. Notes:    called by ROM BASIC
  4746.     BASIC.COM/BASICA.COM do not restore vector on termination
  4747. SeeAlso: INT 88"BASIC",INT 8A"BASIC"
  4748. ----------8A---------------------------------
  4749. INT 8A - IBM ROM BASIC - used while in interpreter
  4750. Notes:    called by ROM BASIC
  4751.     BASIC.COM/BASICA.COM do not restore vector on termination
  4752. SeeAlso: INT 89"BASIC",INT 8B"BASIC"
  4753. ----------8A---------------------------------
  4754. INT 8A - APL*PLUS/PC - PRINT SCREEN
  4755. Note:    same as INT 05
  4756. SeeAlso: INT 05,INT 8C"APL",INT CA"APL"
  4757. ----------8B---------------------------------
  4758. INT 8B - IBM ROM BASIC - used while in interpreter
  4759. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  4760.     BASIC.COM/BASICA.COM do not restore vector on termination
  4761. SeeAlso: INT 8A"BASIC",INT 8C"BASIC"
  4762. ----------8B---------------------------------
  4763. INT 8B - APL*PLUS/PC - BEEP
  4764. Note:    same as printing a ^G via INT 21/AH=02h
  4765. SeeAlso: INT 21/AH=02h,INT CB"APL"
  4766. ----------8C---------------------------------
  4767. INT 8C - IBM ROM BASIC - used while in interpreter
  4768. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  4769.     BASIC.COM/BASICA.COM do not restore vector on termination
  4770. ----------8C---------------------------------
  4771. INT 8C - APL*PLUS/PC - CLEAR SCREEN MEMORY
  4772.     AX = flag
  4773.         0000h do not save display attributes
  4774.         0001h save attributes
  4775. SeeAlso: INT CC"APL"
  4776. ----------8D---------------------------------
  4777. INT 8D - IBM ROM BASIC - used while in interpreter
  4778. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  4779.     BASIC.COM/BASICA.COM do not restore vector on termination
  4780. ----------8E---------------------------------
  4781. INT 8E - IBM ROM BASIC - used while in interpreter
  4782. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  4783.     BASIC.COM/BASICA.COM do not restore vector on termination
  4784. ----------8F---------------------------------
  4785. INT 8F - IBM ROM BASIC - used while in interpreter
  4786. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  4787.     BASIC.COM/BASICA.COM do not restore vector on termination
  4788. ----------90---------------------------------
  4789. INT 90 - IBM ROM BASIC - used while in interpreter
  4790. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  4791.     BASIC.COM/BASICA.COM do not restore vector on termination
  4792. ----------90---------------------------------
  4793. INT 90 - APL*PLUS/PC - USED BY PORT 10 PRINTER DRIVER
  4794. ----------91---------------------------------
  4795. INT 91 - IBM ROM BASIC - used while in interpreter
  4796. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  4797.     BASIC.COM/BASICA.COM do not restore vector on termination
  4798. ----------91---------------------------------
  4799. INT 91 - IBM TOKEN RING ADAPTER - ???
  4800. ----------92---------------------------------
  4801. INT 92 - IBM ROM BASIC - used while in interpreter
  4802. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  4803.     BASIC.COM/BASICA.COM do not restore vector on termination
  4804. ----------92---------------------------------
  4805. INT 92 - Sangoma X.25 INTERFACE PROGRAM
  4806.     BX:DX -> control block
  4807. SeeAlso: INT 68"Sangoma"
  4808. ----------92E1-------------------------------
  4809. INT 92 - Da Vinci eMail Dispatcher INTERFACE
  4810.     AH = E1h
  4811.     AL = function
  4812.     BX = stack count (number of words to push)
  4813.     CX:DX -> stack data (in word-reversed order ready to push)
  4814. Return: AX = status
  4815.         0001h success
  4816.         FF97h "ERS_NOT_AVAILABLE"
  4817.         FF99h "ERS_TOO_MANY_NAMES"
  4818.         FF9Ah "ERS_BAD_NAME_PASSWORD"
  4819.         FFE3h "ERS_NAME_NOT_FOUND"
  4820.         FFF8h "ERS_USE_STRING" (call NetGetError to get error string)
  4821.         FFFFh "ERS_NO_SUCH_FILE"
  4822. Note:    preserves BP, DS, SI, DI; other registers may be destroyed
  4823. ----------92E100BX000A-----------------------
  4824. INT 92 - Da Vinci eMail Dispatcher - "NetInitStart"
  4825.     AX = E100h
  4826.     BX = 000Ah
  4827.     CX:DX -> parameter block (see below)
  4828. Return: AX = 0001h success
  4829. Note:    this function is used to initialize the dispatcher
  4830. SeeAlso: AX=E101h,AX=E103h
  4831.  
  4832. Format of parameter block:
  4833. Offset    Size    Description
  4834.  00h    WORD    segment of ???
  4835.  02h    WORD    offset of ???
  4836.  04h    WORD    high part of long ???
  4837.  06h    WORD    low part of long ???
  4838.  08h    WORD    high part of long ???
  4839.  0Ah    WORD    low part of long ???
  4840.  0Ch    WORD    high part of long ???
  4841.  0Eh    WORD    low part of long ???
  4842.  10h    WORD    high part of long ???
  4843.  12h    WORD    low part of long ???
  4844. ----------92E101BX0000-----------------------
  4845. INT 92 - Da Vinci eMail Dispatcher - "NetInitCheck"
  4846.     AX = E101h
  4847.     BX = 0000h
  4848.     CX:DX ignored
  4849. Return: AX = 0001h success
  4850. SeeAlso: AX=E100h
  4851. ----------92E102BX0000-----------------------
  4852. INT 92 - Da Vinci eMail Dispatcher - "NetCheckDriver"
  4853.     AX = E102h
  4854.     BX = 0000h
  4855.     CX:DX ignored
  4856. Return: AX = 0001h success
  4857. Note:    this function is used to determine if the dispatcher is loaded
  4858. SeeAlso: AX=E10Bh,AX=E180h
  4859. ----------92E103BX0000-----------------------
  4860. INT 92 - Da Vinci eMail Dispatcher - "NetTerminate"
  4861.     AX = E103h
  4862.     BX = 0000h
  4863.     CX:DX ignored
  4864. Return: AX = status (see AH=E1h)
  4865. SeeAlso: AX=E100h
  4866. ----------92E104BX0006-----------------------
  4867. INT 92 - Da Vinci eMail Dispatcher - "NetWhereIs"
  4868.     AX = E104h
  4869.     BX = 0006h
  4870.     CX:DX -> parameter block (see below)
  4871. Return: AX = status (see AH=E1h)
  4872. Note:    this function is used to verify node address for usernames
  4873.  
  4874. Format of parameter block:
  4875. Offset    Size    Description
  4876.  00h    WORD    segment of node address buffer
  4877.  02h    WORD    offset of node address buffer
  4878.  04h    WORD    segment of uppercase username
  4879.  06h    WORD    offset of uppercase username
  4880.  08h    WORD    segment of "DVSEMAIL"
  4881.  0Ah    WORD    offset of "DVSEMAIL"
  4882. ----------92E105BX0007-----------------------
  4883. INT 92 - Da Vinci eMail Dispatcher - "NetOpen"
  4884.     AX = E105h
  4885.     BX = 0007h
  4886.     CX:DX -> parameter block (see below)
  4887. Return: AX = 0000h Error
  4888.     AX = handle
  4889. Note:    this function is used to open a submission channel
  4890. SeeAlso: AX=E10Ah
  4891.  
  4892. Format of parameter block:
  4893. Offset    Size    Description
  4894.  00h    WORD    operation (1 = read, 2 = write)
  4895.  02h    WORD    segment of uppercase To: username
  4896.  04h    WORD    offset of uppercase To: username
  4897.  06h    WORD    segment of "DVSEMAIL"
  4898.  08h    WORD    offset of "DVSEMAIL"
  4899.  0Ah    WORD    segment of node address
  4900.  0Ch    WORD    offset of node address
  4901. ----------92E106BX0004-----------------------
  4902. INT 92 - Da Vinci eMail Dispatcher - "NetRead"
  4903.     AX = E106h
  4904.     BX = 0004h
  4905.     CX:DX -> parameter block
  4906. Return: AX = 0001h
  4907. SeeAlso: AX=E108h
  4908. ----------92E107BX0002-----------------------
  4909. INT 92 - Da Vinci eMail Dispatcher - "NetGetError"
  4910.     AX = E107h
  4911.     BX = 0002h
  4912.     CX:DX -> parameter block
  4913. Return: AX = 0001h
  4914. ----------92E108BX0004-----------------------
  4915. INT 92 - Da Vinci eMail Dispatcher - "NetWrite"
  4916.     AX = E108h
  4917.     BX = 0004h
  4918.     CX:DX -> parameter block (see below)
  4919. Return: AX = amount written
  4920. Note:    this function is used to write transactions to the dispatcher.
  4921.       The command block is written first and then another call is used
  4922.       to write the associated data.
  4923. SeeAlso: AX=E106h
  4924.  
  4925. Format of parameter block:
  4926. Offset    Size    Description
  4927.  00h    WORD    buffer count
  4928.  02h    WORD    segment of command buffer
  4929.  04h    WORD    offset of command buffer
  4930.  06h    WORD    handle from NetOpen
  4931.  
  4932. Format of command buffer:
  4933. Offset    Size    Description
  4934.  00h    BYTE    command
  4935.         21h '!' Protocol commands for remote control
  4936.         41h 'A' Authorization protocol element
  4937.         42h 'B' Return(back) routing information
  4938.             Associated data is the From: username
  4939.         43h 'C' Carbon Copy list
  4940.             Associated data is a comma delimitted list of usernames
  4941.         44h 'D' Distribution list
  4942.             Associated data is a comma delimitted list of usernames
  4943.         45h 'E' Mail end marker
  4944.             No associated data
  4945.         48h 'H' Mail message header
  4946.             Associated data is a message header buffer
  4947.         4Dh 'M' Mail message
  4948.             Associated data is the body of the message
  4949.         4Fh 'O' Object
  4950.         50h 'P' Paperclip attachment
  4951.         52h 'R' Routing information
  4952.             Associated data is the To: username
  4953.         53h 'S' Subject
  4954.             Associated data is the subject of the message
  4955.         54h 'T' Trail of Reply/Forwards
  4956.  01h    BYTE    subcommand
  4957.  02h    DWORD    length of associated data
  4958.  
  4959. Format of message header buffer:
  4960. Offset    Size    Description
  4961.  00h 30 BYTEs    subject line
  4962.  1Eh 24 BYTEs    To
  4963.  36h 24 BYTEs    From
  4964.  4Eh    DWORD    Time
  4965.         BYTE    0
  4966.         BYTE    hour
  4967.         BYTE    minute
  4968.         BYTE    second
  4969.  52h    DWORD    Date
  4970.         BYTE    0
  4971.         BYTE    year
  4972.         BYTE    month
  4973.         BYTE    day
  4974.  56h    DWORD    serial number (0L)
  4975.  5Ah    WORD    mail types
  4976.         bit 7    blind carbon copy
  4977.         bit 6    carbon copy
  4978.         bit 5    priority
  4979.         bit 4    confidential
  4980.         bit 3    certified
  4981.         bit 2    bulk
  4982.         bits 1-0 class (first, second, third, bulk)
  4983.  5Ch    WORD    special types (0)
  4984. ----------92E109BX0001-----------------------
  4985. INT 92 - Da Vinci eMail Dispatcher - "NetErrorFix" (UNUSED)
  4986.     AX = E109h
  4987.     BX = 0001h
  4988.     CX:DX -> ???
  4989. Return: AX = FF97h (ERS_NOT_AVAILABLE)
  4990. ----------92E10ABX0001-----------------------
  4991. INT 92 - Da Vinci eMail Dispatcher - "NetClose"
  4992.     AX = E10Ah
  4993.     BX = 0001h
  4994.     CX:DX -> parameter block (see below)
  4995. Return: AX = 0001h
  4996. Note:    this function is used to close a dispatcher handle
  4997. SeeAlso: AX=E105h
  4998.  
  4999. Format of parameter block:
  5000. Offset    Size    Description
  5001.  00h    WORD    handle from NetOpen
  5002. ----------92E10BBX0004-----------------------
  5003. INT 92 - Da Vinci eMail Dispatcher - "NetCheckQueue"
  5004.     AX = E10Bh
  5005.     BX = 0004h
  5006.     CX:DX -> parameter block (see below)
  5007. Return: AX = 0001h
  5008. SeeAlso: AX=E102h,AX=E10Ch
  5009.  
  5010. Format of parameter block:
  5011. Offset    Size    Description
  5012.  00h    WORD    segment of 24 byte username buffer
  5013.  02h    WORD    offset of 24 byte username buffer
  5014.  04h    WORD    segment of 24 byte protocol buffer
  5015.  06h    WORD    offset of 24 byte protocol buffer
  5016. ----------92E10CBX0002-----------------------
  5017. INT 92 - Da Vinci eMail Dispatcher - "NetReadQueue"
  5018.     AX = E10Ch
  5019.     BX = 0002h
  5020.     CX:DX -> parameter block (see below)
  5021. Return: AX = 0001h
  5022. SeeAlso: AX=E10Bh
  5023.  
  5024. Format of parameter block:
  5025. Offset    Size    Description
  5026.  00h    WORD    Segment of 128 byte node address buffer
  5027.  02h    WORD    Offset of 128 byte node address buffer
  5028. ----------92E10DBX0006-----------------------
  5029. INT 92 - Da Vinci eMail Dispatcher - "NetSubmitName"
  5030.     AX = E10Dh
  5031.     BX = 0006h
  5032.     CX:DX -> parameter block (see below)
  5033. Return: AX = status (see AH=E1h)
  5034. Note:    this function is used to verify username/password
  5035. SeeAlso: AX=E10Eh
  5036.  
  5037. Format of parameter block:
  5038. Offset    Size    Description
  5039.  00h    WORD    segment of uppercase password string
  5040.  02h    WORD    offset of uppercase password string
  5041.  04h    WORD    segment of uppercase username string
  5042.  06h    WORD    offset of uppercase username string
  5043.  08h    WORD    segment of "DVSEMAIL"
  5044.  0Ah    WORD    offset of "DVSEMAIL"
  5045. ----------92E10EBX0004-----------------------
  5046. INT 92 - Da Vinci eMail Dispatcher - "NetRemoveName"
  5047.     AX = E10Eh
  5048.     BX = 0004h
  5049.     CX:DX -> parameter block (see below)
  5050. Return: AX = 0001h
  5051. Note:    this function is used to remove a username
  5052. SeeAlso: AX=E10Dh
  5053.  
  5054. Format of parameter block:
  5055. Offset    Type    Description
  5056.  00h    WORD    segment of uppercase username
  5057.  02h    WORD    offset of uppercase username
  5058.  04h    WORD    segment of "DVSEMAIL"
  5059.  06h    WORD    offset of "DVSEMAIL"
  5060. ----------92E10FBX0000-----------------------
  5061. INT 92 - Da Vinci eMail Dispatcher - IS ANYONE THERE? QUERY
  5062.     AX = E10Fh
  5063.     BX = 0000h
  5064.     CX:DX ignored
  5065. Return: AX = 0001h
  5066. ----------92E110BX0006-----------------------
  5067. INT 92 - Da Vinci eMail Dispatcher - "NetGetAltRoute"
  5068.     AX = E110h
  5069.     BX = 0006h
  5070.     CX:DX -> ???
  5071. Return: AX = 0001h
  5072. SeeAlso: AX=E111h,AX=E113h
  5073. ----------92E111BX0004-----------------------
  5074. INT 92 - Da Vinci eMail Dispatcher - "NetDeleteAltRoutes"
  5075.     AX = E111h
  5076.     BX = 0004h
  5077.     CX:DX -> ???
  5078. Return: AX = 0001h
  5079. SeeAlso: AX=E110h,AX=E113h
  5080. ----------92E112BX0008-----------------------
  5081. INT 92 - Da Vinci eMail Dispatcher - "NetChangePassword"
  5082.     AX = E112h
  5083.     BX = 0008h
  5084.     CX:DX -> ???
  5085. Return: AX = 0001h
  5086. ----------92E113BX0008-----------------------
  5087. INT 92 - Da Vinci eMail Dispatcher - "NetSetAltRoute"
  5088.     AX = E113h
  5089.     BX = 0008h
  5090.     CX:DX -> ???
  5091. Return: AX = 0001h
  5092. SeeAlso: AX=E110h,AX=E111h
  5093. ----------92E175-----------------------------
  5094. INT 92 - Da Vinci eMail Dispatcher - BECOME MICRO TSR
  5095.     AX = E175h
  5096. Return: AX = 0012h
  5097.     BX = PSP
  5098. ----------92E180-----------------------------
  5099. INT 92 - Da Vinci eMail Dispatcher - INSTALLATION CHECK
  5100.     AX = E180h
  5101. Return: AX = 0012h if installed
  5102.     ES:DX -> '$'-terminated driver information string
  5103. SeeAlso: AX=E102h
  5104. ----------93---------------------------------
  5105. INT 93 - IBM ROM BASIC - used while in interpreter
  5106. Notes:    called by ROM BASIC
  5107.     BASIC.COM/BASICA.COM do not restore vector on termination
  5108. ----------93---------------------------------
  5109. INT 93 - IBM TOKEN RING ADAPTER - ???
  5110. ----------94---------------------------------
  5111. INT 94 - IBM ROM BASIC - used while in interpreter
  5112. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5113.     BASIC.COM/BASICA.COM do not restore vector on termination
  5114. ----------95---------------------------------
  5115. INT 95 - IBM ROM BASIC - used while in interpreter
  5116. Notes:    called by ROM BASIC
  5117.     BASIC.COM/BASICA.COM do not restore vector on termination
  5118. ----------95---------------------------------
  5119. INT 95 - APL*PLUS/PC - DETERMINE R= SPACE
  5120. Note:    use only when the R= option is invoked on entering APL
  5121. ----------96---------------------------------
  5122. INT 96 - IBM ROM BASIC - used while in interpreter
  5123. Notes:    called by ROM BASIC
  5124.     BASIC.COM/BASICA.COM do not restore vector on termination
  5125. ----------97---------------------------------
  5126. INT 97 - IBM ROM BASIC - used while in interpreter
  5127. Notes:    called by ROM BASIC
  5128.     BASIC.COM/BASICA.COM do not restore vector on termination
  5129. ----------98---------------------------------
  5130. INT 98 - IBM ROM BASIC - used while in interpreter
  5131. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5132.     BASIC.COM/BASICA.COM do not restore vector on termination
  5133. ----------99---------------------------------
  5134. INT 99 - IBM ROM BASIC - used while in interpreter
  5135. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5136.     BASIC.COM/BASICA.COM do not restore vector on termination
  5137. ----------9A---------------------------------
  5138. INT 9A - IBM ROM BASIC - used while in interpreter
  5139. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5140.     BASIC.COM/BASICA.COM do not restore vector on termination
  5141. ----------9B---------------------------------
  5142. INT 9B - IBM ROM BASIC - used while in interpreter
  5143. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5144.     BASIC.COM/BASICA.COM do not restore vector on termination
  5145. ----------9C---------------------------------
  5146. INT 9C - IBM ROM BASIC - used while in interpreter
  5147. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5148.     BASIC.COM/BASICA.COM do not restore vector on termination
  5149. ----------9D---------------------------------
  5150. INT 9D - IBM ROM BASIC - used while in interpreter
  5151. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5152.     BASIC.COM/BASICA.COM do not restore vector on termination
  5153. ----------9E---------------------------------
  5154. INT 9E - IBM ROM BASIC - used while in interpreter
  5155. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5156.     BASIC.COM/BASICA.COM do not restore vector on termination
  5157. ----------9F---------------------------------
  5158. INT 9F - IBM ROM BASIC - used while in interpreter
  5159. Notes:    called by ROM BASIC
  5160.     BASIC.COM/BASICA.COM do not restore vector on termination
  5161. ----------A0---------------------------------
  5162. INT A0 - IBM ROM BASIC - used while in interpreter
  5163. Notes:    called by ROM BASIC
  5164.     BASIC.COM/BASICA.COM do not restore vector on termination
  5165. ----------A0---------------------------------
  5166. INT A0 - APL*PLUS/PC - USED BY APL/GSS*CGI GRAPHICS INTERFACE
  5167. SeeAlso: INT 59
  5168. ----------A1---------------------------------
  5169. INT A1 - IBM ROM BASIC - used while in interpreter
  5170. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5171.     BASIC.COM/BASICA.COM do not restore vector on termination
  5172. ----------A2---------------------------------
  5173. INT A2 - IBM ROM BASIC - used while in interpreter
  5174. Notes:    called by ROM BASIC
  5175.     BASIC.COM/BASICA.COM do not restore vector on termination
  5176. ----------A3---------------------------------
  5177. INT A3 - IBM ROM BASIC - used while in interpreter
  5178. Notes:    called by ROM BASIC
  5179.     BASIC.COM/BASICA.COM do not restore vector on termination
  5180. ----------A4---------------------------------
  5181. INT A4 - IBM ROM BASIC - used while in interpreter
  5182. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5183.     BASIC.COM/BASICA.COM do not restore vector on termination
  5184. ----------A4---------------------------------
  5185. INT A4 U - Right Hand Man - API
  5186.     AH = function number (v3.3 supports functions 00h-52h)
  5187. Return: CF set on error
  5188.     CF clear if successful
  5189. Program: Right Hand Man is a TSR desk-top utility originally by Red E Products
  5190.       which has evolved into Futurus Team
  5191. Note:    this interrupt is only hooked while popped up
  5192. SeeAlso: INT 2F/AX=A4E0h
  5193. ----------A5---------------------------------
  5194. INT A5 - IBM ROM BASIC - used while in interpreter
  5195. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5196.     BASIC.COM/BASICA.COM do not restore vector on termination
  5197. ----------A6---------------------------------
  5198. INT A6 - IBM ROM BASIC - used while in interpreter
  5199. Notes:    called by ROM BASIC
  5200.     BASIC.COM/BASICA.COM do not restore vector on termination
  5201. ----------A7---------------------------------
  5202. INT A7 - IBM ROM BASIC - used while in interpreter
  5203. Notes:    called by ROM BASIC
  5204.     BASIC.COM/BASICA.COM do not restore vector on termination
  5205. ----------A8---------------------------------
  5206. INT A8 - IBM ROM BASIC - used while in interpreter
  5207. Notes:    called by ROM BASIC
  5208.     BASIC.COM/BASICA.COM do not restore vector on termination
  5209. ----------A9---------------------------------
  5210. INT A9 - IBM ROM BASIC - used while in interpreter
  5211. Notes:    called by ROM BASIC
  5212.     BASIC.COM/BASICA.COM do not restore vector on termination
  5213. ----------AA---------------------------------
  5214. INT AA - IBM ROM BASIC - used while in interpreter
  5215. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5216.     BASIC.COM/BASICA.COM do not restore vector on termination
  5217. ----------AB---------------------------------
  5218. INT AB - IBM ROM BASIC - used while in interpreter
  5219. Notes:    called by ROM BASIC
  5220.     BASIC.COM/BASICA.COM do not restore vector on termination
  5221. ----------AC---------------------------------
  5222. INT AC - IBM ROM BASIC - used while in interpreter
  5223. Notes:    called by ROM BASIC
  5224.     BASIC.COM/BASICA.COM do not restore vector on termination
  5225. ----------AD---------------------------------
  5226. INT AD - IBM ROM BASIC - used while in interpreter
  5227. Notes:    called by ROM BASIC
  5228.     BASIC.COM/BASICA.COM do not restore vector on termination
  5229. ----------AE---------------------------------
  5230. INT AE - IBM ROM BASIC - used while in interpreter
  5231. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5232.     BASIC.COM/BASICA.COM do not restore vector on termination
  5233. ----------AF---------------------------------
  5234. INT AF - IBM ROM BASIC - used while in interpreter
  5235. Notes:    called by ROM BASIC
  5236.     BASIC.COM/BASICA.COM do not restore vector on termination
  5237. ----------B0---------------------------------
  5238. INT B0 - IBM ROM BASIC - used while in interpreter
  5239. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5240.     BASIC.COM/BASICA.COM do not restore vector on termination
  5241. ----------B1---------------------------------
  5242. INT B1 - IBM ROM BASIC - used while in interpreter
  5243. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5244.     BASIC.COM/BASICA.COM do not restore vector on termination
  5245. ----------B2---------------------------------
  5246. INT B2 - IBM ROM BASIC - used while in interpreter
  5247. Notes:    called by ROM BASIC
  5248.     BASIC.COM/BASICA.COM do not restore vector on termination
  5249. ----------B3---------------------------------
  5250. INT B3 - IBM ROM BASIC - used while in interpreter
  5251. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5252.     BASIC.COM/BASICA.COM do not restore vector on termination
  5253. ----------B370-------------------------------
  5254. INT B3 - ZIPKEY - GET VERSION
  5255.     AH = 70h
  5256. Return: AH = major version
  5257.     AL = minor version
  5258.     CL = number of states and territories in current database
  5259.     DH = year of current database - 1900
  5260.     DL = month of current database's file date
  5261. Return: AX destroyed
  5262. Notes:    if installed, the string "ZIPKEY" is present at offset 75h in the
  5263.       interrupt handler's segment, and the byte at 7Bh contains the API
  5264.       version number (00h for v1.x, 01h for v2.0)
  5265.     ZIPKEY is a resident ZIPCODE database by Eric Isaacson
  5266. ----------B371-------------------------------
  5267. INT B3 - ZIPKEY - CONVERT TWO-LETTER ABBREVIATION TO STATE CODE
  5268.     AH = 71h
  5269.     BX = abbreviation, in either case (first letter in BL)
  5270. Return: CF set on error
  5271.         AL = FFh
  5272.     CF clear if successful
  5273.         AL = ZIPKEY state code
  5274. SeeAlso: AH=72h
  5275. ----------B372-------------------------------
  5276. INT B3 - ZIPKEY - CONVERT STATE CODE TO TWO-LETTER ABBREVIATION
  5277.     AH = 72h
  5278.     BL = ZIPKEY state code
  5279. Return: CF set on error
  5280.         AX destroyed
  5281.     CF clear if successful
  5282.         AX = abbreviation, in upper case
  5283. SeeAlso: AH=71h,AH=73h
  5284. ----------B373-------------------------------
  5285. INT B3 - ZIPKEY - CONVERT STATE CODE TO STATE NAME
  5286.     AH = 73h
  5287.     BL = ZIPKEY state code
  5288.     ES:DI -> buffer for name
  5289. Return: CF set on error
  5290.         AX destroyed
  5291.     CF clear if successful
  5292.         ES:DI points one byte beyond end of name
  5293. SeeAlso: AH=72h
  5294. ----------B374-------------------------------
  5295. INT B3 - ZIPKEY - CONVERT ZIPCODE TO ASCII DIGITS
  5296.     AH = 74h
  5297.     DX = zipcode region (0-999)
  5298.     CH = last two digits of zipcode (0-99)
  5299.     ES:DI -> buffer
  5300. Return: CF set on error
  5301.         AX destroyed
  5302.     CF clear if successful
  5303.         ES:DI points one byte beyond end of digit string
  5304. ----------B375-------------------------------
  5305. INT B3 - ZIPKEY - LOOK UP STATE CODE FOR ZIPCODE
  5306.     AH = 75h
  5307.     DX = zipcode region (0-999)
  5308.     CH = last two digits of zipcode (0-99)
  5309. Return: CF set on error (zipcode not found)
  5310.         AL = suggested state code, FFh if none
  5311.     CF clear if successful
  5312.         AL = ZIPKEY state code
  5313.         BX = area code (v2.0+)
  5314. SeeAlso: AH=76h,AH=79h
  5315. ----------B376-------------------------------
  5316. INT B3 - ZIPKEY - LOOK UP CITY AND STATE FOR ZIPCODE
  5317.     AH = 76h
  5318.     DX = zipcode region (0-999)
  5319.     CH = last two digits of zipcode (0-99)
  5320.     ES:DI -> buffer for name
  5321. Return: CF set on error
  5322.         AL = suggested state code, FFh if none
  5323.         ES:DI buffer filled with suggested city name
  5324.     CF clear if successful
  5325.         AL = ZIPKEY state code
  5326.         BX = area code (v2.0+)
  5327.         ES:DI points one byte beyond end of name
  5328. SeeAlso: AH=75h,AH=78h
  5329. ----------B377-------------------------------
  5330. INT B3 - ZIPKEY - PLAY BACK EXIT KEY FOR ENTRY WITH GIVEN ZIPCODE
  5331.     AH = 77h
  5332.     DX = zipcode region (0-999)
  5333.     CH = last two digits of zipcode (0-99)
  5334.     BX = 16-bit BIOS keycode for a defined ZIPKEY alternate exit key
  5335. Return: CF set on error
  5336.         AX destroyed
  5337.     CF clear if successful    
  5338.         zipcode specification as defined by the BX keystroke is placed in
  5339.           keyboard buffer, as if the user had popped up ZIPKEY and exited
  5340.           by pressing the key specified by BX
  5341. ----------B378-------------------------------
  5342. INT B3 - ZIPKEY - LOOK UP ZIPCODES FOR A GIVEN STATE AND CITY
  5343.     AH = 78h
  5344.     BL = ZIPKEY state code
  5345.     DS:SI -> city name, terminated with 0Dh if complete name, 00h if prefix
  5346. Return: BH = number of matching entries (set to 51 if more than 50)
  5347.     DX = zipcode region of first match (0-999)
  5348.     CL = last two digits of first zipcode in the range (0-99)
  5349.     CH = last two digits of last zipcode in the range (0-99)
  5350.     AX destroyed
  5351. SeeAlso: AH=79h,AH=7Ah
  5352. ----------B379-------------------------------
  5353. INT B3 - ZIPKEY - LOOK UP ZIPCODES FOR A GIVEN CITY
  5354.     AH = 79h
  5355.     BL = ZIPKEY state code of first state to search
  5356.     DS:SI -> city name, terminated with 0Dh if complete name, 00h if prefix
  5357. Return:    AL = ZIPKEY state code of first matching state
  5358.     BH = number of matching entries (set to 51 if more than 50)
  5359.     DX = zipcode region of first match (0-999)
  5360.     CL = last two digits of first zipcode in first range (0-99)
  5361.     CH = last two digits of last zipcode in first range (0-99)
  5362. Note:    to find all matching cities, repeat search with BL set to one more than
  5363.       the returned AL
  5364. SeeAlso: AH=78h,AH=7Ah
  5365. ----------B37A-------------------------------
  5366. INT B3 - ZIPKEY - FETCH AN ENTRY FROM A PREVIOUS LOOKUP
  5367.     AH = 7Ah
  5368.     BL = case number (0 to one less than value returned in BH by lookup)
  5369. Return: AL = ZIPKEY state code
  5370.     DX = zipcode region (0-999)
  5371.     CL = last two digits of first zipcode in the range (0-99)
  5372.     CH = last two digits of last zipcode in the range (0-99)
  5373. SeeAlso: AH=78h,AH=79h
  5374. ----------B37B-------------------------------
  5375. INT B3 - ZIPKEY - GET VALUES NEEDED TO SAVE ZIPKEY CONTEXT
  5376.     AH = 7Bh
  5377. Return: BL = maximum number of characters for a city name
  5378.     BH = ZIPKEY state code for last city-name search
  5379.         FFh if none
  5380.     CX:DX = internal code identifying last city search
  5381.     AX destroyed
  5382. SeeAlso: AH=7Ch
  5383. ----------B37C-------------------------------
  5384. INT B3 - ZIPKEY - RESTORE ZIPKEY CONTEXT
  5385.     AH = 7Ch
  5386.     BL = maximum number of characters for a city name
  5387.     BH = ZIPKEY state code for last city-name search
  5388.         FFh if none
  5389.     CX:DX = internal code returned by AH=7Bh
  5390. Return: CF set on error
  5391.     CF clear if successful
  5392.     AX destroyed
  5393. SeeAlso: AH=7Bh
  5394. ----------B37D-------------------------------
  5395. INT B3 - ZIPKEY - REQUEST POP UP
  5396.     AH = 7Dh
  5397.     BL = index number to simulate pressing a hotkey
  5398.         FFh for immediate popup with no playback on return
  5399. Return: CF set on error
  5400.         AL = FDh already busy with another request
  5401.            = FEh illegal function
  5402.     CF clear if successful
  5403.         AX destroyed
  5404.         window popped up and was closed by the user
  5405. ----------B37E-------------------------------
  5406. INT B3 - ZIPKEY - GET NAME OF PRIMARY CITY FOR A ZIPCODE REGION
  5407.     AH = 7Eh
  5408.     DX = zipcode region (0-999)
  5409.     ES:DI -> buffer for name
  5410. Return: CF set on error
  5411.         AL = FFh region does not exist
  5412.     CF clear if successful
  5413.         AL = ZIPKEY state code
  5414.         ES:DI points one byte beyond end of name
  5415. ----------B37F-------------------------------
  5416. INT B3 - ZIPKEY - ENABLE/DISABLE HOTKEYS
  5417.     AH = 7Fh
  5418.     BL = function
  5419.         00h turn off hotkeys
  5420.         01h turn on hotkeys
  5421.         02h return hotkey status
  5422.         03h toggle hotkey status
  5423. Return: AL = hotkey status
  5424.         00h off
  5425.         01h on
  5426. ----------B380-------------------------------
  5427. INT B3 - ZIPKEY v2.0+ - DETERMINE STATE FOR AREA CODE
  5428.     AH = 80h
  5429.     BX = telephone area code (decimal)
  5430. Return: CF clear if successful
  5431.         AL = ZIPKEY state code
  5432.         DX = first ZIP region for state (03E8h if Canada)
  5433.         CX = number of ZIP regions in state
  5434.     CF set on error
  5435.         AL = FFh
  5436.         DX = 03E9h
  5437. ----------B4---------------------------------
  5438. INT B4 - IBM ROM BASIC - used while in interpreter
  5439. Notes:    called by ROM BASIC
  5440.     BASIC.COM/BASICA.COM do not restore vector on termination
  5441. ----------B4---------------------------------
  5442. INT B4 - STACKMAN - REQUEST NEW STACK
  5443. Return: SS:SP -> new stack
  5444. Note:    the installation check consists of testing for the string "STACKXXX" at
  5445.       offset 0Ah from the interrupt handler
  5446. SeeAlso: INT 2F/AX=C9FFh,INT B5"STACKMAN"
  5447. ----------B5---------------------------------
  5448. INT B5 - IBM ROM BASIC - used while in interpreter
  5449. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5450.     BASIC.COM/BASICA.COM do not restore vector on termination
  5451. ----------B5---------------------------------
  5452. INT B5 - STACKMAN - RESTORE ORIGINAL STACK
  5453.     SS:SP -> stack returned by INT B4
  5454. Return: SS:SP restored to value before INT B4
  5455. SeeAlso: INT 2F/AX=C9FFh,INT B4"STACKMAN"
  5456. ----------B6---------------------------------
  5457. INT B6 - IBM ROM BASIC - used while in interpreter
  5458. Notes:    called by ROM BASIC
  5459.     BASIC.COM/BASICA.COM do not restore vector on termination
  5460. ----------B7---------------------------------
  5461. INT B7 - IBM ROM BASIC - used while in interpreter
  5462. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5463.     BASIC.COM/BASICA.COM do not restore vector on termination
  5464. ----------B8---------------------------------
  5465. INT B8 - IBM ROM BASIC - used while in interpreter
  5466. Notes:    called by ROM BASIC
  5467.     BASIC.COM/BASICA.COM do not restore vector on termination
  5468. ----------B9---------------------------------
  5469. INT B9 - IBM ROM BASIC - used while in interpreter
  5470. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5471.     BASIC.COM/BASICA.COM do not restore vector on termination
  5472. ----------BA---------------------------------
  5473. INT BA - IBM ROM BASIC - used while in interpreter
  5474. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5475.     BASIC.COM/BASICA.COM do not restore vector on termination
  5476. ----------BB---------------------------------
  5477. INT BB - IBM ROM BASIC - used while in interpreter
  5478. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5479.     BASIC.COM/BASICA.COM do not restore vector on termination
  5480. ----------BC---------------------------------
  5481. INT BC - IBM ROM BASIC - used while in interpreter
  5482. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5483.     BASIC.COM/BASICA.COM do not restore vector on termination
  5484. ----------BD---------------------------------
  5485. INT BD - IBM ROM BASIC - used while in interpreter
  5486. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5487.     BASIC.COM/BASICA.COM do not restore vector on termination
  5488. ----------BE---------------------------------
  5489. INT BE - IBM ROM BASIC - used while in interpreter
  5490. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5491.     BASIC.COM/BASICA.COM do not restore vector on termination
  5492. ----------BE---------------------------------
  5493. INT BE - DESQview/X - ???
  5494. Note:    points at an IRET
  5495. SeeAlso: INT 15/AX=BFDEh/BX=0006h,INT 63"DESQview"
  5496. ----------BF---------------------------------
  5497. INT BF - IBM ROM BASIC - used while in interpreter
  5498. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5499.     BASIC.COM/BASICA.COM do not restore vector on termination
  5500. ----------C0---------------------------------
  5501. INT C0 - IBM ROM BASIC - used while in interpreter
  5502. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5503.     BASIC.COM/BASICA.COM do not restore vector on termination
  5504. ----------C1---------------------------------
  5505. INT C1 - IBM ROM BASIC - used while in interpreter
  5506. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5507.     BASIC.COM/BASICA.COM do not restore vector on termination
  5508. ----------C2---------------------------------
  5509. INT C2 - IBM ROM BASIC - used while in interpreter
  5510. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5511.     BASIC.COM/BASICA.COM do not restore vector on termination
  5512. ----------C3---------------------------------
  5513. INT C3 - IBM ROM BASIC - used while in interpreter
  5514. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5515.     BASIC.COM/BASICA.COM do not restore vector on termination
  5516. ----------C4---------------------------------
  5517. INT C4 - IBM ROM BASIC - used while in interpreter
  5518. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5519.     BASIC.COM/BASICA.COM do not restore vector on termination
  5520. ----------C5---------------------------------
  5521. INT C5 - IBM ROM BASIC - used while in interpreter
  5522. Notes:    called by ROM BASIC
  5523.     BASIC.COM/BASICA.COM do not restore vector on termination
  5524. ----------C6---------------------------------
  5525. INT C6 - IBM ROM BASIC - used while in interpreter
  5526. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5527.     BASIC.COM/BASICA.COM do not restore vector on termination
  5528. ----------C6---------------------------------
  5529. INT C6 - APL*PLUS/PC - IDENTICAL TO INT 86
  5530. Note:    STSC moved its interrupts from 86h-8Ch to C6h-CCh, but did not delete
  5531.       the older interrupts
  5532. SeeAlso: INT 86"APL"
  5533. ----------C7---------------------------------
  5534. INT C7 - IBM ROM BASIC - used while in interpreter
  5535. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5536.     BASIC.COM/BASICA.COM do not restore vector on termination
  5537. ----------C7---------------------------------
  5538. INT C7 - APL*PLUS/PC - ???
  5539. Note:    STSC moved its interrupts from 86h-8Ch to C6h-CCh, but did not delete
  5540.       the older interrupts
  5541. SeeAlso: INT 87"APL"
  5542. ----------C8---------------------------------
  5543. INT C8 - IBM ROM BASIC - used while in interpreter
  5544. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5545.     BASIC.COM/BASICA.COM do not restore vector on termination
  5546. ----------C8---------------------------------
  5547. INT C8 - APL*PLUS/PC - IDENTICAL TO INT 88
  5548. Note:    STSC moved its interrupts from 86h-8Ch to C6h-CCh, but did not delete
  5549.       the older interrupts
  5550. SeeAlso: INT 88"APL"
  5551. ----------C9---------------------------------
  5552. INT C9 - IBM ROM BASIC - used while in interpreter
  5553. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5554.     BASIC.COM/BASICA.COM do not restore vector on termination
  5555. ----------C9---------------------------------
  5556. INT C9 - APL*PLUS/PC - ???
  5557. Note:    STSC moved its interrupts from 86h-8Ch to C6h-CCh, but did not delete
  5558.       the older interrupts
  5559. SeeAlso: INT 89"APL"
  5560. ----------CA---------------------------------
  5561. INT CA - IBM ROM BASIC - used while in interpreter
  5562. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5563.     BASIC.COM/BASICA.COM do not restore vector on termination
  5564. ----------CA---------------------------------
  5565. INT CA - APL*PLUS/PC - PRINT SCREEN
  5566. Note:    STSC moved its interrupts from 86h-8Ch to C6h-CCh, but did not delete
  5567.       the older interrupts
  5568. SeeAlso: INT 8A"APL"
  5569. ----------CB---------------------------------
  5570. INT CB - IBM ROM BASIC - used while in interpreter
  5571. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5572.     BASIC.COM/BASICA.COM do not restore vector on termination
  5573. ----------CB---------------------------------
  5574. INT CB - APL*PLUS/PC - BEEP
  5575. Notes:    STSC moved its interrupts from 86h-8Ch to C6h-CCh, but did not delete
  5576.       the older interrupts
  5577.     same as printing a ^G via INT 21/AH=02h
  5578. SeeAlso: INT 8B"APL"
  5579. ----------CC---------------------------------
  5580. INT CC - IBM ROM BASIC - used while in interpreter
  5581. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5582.     BASIC.COM/BASICA.COM do not restore vector on termination
  5583. ----------CC---------------------------------
  5584. INT CC - APL*PLUS/PC - CLEAR SCREEN MEMORY
  5585.     AX = flag
  5586.         0000h do not save display attributes
  5587.         0001h save attributes
  5588. Note:    STSC moved its interrupts from 86h-8Ch to C6h-CCh, but did not delete
  5589.       the older interrupts
  5590. SeeAlso: INT 8C"APL"
  5591. ----------CD---------------------------------
  5592. INT CD - IBM ROM BASIC - used while in interpreter
  5593. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5594.     BASIC.COM/BASICA.COM do not restore vector on termination
  5595. ----------CD---------------------------------
  5596. INT CD - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
  5597. ----------CE---------------------------------
  5598. INT CE - IBM ROM BASIC - used while in interpreter
  5599. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5600.     BASIC.COM/BASICA.COM do not restore vector on termination
  5601. ----------CE---------------------------------
  5602. INT CE - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
  5603. ----------CF---------------------------------
  5604. INT CF - IBM ROM BASIC - used while in interpreter
  5605. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5606.     BASIC.COM/BASICA.COM do not restore vector on termination
  5607. ----------CF---------------------------------
  5608. INT CF - APL*PLUS/PC - DEFAULT LOW-RESOLUTION TIMER FOR QUAD MF FUNCTION
  5609. SeeAlso: INT E0"APL"
  5610. ----------D0---------------------------------
  5611. INT D0 - IBM ROM BASIC - used while in interpreter
  5612. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5613.     BASIC.COM/BASICA.COM do not restore vector on termination
  5614. ----------D0---------------------------------
  5615. INT D0 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
  5616. ----------D0---------------------------------
  5617. INT D0 - [not a vector!] - NJFRERAM SIGNATURE VECTOR
  5618. Notes:    NJFRERAM is a resident free-memory display utility by Mike "Nifty
  5619.       James" Blaszczak
  5620.     if NJFRERAM is installed, this vector points at the signature "NJ"
  5621. ----------D1---------------------------------
  5622. INT D1 - IBM ROM BASIC - used while in interpreter
  5623. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5624.     BASIC.COM/BASICA.COM do not restore vector on termination
  5625. ----------D1---------------------------------
  5626. INT D1 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
  5627. ----------D2---------------------------------
  5628. INT D2 - IBM ROM BASIC - used while in interpreter
  5629. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5630.     BASIC.COM/BASICA.COM do not restore vector on termination
  5631. ----------D2---------------------------------
  5632. INT D2 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
  5633. ----------D3---------------------------------
  5634. INT D3 - IBM ROM BASIC - used while in interpreter
  5635. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5636.     BASIC.COM/BASICA.COM do not restore vector on termination
  5637. ----------D3---------------------------------
  5638. INT D3 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
  5639. ----------D4---------------------------------
  5640. INT D4 - IBM ROM BASIC - used while in interpreter
  5641. Notes:    called by ROM BASIC
  5642.     BASIC.COM/BASICA.COM do not restore vector on termination
  5643. ----------D4---------------------------------
  5644. INT D4 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
  5645. ----------D4---------------------------------
  5646. INT D4 - PC-MOS/386 - API
  5647. ----------D5---------------------------------
  5648. INT D5 - IBM ROM BASIC - used while in interpreter
  5649. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5650.     BASIC.COM/BASICA.COM do not restore vector on termination
  5651. ----------D5---------------------------------
  5652. INT D5 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
  5653. ----------D6---------------------------------
  5654. INT D6 - IBM ROM BASIC - used while in interpreter
  5655. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5656.     BASIC.COM/BASICA.COM do not restore vector on termination
  5657. ----------D6---------------------------------
  5658. INT D6 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
  5659. ----------D7---------------------------------
  5660. INT D7 - IBM ROM BASIC - used while in interpreter
  5661. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5662.     BASIC.COM/BASICA.COM do not restore vector on termination
  5663. ----------D7---------------------------------
  5664. INT D7 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
  5665. ----------D8---------------------------------
  5666. INT D8 - IBM ROM BASIC - used while in interpreter
  5667. Notes:    called by ROM BASIC
  5668.     BASIC.COM/BASICA.COM do not restore vector on termination
  5669. ----------D8---------------------------------
  5670. INT D8 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
  5671. ----------D9---------------------------------
  5672. INT D9 - IBM ROM BASIC - used while in interpreter
  5673. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5674.     BASIC.COM/BASICA.COM do not restore vector on termination
  5675. ----------D9---------------------------------
  5676. INT D9 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
  5677. ----------DA---------------------------------
  5678. INT DA - IBM ROM BASIC - used while in interpreter
  5679. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  5680.     BASIC.COM/BASICA.COM do not restore vector on termination
  5681. ----------DA---------------------------------
  5682. INT DA - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
  5683. ----------DB---------------------------------
  5684. INT DB - IBM ROM BASIC - used while in interpreter
  5685. Notes:    called by ROM BASIC
  5686.     BASIC.COM/BASICA.COM do not restore vector on termination
  5687. ----------DB---------------------------------
  5688. INT DB - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
  5689. ----------DC---------------------------------
  5690. INT DC - PC/370 v4.1- - API
  5691. SeeAlso: INT 60"PC/370"
  5692. ----------DC---------------------------------
  5693. INT DC - IBM ROM BASIC - used while in interpreter
  5694. Notes:    called by ROM BASIC
  5695.     BASIC.COM/BASICA.COM do not restore vector on termination
  5696. ----------DC---------------------------------
  5697. INT DC - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
  5698. ----------DD---------------------------------
  5699. INT DD - IBM ROM BASIC - used while in interpreter
  5700. Notes:    called by ROM BASIC
  5701.     BASIC.COM/BASICA.COM do not restore vector on termination
  5702. ----------DD---------------------------------
  5703. INT DD - STSC APL*PLUS/PC v9.0 - PLACE KEYSTROKE EVENTS IN INPUT BUFFER
  5704.     BX = where to place keystrokes
  5705.         FFFFh insert before current buffer contents
  5706.         0000h replace current contents
  5707.         0001h insert after current contents
  5708.     CX = number of keystroke events to insert
  5709.     ES:SI -> data to be placed into buffer (list of WORD key codes)
  5710.         4000h + N = normal ASCII keystroke N (N = 00h to FFh)
  5711.         4100h + N = extended ASCII keystroke N (N = 03h to 84h)
  5712. SeeAlso: INT 16/AH=05h
  5713. ----------DE---------------------------------
  5714. INT DE - IBM ROM BASIC - used while in interpreter
  5715. Notes:    called by ROM BASIC
  5716.     BASIC.COM/BASICA.COM do not restore vector on termination
  5717. ----------DE---------------------------------
  5718. INT DE - APL*PLUS/PC - ???
  5719. Note:    appears to be the same as INT 16
  5720. ----------DF---------------------------------
  5721. INT DF - Victor 9000 - SuperBIOS
  5722. ----------DF---------------------------------
  5723. INT DF - IBM ROM BASIC - used while in interpreter
  5724. Notes:    called by ROM BASIC
  5725.     BASIC.COM/BASICA.COM do not restore vector on termination
  5726. ----------DF---------------------------------
  5727. INT DF - APL*PLUS/PC - SAME AS INT 10
  5728. SeeAlso: INT 10
  5729. ----------E0---------------------------------
  5730. INT E0 - IBM ROM BASIC - used while in interpreter
  5731. Notes:    called by ROM BASIC
  5732.     BASIC.COM/BASICA.COM do not restore vector on termination
  5733. ----------E0---------------------------------
  5734. INT E0 - APL*PLUS/PC - RESTIME HIGH-RESOLUTION TIMER FOR QUAD MF FUNCTION
  5735. SeeAlso: INT CF"APL"
  5736. ----------E0---------------------------------
  5737. INT E0 - VIRUS - "Micro-128" - ???
  5738. Note:    Micro-128 also overwrites the upper half of the interrupt table
  5739. SeeAlso: INT 70"VIRUS"
  5740. ----------E0---------------------------------
  5741. INT E0 - CP/M-86, Concurrent CP/M, DR Multiuser DOS - FUNCTION CALLS
  5742.     CL = function number
  5743.     DS,DX = parameters
  5744. Return: as appropriate for function
  5745. Notes:    several functions are covered in more detail in following entries
  5746.     most of these calls are also supported by Digital Research's DOS Plus
  5747.       v2.1; the unsupported functions are 26h,29h-2Bh,3Ah,3Dh-62h,71h-8Ch,
  5748.       90h-92h,94h-97h,9Bh-ABh, and AEh-FFh
  5749. SeeAlso: INT 21/AX=4459h,INT 21/AH=E0h"DOS Plus"
  5750.  
  5751. Values for function number:
  5752.  00h    terminate calling process (see also INT 21/AH=00h)
  5753.  01h    read a character
  5754.  02h    write character to default console (see also INT 21/AH=02h)
  5755.  03h    read character from default AUX (see also INT 21/AH=03h)
  5756.  04h    write character to default AUX (see also INT 21/AH=04h)
  5757.  05h    write character to default list device (see also INT 21/AH=05h)
  5758.  06h    perform raw I/O on default console (see also INT 21/AH=06h)
  5759.  07h    return default AUX input status
  5760.  08h    return default AUX output status
  5761.  09h    write string to default console (see also INT 21/AH=09h)
  5762.  0Ah    read string from default console (see also INT 21/AH=0Ah)
  5763.  0Bh    return default console input status (see also INT 21/AH=0Bh)
  5764.  0Ch    get BDOS release ID
  5765.  0Dh    reset all disk drives (see also INT 21/AH=0Dh)
  5766.  0Eh    set default drive (see also INT 21/AH=0Eh)
  5767.  0Fh    open file via FCB (see also INT 21/AH=0Fh)
  5768.  10h    close file via FCB (see also INT 21/AH=10h)
  5769.  11h    search for first matching file with FCB (see also INT 21/AH=11h)
  5770.  12h    search for next matching file with FCB (see also INT 21/AH=12h)
  5771.  13h    delete file via FCB (see also INT 21/AH=13h)
  5772.  14h    sequential read via FCB (see also INT 21/AH=14h)
  5773.  15h    sequential write via FCB (see also INT 21/AH=15h)
  5774.  16h    create file via FCB (see also INT 21/AH=16h)
  5775.  17h    rename file via FCB (see also INT 21/AH=17h)
  5776.  18h    get bit map of logged drives
  5777.  19h    get default drive (see also INT 21/AH=19h)
  5778.  1Ah    set DMA address offset
  5779.  1Bh    get default disk allocation vector (see also INT 21/AH=1Bh)
  5780.  1Ch    set default drive to read-only
  5781.  1Dh    get bit map of read-only drives
  5782.  1Eh    set file attributes via FCB (see also INT 21/AX=4301h)
  5783.  1Fh    get address of disk parameter block (see also INT 21/AH=1Fh)
  5784.  20h    get/set default user number
  5785.  21h    read random record via FCB (see also INT 21/AH=21h)
  5786.  22h    write random record via FCB (see also INT 21/AH=22h)
  5787.  23h    compute file size with FCB (see also INT 21/AH=23h)
  5788.  24h    get FCB random record number (see also INT 21/AH=24h)
  5789.  25h    reset specified drives
  5790.  26h    access specified drives (not in DR DOS Plus v2.1)
  5791.  27h    free specified drives
  5792.  28h    write random with FCB, zero fill (see also also INT 21/AH=28h)
  5793.  2Ah    lock records in FCB file (see also INT 21/AH=5Ch)
  5794.  2Bh    unlock records in FCB file (see also INT 21/AH=5Ch)
  5795.  2Ch    set BDOS multisector count
  5796.  2Dh    set BDOS error mode
  5797.  2Eh    get free space on disk
  5798.  2Fh    load, initialize, and jump to process (see also INT 21/AH=4Bh)
  5799.  30h    flush write-deferred buffers
  5800.  31h    get/set system variable (DOS Plus v2.1)
  5801.  32h    call BIOS (XIOS) character routine (see below)
  5802.  33h    set DMA address segment
  5803.  34h    get DMA buffer address
  5804.  35h    CP/M-86 allocate maximum memory
  5805.  36h    allocate maximum memory at specified segment
  5806.  37h    CP/M-86 allocate memory segment (see also INT 21/AH=48h)
  5807.  38h    allocate memory at specified segment
  5808.  39h    CP/M-86 free specified memory segment (see also INT 21/AH=49h)
  5809.  3Ah    CP/M-86 free all memory (not in DOS Plus v2.1)
  5810.  3Bh    load .CMD file into memory
  5811.  3Ch    (DOS Plus v2.1) call RSX program
  5812.  40h    (DR-NET) log on a server
  5813.  41h    (DR-NET) log off a server
  5814.  42h    (DR-NET) send a message
  5815.  43h    (DR-NET) receive a message
  5816.  44h    (DR-NET) get network status
  5817.  45h    (DR-NET) get requestor configuration table
  5818.  46h    (DR-NET) set compatibility attributes
  5819.  47h    (DR-NET) get server configuration table
  5820.  48h    (DR-NET) set network error mode
  5821.  49h    (DR-NET) attach network
  5822.  4Ah    (DR-NET) detach network
  5823.  4Bh    (DR-NET) set default password
  5824.  4Ch    (DR-NET) get-set long timeout
  5825.  4Dh    (DR-NET) get parameter table
  5826.  50h    (DR-NET) get network information
  5827.  53h    get current time (see also INT 21/AH=2Ch)
  5828.  54h    set current time (see also INT 21/AH=2Dh)
  5829.  55h    get binary system date (see also INT 21/AH=2Ah)
  5830.  56h    set system date (see also INT 21/AH=2Bh)
  5831.  57h    allocate system flag
  5832.  58h    deallocate system flag
  5833.  59h    reserve memory in global area
  5834.  5Ah    lock physical drive
  5835.  5Bh    unlock physical drive
  5836.  5Ch    search path for executable file
  5837.  5Dh    load and execute command (see also INT 21/AH=4Bh)
  5838.  5Eh    get/set process exit code
  5839.  5Fh    set country information
  5840.  60h    get country information
  5841.  63h    truncate FCB file (see also INT 21/AH=28h)
  5842.  64h    create/update directory label
  5843.  65h    get directory label
  5844.  66h    get FCB date stamp and password mode
  5845.  67h    write extended FCB
  5846.  68h    set system date and time
  5847.  69h    get system date and time in binary
  5848.  6Ah    establish password for file access
  5849.  6Bh    get OS serial number
  5850.  6Ch    (DOS Plus v2.1) get/set program return code
  5851.  6Dh    get/set console mode
  5852.  6Eh    get/set string delimiter
  5853.  6Fh    write block to default console
  5854.  70h    write block to default list device
  5855.  71h    execute DOS-compatible function
  5856.  74h    set FCB time and date stamps
  5857.  80h    allocate memory
  5858.  82h    deallocate memory
  5859.  83h    poll I/O device
  5860.  84h    wait on system flag
  5861.  85h    set system flag
  5862.  86h    create message queue
  5863.  87h    open message queue
  5864.  88h    delete message queue
  5865.  89h    read from message queue
  5866.  8Ah    conditionally read from message queue
  5867.  8Bh    write to message queue
  5868.  8Ch    conditionally write to message queue
  5869.  8Dh    delay calling process
  5870.  8Eh    call process dispatcher (yield CPU)
  5871.  8Fh    terminate calling process (same as function 00h)
  5872.  90h    create a process
  5873.  91h    set calling process' priority
  5874.  92h    attach to default console
  5875.  93h    detach from default console
  5876.  95h    assign default console to process
  5877.  96h    interpret and execute commandline
  5878.  97h    resident procedure library
  5879.  98h    parse ASCII string into FCB (see also INT 21/AH=29h)
  5880.  99h    return default console
  5881.  9Ah    get address of system data (SYSDAT)
  5882.  9Bh    get system time and date
  5883.  9Ch    return calling process' descriptor
  5884.  9Dh    terminate process by name or PD address
  5885.  9Eh    attach to default list device
  5886.  9Fh    detach from default list device
  5887.  A0h    select default list device
  5888.  A1h    conditionally attach to default list device
  5889.  A2h    conditionally attach to default console
  5890.  A3h    get OS version number
  5891.  A4h    get default list device
  5892.  A5h    attach to default AUX
  5893.  A6h    detach from default AUX
  5894.  A7h    conditionally attach to default AUX
  5895.  A8h    set default AUX
  5896.  A9h    return default AUX
  5897.  ACh    read block from default AUX
  5898.  ADh    (DOS Plus v2.1) write block to default AUX
  5899.  B0h    configure default AUX
  5900.  B1h    get/set device control parameters
  5901.  B2h    send Break through default AUX
  5902.  B3h    allocate physical memory
  5903.  B4h    free physical memory
  5904.  B5h    map physical memory
  5905.  B6h    nondestructive message queue read
  5906.  B7h    timed wait on system flag
  5907.  B8h    get/set I/O port mapping
  5908.  B9h    set list device timeout
  5909.  BAh    set AUX timeout value
  5910.  BBh    execute XIOS service
  5911.  BDh    (DR Multiuser DOS) delay
  5912.  FFh    return 80386 to native mode
  5913.  
  5914. Values for DOS Plus v2.1 XIOS functions:
  5915.  00h    terminate program
  5916.  01h    ???
  5917.  02h    check for console input status
  5918.  03h    read character from console
  5919.  04h    write character to console
  5920.  05h    write character to list device
  5921.  06h    write character to auxiliary device
  5922.  07h    read cahracter from auxiliary device
  5923.  0Fh    get list device status
  5924.  10h-14h reserved
  5925.  15h    device initialization
  5926.  16h    check console output status
  5927.  17h-7Fh reserved
  5928. ---BBC Acorn---
  5929.  80h    get XIOS version
  5930.  81h    get Tube semaphore
  5931.  82h    release Tube semaphore
  5932.  83h    select text/graphics
  5933.  84h    update B&W graphics rectangle
  5934.  85h    update color graphics rectangle
  5935.  86h    get/release/update mouse
  5936.  87h    get system error info
  5937.  88h    entry in CLOCK called by WatchDog RSP
  5938.  89h    BBC OSBYTE function
  5939.  8Ah    BBC OSWORD function
  5940.  
  5941. DR Multiuser DOS Error Return Codes:
  5942.  00h no error
  5943.  01h system call not implmented
  5944.  02h illegal system call number
  5945.  03h cannot find memory
  5946.  04h illegal flag number
  5947.  05h flag overrun
  5948.  06h flag underrun
  5949.  07h no unused Queue Descriptors
  5950.  08h no free queue buffer
  5951.  09h cannot find queue
  5952.  0Ah queue in use
  5953.  0Ch no free Process Descriptors
  5954.  0Dh no queue access
  5955.  0Eh empty queue
  5956.  0Fh full queue
  5957.  10h CLI queue missing
  5958.  11h no 8087 in system
  5959.  12h no unused Memory Descriptors
  5960.  13h illegal console number
  5961.  14h no Process Descriptor match
  5962.  15h no console match
  5963.  16h no CLI process
  5964.  17h illegal disk number
  5965.  18h illegal filename
  5966.  19h illegal filetype
  5967.  1Ah character not ready
  5968.  1Bh illegal Memory Descriptor
  5969.  1Ch bad return from BDOS load
  5970.  1Dh bad return from BDOS read
  5971.  1Eh bad return from BDOS open
  5972.  1Fh null command
  5973.  20h not owner of resource
  5974.  21h no CSEG in load file
  5975.  22h process Descriptor exists on Thread Root
  5976.  23h could not terminate process
  5977.  24h cannot attach to process
  5978.  25h illegal list device number
  5979.  26h illegal password
  5980.  28h external termination occurred
  5981.  29h fixup error upon load
  5982.  2Ah flag set ignored
  5983.  2Bh illegal auxilliary device number
  5984. ----------E0----CL03-------------------------
  5985. INT E0 - DR Multiuser DOS - "A_READ" - READ CHARACTER FROM AUX DEVICE
  5986.     CL = 03h
  5987. Return:    AL = ASCII character
  5988. Notes:    A_READ reads the next 8-bit character from the logical auxilliary
  5989.       input device (AUXn:); control is not returned to the calling
  5990.       process until a character has been read. 
  5991.     if another process owns AUX, this call blocks until the device becomes
  5992.       available
  5993. SeeAlso: INT 21/AH=03h,INT E0/CL=04h,INT E0/CL=07h,INT E0/CL=A5h,INT E0/CL=ACh
  5994. ----------E0----CL04-------------------------
  5995. INT E0 - DR Multiuser DOS - "A_WRITE" - WRITE CHARACTER TO AUX DEVICE
  5996.     CL = 04h
  5997.     DL = ASCII character
  5998. Return:    nothing
  5999. Note:    if another process owns AUX, this call blocks until the device becomes
  6000.       available
  6001. SeeAlso: INT 21/AH=04h,INT E0/CL=03h,INT E0/CL=08h,INT E0/CL=A5h,INT E0/CL=ADh
  6002. ----------E0----CL07-------------------------
  6003. INT E0 - DR Multiuser DOS - "A_STATIN" - GET INPUT STATUS OF AUX DEVICE 
  6004.     CL = 07h
  6005. Return:    AL = status
  6006.         00h not ready
  6007.         FFh character available
  6008. SeeAlso: INT E0/CL=03h,INT E0/CL=08h
  6009. ----------E0----CL08-------------------------
  6010. INT E0 - DR Multiuser DOS - "A_STATOUT" - GET OUTPUT STATUS OF AUX DEVICE
  6011.     CL = 08h
  6012. Return:    AL = status
  6013.         00h not ready
  6014.         FFh ready for output
  6015. SeeAlso: INT E0/CL=04h,INT E0/CL=07h
  6016. ----------E0----CL59-------------------------
  6017. INT E0 - ConcCP/M,DR Multiuser DOS - "S_MEMORY" - RESERVE MEMORY IN GLOBAL AREA
  6018.     CL = 59h
  6019.     DX = size in bytes
  6020. Return: AX = FFFFh if failed
  6021.     AX = other if successful
  6022.         ES:BX -> reserved memory
  6023. ----------E0----CL86-------------------------
  6024. INT E0 - ConcCP/M,DR Multiuser DOS - "Q_MAKE" - CREATE MESSAGE QUEUE
  6025.     CL = 86h
  6026.     DS:DX -> queue descriptor (see below)
  6027. Return: AX = status
  6028.         0000h success
  6029.         FFFFh failure
  6030.     CX = error code
  6031. SeeAlso: INT E0/CL=87h
  6032.  
  6033. Format of queue descriptor:
  6034. Offset    Size    Description
  6035.  00h  2 WORDs    internal use, initialize to zeros
  6036.  04h    WORD    flags
  6037.  06h  8 BYTEs    queue name
  6038.  0Eh    WORD    length of message
  6039.  10h    WORD    number of messages
  6040.  12h  4 WORDs    internal use, initialize to zeros
  6041.  1Ah    WORD    offset in system area of buffer for messages
  6042. ----------E0----CL87-------------------------
  6043. INT E0 - ConcCP/M,DR Multiuser DOS - "Q_OPEN" - OPEN MESSAGE QUEUE
  6044.     CL = 87h
  6045.     DS:DX -> queue parameter block (see below)
  6046. Return: AX = status
  6047.         0000h success
  6048.         FFFFh failure
  6049.     CX = error code
  6050. SeeAlso: INT E0/CL=86h,INT E0/CL=89h
  6051.  
  6052. Format of queue parameter block:
  6053. Offset    Size    Description
  6054.  00h    WORD    internal use, initialize to zero
  6055.  02h    WORD    queue ID (set by INT E0/CL=87h)
  6056.  04h    WORD    internal use, initialize to zero
  6057.  06h    WORD    offset of queue message buffer
  6058.  08h  8 BYTEs    queue name
  6059. ----------E0----CL89-------------------------
  6060. INT E0 - ConcCP/M,DR Multiuser DOS - "Q_READ" - READ MESSAGE QUEUE
  6061.     CL = 89h
  6062.     DS:DX -> queue parameter block (see INT E0/CL=87h)
  6063. Return: AX = status
  6064.         0000h success
  6065.         FFFFh failure
  6066.     CX = error code
  6067. SeeAlso: INT E0/CL=87h,INT E0/CL=8Ah,INT E0/CL=8Bh
  6068. ----------E0----CL8A-------------------------
  6069. INT E0 - ConcCP/M,DR Multiuser DOS - "Q_CREAD" - CONDITIONALLY READ MSG QUEUE
  6070.     CL = 8Ah
  6071.     DS:DX -> queue parameter block (see INT E0/CL=87h)
  6072. Return: AX = status
  6073.         0000h success
  6074.         FFFFh failure
  6075.     CX = error code
  6076. SeeAlso: INT E0/CL=87h,INT E0/CL=89h,INT E0/CL=8Ch
  6077. ----------E0----CL8B-------------------------
  6078. INT E0 - ConcCP/M,DR Multiuser DOS - "Q_WRITE" - WRITE MESSAGE QUEUE
  6079.     CL = 8Bh
  6080.     DS:DX -> queue parameter block (see INT E0/CL=87h)
  6081. Return: AX = status
  6082.         0000h success
  6083.         FFFFh failure
  6084.     CX = error code
  6085. SeeAlso: INT E0/CL=89h,INT E0/CL=8Ch
  6086. ----------E0----CL8C-------------------------
  6087. INT E0 - ConcCP/M,DR Multiuser DOS - "Q_CWRITE" - CONDITIONALLY WRITE MSG QUEUE
  6088.     CL = 8Ch
  6089.     DS:DX -> queue parameter block (see INT E0/CL=87h)
  6090. Return: AX = status
  6091.         0000h success
  6092.         FFFFh failure
  6093.     CX = error code
  6094. SeeAlso: INT E0/CL=8Ah,INT E0/CL=8Bh
  6095. ----------E0----CL8E-------------------------
  6096. INT E0 - ConcCP/M,DR Multiuser DOS - "P_DISPATCH" - CALL DISPATCHER
  6097.     CL = 8Eh
  6098.     DX = FFFFh (optional) to force dispatch
  6099. Return: nothing
  6100. Note:    if DX=FFFFh, a dispatch is forced even if no other process is ready
  6101. SeeAlso: INT E0/CL=91h
  6102. ----------E0----CL91-------------------------
  6103. INT E0 - ConcCP/M,DR Multiuser DOS - "P_PRIORITY" - SET PROCESS PRIORITY
  6104.     CL = 91h
  6105.     DL = new priority (00h highest to FFh lowest)
  6106. Note:    sets priority of calling process; transient processes are initialized
  6107.       to priority C8h
  6108. SeeAlso: INT E0/CL=8Eh
  6109. ----------E0----CL93-------------------------
  6110. INT E0 - ConcCP/M,DR Multiuser DOS - "C_DETACH" - DETACH FROM DEFAULT CONSOLE
  6111.     CL = 93h
  6112. Return: AX = status
  6113.         0000h successfully detached
  6114.         FFFFh detach failed
  6115. ----------E0----CLA5-------------------------
  6116. INT E0 - DR Multiuser DOS - "A_ATTACH" - ATTACH AUX DEVICE
  6117.     CL = A5h
  6118. Desc:    attaches the default auxiliary device to the calling process unless
  6119.       it is already attached to another process, in which case the call
  6120.       blocks until the device becomes available
  6121. Note:    this call should be used before attempting to read or write from
  6122.       the AUX device; however, the I/O calls internally call this function
  6123.       to ensure device ownership
  6124. SeeAlso: INT E0/CL=03h,INT E0/CL=04h,INT E0/CL=A6h,INT E0/CL=A7h,INT E0/CL=A8h
  6125. SeeAlso: INT E0/CL=ACh,INT E0/CL=ADh,INT E0/CL=B0h
  6126. ----------E0----CLA6-------------------------
  6127. INT E0 - DR Multiuser DOS - "A_DETACH" - DETACH FROM AUX DEVICE
  6128.     CL = A6h
  6129. Return: AX = status
  6130.         0000h successfully detached
  6131.         FFFFh detach failed
  6132.     CX = error code
  6133. SeeAlso: INT E0/CL=A5h,INT E0/CL=A7h
  6134. ----------E0----CLA7-------------------------
  6135. INT E0 - DR Multiuser DOS - "A_CATTACH" - CONDITIONALLY ATTACH TO AUX DEVICE
  6136.     CL = A7h
  6137. Return: AX = status
  6138.         0000h attached
  6139.         FFFFh unable to attach
  6140. Desc:    attaches the default auxiliary device to the calling process if it is
  6141.       available
  6142. Note:    does not block if the device is already in use
  6143. SeeAlso: INT E0/CL=A5h,INT E0/CL=A6h,INT E0/CL=A8h,INT E0/CL=B0h
  6144. ----------E0----CLA8-------------------------
  6145. INT E0 - DR Multiuser DOS - "A_SET" - SET DEFAULT AUX DEVICE NUMBER
  6146.     CL = A8h
  6147.     DL = auxiliary device number
  6148. Return: AX = status
  6149.         0000h successful
  6150.         FFFFh failed
  6151.     CX = error code
  6152. SeeAlso: INT E0/CL=A5h,INT E0/CL=A9h
  6153. ----------E0----CLA9-------------------------
  6154. INT E0 - DR Multiuser DOS - "A_GET" - GET DEFAULT AUX DEVICE NUMBER
  6155.     CL = A9h
  6156. Return: AL = current default auxiliary device number
  6157. SeeAlso: INT E0/CL=A8h
  6158. ----------E0----CLAC-------------------------
  6159. INT E0 - DR Multiuser DOS - "A_READBLK" - READ STRING FROM AUX DEVICE
  6160.     CL = ACh
  6161.     DS:DX -> character control block (CHCB) (see below)
  6162. Return: AX = number of characters read
  6163. Desc:    read characters from the default auxiliary (AUXn:) device into a buffer
  6164.       until the buffer is full or the device is no longer ready
  6165. Notes:    if the device is initially not ready, blocks until at least one
  6166.       character has been read
  6167.     if another process owns AUX, this call blocks until the device becomes
  6168.       available
  6169. SeeAlso: INT E0/CL=03h,INT E0/CL=A5h,INT E0/CL=ADh
  6170.  
  6171. Format of character control block (CHCB):
  6172. Offset    Size    Description
  6173.  00h    DWORD    pointer to character buffer
  6174.  04h    WORD    length of character buffer
  6175. ----------E0----CLAD-------------------------
  6176. INT E0 - DR Multiuser DOS - "A_WRITEBLK" - WRITE STRING TO AUX DEVICE
  6177.     CL = ADh
  6178.     DS:DX -> character control block (see INT E0/CL=ACh)
  6179. Return: AX = number of characters written
  6180. Note:    does not return until at least one character has been written
  6181. SeeAlso: INT E0/CL=04h,INT E0/CL=A5h,INT E0/CL=ACh
  6182. ----------E0----CLB0-------------------------
  6183. INT E0 - DR Multiuser DOS - "A_CONFIG" - GET/SET AUX DEVICE PARAMETERS
  6184.     CL = B0h
  6185.     DX:DX -> AUX device parameter block (see below)
  6186. Return: AX = status
  6187.         0000h successful
  6188.             parameter block updated
  6189.         FFFFh failed
  6190.             CX = error code
  6191. SeeAlso: INT E0/CL=A5h,INT E0/CL=B1h
  6192.  
  6193. Format of AUX device parameter block:
  6194. Offset    Size    Description
  6195.  00h    BYTE    function (00h get, 01h set)
  6196.  01h    BYTE    baud rate (see below) FFh = don't change/unknown
  6197.  02h    BYTE    parity
  6198.          00h none
  6199.         01h odd
  6200.         02h none
  6201.         03h even
  6202.         04h stick parity bit
  6203.         FFh don't change/unknown
  6204.  03h    BYTE    stop bits (00h one, 01h 1.5, 02h two, FFh unknown/don't change)
  6205.  04h    BYTE    data bits (05h-08h or FFh unknown/don't change)
  6206.  05h    BYTE    handshake (00h none, 01h DTS/DSR, 02h RTS/CTS, 04h XON/XOFF,
  6207.          FFh unknown/don't change)
  6208.  06h    BYTE    XON character, FFh unknown/don't change
  6209.  07h    BYTE    XOFF character, FFh unknown/don't change
  6210.  
  6211. Values for baud rate:
  6212.  00h = 50 baud
  6213.  01h = 62.5 baud
  6214.  02h = 75 baud
  6215.  03h = 110 baud
  6216.  04h = 134.5 baud
  6217.  05h = 150 baud
  6218.  06h = 200 baud
  6219.  07h = 300 baud
  6220.  08h = 600 baud
  6221.  09h = 1200 baud
  6222.  0Ah = 1800 baud
  6223.  0Bh = 2000 baud
  6224.  0Ch = 2400 baud
  6225.  0Dh = 3600 baud
  6226.  0Eh = 4800 baud
  6227.  0Fh = 7200 baud
  6228.  10h = 9600 baud
  6229.  11h = 19200 baud
  6230.  12h = 38400 baud
  6231.  13h = 56000 baud
  6232.  14h = 76800 baud
  6233.  15h = 115200 baud
  6234. ----------E0----CLB1-------------------------
  6235. INT E0 - DR Multiuser DOS - "A_CONTROL" - GET/SET AUX CONTROL PARAMETERS
  6236.     CL = B1h
  6237.     DS:DX -> AUX device control block (see below)
  6238. Return: AX = status
  6239.         0000h successful
  6240.         control block updated
  6241.         FFFFh failed
  6242.         CX = error code
  6243. SeeAlso: INT E0/CL=B0h,INT E0/CL=B2h
  6244.  
  6245. Format of AUX device control block:
  6246. Offset    Size    Description
  6247.  00h    BYTE    function (00h get, 01h set)
  6248.  01h    BYTE    DTR state (00h low, 01h high, FFh unknown/don't change)
  6249.  02h    BYTE    RTS state (00h low, 01h high, FFh unknown/don't change)
  6250.  03h    BYTE    DSR state (00h low, 01h high, FFh unknown/don't change)
  6251.  04h    BYTE    CTS state (00h low, 01h high, FFh unknown/don't change)
  6252.  05h    BYTE    DCD state (00h low, 01h high, FFh unknown/don't change)
  6253.  06h    BYTE    RI state (00h inactive, 01h active, FFh unknown/don't change)
  6254. ----------E0----CLB2-------------------------
  6255. INT E0 - DR Multiuser DOS - "A_BREAK" - SEND BREAK TO AUX DEVICE
  6256.     CL = B2h
  6257.     DX = duration of break in system ticks (0001h-FFFFh)
  6258. Return: AX = status
  6259.         0000h successful
  6260.             break signal completed
  6261.         FFFFh failed
  6262.         CX = error code
  6263. Note:    if the AUX device is currently owned by another process, this call will
  6264.       block until the device becomes available
  6265. SeeAlso: INT E0/CL=A5h,INT E0/CL=B1h
  6266. ----------E0----CLBD-------------------------
  6267. INT E0 - DR Multiuser DOS - "P_DELAY" - DELAY EXECUTION
  6268.     CL = BDh
  6269.     DX = delay in system ticks
  6270. Return: after the delay elapses
  6271. Notes:    the length of a system tick is installation-dependent (typically
  6272.       1/50 or 1/60 second); the length may be determined by reading the
  6273.       TICKSPERSEC value from the system data segment
  6274.     the actual delay before the process is rescheduled to run may be up to
  6275.       one tick longer than requested; the delay between rescheduling and
  6276.       actual execution cannot be predicted if higher-priority processes
  6277.       are awaiting a turn at the CPU
  6278. ----------E1---------------------------------
  6279. INT E1 - IBM ROM BASIC - used while in interpreter
  6280. Notes:    called by ROM BASIC
  6281.     BASIC.COM/BASICA.COM do not restore vector on termination
  6282. ----------E1---------------------------------
  6283. INT E1 - PC Cluster Disk Server Information
  6284. SeeAlso: INT E2
  6285. ----------E2---------------------------------
  6286. INT E2 - IBM ROM BASIC - used while in interpreter
  6287. Notes:    called by ROM BASIC
  6288.     BASIC.COM/BASICA.COM do not restore vector on termination
  6289. ----------E2---------------------------------
  6290. INT E2 - PC Cluster Program
  6291. ----------E3---------------------------------
  6292. INT E3 - IBM ROM BASIC - used while in interpreter
  6293. Notes:    called by ROM BASIC
  6294.     BASIC.COM/BASICA.COM do not restore vector on termination
  6295. ----------E40005-----------------------------
  6296. INT E4 - Logitech Modula v2.0 - MonitorEntry
  6297.     AX = 0005h
  6298.     BX = priority
  6299. SeeAlso: AX=0006h
  6300. ----------E40006-----------------------------
  6301. INT E4 - Logitech Modula v2.0 - MonitorExit
  6302.     AX = 0006h
  6303. SeeAlso: AX=0005h
  6304. ----------E4---------------------------------
  6305. INT E4 - IBM ROM BASIC - used while in interpreter
  6306. Notes:    called by ROM BASIC
  6307.     BASIC.COM/BASICA.COM do not restore vector on termination
  6308. ----------E5---------------------------------
  6309. INT E5 - IBM ROM BASIC - used while in interpreter
  6310. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  6311.     BASIC.COM/BASICA.COM do not restore vector on termination
  6312. ----------E6---------------------------------
  6313. INT E6 - IBM ROM BASIC - used while in interpreter
  6314. Notes:    called by ROM BASIC
  6315.     BASIC.COM/BASICA.COM do not restore vector on termination
  6316. ----------E7---------------------------------
  6317. INT E7 - IBM ROM BASIC - used while in interpreter
  6318. Notes:    called by ROM BASIC
  6319.     BASIC.COM/BASICA.COM do not restore vector on termination
  6320. ----------E8---------------------------------
  6321. INT E8 - IBM ROM BASIC - used while in interpreter
  6322. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  6323.     BASIC.COM/BASICA.COM do not restore vector on termination
  6324. ----------E9---------------------------------
  6325. INT E9 - IBM ROM BASIC - used while in interpreter
  6326. Notes:    called by ROM BASIC
  6327.     BASIC.COM/BASICA.COM do not restore vector on termination
  6328. ----------EA---------------------------------
  6329. INT EA - IBM ROM BASIC - used while in interpreter
  6330. Notes:    called by ROM BASIC
  6331.     BASIC.COM/BASICA.COM do not restore vector on termination
  6332. ----------EB---------------------------------
  6333. INT EB - IBM ROM BASIC - used while in interpreter
  6334. Notes:    called by ROM BASIC
  6335.     BASIC.COM/BASICA.COM do not restore vector on termination
  6336. ----------EC---------------------------------
  6337. INT EC - IBM ROM BASIC - used while in interpreter
  6338. Notes:    called by ROM BASIC
  6339.     BASIC.COM/BASICA.COM do not restore vector on termination
  6340. ----------EC---------------------------------
  6341. INT EC - used by Alloy NTNX
  6342. ----------EC---------------------------------
  6343. INT EC - Exact - RUNTIME INTERFACE MULTIPLEXOR
  6344.     AX = function number (0000h to 0140h)
  6345.     STACK:    DWORD address to return to
  6346.         any arguments required by function
  6347. Return: STACK:    return address popped, but otherwise unchanged
  6348. Notes:    this is the interface from applications to the runtime system by Exact
  6349.       Automatisering B.V. of the Netherlands.  By using this interrupt,
  6350.       it can provide DLL-style capabilities under MSDOS.
  6351.     the interrupt handler removes the return address and flags placed on
  6352.       the stack by the INT EC, then jumps to the appropriate function
  6353. ----------ED---------------------------------
  6354. INT ED - IBM ROM BASIC - used while in interpreter
  6355. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  6356.     BASIC.COM/BASICA.COM do not restore vector on termination
  6357.     INT 80 through INT ED are modified but not restored by Direct Access
  6358.       v4.0, and may be left dangling by other programs written with the
  6359.       same version of compiled BASIC
  6360. SeeAlso: INT EC"BASIC",INT EE"BASIC"
  6361. ----------EE---------------------------------
  6362. INT EE - IBM ROM BASIC - used while in interpreter
  6363. Notes:    called by ROM BASIC, but pointed at IRET by BASIC.COM/BASICA.COM
  6364.     BASIC.COM/BASICA.COM do not restore vector on termination
  6365. SeeAlso: INT ED"BASIC",INT EE"BASIC"
  6366. ----------EF---------------------------------
  6367. INT EF - BASIC - ORIGINAL INT 09 VECTOR
  6368. Note:    BASIC.COM/BASICA.COM do not restore vector on termination
  6369. SeeAlso: INT EE"BASIC",INT F0"BASIC"
  6370. ----------EF----CX0473-----------------------
  6371. INT EF - GEM - INTERFACE
  6372.     CX = 0473h
  6373.     DS:DX -> GEM parameter block
  6374. ----------F0---------------------------------
  6375. INT F0 - BASICA.COM, GWBASIC, compiled BASIC - ORIGINAL INT 08 VECTOR
  6376. Note:    BASICA.COM does not restore vector on termination
  6377. SeeAlso: INT EF"BASIC"
  6378. ----------F1---------------------------------
  6379. INT F1 - reserved for user interrupt
  6380. ----------F1---------------------------------
  6381. INT F1 - SPEECH.COM - CONVERT TEXT STRING TO SPEECH
  6382.     DS:BX -> '$'-terminated text string
  6383. Note:    SPEECH.COM is a resident text-to-speech converter by Douglas Sisco
  6384. ----------F1---------------------------------
  6385. INT F1 - Andy C. McGuire SPEECH.COM/SAY.COM
  6386. SeeAlso: INT F2"SPEECH"
  6387. ----------F1---------------------------------
  6388. INT F1 - AQUEDUCT, PIPELINE - GET DATA AREA ADDRESS
  6389. Return: AX:BX -> data area
  6390. Notes:    AQUEDUCT and PIPELINE are TSRs by James W. Birdsall to connect COM1
  6391.       and COM2 in software
  6392.     The installation check consists of testing for the following signature
  6393.       immediately preceding the interrupt handler: "JWBtvv" where 't' is
  6394.       either "A" for AQUEDUCT or "P" for PIPELINE and "vv" is a two-digit
  6395.       version number
  6396. ----------F2---------------------------------
  6397. INT F2 - reserved for user interrupt
  6398. ----------F2---------------------------------
  6399. INT F2 - Andy C. McGuire SPEECH.COM/SAY.COM
  6400. SeeAlso: INT F1"SPEECH"
  6401. ----------F2---------------------------------
  6402. INT F2 - ICCTSR 1.0 - ImageCapture COLOR Developer's Kit - API
  6403.     AH = function
  6404.         01h power up
  6405.         02h power down
  6406.         03h set controls
  6407.         04h capture image
  6408.         05h display image
  6409.         06h read file
  6410.         07h write file
  6411.         08h write array
  6412.         09h read pixel
  6413.         0Ah write pixel
  6414.         0Bh check if VGA present
  6415.         0Ch set video mode
  6416.         0Dh check for keystroke
  6417.         0Eh delay
  6418.     ???
  6419. Return: ???
  6420. Program: ImageCapture is a product of International Computers
  6421. SeeAlso: INT F3"ICCTSR"
  6422. ----------F3---------------------------------
  6423. INT F3 - reserved for user interrupt
  6424. ----------F3---------------------------------
  6425. INT F3 - SoundBlaster - POINTER TO ECHO VALUE
  6426. Note:    this is not a vector, but a pointer to a DWORD containing the echo
  6427.       value selected with SET-ECHO.EXE
  6428. SeeAlso: INT 2F/AX=FBFBh
  6429. ----------F3---------------------------------
  6430. INT F3 - ICCTSR 1.0 - HANDSHAKE ID VECTOR
  6431. Program: ImageCapture is a product of International Computers
  6432. SeeAlso: INT F2"ICCTSR"
  6433. ----------F4---------------------------------
  6434. INT F4 - reserved for user interrupt
  6435. ----------F4---------------------------------
  6436. INT F4 - DoubleDOS - GIVE UP REST OF CURRENT CLOCK TICK AND ALL OF NEXT TICK
  6437. SeeAlso: INT 21/AH=EEh"DoubleDOS",INT FE"DoubleDOS"
  6438. ----------F5---------------------------------
  6439. INT F5 - reserved for user interrupt
  6440. ----------F5---------------------------------
  6441. INT F5 - DoubleDOS - ???
  6442. ----------F6---------------------------------
  6443. INT F6 - reserved for user interrupt
  6444. ----------F6---------------------------------
  6445. INT F6 - DoubleDOS - ???
  6446. ----------F7---------------------------------
  6447. INT F7 - reserved for user interrupt
  6448. ----------F7---------------------------------
  6449. INT F7 - DoubleDOS - ???
  6450. ----------F700-------------------------------
  6451. INT F7 - FSBBS 2.0 - CONFIGURATION RECORD
  6452.     AH = 00h
  6453.     AL = function
  6454.         00h get configuration record
  6455.         Return: DS:DX -> configuration record
  6456.         01h set configuration record
  6457.         02h get path for option
  6458.         DS:DX -> option name
  6459.         Return: DS:DX -> path
  6460.         03h determine whether configuration record set
  6461.         Return: AX = status
  6462.                 0000h set
  6463.                 0001h not yet set
  6464.         04h get link state
  6465.         Return: AX = state
  6466.                 0000h unlinked
  6467.                 0001h linked
  6468. Notes:    this information is preliminary and still subject to change
  6469.     all of the INT F7 calls for FSBBS are used for interprogram
  6470.       communication between the BBS kernel and the programs it spawns
  6471. SeeAlso: AH=01h
  6472. ----------F701-------------------------------
  6473. INT F7 - FSBBS 2.0 - USER RECORD
  6474.     AH = 01h
  6475.     AL = function
  6476.         00h get user record for user currently online
  6477.         Return: DS:DX -> user record
  6478.         01h set user record
  6479.         DS:DX -> user record
  6480. SeeAlso: AH=00h,AH=02h
  6481. ----------F702-------------------------------
  6482. INT F7 - FSBBS 2.0 - GET ACCOUNT NAME
  6483.     AH = 02h
  6484. Return: DS:DX -> 8-character blank-padded account name
  6485. SeeAlso: AH=01h
  6486. ----------F703-------------------------------
  6487. INT F7 - FSBBS 2.0 - TERMINAL NUMBER
  6488.     AH = 03h
  6489.     AL = function
  6490.         00h get terminal index number
  6491.         Return: DX = index number
  6492.         01h set terminal index number
  6493.         DX = terminal index
  6494. ----------F704-------------------------------
  6495. INT F7 - FSBBS 2.0 - PASSDATA BUFFER
  6496.     AH = 04h
  6497.     AL = function
  6498.         00h get PassData buffer contents
  6499.         DS:DX -> buffer for PassData contents
  6500.         01h set PassData contents
  6501.         DS:DX -> buffer containing new PassData
  6502.         CH = length of data in buffer
  6503. ----------F705-------------------------------
  6504. INT F7 - FSBBS 2.0 - TIMER FUNCTIONS
  6505.     AH = 05h
  6506.     AL = function
  6507.         00h get time remaining
  6508.         Return: DX = number of minutes remaining
  6509.         01h get current time
  6510.         Return: DS:DX -> 8-character time string
  6511.         02h increment time
  6512.         DX = number of additional minutes
  6513.         03h decrement time
  6514.         DX = number of minutes
  6515. SeeAlso: AH=06h
  6516. ----------F706-------------------------------
  6517. INT F7 - FSBBS 2.0 - FUNCTION AVAILABILITY
  6518.     AH = 06h
  6519.     AL = function
  6520.         00h determine whether function is available
  6521.         DX = index of function
  6522.         01h set function availability
  6523.         DX = index of function
  6524.         ???
  6525. SeeAlso: AH=05h,AH=07h
  6526. ----------F707-------------------------------
  6527. INT F7 - FSBBS 2.0 - DUMP FUNCTIONS
  6528.     AH = 07h
  6529.     AL = function
  6530.         00h get current dump mode
  6531.         Return: DL = mode
  6532.         01h set dump mode
  6533.         DL = mode
  6534. SeeAlso: AH=06h
  6535. ----------F8---------------------------------
  6536. INT F8 - TANDY??? - 100 HZ INTERRUPT
  6537. SeeAlso: INT FA"USART"
  6538. ----------F8---------------------------------
  6539. INT F8 - DoubleDOS - ???
  6540. ----------F9---------------------------------
  6541. INT F9 - reserved for user interrupt
  6542. ----------F9---------------------------------
  6543. INT F9 - DoubleDOS - ???
  6544. ----------FA---------------------------------
  6545. INT FA - TANDY??? - SERIAL PORT USART INTERRUPT
  6546. SeeAlso: INT F8"100 HZ",INT FB"USART"
  6547. ----------FA---------------------------------
  6548. INT FA - DoubleDOS - TURN OFF TIMESHARING
  6549. SeeAlso: INT 21/AH=EAh"DoubleDOS",INT FB"DoubleDOS"
  6550. ----------FB---------------------------------
  6551. INT FB - TANDY??? - KEYBOARD USART RECEIVE INTERRUPT
  6552. SeeAlso: INT FA"USART"
  6553. ----------FB---------------------------------
  6554. INT FB - DoubleDOS - TURN ON TIMESHARING
  6555. SeeAlso: INT 21/AH=EBh"DoubleDOS",INT FA"DoubleDOS"
  6556. ----------FC---------------------------------
  6557. INT FC - reserved for user interrupt
  6558. ----------FC---------------------------------
  6559. INT FC - DoubleDOS - GET CURRENT SCREEN BUFFER ADDRESS
  6560. Return: ES = segment of display buffer
  6561. Note:    the display buffer may be moved if multitasking is enabled
  6562. SeeAlso: INT 21/AH=ECh"DoubleDOS",INT FB"DoubleDOS"
  6563. ----------FD---------------------------------
  6564. INT FD - reserved for user interrupt
  6565. ----------FD---------------------------------
  6566. INT FD - DoubleDOS - ???
  6567. ----------FE---------------------------------
  6568. INT FE - AT/XT286/PS50+ - destroyed by return from protected mode
  6569. SeeAlso: INT FF"XT286"
  6570. ----------FE---------------------------------
  6571. INT FE - DoubleDOS - GIVE UP TIME
  6572.     AL = number of 55ms time slices to give away
  6573. SeeAlso: INT 21/AH=EEh"DoubleDOS",INT F4"DoubleDOS"
  6574. ----------FE---------------------------------
  6575. INT FE - Turbo Debugger 8086 v2.5+ - OVERLAY MANAGER
  6576. SeeAlso: INT 3F
  6577. ----------FF---------------------------------
  6578. INT FF - AT/XT286/PS50+ - destroyed by return from protected mode
  6579. SeeAlso: INT FE"XT286"
  6580. ----------FF---------------------------------
  6581. INT FF - Z100 - WARM BOOT
  6582. SeeAlso: INT 40"Z100"
  6583. ---------------------------------------------
  6584. Please redistribute the following files unmodified as a group, in a pair of
  6585. archives named INTER32A and INTER32B (preferably the original authenticated
  6586. PKZIP archives):
  6587.     INTERRUP.1ST    the read-me file, containing credits, availability info
  6588.     INTERRUP.A    INT 00 through INT 14
  6589.     INTERRUP.B    INT 15 through INT 1F
  6590.     INTERRUP.C    INT 20 through INT 21/7F
  6591.     INTERRUP.D    INT 21/80 through INT 2E
  6592.     INTERRUP.E    INT 2F through INT 2F/BF
  6593.     INTERRUP.F    INT 2F/C0 through INT 4F
  6594.     INTERRUP.G    INT 50 through INT 67
  6595.     INTERRUP.H    INT 68 through INT FF
  6596.     INTERRUP.PRI    a brief introduction to interrupts
  6597.     INTPRINT.COM    a simple formatter that also generates a list summary
  6598.     INTPRINT.DOC    instructions for INTPRINT
  6599.     GLOSSARY.LST    a glossary of terms, abbreviations, and acronyms
  6600.     MEMORY.LST    format of the BIOS data area
  6601. The following files should be distributed in an archive called INTER32C:
  6602.     INT.COM        invoke interrupts from commandline
  6603.     INT2HLP.BAT    Perl script to convert list into QuickHelp database
  6604.     INT2GUID.*    convert list into TurboPower GUIDE or POPHELP database
  6605.     INT2QH.*    program to convert list into QuickHelp database
  6606.     INTHELP.*    convert list into TurboPower GUIDE database
  6607.     INTLIST.E    Epsilon extension for handling list
  6608.     INTPRINT.C    source code for INTPRINT
  6609. This compilation is Copyright (c) 1989, 1990, 1991, 1992 Ralf Brown
  6610. ---------------------------------------------
  6611. ARPA: ralf@cs.cmu.edu
  6612. UUCP: {ucbvax,harvard}!cs.cmu.edu!ralf
  6613. BIT:  ralf%cs.cmu.edu@carnegie
  6614. FIDO: Ralf Brown 1:129/26.1
  6615.     or post a message to me in the DR_DEBUG echo (I probably won't see it
  6616.     unless you address it to me)
  6617. CIS:  >INTERNET:ralf@cs.cmu.edu
  6618.  
  6619. Downloaded From P-80 International Information Systems 304-744-2253
  6620.