home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / club100 / ref / rcmap1.100 < prev    next >
Text File  |  2006-10-19  |  11KB  |  341 lines

  1.  
  2.  
  3.                      ------------------------
  4.                      | Model 100 System Map |
  5.                      ------------------------
  6. ROM: Part I
  7.                           Copyright 1985
  8.                      Revision Date: 09/30/85
  9.                    Compiled and Researched by:
  10.                        Robert D. Covington
  11.             Systems Information Management Consultants
  12.       [Not associated with The Covington Group, N. Y., N. Y.]
  13.  
  14.     This document may be duplicated and distributed free of
  15. charge to any individuals who desire it.  Any duplications of
  16. this document, however, must inluce all of the information
  17. contained here-in, with no deletions or changes.
  18.     The author and distributors of this document make no 
  19. expressed or implied warrantees as to the validity of the 
  20. information contained here in.
  21.  
  22.  
  23.                       - Model 100 ROM Memory Map -
  24.  
  25. 0000H -  System Reset
  26.  
  27. 0008H -  Compare character following RST 8H with the character pointed 
  28.         to by HL.
  29.          Entry:
  30.                HL - Points to the buffer to be used for the 
  31.                     comparison.  The character after call is compared 
  32.                     with the character pointed to by HL.
  33.          Exit:
  34.                If compare is successful a RST 10H is issued
  35.                If compare is unsuccessful, a SYNTAX ERROR is generated
  36.  
  37. 0010H -  Get the next character in the buffer pointed to by HL and 
  38.         place it in the A register.  HL is incremented prior to the 
  39.         load.  Spaces and tabs in the buffer are skipped.
  40.          Entry:
  41.                HL - Points to buffer
  42.          Exit:
  43.                A  - Character loaded from buffer
  44.                HL - Incremented
  45.            C flag - Set if character is a digit
  46.            Z flag - Set if character is a colon or null
  47.  
  48. 0018H -  Compare DE and HL
  49.          Entry:
  50.                HL - Number to compare
  51.                DE - Number to compare
  52.          Exit:
  53.            C flag - Set if HL<DE
  54.            Z flag - Set if HL=DE
  55.                 A - Destroyed
  56.  
  57. 001EH -  Send a space to the screen or printer depending on the output 
  58.         flag at F675H.
  59.          Entry:
  60.             F675H - Device to output space to (0-screen, 1-printer)
  61.          Exit:
  62.                 A - 20H
  63.  
  64. 0020H -  Print character in A on the screen or printer depending on 
  65.         the output flag F675H.
  66.          Entry:
  67.                 A - Character to print
  68.             F675H - Device to output character to (0-screen, 
  69.                     1-printer)
  70.  
  71. 0024H -  8085 TRAP interrupt vector.  This non maskable interrupt is 
  72.         generated if the CPU does not have enough power to operate.  
  73.         When the interrupt occurs, the CPU jumps to F602H.
  74.  
  75. 0028H -  Determine the type of the last variable used.
  76.         Exit:
  77.                 A - Destroyed
  78.            Z flag - Set if string
  79.            C flag - Reset if double precision
  80.            S flag - Set (M) if integer
  81.            P flag - Odd if single precision
  82.  
  83. 002CH -  8085 RST 5.5 interrupt vector.  This interrrupt is generated 
  84.         by the data being present on the Bar Code Reader port.  This 
  85.         interrupt jumps to F5F9H.
  86.  
  87. 0030H -  Returns sign of FAC1
  88.          Exit:
  89.                 A - Destroyed
  90.  
  91. 0034H -  8085 RST 6.5 interrupt vector.  This interrupt is generated 
  92.         if a character is pending on the RS232 UART.  The RAM vector 
  93.         F5FCH is called on each interrupt.
  94.  
  95. 0038H -  RAM vector table driver.  The byte after the call determines 
  96.         the offset index for the highmem vector table starting at 
  97.         FADAH.  This routine calls the contents of the address 
  98.         computed by adding the offset to FADAH.
  99.  
  100. 003CH -  8085 RST 7.5 interrupt vector.  This interrupt is generated 
  101.         by the internal timer normally at regular 4 microsecond 
  102.         intervals (255 times per second).  On each interrupt, the 
  103.         Model 100 performs a keyboard scan and updates the typeahead 
  104.         buffer if nescessary.  The RAM vector F5FFH is called on each 
  105.         interrupt.
  106.  
  107. 0040H -  Start of function vector table for SGN to MID$
  108.  
  109. 007FH -  End of function vector table
  110.  
  111. 0080H -  Start of BASIC statement keyword table END to NEW
  112.  
  113. 018EH -  End of BASIC statement keyword table
  114.  
  115. 018FH -  Start of function keywords TAB to <
  116.  
  117. 01EFH -  End of function keywords TAB to <
  118.  
  119. 01F0H -  Start of function keywords SGN to MID$
  120.  
  121. 025FH -  End of function keywords SGN to MID$
  122.  
  123. 0262H -  Start of BASIC statement vector table for END to NEW
  124.  
  125. 02E1H -  End of BASIC statement vector table
  126.  
  127. 02EEH -  Start of vector for math operations (used at 10DAH)
  128.  
  129. 031BH -  End of math vector table
  130.  
  131. 031CH -  Start of BASIC 2 character error message text
  132.  
  133. 0359H -  End of error message text
  134.  
  135. 035AH -  Initialization image loaded at F5F0H-F76FH on cold boot
  136.  
  137. 036FH -  Code loaded at F605H on boot to detect external ROM
  138.  
  139. 03E9H -  End of initialization image
  140.  
  141. 0401H -  Pop the return address for a NEXT or RETURN off the stack.
  142.  
  143. 0422H -  Initialize system and go to BASIC ready
  144.  
  145. 0446H -  Generate Syntax error
  146.  
  147. 0449H -  Generate /0 error
  148.  
  149. 044CH -  Generate NF error
  150.  
  151. 044FH -  Generate DD error
  152.  
  153. 0452H -  Generate RW error
  154.  
  155. 0455H -  Generate OV error
  156.  
  157. 0458H -  Generate MO error
  158.  
  159. 045BH -  Generate TM error
  160.  
  161. 045DH -  Generate error number E
  162.          Entry:
  163.                 E - Contains error number
  164.  
  165. 048DH -  Restore old stack and runtime pointers and jump to the 
  166.         address in BC.
  167.          Entry:
  168.                BC - Address to jump to following the call
  169.          Exit:
  170.                HL - Contains the contents of FB99H
  171.  
  172. 0501H -  Vector to BASIC Ready (Ok).  Pops the last address off the 
  173.         stack to maintain stack integrity.
  174.  
  175. 0502H -  Vector to BASIC Ready (Ok). Jump.
  176.  
  177. 0511H -  Vector to BASIC ready that does not reinitialize the system 
  178.         or print Ok.  This is primarily used inside the BASIC ready 
  179.         routine if a blank or illegal line was entered and control 
  180.         must return back to BASIC ready.
  181.  
  182. 0523H -  Perform operation in (HL) buffer and return to BASIC ready.
  183.          Entry:
  184.                HL - Points to the BASIC command line terminated with 
  185.                     a carriage return (0DH)
  186.  
  187. 05F0H -  Update in memory line addresses for the current BASIC program 
  188.         lines.  Address calculations start with the start of BASIC 
  189.         pointer.  This routine is primarily used if a program has 
  190.         been loaded off tape or if the current program has been 
  191.         edited.
  192.          Exit:
  193.             HL, DE, and AF are destroyed
  194.  
  195. 0626H -  Put the contents of HL on the stack (to save it) and find the 
  196.         line number in DE via 0628H.  On return from this routine, 
  197.         you must POP HL off the stack to return it to its original 
  198.         value and to preserve stack balance.
  199.  
  200. 0628H -  Find line # DE starting at the beginning of the current BASIC 
  201.         program.
  202.          Entry:
  203.                DE - Line number to find
  204.          Exit:
  205.                BC - Address of line
  206.                HL - Address of next line
  207.            C flag - Set if line found
  208.            Z flag - Set if line not found
  209.  
  210.  
  211. 062BH -  Find the line number in DE via 0628H but start at the address 
  212.         in HL instead at the start of the BASIC program.
  213.          Entry:
  214.                HL - Location to start line number search
  215.                DE - Line number to find
  216.          Exit:
  217.                See 0628H
  218.  
  219. 0646H -  Token compression routine
  220.  
  221. 0726H -  FOR Statement
  222.  
  223. 076BH -  TO Statement
  224.  
  225. 0783H -  STEP Statement
  226.  
  227. 0804H -  BASIC program execution routine.  This routine evaluates the 
  228.         compressed BASIC code and executes the appropriate 
  229.         instructions.  Upon return from most instructions, this 
  230.         address is placed on the top of the stack.  Routines which 
  231.         wish to continue program execution should vector here if the 
  232.         stack becomes unbalanced.
  233.          Entry:
  234.                HL - Points to compressed BASIC code to execute
  235.  
  236. 083AH -  Start executing a program at the address in HL.  This routine 
  237.         starts the 0804H program executer routine.
  238.          Entry:
  239.                HL - Points to location where program exectution is to 
  240.                     begin.
  241.  
  242. 0840H -  Execute the compressed instruction token in the A register. 
  243.         Any parameters for the instruction must be in the buffer 
  244.         pointed to by HL.  If the contents of the A register are less 
  245.         than 128 then a LET is executed.
  246.          Entry:
  247.                 A - Compressed BASIC token for the instruction that 
  248.                     is to be executed.
  249.                HL - Points to the buffer which contains the 
  250.                     parameters to the BASIC statement.
  251.  
  252. 0858H -  RST 10H routine (see 10H).
  253.  
  254. 0859H -  Same as RST 10H but with no pre-increment of HL (see 10H).
  255.  
  256. 0872H -  DEF Statement
  257.  
  258.  
  259. 0881H -  DEFDBL statement
  260.  
  261. 0886H -  DEFINT statement
  262.  
  263. 0896H -  DEFSNG statement
  264.  
  265. 089FH -  DEFSTR statement
  266.  
  267. 08A1H -  Declare the variables in the buffer pointed to by HL to the 
  268.         type in the E register.  The variables in the buffer pointed 
  269.         to by HL must be in the same form as those used for a 
  270.         DEF(type) statement in BASIC.
  271.          Entry:
  272.                 E - Type of variable (2-integer, 3-string, 4-single 
  273.                     precision, 8-double precision)
  274.                HL - Points to buffer containing variables to declare.
  275.  
  276. 08DBH -  Generate FC Error
  277.  
  278. 08E0H -  Evaluate line number text pointed to by HL.  This routine 
  279.         will evaluate an ASCII line number or a "."
  280.          Entry:
  281.                HL - Points to buffer where line number describer is.  
  282.                     The buffer is terminated by any non-number other 
  283.                     than a ".".
  284.          Exit:
  285.                Same as 08EBH
  286.  
  287. 08EBH -  Convert the ASCII number pointed to by HL to binary.  Number 
  288.         must be less than 65529 and be an integer.
  289.          Entry:
  290.                HL - Points to the ASCII number buffer.  The buffer is 
  291.                     terminated by any non-number.
  292.          Exit:
  293.                DE - Contains the binary equivalent of buffer
  294.                 A - Destroyed
  295.            C flag - Set if a number was present
  296.  
  297. 08ECH -  Same as 08EBH except that conversion starts at HL+1
  298.  
  299. 090FH -  RUN Statement
  300.  
  301. 091EH -  GOSUB Statement
  302.  
  303. 0936H -  GOTO Statement
  304.  
  305. 094DH -  Generate UL error
  306.  
  307. 0966H -  RETURN Statement
  308.  
  309. 099EH -  DATA Statement
  310.  
  311. 09A0H -  REM Statement
  312.  
  313. 09C3H -  LET Statement.  Perform the variable assignment in the buffer 
  314.         pointed to by HL.
  315.          Entry:
  316.                HL - Points to the variable assignment to evaluate.
  317.  
  318. 0A2FH -  ON Statement
  319.  
  320. 0A34H -  ON ERROR Statement
  321.  
  322. 0AB0H -  RESUME Statement
  323.  
  324. 0B0FH -  ERROR Statement
  325.  
  326. 0B1AH -  IF Statement
  327.  
  328. 0B4EH -  LPRINT Statement
  329.  
  330. 0B56H -  PRINT Statement
  331.  
  332. 0C01H -  TAB Statement
  333.  
  334. 0C45H -  LINE Statement
  335.  
  336. 0C99H -  INPUT # Statement
  337.  
  338. 0CA3H -  INPUT Statement
  339.  
  340. 0CD9H -  READ Statement
  341.