home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / CLIPPER / MISC / INTER34B.ZIP / INTERRUP.H < prev    next >
Encoding:
Text File  |  1993-04-03  |  249.8 KB  |  7,081 lines

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