home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / Information / C128ROM.DOC-V1.2 < prev    next >
Encoding:
Text File  |  2019-04-13  |  24.4 KB  |  1,015 lines

  1.  
  2. ;    Commodore 128 ROM Memory Map
  3. ;    with RAM Subroutines
  4. ;    V1.2    1 Sep 1994
  5.  
  6. ; Data types in headers (for reassembler):
  7. ;
  8. ;    DATA        Misc data
  9. ;    TEXT        String terminated with 00
  10. ;    WORD        Vectors in LO/HI byte pairs
  11. ;    CHIP        I/O Area
  12. ;    EMPTY        ROM containing FF's or AA's
  13. ;
  14.  
  15. ;
  16. ; C128 RAM Subroutines
  17. ;
  18.  
  19. 0002    Bank Number, Jump to SYS address
  20. 0056    Jump vector for functions
  21.  
  22. 02a2    Bank Peek Subroutine
  23. 02af    Bank Poke Subroutine
  24. 02be    Bank Compare Subroutine
  25. 02cd    JSR to another bank
  26. 02e3    JMP to another bank
  27. 0380    CHRGET
  28. 0386    CHRGOT entry
  29. 0390    ?
  30. 039f    Fetch From Bank 0
  31. 03ab    Fetch From Bank 1
  32. 03b7    Fetch From Bank 1
  33. 03c0    Fetch From Bank 0
  34. 03c9    Fetch From Bank 0
  35. 03f0    DMA Link Code
  36.  
  37. ;
  38. ; BASIC v7.0 interpreter ROM ($4000 - $AFFF)
  39. ;
  40.  
  41. 4000    Basic Entry Jumps
  42. 4009    Basic Restart
  43. 4023    Basic Cold Start
  44. 4045    Set-Up Basic Constants
  45. 4112    Chime
  46. 417a    Set Preconfig Registers
  47. 4189    Registers For $D501        DATA
  48. 418d    Init Sprite Movement Tabs
  49. 419b    Print Startup Message
  50. 41bb    Startup Message            DATA
  51. 4251    Set Basic Links
  52. 4267    Basic Links            DATA
  53. 4279    Chrget For $0380
  54. 42ce    Get From ($50) Bank1
  55. 42d3    Get From ($3f) Bank1
  56. 42d8    Get From ($52) Bank1
  57. 42dd    Get From ($5c) Bank0
  58. 42e2    Get From ($5c) Bank1
  59. 42e7    Get From ($66) Bank1
  60. 42ec    Get From ($61) Bank0
  61. 42f1    Get From ($70) Bank0
  62. 42f6    Get From ($70) Bank1
  63. 42fb    Get From ($50) Bank1
  64. 4300    Get From ($61) Bank1
  65. 4305    Get From ($24) Bank0
  66. 430a    Crunch Tokens
  67. 43e2    Check Keyword Match
  68. 4417    Keywords            DATA
  69. 46fc    Action Vectors            WORD
  70. 47d8    Function Vectors        WORD
  71. 4828    Defunct Vectors            WORD
  72. 4846    Unimplemented Commands
  73. 484b    Messages            DATA
  74. 4a82    Find Message
  75. 4b34    Update Continue Pointer
  76. 4b3f    Execute/Trace Statement
  77. 4bcb    Perform [stop]
  78. 4bcd    Perform [end]
  79. 4bf7    Setup FN Reference
  80. 4c86    Evaluate <or>
  81. 4c89    Evaluate <and>
  82. 4cb6    Evaluate <compare>
  83. 4d2a    Print 'ready'
  84. 4d2d    'ready.'            TEXT
  85. 4d37    Error or Ready
  86. 4d3a    Print 'out of memory'
  87. 4d3c    Error
  88. 4daf    Break Entry
  89. 4dc3    Ready For Basic
  90. 4de2    Handle New Line
  91. 4f4f    Rechain Lines
  92. 4f82    Reset End-of-Basic
  93. 4f93    Receive Input Line
  94. 4faa    Search B-Stack For Match
  95. 4ffe    Move B-Stack Down
  96. 5017    Check Memory Space
  97. 5047    Copy B-Stack Pointer
  98. 5050    Set B-Stack Pointer
  99. 5059    Move B-Stack Up
  100. 5064    Find Basic Line
  101. 50a0    Get Fixed Pt Number
  102. 50e2    Perform [list]
  103. 5123    List Subroutine
  104. 51d6    Perform [new]
  105. 51f3    Set Up Run
  106. 51f8    Perform [clr]
  107. 5238    Clear Stack & Work Area
  108. 5250    Pudef Characters
  109. 5254    Back Up Text Pointer
  110. 5262    Perform [return]
  111. 528f    Perform [data/bend]
  112. 529d    Perform [rem]
  113. 52a2    Scan To Next Statement
  114. 52a5    Scan To Next Line
  115. 52c5    Perform [if]
  116. 5320    Search/Skip Begin/Bend
  117. 537c    Skip String Constant
  118. 5391    Perform [else]
  119. 53a3    Perform [on]
  120. 53c6    Perform [let]
  121. 54f6    Check String Location
  122. 553a    Perform [print#]
  123. 5540    Perform [cmd]
  124. 555a    Perform [print]
  125. 5600    Print Format Char
  126. 5607    -print '<cursor right>'-
  127. 560a    -print '?'-
  128. 5612    Perform [get]
  129. 5635    Getkey
  130. 5648    Perform [input#]
  131. 5662    Perform [input]
  132. 569c    Prompt & Input
  133. 56a9    Perform [read]
  134. 57f4    Perform [next]
  135. 587b    Perform [dim]
  136. 5885    Perform [sys]
  137. 58b4    Perform [tron]
  138. 58b7    Perform [troff]
  139. 58bd    Perform [rreg]
  140. 5901    Assign <mid$>
  141. 5975    Perform [auto]
  142. 5986    Perform [help]
  143. 59ac    Insert Help Marker
  144. 59cf    Perform [gosub]
  145. 59db    Perform [goto]
  146. 5a15    Undef'd Statement
  147. 5a1d    Put Sub To B-Stack
  148. 5a3d    Perform [go]
  149. 5a60    Perform [cont]
  150. 5a9b    Perform [run]
  151. 5aca    Perform [restore]
  152. 5af0    Keywords To Renumber        DATA
  153. 5af8    Perform [renumber]
  154. 5bae    Renumber-Continued
  155. 5bfb    Renumber Scan
  156. 5d19    Convert Line Number
  157. 5d68    Get Renumber Start
  158. 5d75    Count Off Lines
  159. 5d89    Add Renumber Inc
  160. 5d99    Scan Ahead
  161. 5da7    Set Up Block Move
  162. 5dc6    Block Move Down
  163. 5ddf    Block Move Up
  164. 5dee    Check Block Limit
  165. 5df9    Perform [for]
  166. 5e87    Perform [delete]
  167. 5efb    Get Line Number Range
  168. 5f34    Perform [pudef]
  169. 5f4d    Perform [trap]
  170. 5f62    Perform [resume]
  171. 5fb7    Reinstate Trap Point
  172. 5fd8    Syntax Exit
  173. 5fdb    Print 'can't resume'
  174. 5fe0    Perform [do]
  175. 6039    Perform [exit]
  176. 608a    Perform [loop]
  177. 60b4    Print 'loop not found'
  178. 60b7    Print 'loop without do'
  179. 60db    Eval While/Until Argument
  180. 60e1    Define Programmed Key
  181. 610a    Perform [key]
  182. 619a                    DATA
  183. 61a8    Perform [paint]
  184. 627c    Check Painting Split
  185. 62b7    Perform [box]
  186. 63f5    Authors                DATA
  187. 642b    Perform [sshape]
  188. 658d    Perform [gshape]
  189. 668e    Perform [circle]
  190. 6750    Draw Circle
  191. 6797    Perform [draw]
  192. 67d7    Perform [char]
  193. 6955    Perform [locate]
  194. 6960    Perform [scale]
  195. 69dc                    DATA
  196. 69e2    Perform [color]
  197. 6a4c    Color Codes            DATA
  198. 6a5c    Log Current Colors
  199. 6a79    Perform [scnclr]
  200. 6b06    Fill Memory Page
  201. 6b17    Set Screen Color
  202. 6b5a    Perform [graphic]
  203. 6bc9    Perform [bank]
  204. 6bd7    Perform [sleep]
  205. 6c09    Multiply Sleep Time
  206. 6c2d    Perform [wait]
  207. 6c4f    Perform [sprite]
  208. 6cb3    Bit Masks            DATA
  209. 6cc6    Perform [movspr]
  210. 6dd9                    DATA
  211. 6de1    Perform [play]
  212. 6e02    Analyze Play Character
  213. 6eb2    Set SID Sound
  214. 6efd    Play Error
  215. 6f03    Dotted Note
  216. 6f07    Note Length Char
  217. 6f1e    Note-A-G
  218. 6f52    ...votxnum...
  219. 6f69    Sharp
  220. 6f6c    Flat
  221. 6f78    Rest
  222. 6fd7    Perform [tempo]
  223. 6fe4    Voice Times Two            DATA
  224. 6fe7    Length Characters        DATA
  225. 6fec    Command Characters        DATA
  226. 702f    Chime Seq            DATA
  227. 7039    SID Voice Steps            DATA
  228. 7046    Perform [filter]
  229. 70c1    Perform [envelope]
  230. 7164    Perform [collision]
  231. 7190    Perform [sprcolor]
  232. 71b6    Perform [width]
  233. 71c5    Perform [vol]
  234. 71ec    Perform [sound]
  235. 72cc    Perform [window]
  236. 7335    Perform [boot]
  237. 7372    Perform [sprdef]
  238. 7663    ?                DATA
  239. 7691    Sprite Vectors            DATA
  240. 76b4    ?                DATA
  241. 76ec    Perform [sprsav]
  242. 77b3    Perform [fast]
  243. 77c4    Perform [slow]
  244. 77d7    Type Match Check
  245. 77da    Confirm Numeric
  246. 77dd    Confirm String
  247. 77e7    Print 'type mismatch'
  248. 77ea    Print 'formula too complex'
  249. 77ef    Evaluate Expression
  250. 78d7    Evaluate Item
  251. 793c    Fixed-Float
  252. 7950    Eval Within Parens
  253. 795c    Check Comma
  254. 796c    Syntax Error
  255. 7978    Search For Variable
  256. 7a85    Unpack RAM1 to FAC#1
  257. 7aaf    Locate Variable
  258. 7b3c    Check Alphabetic
  259. 7b46    Create Variable
  260. 7cab    Set Up Array
  261. 7d25    Print 'bad subscript'
  262. 7d28    Print 'illegal quantity'
  263. 7e3e    Compute Array Size
  264. 7e71    Array Pointer Subroutine
  265. 7e82    Unused                EMPTY
  266. ;
  267. 8000    Evaluate <fre>
  268. 8020    Decrypt Message
  269. 804a    Evaluate <val>
  270. 8052    String to Float
  271. 8076    Evaluate <dec>
  272. 80c5    Evaluate <peek>
  273. 80e5    Perform [poke]
  274. 80f6    Evaluate <err$>
  275. 8139    Swap x With y
  276. 8142    Evaluate <hex$>
  277. 816b    Byte to Hex
  278. 8182    Evaluate <rgr>
  279. 818c    Evaluate <rcl>
  280. 81f3                    DATA
  281. 8203    Evaluate <joy>
  282. 8242    Joystick Values            DATA
  283. 824d    Evaluate <pot>
  284. 82ae    Evaluate <pen>
  285. 82fa    Evaluate <pointer>
  286. 831e    Evaluate <rsprite>
  287. 835b                    DATA
  288. 8361    Evaluate <rspcolor>
  289. 837c    Evaluate <bump>
  290. 8397    Evaluate <rspos>
  291. 83e1    Evaluate <xor>
  292. 8407    Evaluate <rwindow>
  293. 8434    Evaluate <rnd>
  294. 8490    Rnd Multiplier            DATA
  295. 849a    Value 32768            DATA
  296. 849f    Float-Fixed Unsigned
  297. 84a7    Evaluate Fixed Number
  298. 84ad    Float-Fixed Signed
  299. 84c9    Float (.y, .a)
  300. 84d0    Evaluate <pos>
  301. 84d9    Check Direct
  302. 84dd    Print 'illegal direct'
  303. 84e0    Print 'undef'd function'
  304. 84e5    Set Up 16 Bit Fix-Float
  305. 84f5    Print 'direct mode only'
  306. 84fa    Perform [def]
  307. 8528    Check FN Syntax
  308. 853b    Perform [fn]
  309. 85ae    Evaluate <str$>
  310. 85bf    Evaluate <chr$>
  311. 85d6    Evaluate <left$>
  312. 860a    Evaluate <right$>
  313. 861c    Evaluate <mid$>
  314. 864d    Pull String Parameters
  315. 8668    Evaluate <len>
  316. 866e    Exit String Mode
  317. 8677    Evaluate <asc>
  318. 8688    Calc String Vector
  319. 869a    Set Up String
  320. 874e    Build String to Memory
  321. 877b    Evaluate String
  322. 87e0    Clean Descriptor Stack
  323. 87f1    Input Byte Parameter
  324. 8803    Params For Poke/Wait
  325. 8815    Float/Fixed
  326. 882e    Subtract From Memory
  327. 8831    Evaluate <subtract>
  328. 8845    Add Memory
  329. 8848    Evaluate <add>
  330. 8917    Trim FAC#1 Left
  331. 894e    Round Up FAC#1
  332. 895d    Print 'overflow'
  333. 899c    Log Series            DATA
  334. 89ca    Evaluate <log>
  335. 8a0e    Add 0.5
  336. 8a24    Multiply By Memory
  337. 8a27    Evaluate <multiply>
  338. 8a89    Unpack ROM to FAC#2
  339. 8ab4    Unpack RAM1 to FAC#2
  340. 8ae3    Adjust FAC#1/#2
  341. 8b17    Multiply By 10
  342. 8b2e    +10
  343. 8b33    Print 'division by zero'
  344. 8b38    Divide By 10
  345. 8b49    Divide Into Memory
  346. 8b4c    Evaluate <divide>
  347. 8bd4    Unpack ROM to FAC#1
  348. 8bf9    Pack FAC#1 to $5e
  349. 8bfc    Pack FAC#1 to $59
  350. 8c00    Pack FAC#1 to RAM1
  351. 8c28    FAC#2 to FAC#1
  352. 8c38    FAC#1 to FAC#2
  353. 8c47    Round FAC#1
  354. 8c57    Get Sign
  355. 8c65    Evaluate <sgn>
  356. 8c68    Byte Fixed-Float
  357. 8c75    Fixed-Float
  358. 8c84    Evaluate <abs>
  359. 8c87    Compare FAC#1 to Memory
  360. 8cc7    Float-Fixed
  361. 8cfb    Evaluate <int>
  362. 8d22    String to FAC#1
  363. 8db0    Get Ascii Digit
  364. 8e17    Conversion Values        DATA
  365. 8e26    Print 'in...'
  366. 8e32    Print Integer
  367. 8e42    Float to Ascii
  368. 8f76    +0.5                DATA
  369. 8f7b    Decimal Constants        DATA
  370. 8f9f    TI Constants            DATA
  371. 8fb7    Evaluate <sqr>
  372. 8fbe    Raise to Memory Power
  373. 8fc1    Evaluate <power>
  374. 8ffa    Evaluate <negate>
  375. 9005    Exp Series            DATA
  376. 9033    Evaluate <exp>
  377. 90d0    I/O Error Message
  378. 90d8    Basic 'open'
  379. 90df    Basic 'chrout'
  380. 90e5    Basic 'input'
  381. 90eb    Redirect Output
  382. 90fd    Redirect Input
  383. 9112    Perform [save]
  384. 9129    Perform [verify]
  385. 912c    Perform [load]
  386. 918d    Perform [open]
  387. 919a    Perform [close]
  388. 91ae    Get Load/Save Parameters
  389. 91dd    Get Next Byte Value
  390. 91e3    Get Character or Abort
  391. 91eb    Move to Next Parameter
  392. 91f6    Get Open/Close Parameters
  393. 9243    Release I/O String
  394. 9251    Call 'status'
  395. 9257    Call 'setlfs'
  396. 925d    Call 'setnam'
  397. 9263    Call 'getin'
  398. 9269    Call 'chrout'
  399. 926f    Call 'clrchn'
  400. 9275    Call 'close'
  401. 927b    Call 'clall'
  402. 9281    Print Following Text
  403. 9287    Set Load/Save Bank
  404. 928d    Call 'plot'
  405. 9293    Call 'get'
  406. 9299    Make Room For String
  407. 92ea    Garbage Collection
  408. 9409    Evaluate <cos>
  409. 9410    Evaluate <sin>
  410. 9459    Evaluate <tan>
  411. 9485    Trig Series            DATA
  412. 94b3    Evaluate <atn>
  413. 94e3    Series                DATA
  414. 9520    Print Using
  415. 99c1    Evaluate <instr>
  416. 9b0c    Evaluate <rdot>
  417. 9b30    Draw Line
  418. 9bfb    Plot Pixel
  419. 9c49    Examine Pixel
  420. 9c70    Set Hi-Res Color Cell
  421. 9cca    Video Matrix Lines Hi        DATA
  422. 9ce3    Position Pixel
  423. 9d1c    Bit Masks            DATA
  424. 9d24    Calc Hi-Res Row/Column
  425. 9df2    Restore Pixel Cursor
  426. 9e2f    Parse Graphics Command
  427. 9e32    Get Color Source Param
  428. 9f29    Conv Words Hi            DATA
  429. 9f3d    Conv Words Lo            DATA
  430. 9f4f    (graphic/sprdef subroutine)
  431. a022    Move Basic to $1c01
  432. a07e    Perform [catalog/directory]
  433. a11d    Perform [dopen]
  434. a134    Perform [append]
  435. a157    Find Spare SA
  436. a16f    Perform [dclose]
  437. a18c    Perform [dsave]
  438. a1a4    Perform [dverify]
  439. a1a7    Perform [dload]
  440. a1c8    Perform [bsave]
  441. a218    Perform [bload]
  442. a267    Perform [header]
  443. a2a1    Perform [scratch]
  444. a2d7    Perform [record]
  445. a322    Perform [dclear]
  446. a32f    Perform [collect]
  447. a346    Perform [copy]
  448. a362    Perform [concat]
  449. a36e    Perform [rename]
  450. a37c    Perform [backup]
  451. a3bf    Parse DOS Commands
  452. a5e7    Print 'missing file name'
  453. a5ea    Print 'illegal device number'
  454. a5ed    Print 'string too long'
  455. a627    DOS Command Masks        DATA
  456. a667
  457. a7e1    Print 'are you sure'
  458. a7e8    'are you sure?'            TEXT
  459. a80d    Release String
  460. a845    Set Bank 15
  461. a84d    IRQ Work
  462. aa1f    Perform [stash]
  463. aa24    Perform [fetch]
  464. aa29    Perform [swap]
  465. aa6e    Unused                EMPTY
  466. ae64    Encrypted Message        DATA
  467. af00    Basic Vectors
  468.  
  469. ;af00    JMP $84B4
  470. ;af03    JMP $793C    ; Fixed-Float
  471. ;af06    JMP $8E42    ; Float to Ascii
  472. ;af09    JMP $8052    ; String to Float
  473. ;af0c    JMP $8815    ; Float/Fixed
  474. ;af0f    JMP $8C75    ; Fixed-Float
  475. ;af12    JMP $882E    ; Subtract From Memory
  476. ;af15    JMP $8831    ; Evaluate <subtract>
  477. ;af18    JMP $8845    ; Add Memory
  478. ;af1b    JMP $8848    ; Evaluate <add>
  479. ;af1e    JMP $8A24    ; Multiply By Memory
  480. ;af21    JMP $8A27    ; Evaluate <multiply>
  481. ;af24    JMP $8B49    ; Divide Into Memory
  482. ;af27    JMP $8B4C    ; Evaluate <divide>
  483. ;af2a    JMP $89CA    ; Evaluate <log>
  484. ;af2d    JMP $8CFB    ; Evaluate <int>
  485. ;af30    JMP $8FB7    ; Evaluate <sqr>
  486. ;af33    JMP $8FFA    ; Evaluate <negate>
  487. ;af36    JMP $8FBE    ; Raise to Memory Power
  488. ;af39    JMP $8FC1    ; Evaluate <power>
  489. ;af3c    JMP $9033    ; Evaluate <exp>
  490. ;af3f    JMP $9409    ; Evaluate <cos>
  491. ;af42    JMP $9410    ; Evaluate <sin>
  492. ;af45    JMP $9459    ; Evaluate <tan>
  493. ;af48    JMP $94B3    ; Evaluate <atn>
  494. ;af4b    JMP $8C47    ; Round FAC#1
  495. ;af4e    JMP $8C84    ; Evaluate <abs>
  496. ;af51    JMP $8C57    ; Get Sign
  497. ;af54    JMP $8C87    ; Compare FAC#1 to Memory
  498. ;af57    JMP $8437
  499. ;af5a    JMP $8AB4    ; Unpack RAM1 to FAC#2
  500. ;af5d    JMP $8A89    ; Unpack ROM to FAC#2
  501. ;af60    JMP $7A85    ; Unpack RAM1 to FAC#1
  502. ;af63    JMP $8BD4    ; Unpack ROM to FAC#1
  503. ;af66    JMP $8C00    ; Pack FAC#1 to RAM1
  504. ;af69    JMP $8C28    ; FAC#2 to FAC#1
  505. ;af6c    JMP $8C38    ; FAC#1 to FAC#2
  506. ;af6f    JMP $4828    ; Defunct Vectors
  507. ;af72    JMP $9B30    ; Draw Line
  508. ;af75    JMP $9BFB    ; Plot Pixel
  509. ;af78    JMP $6750    ; Draw Circle
  510. ;af7b    JMP $5A9B    ; Perform [run]
  511. ;af7e    JMP $51F3    ; Set Up Run
  512. ;af81    JMP $51F8    ; Perform [clr]
  513. ;af84    JMP $51D6    ; Perform [new]
  514. ;af87    JMP $4F4F    ; Rechain Lines
  515. ;af8a    JMP $430A    ; Crunch Tokens
  516. ;af8d    JMP $5064    ; Find Basic Line
  517. ;af90    JMP $4AF6
  518. ;af93    JMP $78D7    ; Evaluate Item
  519. ;af96    JMP $77EF    ; Evaluate Expression
  520. ;af99    JMP $5AA6
  521. ;af9c    JMP $5A81
  522. ;af9f    JMP $50A0    ; Get Fixed Pt Number
  523. ;afa2    JMP $92EA    ; Garbage Collection
  524. ;afa5    JMP $4DCD
  525. ;
  526.  
  527. afa8    Unused                EMPTY
  528.  
  529. ;
  530. ; C128 Machime Language Monitor
  531. ; B000 - BFFF
  532. ;
  533. b000    Perform [monitor]
  534. b009    Break Entry
  535. b009    Print 'break'
  536. b00c    'break'                TEXT
  537. b021    Print 'call' entry
  538. b03a    Print 'monitor'
  539. b03d    'monitor'            TEXT
  540. b050    Perform [r]
  541. b050    Print '   pc sr ac xr yr sp'
  542. b053    '   pc sr ac xr yr sp'        TEXT
  543. b08b    Get Command
  544. b0bc    Error
  545. b0bf    Print '?'
  546. b0e3    Perform [x]
  547. b0e6    Commands            DATA
  548. b0fc    Vectors                WORD
  549. b11a    Read Banked Memory
  550. b12a    Write Banked Memory
  551. b13d    Compare Banked Memory
  552. b152    Perform [m]
  553. b194    Perform [:]
  554. b1ab    Perform [>]
  555. b1c9    Print 'esc-o-up'
  556. b1cc    'esc-o-up'            TEXT
  557. b1d6    Perform [g]
  558. b1df    Perform [j]
  559. b1e8    Display Memory
  560. b20b    Print '<rvs-on>'
  561. b20e    '<rvs-on>'            TEXT
  562. b231    Perform [c]
  563. b234    Perform [t]
  564. b2c3    Add 1 to Op 3
  565. b2c6    Do Next Address
  566. b2ce    Perform [h]
  567. b337    Perform [lsv]
  568. b3c4    Print 'error'
  569. b3db    Perform [f]
  570. b406    Perform [a]
  571. b533    Print 'space<esc-q>'
  572. b57c    Check 2 A-Matches
  573. b57f    Check A-Match
  574. b58b    Try Next Op Code
  575. b599    Perform [d]
  576. b5ae    Print '<cr><esc-q>'
  577. b5b1    '<cr><esc-q>'            TEXT
  578. b5d4    Display Instruction
  579. b5f2    Print '<3 spaces>'
  580. b5f5    '<3 spaces>'            TEXT
  581. b659    Classify Op Code
  582. b6a1    Get Mnemonic Char
  583. b6c3    Mode Tables            DATA
  584. b715    Mode Characters            DATA
  585. b721    Compacted Mnemonics        DATA
  586. b7a5    Input Parameter
  587. b7ce    Read Value
  588. b88a    Number Bases            DATA
  589. b88e    Base Bits            DATA
  590. b892    Display 5-Digit Address
  591. b8a5    Display 2-digit Byte
  592. b8a8    Print Space
  593. b8ad    Print Cursor-Up
  594. b8b4    New Line
  595. b8b9    Blank New Line
  596. b8c2    Output 2-Digit Byte
  597. b8d2    Byte to 2 ascii
  598. b8e7    Get Input Char
  599. b8e9    Get Character
  600. b901    Copy Add0 to Add2
  601. b90e    Calculate Add2 - Add0
  602. b922    Subtract Add0
  603. b93c    Subtract Add1
  604. b950    Increment Pointer
  605. b960    Decrement Pointer
  606. b974    Copy to Register Area
  607. b983    Calculate Step/Area
  608. b9b1    Perform [$+&%]
  609. ba07    Convert to Decimal
  610. ba47    Transfer Address
  611. ba5d    Output Address
  612. ba90    Perform [@]
  613. bb72    Unused                EMPTY
  614. ;
  615. c000    -cint-
  616. c006    Get from Keyboard
  617. c009    Screen Input Link
  618. c00c    Screen Print Link
  619. c00f    -screen-
  620. c012    -scnkey-
  621. c018    -plot-
  622. c021    Define FN Key
  623. c024    IRQ Link
  624. c027    Upload 80 Col [ce0c]
  625. c02a    Swap 40/80 Col [cd2e]
  626. c02d    Set Window
  627. c033    Screen Address Low        DATA
  628. c04c    Screen Address High        DATA
  629. c065    I/O Link Vectors        WORD
  630. c06f    Keyboard Shift Vectors        WORD
  631. c07b    Initialize Screen
  632. c142    Reset Window
  633. c150    Home Cursor
  634. c156    Goto Left Border
  635. c15c    Set Up New Line
  636. c17c    Do Screen Color
  637. c194    (IRQ) Split Screen
  638. c234    Get a Key
  639. c29b    Input From Screen
  640. c2bc    Read Screen Char
  641. c2ff    Check For Quotes
  642. c30c    Wrap Up Screen Print
  643. c320    Ascii to Screen Code
  644. c33e    Check Cursor Range
  645. c363    Do New Line
  646. c37c    Insert a Line
  647. c3a6    Scroll Screen
  648. c3dc    Delete a Line
  649. c40d    Move Screen Line
  650. c4a5    Clear a Line
  651. c53c    Set 80-Column Counter to 1
  652. c53e    Set 80-Column Counter
  653. c55d    Keyboard Scan Subroutine
  654. c651    Key Pickup & Repeat
  655. c6dd    Keycodes for Programmed Keys    DATA
  656. c6e7    Flash 40 Column Cursor
  657. c72d    Print to Screen
  658. c77d    Esc-o (escape)
  659. c78c    ?                DATA
  660. c79a    Vectors                WORD
  661. c7b6    Print Control Char
  662. c802    Print Hi-Bit Char
  663. c854    Chr$(29)  Cursor Right
  664. c85a    Chr$(17)  Cursor Down
  665. c875    Chr$(157) Cursor Left
  666. c880    Chr$(14)  Text Mode
  667. c8a6    Chr$(11)  Lock
  668. c8ac    Chr$(12)  Unlock
  669. c8b3    Chr$(19)  Home
  670. c8bf    Chr$(146) Clear Rvs Mode
  671. c8c2    Chr$(18)  Reverse
  672. c8c7    Chr$(2)   Underline On
  673. c8ce    Chr$(130) Underline Off
  674. c8d5    Chr$(15)  Flash On
  675. c8dc    Chr$(143) Flash Off
  676. c8e3    Open Screen Space
  677. c91b    Chr$(20)  Delete
  678. c932    Restore Cursor
  679. c94f    Chr$(9)  Tab
  680. c961    Chr$(24) Tab Toggle
  681. c96c    Find Tab Column
  682. c980    Esc-z     Clear All Tabs
  683. c983    Esc-y     Set Default Tabs
  684. c98e    Chr$(7)     Bell
  685. c9b1    Chr$(10) Linefeed
  686. c9be    Analyze Esc Sequence
  687. c9de    Vectors                WORD
  688. ca14    Esc-t    Top
  689. ca16    Esc-b    Bottom
  690. ca1b    Set Window Part
  691. ca24    Exit Window
  692. ca3d    Esc-i    Insert Line
  693. ca52    Esc-d    Delete Line
  694. ca76    Esc-q    Erase End
  695. ca8b    Esc-p    Erase Begin
  696. ca9f    Esc-@    Clear Remainder of Screen
  697. cabc    Esc-v    Scroll Up
  698. caca    Esc-w    Scroll Down
  699. cae2    Esc-l    Scroll On
  700. cae5    Esc-m    Scroll Off
  701. caea    Esc-c    Cancel Auto Insert
  702. caed    Esc-a    Auto Insert
  703. caf2    Esc-s    Block Cursor
  704. cafe    Esc-u    Underline Cursor
  705. cb0b    Esc-e    Cursor Non Flash
  706. cb21    Esc-f    Cursor Flash
  707. cb37    Esc-g    Bell Enable
  708. cb3a    Esc-h    Bell Disable
  709. cb3f    Esc-r    Screen Reverse
  710. cb48    Esc-n    Screen Normal
  711. cb52    Esc-k    End-of-Line
  712. cb58    Get Screen Char/Color
  713. cb74    Check Screen Line of Location
  714. cb81    Extend/Trim Screen Line
  715. cb9f    Set Up Line Masks
  716. cbb1    Esc-j    Start-of-Line
  717. cbc3    Find End-of-Line
  718. cbed    Move Cursor Right
  719. cc00    Move Cursor Left
  720. cc1e    Save Cursor
  721. cc27    Print Space
  722. cc2f    Print Character
  723. cc32    Print Fill Color
  724. cc34    Put Char to Screen
  725. cc5b    Get Rows/Columns
  726. cc6a    Read/Set Cursor
  727. cca2    Define Function Key
  728. cd2c    Esc-x    Switch 40/80 Col
  729. cd57    Position 80-col Cursor
  730. cd6f    Set Screen Color
  731. cd9f    Turn Cursor On
  732. cdca    Set CRTC Register 31
  733. cdcc    Set CRTC Register
  734. cdd8    Read CRTC Register 31
  735. cdda    Read CRTC Register
  736. cde6    Set CRTC to Screen Address
  737. cdf9    Set CRTC to Color Address
  738. ce0c    Set Up 80 Column Char Set
  739. ce4c    Ascii Color Codes        DATA
  740. ce5c    System Color Codes        DATA
  741. ce6c    Bit Masks            DATA
  742. ce74    40-col Init Values ($e0)    DATA
  743. ce8e    80-col Init Values ($0a40)    DATA
  744. cea8    Prog Key Lengths        DATA
  745. ceb2    Prog Key Definitions        DATA
  746. cef5    Unused                EMPTY
  747. ;
  748. d000    I/O or Chargen            DATA
  749. ;
  750. ; C128 Kernel revision 1
  751. ; E000 - FFFF
  752. ;
  753. e000    Reset Code
  754. e04b    MMU Set Up Bytes        DATA
  755. e056    -restor-
  756. e05b    -vector-
  757. e073    Vectors to $0314        WORD
  758. e093    -ramtas-
  759. e0cd    Move Code For High RAM Banks
  760. e105    RAM Bank Masks            DATA
  761. e109    -init-
  762. e1dc    Set Up CRTC Registers
  763. e1f0    Check Special Reset
  764. e242    Reset to 64/128
  765. e24b    Switch to 64 Mode
  766. e263    Code to $02
  767. e26b    Scan All ROMs
  768. e2bc    ROM Addresses High        DATA
  769. e2c0    ROM Banks            DATA
  770. e2c4    Print 'cbm' Mask        DATA
  771. e2c7    VIC 8564 Set Up            DATA
  772. e2f8    CRTC 8563 Set Up Pairs        DATA
  773. e33b    -talk-
  774. e33e    -listen-
  775. e43e    -acptr-
  776. e4d2    -second-
  777. e4e0    -tksa-
  778. e503    -ciout-  Print Serial
  779. e515    -untlk-
  780. e526    -unlsn-
  781. e535    Reset ATN
  782. e545    Set Clock High
  783. e54e    Set Clock Low
  784. e557    Set Data High
  785. e560    Set Data Low
  786. e569    Read Serial Lines
  787. e573    Stabilize Timing
  788. e59f    Restore Timing
  789. e5bc    Prepare For Response
  790. e5c3    Fast Disk Off
  791. e5d6    Fast Disk On
  792. e5fb    Fast Disk On/Off
  793. e5ff    (NMI) Transmit RS-232
  794. e64a    RS-232 Handshake
  795. e68e    Set RS-232 Bit Count
  796. e69d    (NMI) RS-232 Receive
  797. e75f    Send To RS-232
  798. e795    Connect RS-232 Input
  799. e7ce    Get From RS-232
  800. e7ec    Interlock RS-232/Serial
  801. e805    (NMI) RS-232 Control I/O
  802. e850    RS-232 Timings For NTSC        DATA
  803. e878    (NMI) RS-232 Receive Timing
  804. e8a9    (NMI) RS-232 Transmit Timing
  805. e8d0    Find Any Tape Header
  806. e919    Write Tape Header
  807. e980    Get Buffer Address
  808. e987    Get Tape Buffer Start & End Addrs
  809. e99a    Find Specific Header
  810. e9be    Bump Tape Pointer
  811. e9c8    Print 'press play on tape'
  812. e9df    Check Tape Status
  813. e9e9    Print 'press record ...'
  814. e9f2    Initiate Tape Read
  815. ea15    Initiate Tape Write
  816. ea26    Common Tape Code
  817. ea7d    Wait For Tape
  818. ea8f    Check Tape Stop
  819. eaa1    Set Read Timing
  820. eaeb    (IRQ) Read Tape Bits
  821. ec1f    Store Tape Chars
  822. ed51    Reset Pointer
  823. ed5a    New Char Set Up
  824. ed69    Write Transition to Tape
  825. ed8b    Write Data to Tape
  826. ed90    (IRQ) Tape Write
  827. ee2e    (IRQ) Tape Leader
  828. ee57    Wind Up Tape I/O
  829. ee9b    Switch IRQ Vector
  830. eea8    IRQ Vectors            WORD
  831. eeb0    Kill Tape Motor
  832. eeb7    Check End Address
  833. eec1    Bump Address
  834. eec8    (IRQ) Clear Break
  835. eed0    Control Tape Motor
  836. eeeb    -getin-
  837. ef06    -chrin-
  838. ef48    Get Char From Tape
  839. ef79    -chrout-
  840. efbd    -open-
  841. f0b0    Set CIA to RS-232
  842. f0cb    Check Serial Open
  843. f106    -chkin-
  844. f14c    -chkout-
  845. f188    -close-
  846. f1e4    Delete File
  847. f202    Search For File
  848. f212    Set File Parameters
  849. f222    -clall-
  850. f226    -clrchn-
  851. f23d    Clear I/O Path
  852. f265    -load-
  853. f27b    Serial Load
  854. f32a    Tape Load
  855. f3a1    Disk Load
  856. f3ea    Burst Load
  857. f48c    Close Off Serial
  858. f4ba    Get Serial Byte
  859. f4c5    Receive Serial Byte
  860. f503    Toggle Clock Line
  861. f50c    Print 'u0' Disk Reset        DATA
  862. f50f    Print 'searching'
  863. f521    Send File Name
  864. f533    Print 'loading'
  865. f53e    -save-
  866. f5b5    Terminate Serial Input
  867. f5bc    Print 'saving'
  868. f5c8    Save to Tape
  869. f5f8    -udtim-
  870. f63d    Watch For RUN or Shift
  871. f65e    -rdtim-
  872. f665    -settim-
  873. f66e    -stop-
  874. f67c    Print 'too many files'
  875. f67f    Print 'file open'
  876. f682    Print 'file not open'
  877. f685    Print 'file not found'
  878. f688    Print 'device not present'
  879. f68b    Print 'not input file'
  880. f68e    Print 'not output file'
  881. f691    Print 'missing file name'
  882. f694    Print 'illegal device no'
  883. f697    Error #0
  884. f6b0    Messages            DATA
  885. f71e    Print If Direct
  886. f722    Print I/O Message
  887. f731    -setnam-
  888. f738    -setlfs-
  889. f73f    Set Load/Save Bank
  890. f744    -rdst-
  891. f757    Set Status Bit
  892. f75c    -setmsg-
  893. f75f    Set Serial Timeout
  894. f763    -memtop-
  895. f772    -membot-
  896. f781    -iobase-
  897. f786    Search For SA
  898. f79d    Search & Set Up File
  899. f7a5    Trigger DMA
  900. f7ae    Get Char From Memory
  901. f7bc    Store Loaded Byte
  902. f7c9    Read Byte to be Saved
  903. f7d0    Get Char From Memory Bank
  904. f7da    Store Char to Memory Bank
  905. f7e3    Compare Char With Memory Bank
  906. f7ec    Load Memory Control Mask
  907. f800    Subroutines to $02a2-$02fb
  908. f85a    DMA Code to $03f0
  909. f867    Check Auto Start ROM
  910. f890    Check For Boot Disk
  911. f908    Print 'booting'
  912. f92c    Print '...'
  913. f98b    Wind Up Disk Boot
  914. f9b3    Read Next Boot Block
  915. f9fb    To 2-Digit Decimal
  916. fa08    Block Read Command String    DATA
  917. fa15    Print '#i'
  918. fa17    Print a Message
  919. fa40    NMI Sequence
  920. fa65    (IRQ) Normal Entry
  921. fa80    Keyboard Matrix Un-Shifted    DATA
  922. fad9    Keyboard Matrix Shifted        DATA
  923. fb32    Keyboard Matrix C-Key        DATA
  924. fb8b    Keyboard Matrix Control        DATA
  925. fbe4    Keyboard Matrix Caps-Lock    DATA
  926. fc80
  927. fd29    DIN Keyboard Matrix Un-Shifted    DATA
  928. fd81    DIN Keyboard Matrix Shifted    DATA
  929. fdd8    DIN Keyboard Matrix C-Key    DATA
  930. fe34    DIN Keyboard Matrix Control    DATA
  931. ;fe8?    DIN Keyboard Matrix Caps-Lock    DATA
  932.  
  933. ff00    MMU Configuration Register    CHIP
  934. ff01    MMU LCR: Bank 0            CHIP
  935. ff02    MMU LCR: Bank 1            CHIP
  936. ff03    MMU LCR: Bank 14        CHIP
  937. ff04    MMU LCR: Bank 14 Over RAM 1    CHIP
  938.  
  939. ff05    NMI Transfer Entry
  940. ff17    IRQ Transfer Entry
  941. ff33    Return From Interrupt
  942. ff3d    Reset Transfer Entry
  943. ff47    Jumbo Jump Table
  944. ;
  945. ; C128 Kernal Jump Table
  946. ;
  947. ff47    jmp $e5fb    spinspout    (fast serial)
  948. ff4a    jmp $f23d    close all
  949. ff4d    jmp $e24b    64mode
  950. ff50    jmp $f7a5    dma call
  951. ff53    jmp $f890    boot call
  952. ff56    jmp $f867    foenix
  953. ff59    jmp $f79d    lkupla        (logical addr)
  954. ff5c    jmp $f786    lkupsa        (second addr)
  955. ff5f    jmp $c02a    swapper        40/80 swap
  956. ff62    jmp $c027    dlchr        Init 80col charam
  957. ff65    jmp $c021    pfkey        Prog Function Key
  958. ff68    jmp $f73f    setbnk
  959. ff6b    jmp $f7ec    setcfg
  960. ff6e    jmp $02cd    jsrfar
  961. ff71    jmp $02e3    jmpfar
  962. ff74    jmp $f7d0    indfet        Bank LDA (fetchvec),y
  963. ff77    jmp $f7da    indsta        Bank STA (stavec),y
  964. ff7a    jmp $f7e3    indcmp        Bank CMP (cmpvec),y
  965. ff7d    jmp $fa17    primm        Print Immediate
  966. ff80    [01]                Kernal Version Number        DATA
  967. ff81    jmp $c000    cint        Init Editor & Video Chips
  968. ff84    jmp $e109    ioinit        Init I/O Devices, Ports & Timers
  969. ff87    jmp $e093    ramtas        Init Ram & Buffers
  970. ff8a    jmp $e056    restor        Restore Vectors
  971. ff8d    jmp $e05b    vector        Change Vectors For User
  972. ff90    jmp $f75c    setmsg        Control OS Messages
  973. ff93    jmp $e4d2    secnd        Send SA After Listen
  974. ff96    jmp $e4e0    tksa        Send SA After Talk
  975. ff99    jmp $f763    memtop        Set/Read System RAM Top
  976. ff9c    jmp $f772    membot        Set/Read System RAM Bottom
  977. ff9f    jmp $c012    key        Scan Keyboard
  978. ffa2    jmp $f75f    settmo        Set Timeout In IEEE
  979. ffa5    jmp $e43e    acptr        Handshake Serial Byte In
  980. ffa8    jmp $e503    ciout        Handshake Serial Byte Out
  981. ffab    jmp $e515    untlk        Command Serial Bus UNTALK
  982. ffae    jmp $e526    unlsn        Command Serial Bus UNLISTEN
  983. ffb1    jmp $e33e    listn        Command Serial Bus LISTEK
  984. ffb4    jmp $e33b    talk        Command Serial Bus TALK
  985. ffb7    jmp $f744    readss        Read I/O Status Word
  986. ffba    jmp $f738    setlfs        Set Logical File Parameters
  987. ffbd    jmp $f731    setnam        Set Filename
  988. ffc0    jmp ($031a)    (iopen)        Open Vector [efbd]
  989. ffc3    jmp ($031c)    (iclose)    Close Vector [f188]
  990. ffc6    jmp ($031e)    (ichkin)    Set Input [f106]
  991. ffc9    jmp ($0320)    (ichkout)    Set Output [f14c]
  992. ffcc    jmp ($0322)    (iclrch)    Restore I/O Vector [f226]
  993. ffcf    jmp ($0324)    (ibasin)    Input Vector, chrin [ef06]
  994. ffd2    jmp ($0326)    (ibsout)    Output Vector, chrout [ef79]
  995. ffd5    jmp $f265    loadsp        Load RAM From Device
  996. ffd8    jmp $f53e    savesp        Save RAM To Device
  997. ffdb    jmp $f665    settim        Set Real-Time Clock
  998. ffde    jmp $f65e    rdtim        Read Real-Time Clock
  999. ffe1    jmp ($0328)    (istop)        Test-Stop Vector [f66e]
  1000. ffe4    jmp ($032a)    (igetin)    Get Vector [eeeb]
  1001. ffe7    jmp ($032c)    (iclall)    Close All Channels And Files [f222]
  1002. ffea    jmp $f5f8    udtim        Increment Real-Time Clock
  1003. ffed    jmp $c00f    scrorg        Return Screen Organization
  1004. fff0    jmp $c018    plot        Read / Set Cursor X/Y Position
  1005. fff3    jmp $f781    iobase        Return I/O Base Address
  1006.  
  1007. fff6    System Vectors
  1008. fff6    [ffff]        
  1009. fff8    [e224]        SYSTEM
  1010.  
  1011. fffa    Transfer Vectors
  1012. fffa    [ff05]        NMI
  1013. fffc    [ff3d]        RESET
  1014. fffe    [ff17]        IRQ
  1015.