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

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