home *** CD-ROM | disk | FTP | other *** search
/ RBBS in a Box Volume 1 #3.1 / RBBSIABOX31.cdr / dull / dosref.doc < prev    next >
Text File  |  1987-10-03  |  25KB  |  416 lines

  1.  
  2. Interrupt Address Function                   BIOS Entry ( * = see table )
  3.  Vector    (Hex)
  4.     0      00-03  Divide by Zero             Unused (D11 A-81)
  5.     1      04-07  Single Step                Unused (D11 A-81)
  6.     2      08-0B  Nonmaskable                NMI_INT (A-72)
  7.     3      0C-0F  Breakpoint                 Unused (D11 A-81)
  8.     4      10-13  Overflow                   Unused (D11 A-81)
  9.     5      14-17  Print Screen               PRINT_SCREEN (A-81)
  10.     6      18-1B  Reserved                   Unused (D11 A-81)
  11.     7      1C-1F  Reserved                   Unused (D11 A-81)
  12.     8      20-23  Time of Day                TIMER_INT (A-79)
  13.     9      24-27  Keyboard                   KB_INT (A-28)
  14.     A      28-2B  Reserved       [      ]    Unused (D11 A-81)
  15.     B      2C-2F  Communications [ 8259 ]    Unused (D11 A-81)
  16.     C      30-33  Communications [      ]    Unused (D11 A-81)
  17.     D      34-37  Disk                       Unused (D11 A-81)
  18.     E      38-3B  Diskette                   DISK_INT (A-43)
  19.     F      3C-3F  Printer                    Unused (D11 A-81)
  20.    10 *    40-43  Video                      VIDEO_IO (A-46)
  21.    11 *    44-47  Equipment Check            EQUIPMENT (A-72)
  22.    12 *    48-4B  Memory                     MEMORY_SIZE_DET (A-71)
  23.    13 *    4C-4F  Diskette/Disk              DISKETTE_IO (A-35)
  24.    14 *    50-53  Communications             RS232_IO (A-22)
  25.    15      54-57  Cassette                   CASSETTE_IO (A-72)
  26.    16 *    58-5B  Keyboard                   KEYBOARD_IO (A-24)
  27.    17 *    5C-5F  Printer                    PRINTER_IO (A-45)
  28.    18      60-63  Resident BASIC             F600:0000
  29.    19      64-67  Bootstrap                  BOOT_STRAP (A-20)
  30.    1A *    68-6B  Time of day                TIME_OF_DAY (A-79)
  31.    1B      6C-6F  Keyboard Break             DUMMY_RETURN (A-81)
  32.    1C      70-73  Timer Tick                 DUMMY_RETURN (A-81)
  33.    1D      74-77  Video Initialization       VIDEO_PARMS (A-48)
  34.    1E      78-7B  Diskette Parameters        DISK_BASE (A-44)
  35.    1F      7C-7F  Video Graphics Characters  0
  36.    20 *    80-83            General program termination
  37.    21      84-87            DOS function request
  38.    22      88-8B            Called program termination address
  39.    23      8C-8F            Control Break termination address
  40.    24      90-93            Critical error handler
  41.    25      94-97            Absolute disk read
  42.    26      98-9B            Absolute disk write
  43.    27      9C-9F            Terminate but stay resident
  44.  
  45. Interrupt Address Function                   BIOS Entry
  46.  Vector    (Hex)
  47.     0      00-03  Divide by Zero             Unused (D11 A-81)
  48.     1      04-07  Single Step                Unused (D11 A-81)
  49.     2      08-0B  Nonmaskable                NMI_INT (A-72)
  50.     3      0C-0F  Breakpoint                 Unused (D11 A-81)
  51.     4      10-13  Overflow                   Unused (D11 A-81)
  52.     5      14-17  Print Screen               PRINT_SCREEN (A-81)
  53.     6      18-1B  Reserved                   Unused (D11 A-81)
  54.     7      1C-1F  Reserved                   Unused (D11 A-81)
  55.     8      20-23  Time of Day                TIMER_INT (A-79)
  56.     9      24-27  Keyboard                   KB_INT (A-28)
  57.     A      28-2B  Reserved       [      ]    Unused (D11 A-81)
  58.     B      2C-2F  Communications [ 8259 ]    Unused (D11 A-81)
  59.     C      30-33  Communications [      ]    Unused (D11 A-81)
  60.     D      34-37  Disk                       Unused (D11 A-81)
  61.     E      38-3B  Diskette                   DISK_INT (A-43)
  62.     F      3C-3F  Printer                    Unused (D11 A-81)
  63. ┌─────────────────────────────────────────────────────────────────────────┐
  64. │  10      40-43  Video                      VIDEO_IO (A-46)              │
  65. ├───┬─────────────────────────────────────────────────────────────────────┤
  66. │   │ AH=0 Set Mode                                                       │
  67. │   ├──┬───────────────────────────────┬──────────────────────────────────┤
  68. │   │  │ AL=0 40X25 BW (POR Default)   │   AL=4 320X200 Color             │
  69. │   │  │ AL=1 40X25 Color              │   AL=5 320X200 BW                │
  70. │   │  │ AL=2 80X25 BW                 │   AL=6 640X200 BW                │
  71. │   │  │ AL=3 80X25 Color              │   AL=7 80X25 Monochrome Card     │
  72. │   ├──┴───────────────────────────────┴──────────────────────────────────┤
  73. │   │ AH=1 Set Cursor Type                                                │
  74. │   ├──┬──────────────────────────────────────────────────────────────────┤
  75. │   │  │ CH= Bits 4-0 = Start Line for Cursor                             │
  76. │   │  │ CL= Bits 4-0 = End Line for Cursor                               │
  77. │   ├──┴──────────────────────────────────────────────────────────────────┤
  78. │   │ AH=2 Set Cursor Position                                            │
  79. │   ├──┬──────────────────────────────────────────────────────────────────┤
  80. │   │  │ DH,DL= Row,Column (0,0 is upper left)                            │
  81. │   │  │ BH= Page Number (Must be 0 for graphics modes)                   │
  82. │   ├──┴──────────────────────────────────────────────────────────────────┤
  83. │   │ AH=3 Read Cursor Position                                           │
  84. │   ├──┬──────────────────────────────────────────────────────────────────┤
  85. │   │  │ BH= Page Number (Must be 0 for graphics modes)                   │
  86. │   │  │ On Exit DH,DL= Row,Column                                        │
  87. │   │  │         CH,CL= Cursor Mode Currently Set                         │
  88. │   ├──┴──────────────────────────────────────────────────────────────────┤
  89. │   │ AH=4 Read Light Pen Position                                        │
  90. │   ├──┬──────────────────────────────────────────────────────────────────┤
  91. │   │  │ On Exit AH=0 Light Pen Switch Not Down/Not Triggered             │
  92. │   │  │         AH=1 Valid Light Pen Value in Registers                  │
  93. │   │  │         DH,DL= Row,Column of Character Light Pen Position        │
  94. │   │  │         CH= Raster Line (0-199)                                  │
  95. │   │  │         BX= Pixel Column (0-319 or 639)                          │
  96. │   ├──┴──────────────────────────────────────────────────────────────────┤
  97. │   │ AH=5 Select Active Display Page                                     │
  98. │   ├──┬──────────────────────────────────────────────────────────────────┤
  99. │   │  │ AL= New Page (0-7 for Modes 0&1, 0-3 for Modes 2&3)              │
  100. │   ├──┴──────────────────────────────────────────────────────────────────┤
  101. │   │ AH=6 Scroll Active Page Up                                          │
  102. │   ├──┬──────────────────────────────────────────────────────────────────┤
  103. │   │  │ AL= Number of Lines, Input Lines Blanked at Bottom of Window     │
  104. │   │  │     0 Means Blank Entire Window                                  │
  105. │   │  │ CH,CL= Row,Column of Upper Left Corner of Scroll                 │
  106. │   │  │ DH,DL= Row,Column of Lower Right Corner of Scroll                │
  107. │   │  │ BH= Attribute to be used on blank line                           │
  108. │   ├──┴──────────────────────────────────────────────────────────────────┤
  109. │   │ AH=7 Scroll Active Page Down                                        │
  110. │   ├──┬──────────────────────────────────────────────────────────────────┤
  111. │   │  │ AL= Number of Lines, Input Lines Blanked at Top of Window        │
  112. │   │  │     0 Means Blank Entire Window                                  │
  113. │   │  │ CH,CL= Row,Column of Upper Left Corner of Scroll                 │
  114. │   │  │ DH,DL= Row,Column of Lower Right Corner of Scroll                │
  115. │   │  │ BH= Attribute to be used on blank line                           │
  116. │   ├──┴──────────────────────────────────────────────────────────────────┤
  117. │   │ AH=8 Read Attribute/Character at Current Position                   │
  118. │   ├──┬──────────────────────────────────────────────────────────────────┤
  119. │   │  │ BH= Display Page (Valid for alpha modes only)                    │
  120. │   │  │ On Exit AL= Character Read                                       │
  121. │   │  │         AH= Attribute of Character Read (alpha modes only)       │
  122. │   ├──┴──────────────────────────────────────────────────────────────────┤
  123. │   │ AH=9 Write Attribute/Character at Current Position                  │
  124. │   ├──┬──────────────────────────────────────────────────────────────────┤
  125. │   │  │ BH= Display Page (Valid for alpha modes only)                    │
  126. │   │  │ CX= Count of Characters to Write                                 │
  127. │   │  │ AL= Character to Write                                           │
  128. │   │  │ BL= Attribute of Character (alpha)/Color of Character (graphics) │
  129. │   │  │     If Bit 7 = 1 color value is exclusive or'd with current value│
  130. │   ├──┴──────────────────────────────────────────────────────────────────┤
  131. │   │ AH=10 Write Character Only at Current Position                      │
  132. │   ├──┬──────────────────────────────────────────────────────────────────┤
  133. │   │  │ BH= Display Page (Valid for alpha modes only)                    │
  134. │   │  │ CX= Count of Characters to Write                                 │
  135. │   │  │ AL= Character to Write                                           │
  136. │   ├──┴──────────────────────────────────────────────────────────────────┤
  137. │   │ AH=11 Set Color Palette                                             │
  138. │   ├──┬──────────────────────────────────────────────────────────────────┤
  139. │   │  │ BH= Palette Color ID being set (0 or 1)                          │
  140. │   │  │ BL= Color Value to be used with that Color ID                    │
  141. │   │  │     Color ID = 0 selects background color (0-15)                 │
  142. │   │  │     Color ID = 1 selects palette to be used                      │
  143. │   │  │     Palette = 0: Green(1)/Red(2)/Yellow(3)                       │
  144. │   │  │     Palette = 1: Cyan(1)/Magenta(2)/White(3)                     │
  145. │   ├──┴──────────────────────────────────────────────────────────────────┤
  146. │   │ AH=12 Write Dot                                                     │
  147. │   ├──┬──────────────────────────────────────────────────────────────────┤
  148. │   │  │ DX= Row Number                                                   │
  149. │   │  │ CX= Column Number                                                │
  150. │   │  │ AL= Color Value                                                  │
  151. │   │  │     If Bit 7 = 1 color value is exclusive or'd with current value│
  152. │   ├──┴──────────────────────────────────────────────────────────────────┤
  153. │   │ AH=13 Read Dot                                                      │
  154. │   ├──┬──────────────────────────────────────────────────────────────────┤
  155. │   │  │ DX= Row Number                                                   │
  156. │   │  │ CX= Column Number                                                │
  157. │   │  │ AL= Returns the Dot Read                                         │
  158. │   ├──┴──────────────────────────────────────────────────────────────────┤
  159. │   │ AH=14 Write Teletype to Active Page                                 │
  160. │   ├──┬──────────────────────────────────────────────────────────────────┤
  161. │   │  │ AL= Character to write                                           │
  162. │   │  │ BL= Foreground color in graphics mode                            │
  163. │   ├──┴──────────────────────────────────────────────────────────────────┤
  164. │   │ AH=15 Current Video State                                           │
  165. │   ├──┬──────────────────────────────────────────────────────────────────┤
  166. │   │  │ On Exit AL= Mode currently set                                   │
  167. │   │  │         AH= Number of character columns on screen                │
  168. │   │  │         BH= Current active display page                          │
  169. └───┴──┴──────────────────────────────────────────────────────────────────┘
  170.    11      44-47  Equipment Check            EQUIPMENT (A-72)
  171.       ┌─────────────────────────────────────────────────────────────────────┐
  172.       │ AX is set to indicate attached I/O                                  │
  173.       ├──┬──────────────────────────────────────────────────────────────────┤
  174.       │  │ Bit 15,14= Number of printers attached                           │
  175.       │  │ Bit 13   = Not used                                              │
  176.       │  │ Bit 12   = Game I/O attached                                     │
  177.       │  │ Bit 11,10,9= Number of RS232 cards attached                      │
  178.       │  │ Bit 8    = Not used                                              │
  179.       │  │ Bit 7,6  = Number of diskette drives (only if Bit 0 = 1)         │
  180.       │  │    00=1, 01=2, 10=3, 11=4                                        │
  181.       │  │ Bit 5,4= Initial video mode                                      │
  182.       │  │    00= Unused                                                    │
  183.       │  │    01= 40X25 BW using color card                                 │
  184.       │  │    10= 80X25 BW using color card                                 │
  185.       │  │    11= 80X25 BW using BW card                                    │
  186.       │  │ Bit 3,2= Planar RAM size (00=16K,01=32K,10=48K,11=64K)           │
  187.       │  │ Bit 1  = Not used                                                │
  188.       │  │ Bit 0  = IPL from diskette (there are drives present in system)  │
  189.       └──┴──────────────────────────────────────────────────────────────────┘
  190.    12      48-4B  Memory                     MEMORY_SIZE_DET (A-71)
  191.       ┌─────────────────────────────────────────────────────────────────────┐
  192.       │ AX= Number of contiguous 1K blocks of memory                        │
  193.       └─────────────────────────────────────────────────────────────────────┘
  194.    13      4C-4F  Diskette/Disk              DISKETTE_IO (A-35)
  195.       ┌─────────────────────────────────────────────────────────────────────┐
  196.       │ AH=0 Reset the Diskette System                                      │
  197.       ├─────────────────────────────────────────────────────────────────────┤
  198.       │ AH=1 Read the Status of the system into AL                          │
  199.       ├─────────────────────────────────────────────────────────────────────┤
  200.       │ AH=2 Read the desired sectors into memory                           │
  201.       ├─────────────────────────────────────────────────────────────────────┤
  202.       │ AH=3 Write the desired sectors from memory                          │
  203.       ├─────────────────────────────────────────────────────────────────────┤
  204.       │ AH=4 Verify the desired sectors                                     │
  205.       ├─────────────────────────────────────────────────────────────────────┤
  206.       │ AH=5 Format the desired track                                       │
  207.       ├──┬──────────────────────────────────────────────────────────────────┤
  208.       │  │For Read/Write/Verify/Format                                      │
  209.       │  ├──┬───────────────────────────────────────────────────────────────┤
  210.       │  │  │ Input                                                         │
  211.       │  │  ├──┬────────────────────────────────────────────────────────────┤
  212.       │  │  │  │ DL= Drive Number (0-3) (value checked)                     │
  213.       │  │  │  │ DH= Head Number (0-1)                                      │
  214.       │  │  │  │ CH= Track Number (0-39)                                    │
  215.       │  │  │  │ CL= Sector Number (1-8) (not used for format)              │
  216.       │  │  │  │ AL= Number of sectors(1-8) (not used for format)           │
  217.       │  │  │  │ ES:BX= address of buffer (not required for verify)         │
  218.       │  │  ├──┴────────────────────────────────────────────────────────────┤
  219.       │  │  │ Output                                                        │
  220.       │  │  ├──┬────────────────────────────────────────────────────────────┤
  221.       │  │  │  │ AH= status of operations                                   │
  222.       │  │  │  ├──┬─────────────────────────────────────────────────────────┤
  223.       │  │  │  │  │ 80H= attachment failed to respond                       │
  224.       │  │  │  │  │ 40H= seek operation failed                              │
  225.       │  │  │  │  │ 20H= NEC controller has failed                          │
  226.       │  │  │  │  │ 10H= Bad CRC on diskette read                           │
  227.       │  │  │  │  │ 09H= attempt to DMA accross 64K boundary                │
  228.       │  │  │  │  │ 08H= DMA overrun on operation                           │
  229.       │  │  │  │  │ 04H= requested sector not found                         │
  230.       │  │  │  │  │ 03H= write attempted on write protected diskette        │
  231.       │  │  │  │  │ 02H= address mark not found                             │
  232.       │  │  │  │  │ 01H= bad command passed to diskette I/O                 │
  233.       │  │  │  ├──┴─────────────────────────────────────────────────────────┤
  234.       │  │  │  │ CY= 0 successful operation, AH=0                           │
  235.       │  │  │  │ CY= 1 Failed operation                                     │
  236.       └──┴──┴──┴────────────────────────────────────────────────────────────┘
  237.    14      50-53  Communications             RS232_IO (A-22)
  238.       AH=0 Initialize communications port
  239.         AL=Parms:
  240.         7       6       5       4       3       2       1       0
  241.         ------Baud ------       -Parity--    StopBit    --WordLength
  242.         000 - 110               X0 - none     0 - 1     10 - 7 bits
  243.         001 - 150               01 - odd      1 - 2     11 - 8 bits
  244.         010 - 300               11 - even
  245.         011 - 600
  246.         100 - 1200
  247.         101 - 2400
  248.         110 - 4800
  249.         111 - 9600
  250.         On Exit, registers set as in AH=3
  251.       AH=1 send the character in AL over the commo line
  252.         On Exit, AH bit 7 = 1 if unable to transmit byte
  253.       AH=2 receive a character in AL from commo line
  254.       AH=3 return the commo port status in AX
  255.         AH contains the line status
  256.           Bit 7 = time out
  257.           Bit 6 = trans shift register empty
  258.           Bit 5 = tran holding register empty
  259.           Bit 4 = break detect
  260.           Bit 3 = framing error
  261.           Bit 2 = parity error
  262.           Bit 1 = overrun error
  263.           Bit 0 = data ready
  264.         AL contains the modem status
  265.           Bit 7 = received line signal detect
  266.           Bit 6 = ring indicator
  267.           Bit 5 = data set ready
  268.           Bit 4 = clear to send
  269.           Bit 3 = delta receive line signal detect
  270.           Bit 2 = trailing edge ring detector
  271.           Bit 1 = delta data set ready
  272.           Bit 0 = delta clear to send
  273.       DX= parameter indicating which RS232 card (0,1)
  274.    15      54-57  Cassette                   CASSETTE_IO (A-72)
  275.    16      58-5B  Keyboard                   KEYBOARD_IO (A-24)
  276.       AH=0 read the next ASCII character struck from the keyboard
  277.            return the result in AL, scan code in AH
  278.       AH=1 set the Z flag to indicate if an ASCII character is
  279.            available to be read ZF=0 code is available
  280.       AH=2 return the current shift status in AL
  281.            Bit 7= insert state is active
  282.            Bit 6= caps lock state has been toggled
  283.            Bit 5= num lock state has been toggled
  284.            Bit 4= scroll lock state has been toggled
  285.            Bit 3= alternate shift key depressed
  286.            Bit 2= control shift key depressed
  287.            Bit 1= left shift key depressed
  288.            Bit 0= right shift key depressed
  289.    17      5C-5F  Printer                    PRINTER_IO (A-45)
  290.       AH=0 print the character in AL
  291.         On Exit, AH=1 if character could not be printed (time out)
  292.       AH=1 initialize the printer port
  293.       AH=2 read the printer status into AH
  294.            Bit 7= 1=not busy
  295.            Bit 6= 1=acknowledge
  296.            Bit 5= 1=out of paper
  297.            Bit 4= 1=selected
  298.            Bit 3= 1= I/O error
  299.            Bit 2,1 unused
  300.            Bit 0= 1=Time Out
  301.       DX= Printer to be used (0,1,2)
  302.    18      60-63  Resident BASIC             F600:0000
  303.    19      64-67  Bootstrap                  BOOT_STRAP (A-20)
  304.    1A      68-6B  Time of day                TIME_OF_DAY (A-79)
  305.       AH= 0 read the current clock setting
  306.         On Exit CX= high portion of count
  307.                 DX= low portion of count
  308.                 AL= 0 if timer has not passed 24 hours since last read
  309.       AH=1 set the current clock
  310.         CX= high portion of count
  311.         DX= low portion of count
  312.    1B      6C-6F  Keyboard Break             DUMMY_RETURN (A-81)
  313.    1C      70-73  Timer Tick                 DUMMY_RETURN (A-81)
  314.    1D      74-77  Video Initialization       VIDEO_PARMS (A-48)
  315.    1E      78-7B  Diskette Parameters        DISK_BASE (A-44)
  316.    1F      7C-7F  Video Graphics Characters  0
  317.    20      80-83            General program termination
  318.    21      84-87            DOS function request
  319.    22      88-8B            Called program termination address
  320.    23      8C-8F            Control Break termination address
  321.    24      90-93            Critical error handler
  322.    25      94-97            Absolute disk read
  323.    26      98-9B            Absolute disk write
  324.    27      9C-9F            Terminate but stay resident
  325.  
  326. Function Call Summary   ( * = not documented )
  327. Number  Description
  328.  
  329.   0     Program Terminate
  330.   1     Keyboard input.
  331.   2     Display output.
  332.   3     Auxiliary (Async) input.
  333.   4     Auxiliary (Axync) output.
  334.   5     Printer output.
  335.   6     Direct console I/O.
  336.   7     Direct console input without echo.
  337.   8     Console input without echo.
  338.   9     Print string.
  339.   A     Buffered keyboard input.
  340.   B     Check standard input status.
  341.   C     Clear keyboard buffer and invoke a keyboard function.
  342.   D     Disk reset.
  343.   E     Select disk.
  344.   F     Open file.
  345.  10     Close a file
  346.  11     Search for the first entry.
  347.  12     Search for the next entry.
  348.  13     Delete file.
  349.  14     Sequential read.
  350.  15     Sequential write.
  351.  16     Create file.
  352.  17     Rename file.
  353.  18    *Unused.
  354.  19     Current disk.
  355.  1A     Set disk transfer address.
  356.  1B     Allocation table information.
  357.  1C     Allocation table information for specific drive.
  358.  1D    *Unused.
  359.  1E    *Unused.
  360.  1F    *Get the default DOS Parameter Block in DS:BX
  361.  20    *Unused.
  362.  21     Random read.
  363.  22     Random write.
  364.  23     File size.
  365.  24     Set random record field.
  366.  25     Set interrupt vector.
  367.  26     Create a new program segment.
  368.  27     Random block read.
  369.  28     Random block write.
  370.  29     Parse filename.
  371.  2A     Get date.
  372.  2B     Set date.
  373.  2C     Get time.
  374.  2D     Set time.
  375.  2E     Set/reset verify switch.
  376.  2F     Get DTA.
  377.  30     Get DOS version number.
  378.  31     Terminate process and remain resident.
  379.  32    *Get the Dos Parameter Block of disk # in DL
  380.  33     Ctrl-Break check.
  381.  35     Get vector.
  382.  36     Get disk free space.
  383.  37    *Get switch character
  384.  38     Return country dependent information (international).
  385.  39     Create a subdirectory.
  386.  3A     Remove a directory entry.
  387.  3B     Change the current directory.
  388.  3C     Create a file.
  389.  3D     Open a file.
  390.  3E     Close a file handle.
  391.  3F     Read from a file or device.
  392.  40     Write to a file or device.
  393.  41     Delete a file from a specified directory.
  394.  42     Move file read/write pointer.
  395.  43     Change file mode.
  396.  44     I/O control for devices.
  397.  45     Duplicate a file handle.
  398.  46     Force a duplicate of a handle.
  399.  47     Get current directory.
  400.  48     Allocate memory.
  401.  49     Free allocated memory.
  402.  4A     Modify allocated memory blocks.
  403.  4B     Load or execute a program.
  404.  4C     Terminate a process.
  405.  4D     Retrieve the return code of a sub-process.
  406.  4E     Find first matching file.
  407.  4F     Find next matching file.
  408.  50    *Set PSP
  409.  51    *Get PSP
  410.  52    *????
  411.  53    *Set initial Dos Parameter Block
  412.  54     Get verify state.
  413.  55    *Duplicate PSP and make the new one active
  414.  56     Rename a file.
  415.  57     Get/Set a file's date and time.