home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / ENTERPRS / C128 / TEXT / C128ROM.128 < prev    next >
Text File  |  2000-06-30  |  6KB  |  194 lines

  1. !         -----------------
  2. !         C-128 ROM-I/O-MAP
  3. !         -----------------
  4. !
  5. !         By James Hermann
  6. !            74576.711
  7. !
  8. !With Help From-
  9. !             Allen Yoder/SCOPE-Texas
  10. !             Dave Haynie/Commodore
  11. !                  76703.2047
  12. !
  13. !0000*        8502 On-Chip D-D Register
  14. !0001*        8502 On-Chip I/O Register
  15. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  16. !4000-7FFF    BASIC Low ROM or
  17. !             Internal Low ROM or
  18. !             External Low ROM.
  19. ! 4000-       BASIC Power-up JMP $4023
  20. ! 4003-       BASIC RESET JMP $4009
  21. ! 4023-4044   BASIC Power-up
  22. ! 4045-410F   Init. BASIC registers
  23. ! 4112-4179   Init. BASIC Abs. Var.
  24. ! 417A-418C   Initalize D501-4
  25. ! 419B-41BA   Print RESET Screen
  26. ! 41BB-4250   RESET Screen Header Char.
  27. ! 4251-4278   Init. 0300-11;02FC
  28. ! 4279-43DD   BASIC CHRGET ML
  29. ! 430D-       Tokenize BASIC Text
  30. ! 4417-4515   BASIC 2.0 Keywords
  31. ! 4516-46F8   BASIC 7.0 Keywords
  32. ! 484B-4A81   BASIC Error Meassages
  33. ! 4AA2-       BASIC Char. Dispatch
  34. ! 4D3F-       Print BASIC Message
  35. ! 4DC6-       BASIC Warm Start
  36. ! 5151-       BASIC Text LIST
  37. ! 51D9-5261   Init. BASIC Pgm vectors
  38. ! 6EB2-6EDA   Init. BASIC Abs. Var.
  39. ! 78DA-       BASIC Token Eval.
  40. ! 7E82-7FFD   Blank
  41. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  42. !8000-BFFF    BASIC Mid ROM or
  43. !             Internal ROM or
  44. !             External ROM.
  45. ! 9251-9298   BASIC to KERNAL JMP Table
  46. ! A845-A84C   To BANK(15)
  47. ! AA6E-AE62   Blank
  48. ! AFA8-AFFF   Blank
  49. ! B000-BFFF   Moniter ROM
  50. !  BOOO-      Moniter RST code
  51. !  B003-      BRK
  52. !  BB72-BFFD  Blank
  53. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  54. !C000-CFFF    Editor High ROM or
  55. !             Internal ROM or
  56. !             External ROM.
  57. ! C000-       CINT -JMP $C07B
  58. ! C00F-       SCREEN
  59. ! C012-       SCNKEY
  60. ! C018-       PLOT
  61. ! C07B-       CINT
  62. ! CEA8-CEF4   Function Key Init. values
  63. ! CEF5-CFFD   Blank
  64. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  65. !D000-DFFF    I/O Space
  66. ! D500-D50B   MMU I/O chip(switchable)
  67. !  D500       MMU Config. Reg. ($FF00)
  68. !  D501-D504  MMU Preconfig. Registers
  69. !  D505       bit 7 - 40/80 switch 1=40
  70. !             bit 6 - 128/64 mode 1=64
  71. !             bit 5 - GAME line; bi-dir
  72. !             bit 4 - EXROM line; bi-d
  73. !             bit 3 - Fast Serial I/O
  74. !             bit 1-2 - reserved
  75. !             bit 0 -8502/Z80 CPU 0=Z80
  76. !  D506       RAM Config. Register
  77. !             bits 0-1 -K of Common RAM
  78. !                  00-1K     01-4K
  79. !                  10-8K     11-16K
  80. !             bits 2-3 -Loc./Common RAM
  81. !                  00-none   01-Bottom
  82. !                  10-Top    11-Both
  83. !             bits 4-5 -reserved
  84. !             bit 6 -RAM # used by VIC
  85. !             bit 7 -reserved
  86. !  D507       Page for CPU Zero Page
  87. !  D508       LSB-RAM # for CPU ZP
  88. !  D509       Page for CPU stack
  89. !  D50A       LSB-RAM # for CPU stack
  90. !  D50B       System Version Register
  91. !             bits 0-3 -MMU chip vers.
  92. !             bits 4-7 -Code for K/RAM
  93. !                  0010- 128K
  94. !                  0000- 256K
  95. ! D50C-D5FF   Blank
  96. ! D600-D601   Access to 16K display RAM
  97. !  D600       Register addresses
  98. !  D601       Data
  99. ! DC00-DCFF   CIA #1 (Keyboard; etc.)
  100. ! DD00-DDFF   CIA #2 (Serial; etc.)
  101. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  102. !E000-FFFF    KERNAL High ROM
  103. ! E000-       KERNAL ROM Code
  104. !  E000-E048  RST Code
  105. !  E04B-E055  $D500 Init. values
  106. !  E056-      RESTORE
  107. !  E05B-      VECTOR
  108. !  E093-      RAMTAS
  109. !  E0CD-E108  Init.$FF05- on RAM(0-3) &
  110. !             KERNAL RAM Code on RAM(0)
  111. !  E109-E1EF  IOINIT routine
  112. !  E1F0-E223  If $FFF5-9 on RAM(1)=cbm,
  113. !             then JMP ($FFF8);else...
  114. !  E224-E241  Init. $FFF5-9 on RAM(1)
  115. !  E242-E2BF  Switch to 64 mode if D505
  116. !             bits 4-5 not set; check
  117. !             Int./Ext. ROM and JMP
  118. !   E24B-E26A Switch to 64 mode
  119. !  E33B-      TALK
  120. !  E33E-      LISTEN
  121. !  E43E-      ACPTR
  122. !  E4D2-      SECOND
  123. !  E4E0-      TKSA
  124. !  E503-      CIOUT
  125. !  E515-      UNTLK
  126. !  E526-      UNLSN
  127. !  F23D-F264  Close all files on dev=ac
  128. !  F265-      LOAD
  129. !  F53E-      SAVE
  130. !  F5F8-      UDTIM
  131. !  F63D-F65D  Check for CTRL R/S or C=
  132. !  F65E-      RDTIM
  133. !  F665-      SETTIM
  134. !  F6B1-F71D  KERNAL Messages
  135. !  F731-      SETNAM
  136. !  F738-      SETLFS
  137. !  F744-      READST
  138. !  F75C-      SETMSG
  139. !  F75F-      SETTMO
  140. !  F763-      MEMTOP
  141. !  F772-      MEMBOT
  142. !  F781-      IOBASE
  143. !  F7D0-F7D9  Call KERNAL RAM Code 02A2
  144. !             to LDA byte from addr;y
  145. !             at Zero-Page vector in
  146. !             acc for BANK(x)
  147. !  F7EC-F7EF  LDA MMU value for BANK(x)
  148. !  F7F0-F7FF  MMU values for BANK(0-15)
  149. !  F800-F859  KERNAL RAM Code $02A2-FB
  150. !  F85A-F866  KERNAL RAM Code $03F0-FC
  151. !  F867-F988  Check for ROM not used
  152.               on RST ; Load Boot Page
  153.               and execute
  154. !  F9D5-F9FA  Load page and STA($ACC)
  155. ! FA00-       Editor Tables
  156. !  FA17-FA3F  Print bytes after JSR
  157. !  FA40-      NMI
  158. !  FA65-      IRQ
  159. !  FC3B-FC7F  Blank
  160. ! FC80-FEFF   Foreign Lang. Sys.-Blank
  161. !FF00*        MMU Config. Register
  162. !FF01-FF04*   MMU Load Config. Regs.
  163. ! FF05-FF44   KERNAL Int. Dispatch Code
  164. !  FF3D-FF44  RST Code JMP $E000
  165. ! FF47-FF80   KERNAL Hardware JMP Table
  166. ! FF81-FFF5   KERNAL User Jump Table
  167. ! FFFA-FFFF   NMI;RST; and IRQ vectors
  168. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  169. !* These are I/O registers and take the
  170. !   place of RAM or ROM always.
  171. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  172. !MMU Configuration Register $D500/FF00
  173. !   bits    values    purpose
  174. !   6-7  RAM control-
  175. !             00   RAM(0)
  176. !             01   RAM(1)
  177. !             10   RAM(2)-not present
  178. !             11   RAM(3)-not present
  179. !   4-5  ROM control-
  180. !             00   KERNAL and EDIT ROM
  181. !             01   Internal High ROM
  182. !             10   External High ROM
  183. !             11   None
  184. !   2-3  Mid ROM control- $8000-BFFF
  185. !             00   BASIC ROM
  186. !             01   Internal ROM
  187. !             10   External ROM
  188. !             11   None
  189. !   1    Low ROM Control- $4000-7FFF
  190. !             0=ROM     1=RAM
  191. !   0    I/O-ROM Control- $D000-DFFF
  192. !             0=I/O     1=CHAR-ROM
  193.  
  194. ┼