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

  1.  
  2. ;    Commodore 128 RAM Memory Map
  3. ;    V1.2    1 Sep 1994
  4.  
  5.  
  6.   C128 Memory Map
  7.  
  8.   This is as complete as possible compilation of two separate memory maps,
  9.   and a few random sources which naturally do differ from each other.
  10.  
  11.  
  12.   C128 RAM
  13.  
  14. All Banks
  15.  
  16. 0000        I/O direction register
  17. 0001        I/O port, similar to C64
  18. 0002        Bank Number, Jump to SYS Address
  19. 0003-0004    SYS address, MLM register PC
  20. 0005-0009    SYS and MLM register save (SR, A, X, Y, SP)
  21. 000a        Scan-quotes flag
  22. 000b        TAB column save
  23. 000c        0 = LOAD, 1 = VERIFY
  24. 000d        Input buffer pointer / number of subscripts
  25. 000e        default DIM flag
  26. 000f        Type: FF = string, 00 = numeric
  27. 0010        Type: 80 = integer, 00 = floating point
  28. 0011        DATA scan / LIST quote / memory flag
  29. 0012        Subscript / FNxx flag
  30. 0013        0 = INPUT, $40 = GET, $98 = READ
  31. 0014        ATN sign / Comparison evaluation flag
  32. 0015        Current I/O prompt flag
  33. 0016-0017    Integer value
  34. 0018        Pointer: temporary string stack
  35. 0019-0023    Stack for temporary strings
  36. 0024-0027    Utility pointer area
  37. 0028-002c    Product area for multiplication
  38. 002d-002e    Pointer: Start-of-BASIC (bank 0)
  39. 002f-0030    Pointer: Start-of-variables (bank 1)
  40. 0031-0032    Pointer: Start-of-arrays
  41. 0033-0034    Pointer: End-of-arrays
  42. 0035-0036    Pointer string-storage (moving down)
  43. 0037-0038    Utility string pointer
  44. 0039-003a    Pointer: Limit-of-memory (bank 1)
  45. 003b-003c    Current BASIC line number
  46. 003d-003e    Textpointer: BASIC work point (chrget)
  47. 003f-0040    Utility Pointer
  48. 0041-0042    Current DATA line number
  49. 0043-0044    Current DATA address
  50. 0045-0046    Input vector
  51. 0047-0048    Current variable name
  52. 0049-004a    Current variable address
  53. 004b-004c    Variable pointer for FOR/NEXT
  54. 004d-004e    Y-save, op-save, BASIC pointer save
  55. 004f        Comparison symbol accumulator
  56. 0050-0055    Miscellaneous work area, pointers, and so on
  57.  
  58. 0056-0058    Jump vector for functions
  59. 0059-0062    Miscellaneous numeric work area
  60. 0063        Accum #1 exponent
  61. 0064-0067    Accum #1 mantissa
  62. 0068        Accum #1 sign
  63. 0069        Series evaluation constant pointer
  64. 006a-006f    Accum #2 exponent, and so on
  65. 0070        Sign comparison Acc #1 versus #2
  66. 0071        Accum #1 lo-order (rounding)
  67. 0072-0073    Cassette buffer len / Seris pointer
  68. 0074-0075    Auto line number increment
  69. 0076        Graphics flag: FF = Graphics allocated
  70. 0077        Color source number
  71. 0078-0079    Temporary counters
  72. 007a-007c    DS$ descriptor
  73. 007d-007e    BASIC pseudo-stack pointer
  74. 007f        Flag: 0 = direct mode
  75. 0080-0081    DOS, USING work flags
  76. 0082        Stack pointer save for errors
  77. 0083        Graphic color source
  78. 0084        Multicolor 1 (1)
  79. 0085        Multicolor 2 (2)
  80. 0086        Graphic foreground color (13)
  81. 0087-008a    Graphic scale factors, X & Y
  82. 008b-008f    Graphic work values
  83. 0090        Status word ST
  84. 0091        Keyswitch 1A: STOP and RVS flags
  85.          7    STOP
  86.          6    Q
  87.          5    C=
  88.          4    Space
  89.          3    2
  90.          2    CTRL
  91.          1    <-
  92.          0    1
  93.  
  94. 0092        Timing constant for tape ($80)
  95. 0093        Work value, monitor, LOAD / SAVE
  96.             0 = LOAD, 1 = VERIFY
  97. 0094        Serial output, deferred character flag
  98. 0095        Serial deferred character
  99. 0096        Cassette work value
  100. 0097        Register save
  101. 0098        How many open files
  102. 0099        Input device, normally 0
  103. 009a        Output CMD device, normally 3
  104. 009b-009c    Tape parity, output-received flag
  105. 009d        I/O messages: 192 = all, 128 = commands, 64 = errors, 0 = nil
  106. 009e-009f    Tape error pointers
  107. 00a0-00a2    Jiffy clock HML
  108. 00a3-00a4    Scratch registers. (don't use)
  109. 00a5-00a6    I/O work bytes (tape)
  110. 00a7-00ab    RS-232C Receive, Misc Work Values
  111. 00a7        RS-232 Input Bit Storage, Cassette Short Count
  112. 00a8        RS-232 Bit Count In, Cassette Read Error
  113. 00a9        RS-232 Flag For Start Bit Check, Cassette Reading Zeroes
  114. 00aa        RS-232 Byte Buffer, Cassette Read Mode
  115. 00ab        RS-232 Parity Storage, Cassette Short Cnt
  116.  
  117. 00ac-00ad    Pointer for tape buffer and screen scrolling
  118. 00ae-00af    Tape end address / End of program
  119. 00b0-00b1    Tape timing constants
  120. 00b2-00b3    Pointer: Start of tape buffer
  121. 00b4-00b6    RS-232 Send, Misc work values
  122. 00b4        RS-232 Bit Count
  123. 00b5        RS-232 Next Bit To Be Sent
  124. 00b6        RS-232 Byte Buffer
  125. 00b7        Number of characters in file name
  126. 00b8        Current logical file
  127. 00b9        Current secondary address
  128. 00ba        Current device
  129. 00bb-00bc    Pointer to file name
  130. 00bd        RS-232 TRNS Parity Buffer
  131. 00be        Cassette Read Block Count
  132. 00bf        Serial Word Buffer
  133. 00c0        Cassette Manual/Cntrolled Switch (Updated during IRQ)
  134. 00c1-00c2    I/O Start Address
  135. 00c3-00c4    Cassette LOAD Temps (2 bytes)
  136. 00c5        Tape Read/Write Data
  137.  
  138. 00c6-00c7    BANKS: I/O data, filename
  139. 00c8-00c9    RS-232 input buffer addresses  ($0c00)
  140. 00ca-00cb    RS-232 output buffer addresses ($0d00)
  141. 00cc-00cd    Keyboard decode pointer (bank 15) ($fa80)
  142. 00ce-00cf    Print string work pointer
  143. 00d0        Number of characters in keyboard buffer
  144. 00d1        Number of programmed chars waiting
  145. 00d2        Programmed key character index
  146. 00d3        Key shift flag:
  147.          0    No shift
  148.          1    Shift
  149.          2    C=
  150.          4    Control
  151.          8    Alt
  152.         15    Caps Lock
  153.  
  154. 00d4        Current key code: 88 = no key
  155. 00d5        Previous key code: 88 = no key
  156. 00d6        Input from screen / from keyboard
  157. 00d7        40 / 80 columns: 0 = 40 column screen
  158. 00d8        Graphics mode code
  159.          000    0    Graphic 0
  160.          001    1        1
  161.          011    2        2
  162.          101    3        3
  163.          111    4        4
  164.  
  165. 00d9        Character base: 0 = ROM, 4 = RAM
  166. 00da-00df    Misc work area
  167.  
  168. 00e0-00e1    Pointer to screen line / cursor
  169. 00e2-00e3    Color line pointer
  170. 00e4        Current screen bottom margin
  171. 00e5        Current screen top margin
  172. 00e6        Current screen left margin
  173. 00e7        Current screen right margin
  174. 00e8-00e9    Input cursor log (row, column)
  175. 00ea        End-of-line for input pointer
  176. 00eb        Row where cursor lives
  177. 00ec        Position of cursor on screen line
  178. 00ed        Maximum screen lines (24)
  179. 00ee        Maximum screen columns (39)
  180. 00ef        Current I/O character
  181. 00f0        Previous character printed
  182. 00f1        Character color
  183. 00f2        Temporary color save
  184. 00f3        Screen reverse flag
  185. 00f4        0 = direct cursor, else programmed
  186. 00f5        Number of INSERTs outstanding
  187. 00f6        255 = Auto Insert enabled
  188. 00f7        Text mode lockout (SHFT-C=): 0 = enabled, 128 = disabled
  189. 00f8        Scrolling: 0 = enabled, 128 = disabled
  190. 00f9        Bell (CTRL-G):  0= enable, 128 = disable
  191. 00fa-00fe    Not used
  192. 00ff        Basic Scratch
  193.  
  194. 0100-01ff    Processor Stack Area
  195. 0100-013e    Tape error log
  196. 0100-0124    DOS work area
  197. 0125-0138    PRINT / USING work area
  198.  
  199. 0200-03ff    Vectors, buffers, Kernal RAM
  200.  
  201. 0200-02a1    BASIC input buffer
  202.  
  203.             512-673    BASIC & Monitor Input Buffer (161 bytes)
  204.     02a2-02ae    674-686    Kernal RAM: 
  205.  
  206. 02a2-02ae    Bank Peek Subroutine
  207. 02af-02bd    Bank Poke Subroutine
  208. 02be-02cc    Bank Compare Subroutine
  209. 02cd-02e2    JSR to Another Bank
  210. 02e3-02fb    JMP to Another Bank
  211. 02fc-02fd    Function Execute Hook    [4c78]
  212.  
  213. 0300-0301    Error Message Link    [4D3F]
  214. 0302-0303    BASIC Warm Start Link    [4DC6]
  215. 0304-0305    Crunch BASIC Tokens Link [430D]
  216. 0306-0307    Print Tokens Link    [5151]
  217. 0308-0309    Start New BASIC Code Link [4AA2]
  218. 030a-030b    Get Arithmetic Element Link [78DA]
  219. 030c-030d    Crunch FE Hook    [4321]
  220. 030e-030f    List FE Hook    [51CD]
  221. 0310-0311    Execute FE Hook [4BA9]
  222. 0312-0313    Unused
  223. 0314-0315    IRQ Vector    [FA65]
  224. 0316-0317    Break Interrupt Vector [B003]
  225. 0318-0319    NMI Interrupt Vector [FA40]
  226. 031a-031b    OPEN Vector    [EFBD]
  227. 031c-031d    CLOSE Vector    [F188]
  228. 031e-031f    Set Input Vector [F106]
  229. 0320-0321    Set Output Vector [F14C]
  230. 0322-0323    Restore I/O Vector [F226]
  231. 0324-0325    Input Vector    [EF06]
  232. 0326-0327    Output Vector    [EF79]
  233. 0328-0329    Test STOP Key    [F66E]
  234. 032a-03ab    GET Vector    [EEEB]
  235. 032c-032d    Abort I/O Vector [F222]
  236. 032e-032f    Machine Lang Monitor Link [B006]
  237. 0330-0331    LOAD Link    [F26C]
  238. 0332-0333    SAVE Link    [F54E]
  239. 0334-0335    Print Control Code Link [C7B9]
  240. 0336-0337    Print High ASCII Code Link [C805]
  241. 0338-0339    Print ESC Sequence Link [C9C1]
  242. 033a-033b    Keyscan Link    [C5E1]
  243. 033c-033d    Store Key    [C6AD]
  244.  
  245. 033e-033f    Pointer to KBD Decoding Table: Unshifted [FA80 / FD29]
  246. 0340-0341    Pointer to KBD Decoding Table: Shifted   [FAD9 / FD82]
  247. 0342-0343    Pointer to KBD Decoding Table: Commodore [FB32 / FDDB]
  248. 0344-0345    Pointer to KBD Decoding Table: Control   [FB8B / FE34]  1)
  249. 0346-0347    Pointer to KBD Decoding Table: Alt       [FA80 / FD29]
  250. 0348-0349    Pointer to KBD Decoding Table: Ascii/DIN [FB4E / FD29]
  251.  
  252.     1) The value FE34 is used in German version, it doesn't change in others.
  253.  
  254. 034a-0353    IRQ Keyboard Buffer (10 Bytes)  FF = No key
  255. 0354-035d    Bitmap Of TAB Stops (10 Bytes)
  256. 035e-0361    Bitmap Of Line Wraps
  257. 0362-036b    Logical File Number Table
  258. 036c-0375    Device Number Table
  259. 0376-037f    Secondary Addresse Table
  260. 0380-039e    CHRGET Subroutine
  261. 0386        CHRGOT Entry
  262.  
  263. 039f-03aa    Fetch From RAM Bank 0
  264. 03ab-03b6    Fetch From RAM Bank 1
  265. 03b7-03bf    Index1 Indirect Fetch From RAM Bank 1
  266. 03c0-03c8    Index2 Indirect Fetch From RAM Bank 0
  267. 03c9-03d1    Txtptr Fetch From RAM Bank 0
  268. 03d2-03d4    Numeric Constant For BASIC
  269. 03d5        Current Bank For SYS, POKE, PEEK
  270. 03d6-03d9    INSTR Work Values
  271. 03da        Bank Pointer For String/Number CONVERT RTN
  272. 03db-03dd    Sprite: Work bytes for SSHAPE
  273. 03df        FAC#1 Overflow
  274. 03e0-03e1    Sprite: Work bytes for SPRSAV
  275. 03e2        Graphic Foreground/ Background Color Nybbles
  276. 03e3        Graphic Foreground/ Multicolor 1 Color Nybbles
  277. 03f0-03f6    DMA Link Code
  278.  
  279. ff00        MMU Configuration Register
  280. ff01        MMU LCR: Bank 0
  281. ff02        MMU LCR: Bank 1
  282. ff03        MMU LCR: Bank 14
  283. ff04        MMU LCR: Bank 14 Over RAM 1
  284.  
  285.     Page Four & Higher Declarations (Beginning Of Bankable RAM)
  286.  
  287.  
  288. Bank 0
  289.  
  290. 0400-07e7    VIC 40-Column Text Screen
  291. 07e8-07ff    Sprite Identity Pointers For Text Mode
  292. 0800-09ff    BASIC Pseudo Stack (gosub and loop addresses and commands)
  293.  
  294. 0a0c        CIA 1 Interrupt Log
  295. 0a0d        CIA 1 Timer Enabled
  296. 0a0f-0a17    RS-232 Work Values
  297. 0a18        RS-232 Receive Pointer
  298. 0a19        RS-232 Input Pointer
  299. 0a1a        RS-232 Transmit Pointer
  300. 0a1b        RS-232 Send Pointer
  301. 0a1d-0a1f    Sleep Countdown, FFFF = disable
  302. 0a20        Keyboard Buffer Size
  303. 0a21        Screen Freeze Flag
  304. 0a22        Key Repeat: 128 = all, 64 = none
  305. 0a23        Key Repeat Timing
  306. 0a24        Key Repeat Pause
  307. 0a25        Graphics / Text Toggle Latch
  308. 0a26        40-Col Cursor Mode
  309. 0a27-0a2a    40-Col Blink Values
  310. 0a2b        80-Col Cursor Mode
  311. 0a2c        40-Col Video $D018 Image
  312. 0a2d
  313. 0a2e-0a2f    80-Col Pages-Screen, Color
  314. 0a40-0a5a    40/80 Pointer Swap (to E0-FA)
  315.  
  316. 0a60-0a6d    40/80 Data Swap (0354-0361)
  317.  
  318. 0ac0        PAT Counter
  319. 0ac1-0ac4    ROM Physical Address Table
  320.  
  321. 0b00-0bbf    Cassette Buffer
  322. 0bc0-0bff
  323. 0c00-0dff    RS-232 Input, Output Buffers
  324. 0e00-0fff    System Sprites (56-63)
  325. 1000-1009    Programmed Key Lenghts
  326. 100a-10ff    Programmed Key Definitions
  327. 1100-1130    DOS Command Staging Area
  328. 1131-116e    Graphics Work Area
  329.  
  330. 116f        Trace Mode: FF = on
  331. 1170-1173    Renumbering Pointers
  332. 1174-1177    Directory Work Pointers
  333. 1178-1197    Graphics Index
  334. 117a-117b    Float-fixed Vector [849F]
  335. 117c-117d    Fixed-float Vector [793C]
  336. 117e-11d5    Sprite Motion Tables (8 x 11 bytes)
  337. 11d6-11e5    Sprite X/Y Positions
  338. 11e6        Sprite X-High Positions
  339. 11e7-11e8    Sprite Bumb Masks (sprite - backgnd)
  340. 11e9-11ea    Light Pen Values, X and Y
  341. 11eb        CHRGEN ROM Page, Text Mode [D8]
  342. 11ec        CHRGEN ROM Page, Graphics Mode [D0]
  343. 11ed        Secondary Address For RECORD
  344. 11ee-11ff    Unused
  345.  
  346. 1204-1207    PU Characters (,.$)
  347. 120b-120c    TRAP Address, FFFF = none
  348. 1210-1211    End of Basic, Bank 0
  349. 1212-1213    Basic Program Limit [FF00]
  350. 1214-1217    DO Work Pointers
  351. 1218-121a    USR Program Jump [7D28]
  352. 121b-121f    RND Seed Value
  353.  
  354. 1222        Sound Tempo
  355. 122f        Music Sequencer (Envelope)
  356.  
  357. 1234-1237    Note Image
  358. 1239-123e    Current Envelope Pattern
  359. 123f-1270    Envelope Tables
  360. 123f-1248    AD(SR) Pattern
  361. 1249-1252    (AD)SR Pattern
  362. 1253-125c    Waveform Pattern
  363. 125d-1266    Pulse Width Lo Pattern
  364. 1267-1270    Pulse Width Hi Pattern
  365. 1271-1274    Note: xx, xx, volume
  366. 1275        Previous Volume Image
  367. 1276-1278    Collision IRQ Task Table
  368. 1279-127e    Collision IRQ Address Tables
  369. 127f        Collision Mask
  370. 1280        Collision Work Value
  371.  
  372. 12b1        PEN Work Value
  373. 12ff        ?
  374. 1300-17ff    Unused
  375. 1800-1bff    Reserved for Key Functions
  376. 1c00-fbff    BASIC RAM Memory (Text)
  377. 1c00-1ff7    Video Color Matrix For Graphics Mode
  378. 1ff8-1fff    Sprite Identity Pointers For Graphics Mode
  379. 2000-3fff    Screen Memory For Graphics Mode
  380. 4000-fbff    BASIC RAM Memory (with graphics enabled)
  381.  
  382.  
  383. Bank 1
  384.  
  385. 0400-fbff    BASIC Variables, Arrays, And Strings
  386.  
  387.  
  388. Bank 14
  389. The same as Bank 15, except:
  390.  
  391. d000-dfff    Character Generator ROM
  392.  
  393.  
  394. Bank 15
  395.  
  396. 4000-cfff    BASIC ROM
  397. d000-d030    VIC, 40 Col Video Chip 8564 (NTSC) or 8566 (PAL)
  398. d400-d41c    SID Sound Chip 6581
  399. d500-d50b    MMU, Memory Management Unit 8722
  400. d600-d601    VDC, 80 Col Video Controller 8563
  401. d800-d8e7    Color Nybbles For VIC Text Screen
  402. dc00-dc0f    CIA 1 (IRQ), 6526
  403. dd00-dd0f    CIA 2 (NMI), 6526
  404. df00-df0a    DMA Slot
  405. e000-ffff    KERNAL ROM
  406. ff00-ff04    MMU
  407. ff05-ffff    Transfer, Jump Table
  408.  
  409.  
  410.     *****
  411.  
  412. 502 COMMODORE 128
  413.  
  414. This chapter provides the memory maps for both C128 and C64 modes. A memory
  415. map tells you exactly how memory is laid out internally in both RAM and ROM.
  416. It tells you exactly what resides in each memory location. The memory map
  417. directs you in finding address vectors for routines and entry points and provi-
  418. des information about the general layout of the computer. The memory map is
  419. probably the most vital programming tool.
  420.  
  421. Refer to the memory map whenever you need directions throughout the memory of 
  422. your Commodore 128. Addresses listed with more than one address label are used
  423. for more than one purpose. To BASIC, the variable has one purpose; to the Mac-
  424. hine Language Monitor, it may have another.
  425.  
  426. The conventions used for the memory maps are as follows:
  427.  
  428. Column 1    Column 2    Column3        Column 4
  429. MEMORY
  430. ADDRESS        HEXADECIMAL    DECIMAL
  431. LABEL        ADDRESS        ADDRESS        DESCRIPTION
  432.  
  433.     See Appendix K for the Z80 memory map for CP/M on the Commodore 128.
  434.  
  435.  
  436.         C128 MEMORY MAP
  437.  
  438. MEMORY ADDRESS      ADDRESS
  439. LABEL        HEX    DEC    DESCRIPTION
  440.  
  441. D6510        0000    0    6510 Data Direction Register
  442. R6S10        0001    1    6510 Data Register
  443. BANK        0002    2    Token 'SEARCH' looks for, or Bank #
  444. PC_HI        0003    3    Address for BASIC SYS command or MONITOR and
  445.                 LONG CALL/JUMP Routines
  446. PC_LO        0004    4    Address
  447. S_REG        0005    5    STATUS REG Temp
  448. A_REG        0006    6    .A REG Temp
  449. X_REG        0007    7    .X REG Temp
  450. Y_REG        0008    8    .Y REG Temp
  451. STKPTR        0009    9    Stack Pointer Temp
  452.  
  453.  
  454.         BASIC ZERO PAGE STORAGE
  455.  
  456. INTEGR        0009    9
  457. CHARAC                Search Character
  458. ENDCHR        000A    10    Flag: Scan For Quote at End Of String
  459. TRMPOS        000B    11    Screen Column from Last Tab
  460. VERCIC        000C    12    Flag: 0 = LOAD, 1 = VERIFY
  461.  
  462. COUNT        000D    13    Input Buf.ptr / # of Subscripts
  463.  
  464. DIMFLG        000E    14    Flag: Default Array Dimension
  465. VALTYP        000F    15    DATA Type: $FF=String, $00 = Numeric
  466. INTFLG        0010    16    DATA Type: $00=Float.Pt, $80 = Integer
  467. GARBFL        0011    17    Flag: DATA Scan/ LIST Quote/ Garbage Collection
  468.  
  469. DORES
  470. SUBFLG        0012    18    Flag: Subscript Ref. / User Func. Call
  471.  
  472. INPFLG        0013    19    Flag: $00=INPUT, $40=GET, $98 = READ
  473.  
  474. DOMASK        0014    20
  475. TANSGN                Flag: TAN Sign / Comparison Result
  476.  
  477. CHANNL        0015    21
  478. POKER        0016    22
  479. LINNUM                Temp Integer Value
  480. TEMPPT        0018    24    Pointer: Temp String Stack
  481. LASTPT        0019    25    Last Temp String Address
  482. TEMPST        001B    27    Stack For Temp Strings
  483. INDEX        0024    36    Utility Pointer Area
  484. INDEX1
  485. INDEX2        0026    38
  486. RESHO        0028    40    Floating Pt. Product of Multiply
  487. RESMOH        0029    41
  488. ADDEND        002A    42
  489. RESMO
  490. RESLO        002B    43
  491. TXTTAB        002D    45    Pointer: Start Of BASIC Text
  492. VARTAB        002F    47    Pointer: Start Of BASIC Variables
  493.  
  494. ARYTAB        0031    49    Pointer: Start Of BASIC Arrays
  495. STREND        0033    51    Pointer: End Of BASIC Arrays + 1
  496.  
  497. FRETOP        0035    53    Pointer: Bottom of String Storage
  498. FRESPC        0037    55    Utility String Pointer
  499. MAX_MEM_1    0039    57    Top of String/Variable Bank (Bank 1)
  500.  
  501. CURLIN        003B    59    Current BASIC Line Number
  502. TXTPTR        003D    61    Pointer to BASIC Text used by CHRGET,etc.
  503. FORM        003F    63    Used by PRINT USING
  504. FNDPNT                Pointer to Item Found By Search
  505.  
  506. DATLIN        0041    65    Current DATA Line Number
  507. DATPTR        0043    67    Current DATA Item Address
  508. INPPTR        0045    69    Vector: INPUT Routine
  509. VARNAM        0047    71    Current BASIC Variable Name
  510. FDECPT        0049    73
  511. VARPNT                Pointer: Current BASIC Variable DATA
  512.  
  513. LSTPNT        004B    75
  514. FORPNT                Pointer: Index Variable For FOR/NEXT
  515.  
  516. ANDMSK
  517. EORMSK        004C    76
  518. VARTXT        004D    77
  519. OPPTR
  520. OPMASK        004F    79
  521. GRBPNT        0050    80
  522. TEMPF3
  523. DEFPNT
  524. DSCPNT        0052    82
  525.         0054    84
  526.  
  527. HELPER        0055    85    Flags 'HELP' or 'LIST'
  528. JMPER        0056    86
  529.         0057    87
  530. OLDOV        0058    88
  531. TEMPF1        0059    89
  532. PTARG1                Multiply defined for INSTR
  533. PTARG2        005B    91
  534. STRl        005D    93
  535. STR2        0060    96
  536. POSITN        0063    99
  537. MATCH        0064    100
  538.  
  539. ARYPNT        005A    90
  540. HIGHDS
  541. HIGHTR        005C    92
  542. TEMPF2        005E    94
  543. DECCNT        005F    95    Number of Digits after the Decimal Point
  544. TENEXP        0060    96
  545. T0                ML MONITOR Z.P. Storage in FAC
  546.  
  547. GRBTOP        0061    97
  548. DPTFLG                Decimal Point Flag
  549. LOWTR
  550. EXPSGN        0062    98
  551. FAC        0063    99
  552.  
  553. DSCTMP
  554. LEFT_FLAG            Paint-Left Flag
  555. FACEXP                FAC#1 Exponent
  556. Tl                MONITOR Z.P. Storage in FAC
  557. RIGHT_FLAG    0064    100    Paint-Right Flag
  558. FACHO                FAC#1 Mantissa
  559. FACMOH        0065    101
  560. INDICE        0066    102
  561. FACMO
  562. T2                MONITOR Z.P. Storage in FAC
  563. FACLO        0067    103
  564. FACSGN        0068    104    FAC#1 Sign
  565. DEGREE        0069    105
  566. SGNFLG                Pointer: Series-Eval. Constant
  567. ARGEXP        006A    106    FAC#2 Exponent
  568. ARGHO        006B    107    FAC#2 Mantissa
  569. ARGMOH        006C    108
  570. INIT_AS_0            Just a count for INIT
  571.  
  572. ARGMO        006D    109
  573. ARGLO        006E    110
  574. ARGSGN        006F    111    FAC#2 Sign
  575. STRNGI        0070    112
  576. ARISGN                Sign Comparison Result: FAC#1 vs #2
  577.  
  578. FACOV        0071    113    FAC#1 Low-Order (Rounding)
  579. STRNG2        0072    114
  580. POLYPT
  581. CURTOL
  582. FBUFPT                Pointer: Cassette Buffer
  583. AUTINC        0074    116    Inc. Val for AUTO (0 = Off)
  584. MVDFLG        0076    118    Flag If 10K HIRES Allocated
  585. Z_P_TEMP_1    0077    119    PRINT USING's Leading Zero Counter
  586.                 MOVSPR & Sprite Temporary
  587.                 MID$ Temporary
  588.  
  589. HULP        0078    120    Counter
  590. KEYSIZ
  591. SYNTMP        0079    121    Used as Temp For Indirect
  592. DSDESC        007A    122    Descriptor for DS$
  593. TXTPTR                MONITOR Z.P. Storage
  594. TOS        007D    125    Top of Run Time Stack
  595. RUNMOD        007F    127    Flags Run/Direct Mode
  596. PARSTS        0080    128    DOS Parser Status Word
  597. POINT                USING's Pointer to Dec.Pt
  598.  
  599. PARSTX        0081    129
  600. OLDSTK        0082    130
  601.  
  602.  
  603.         BASIC Z-P STORAGE FOR GRAPHIC COMMANDS
  604.  
  605. COLSEL        0083    131    Current COLOR Selected
  606.  
  607. MULTICOLOR    0084    132
  608. MULTICOLOR_2    0085    133
  609. FOREGROUND    0086    134
  610. SCALE_X        0087    135    Scale Factor In X
  611. SCALE_Y        0089    137    Scale Factor In Y
  612. STOPNB        008B    139    Stoppaint if not Background/Not same color
  613. GRAPNT        008C    140
  614. VTEMPI        008E    142
  615. VTEMP2        008F    143
  616.  
  617.  
  618.         KERNAL/EDITOR STORAGE
  619.  
  620. STATUS        0090    144    I/O Operation Status Byte
  621. STKEY        0091    145    STOP KEY Flag
  622. SVXT        0092    146    Tape Temporary
  623. VERCK        0093    147    LOAD or VERIFY Flag
  624. C3P0        0094    148    Serial Buffered Char Flag
  625. BSOUR        0095    149    Char Buffer For Serial
  626. SYNO        0096    150    Cassette Sync #
  627. XSAV        0097    151    Temp For BASIN
  628. LDTND        0098    152    Index to Logical File
  629. DFLTN        0099    153    Default Input Device #
  630. DFLTO        009A    154    Default Output Device #
  631. PRTY        009B    155    Cassette Parity
  632. DPSW        009C    156    Cassette Dipole Switch
  633. MSGFLG        009D    157    OS Message Flag
  634. PTR1        009E    158    Cassette Error Pass1
  635. T1                Temporary 1
  636. PTR2        009F    159    Cassette Error Pass2
  637. T2                Temporary 2
  638. TIME        00A0    160    24 Hour Clock In 1/60th Seconds
  639. R2D2        00A3    163    Serial Bus Usage
  640.  
  641. PCNTR                Cassette
  642. BSOUR1        00A4    164    Temp used by Serial Routine
  643. FIRT
  644. COUNT        00A5    165    Temp used by Serial Routine
  645. CNTDN                Cassette Sync Countdown
  646. BUFPT        00A6    166    Cassette Buffer Pointer
  647.  
  648. INBIT        00A7    167    RS-232 RCVR Input Bit Storage
  649. SHCNL                Cassette Short Count
  650. BITCI        00A8    168    RS-232 RCVR Bit Count In
  651. RER                Cassette Read Error
  652. RINONE        00A9    169    RS-232 RCVR Flag For Start Bit Check
  653. REZ                Cassette Reading Zeroes
  654. RIDATA        00AA    170    RS-232 RCVR Byte Buffer
  655. RDFLG                Cassette Read Mode
  656. RIPRTY        00AB    171    RS-232 RCVR Parity Storage
  657. SHCNH                Cassette Short Cnt
  658. SAL        00AC    172    Pointer: Tape Buffer / Screen Scrolling
  659. SAH        00AD    173
  660. EAL        00AE    174    Tape End Addresses / End of Program
  661. EAH        00AF    175
  662. CMP0        00B0    176    Tape Timing Constants
  663. TEMP        00B1    177
  664. TAPE1        00B2    178    Address of Tape Buffer
  665. BITTS        00B4    180    RS-232 TRNS Bit Count
  666. SNSW1
  667. NXTBIT        00B5    181    RS-232 TRNS Next Bit To Be Sent
  668. DIFF
  669. RODATA        00B6    182    RS-232 TRNS Byte Buffer
  670. PRP
  671. FNLEN        00B7    183    LENGTH Current File N Str
  672. LA        00B8    184    Current File Logical Addr
  673. SA        00B9    185    Current File 2nd Addr
  674. FA        00BA    186    Current File Primary Addr
  675. FNADR        00BB    187    Addr Current File Name Str
  676. ROPRTY        00BD    189    RS-232 TRNS Parity Buffer
  677. OCHAR
  678. FSBLK        00BE    190    Cassette Read Block Count
  679. DRIVE        00BF    191
  680. MYCH                Serial Word Buffer
  681. CAS1        00C0    192    Cassette Manual/Cntrled Switch (Updated during IRQ)
  682. TRACK        00C1    193
  683. STAL                I/O Start Address (LO)
  684. SECTOR        00C2    194
  685. STAH                I/O Start Address (HI)
  686. MEMUSS        00C3    195    Cassette LOAD Temps (2 bytes)
  687. DATA        00C5    197    Tape Read/Write Data
  688.  
  689. BA        00C6    198    Bank For Current LOAD/SAVE/VERIFY Operation
  690. FNBANK        00C7    199    Bank Where Current FN is found (at 'FNADR')
  691. RIBUF        00C8    200    RS-232 Input Buffer Pointer
  692. ROBUF        00CA    202    RS-232 Output Buffer Pointer
  693.  
  694.  
  695.         GLOBAL SCREEN EDITOR VARIABLES
  696.  
  697. KEYTAB        00CC    204    Keyscan Table Pointer
  698. IMPARM        00CE    206    PRIMM Utility String Pointer
  699. NDX        00D0    208    Index to Keyboard Queue
  700. KYNDX        00D1    209    Pending Function Key Flag
  701. KEYIDX        00D2    210    Index Into Pending Function Key String
  702. SHFLAG        00D3    211    Keyscan Shift Key Status
  703. SFDX        00D4    212    Keyscan Current Key Index
  704. LSTX        00D5    213    Keyscan Last Key Index
  705. CRSW        00D6    214    <CR> Input Flag    
  706. MODE        00D7    215    40/80 Column Mode Flag
  707. GRAPHM        00D8    216    Text/Graphic Mode Flag
  708. CHAREN        00D9    217    RAM/ROM VIC Character Fetch Flag (Bit-2)
  709.  
  710.  
  711.     THE FOLLOWING LOCATIONS ARE SHARED BY SEVERAL EDITOR ROUTINES.
  712.  
  713. SEDSAL        00DA    218    Pointers For MOVLIN
  714. BITMSK        00DA    218    Temporary For TAB & LINE WRAP Routines
  715. SAVER        00DB    219    Another Temporary Place To Save A Reg.
  716. SEDEAL        00DC    220
  717. SEDT1        00DE    222    SAVPOS
  718. SEDT2        00DF    223
  719. KEYSIZ        00DA    218    Programmable Key Variables
  720. KEYLEN        00DB    219
  721. KEYNUM        00DC    220
  722. KEYNXT        00DD    221
  723. KEYBNK        00DE    222
  724. KEYTMP        00DF    223
  725.  
  726.  
  727.         LOCAL SCREEN EDITOR VARIABLES.
  728.     These are swapped out to $0a40 when screen (40/80) mode changes.
  729.  
  730. PNT        00E0    224    Pointer to Current Line (Text)
  731. USER        00E2    226    Pointer to Current Line (Attribute)
  732.  
  733. SCBOT        00E4    228    Window Lower Limit
  734. SCTOP        00E5    229    Window Upper Limit
  735. SCLF        00E6    230    Window Left Margin
  736. SCRT        00E7    231    Window Right Margin
  737. LSXP        00E8    232    Current Input Column Start
  738. LSTP        00E9    233    Current Input Line Start
  739. INDX        00EA    234    Current Input Line End
  740. TBLX        00EB    235    Current Cursor Line
  741. PNTR        00EC    236    Current Cursor Column
  742. LINES        00ED    237    Maximum Number of Screen Lines
  743. COLUMNS        00EE    238    Maximum Number of Screen Columns
  744. DATAX        00EF    239    Current Character to Print
  745. LSTCHR        00F0    240    Previous Char Printed (For <ESC> Test)
  746. COLOR        00F1    241    Curr Attribute to Print (Default FGND Color)
  747. TCOLOR        00F2    242    Saved Attrib to Print ('INSERT' & 'DELETE')
  748.  
  749. RVS        00F3    243    Reverse Mode Flag
  750. QTSW        00F4    244    Quote Mode Flag
  751. INSRT        00F5    245    Insert Mode Flag
  752. INSFLG        00F6    246    Auto-Insert Mode Flag
  753. LOCKS        00F7    247    Disables <Shift><C*>, <CTRL> S
  754. SCROLL        00F8    248    Disables Screen Scroll, Line Linker
  755. BEEPER        00F9    249    Disables <CTRL> G
  756.  
  757. FREKZP        00FA    250    Free Zero Page reserved for applications
  758.                 software ($FA-$FE)
  759. LOFBUF        00FF    255
  760.  
  761.  
  762.         BASIC/DOS INTERFACE VARS
  763.  
  764. BAD        0100    256    Tape Read Errors
  765. FBUFFR                Area to build filename in (16 bytes)
  766. XCNT        0110    272    DOS Loop Counter
  767.  
  768. DOSF1L        0111    273    DOS Filename 1 Len
  769. DOSDS1        0112    274    DOS Disk Drive 1
  770. DOSF2L        0113    275    DOS Filename 2 Len
  771. DOSDS2        0114    276    DOS Disk Drive 2
  772. DOSF2A        0115    277    DOS Filename 2 Addr
  773. DOSOFL        0117    279    BLOAD/BSAVE Starting Address
  774. DOSOFH        0119    281    ....    and Ending Address
  775. DOSLA        011B    283    DOS Logical Addr
  776. DOSFA        011C    284    DOS Phys Addr
  777. DOSSA        011D    285    DOS Sec. Addr
  778. DOSRCL        011E    286    DOS Record Length
  779. DOSBNK        011F    287
  780. DOSDID        0120    288    DOS Disk ID
  781. DIDCHK        0122    290    DOS DSK ID FLG SPACE Used by PRINT USING
  782. BNR        0123    291    Pointer to Begin. NO.
  783. ENR        0124    292    Pointer to End NO.
  784. DOLR        0125    293    Dollar Flag
  785. FLAG        0126    294    Comma Flag
  786. SWE        0127    295    Counter
  787. USGN        0128    296    Sign Exponent
  788. UEXP        0129    297    Pointer to Exponent
  789. VN        012A    298    # Of Digits Before Decimal Point
  790. CHSN        012B    299    Justify Flag
  791. VF        012C    300    # Of Pos Before Decimal Point (Field)
  792. NF        012D    301    # Of Pos After Decimal Point (Field)
  793. POSP        012E    302    +/- Flag (Field)
  794. FESP        012F    303    Exponent Flag (Field)
  795. ETOF        0130    304    Switch
  796. CFORM        0131    305    Char Counter (Field)
  797. SNO        0132    306    Sign No
  798. BLFD        0133    307    Blank/Star Flag
  799. BEGFD        0134    308    Pointer to Begin of Field
  800. LFOR        0135    309    Length of Format
  801. ENDFD        0136    310    Pointer to End Of Field
  802. SYSTK        0137    311    System Stack ($0137-$01FF)
  803. BUF        0200    512    Input Buffer: BASIC & MONITOR
  804. FETCH        02A2    674    LDA(-),Y From Any Bank
  805. FETCHVEC    02AA    682
  806. STASH        02AF    687    STA(-),Y to Any Bank
  807. STAVEC        02B9    697
  808. CMPARE        02C8    702    CMP(-),Y to Any Bank
  809. CMPVEC        02C8    712
  810. JSRFAR        02CD    716    JSR XXXX to Any Bank & Return
  811. JMPFAR        02E3    739    JMP XXXX to Any Bank
  812.  
  813.  
  814.         VECTORS
  815.  
  816. ESC_FN_VEC    02FC    764    Vector For Additional Function Routines
  817. K EC        02FE    766    Vector For Function Cart.
  818. IERROR        0300        Users
  819.         0302        (ERR IN .X)
  820. ICRNCH        0304    772    Vector to Crunch
  821.             774    Vector to List BASIC Text
  822.             776    Vector to Gone (BASIC Char
  823.             778    Vector to BASIC Token
  824.             780    Vector to Escape-Token
  825.         030E    782    LIST
  826. IESCEX        0310    784    ... And Execute.
  827. IIRO        0314    788    IRQ RAM Vector
  828. IBRK        0316    790    BRK INSTR RAM Vector
  829. INMI        0318    792    NMI Vector
  830. IOPEN        031A    794    KERNAL OPEN Routine Vector
  831.  
  832.             796    KERNAL CLOSE Routine Vector
  833.  
  834.             798    KERNAL CHKIN Routine Vector
  835.             800    KERNAL CHKOUT Routine
  836.  
  837. CLRCH        0322    Vector
  838. VECTOR
  839.  
  840. IBASIN        0324    804    KERNAL CHRIN Routine Vector
  841. IBSOUT        0326    806    KERNAL CHROUT Routine Vector
  842. ISTOP        0328    808    KERNAL STOP Routine Vector
  843. IGETIN        032A    810    KERNAL GETIN Routine Vector
  844. ICLALL        032C    812    KERNAL CLALL Routine Vector
  845. EXMON        032E    814    Monitor Command Vector
  846. ILOAD        0330    816    KERNAL LOAD Routine Vector
  847. ISAVE        0332    818    KERNAL SAVE Routine Vector
  848.  
  849.  
  850.     EDITOR INDIRECT VECTORS
  851.  
  852. CTLVEC        0334    820    Editor: PRINT 'CONTRL' Indirect
  853. SHFVEC        0336    822    Editor: PRINT 'SHIFTD' Indirect
  854. ESCVEC        0338    824    Editor: PRINT 'ESCAPE' Indirect
  855. KEYVEC        033A    826    Editor: Keyscan Logic Indirect
  856. KEYCHK        033C    828    Editor: Store Key Indirect
  857. DECODE        033E    830    Vectors to Keyboard Matrix Decode Tables
  858. KEYD        034A    842    IRQ Keyboard Buffer (10 Bytes)
  859.  
  860. TABMAP        0354    852    Bitmap Of TAB Stops (10 Bytes, $0354-D)
  861. BITABL        035E    862    Bitmap Of Line Wraps
  862.  
  863.                 TABMAP and BITABL get swapped to $0A60 when
  864.                 screen 40/80 mode is changed.
  865.  
  866. LAT        0362    866    Logical File Numbers
  867. FAT        036C    876    Primary Device Numbers
  868. SAT        0376    886    Secondary Addresses
  869. CHRGET        0380    896
  870. CHRGOT        0386    902
  871. QNUM        0390    912
  872.  
  873.  
  874.     INDIRECT LOAD SUBROUTINE AREA
  875.  
  876. INDSUB_RAM0    039F    927    Shared ROM Fetch Sub
  877. INDSUB_RAM1    03AB    939    Shared ROM Fetch Sub
  878. INDIN1_RAM1    03B7    950    Index1 Indirect Fetch
  879. INDIN2        03C0    959    Index2 Indirect Fetch
  880. INDIXT        03C9    968    Txtptr
  881.  
  882. ZERO        03D2    977    Numeric Constant For BASIC
  883. CURRENT_BANK    03D5    979    Context For SYS,POKE,PEEK From Bank Cmmd
  884. TMPDES        03D6    980    Temp For INSTR
  885. FIN_BANK    03DA    984    Bank Pointer For String/Number CONVERT RTN
  886. SAVSIZ        03DB    985    Temp Work Locations for SSHAPE
  887. BITS        03DF    989    FAC#1 OVERFLOW DIGIT
  888. SPRTMP_1    03E0    990    Temp For SPRSAV
  889. SPRTMP_2    03E1    991
  890. FG_BG        03E2    992    Packed Foreground/ Background Color Nybbles
  891. FG_MC1        03E3    993    Packed Foreground/ Multicolor 1 Color Nybbles
  892.  
  893.  
  894.     Page Four & Higher Declarations (Beginning Of Bankable RAM)
  895.  
  896. VICSCN        0400    1024    VIDEO MATRIX #1: VIC 40-Column Text Screen
  897.                 $0400-$07FF
  898.  
  899.         0800    2048    BASIC RUN-TIME STACK (512 BYTES)
  900.                 $0800-$09FF
  901.  
  902.  
  903.     ABSOLUTE KERNAL VARIABLES
  904.  
  905. SYSTEM_VECTOR    0A00    2560    Vector to Restart System (BASIC Warm)
  906. DEJAVU        0A02    2562    KERNAL Warm/Cold Init'n Status Byte
  907. PALNTS        0A03    2563    PAL/NTSC System Flag
  908. INIT_STATUS    0A04    2564    Flags RESET vs. NMI Status for init'n rtns
  909. MEMSTR        0A05    2565    Ptr to Bottom of Avail. Memory in System Bank
  910. MEMSIZ        0A07    2567    Ptr to Top of Available Memory in System Bank
  911. IRQTMP        0A09    2569    Tape Handler preserves IRQ Indirect here
  912. CASTON        0AOB    2571    TOD Sense during tape operations
  913. KIKA26        0AOC    2572    Tape Read Temporary
  914. STUPID        0AOD    2573    Tape Read D1IRQ Indicator
  915. TIMOUT        0AOE    2574    Fast Serial Timeout Flag
  916. ENABL        0A0F    2575    RS-232 Enables
  917.  
  918. M51CTR        0A10    2576    RS-232 Control Register
  919. MSICDR        0A11    2577    RS-232 Command Register
  920. MSIAJB        0A12    2578    RS-232 User Baud Rate
  921. RSSTAT        0A14    2580    RS-232 Status Register
  922. BITNUM        0A15    2581    RS-232 Number of Bits To Send
  923. BAUDOF        0A16    2582    RS-232 Baud Rate Full Bit Time (Created by OPEN)
  924. RIDBE        0A18    2584    RS-232 Input Buffer Index to End
  925. RIDBS        0A19    2585    RS-232 Input Buffer Index to Start
  926. RODBS        0A1A    2586    RS-232 Output Buffer Index to Start
  927. RODBE        0A1B    2587    RS-232 Output Buffer Index to End
  928. SERIAL        0A1C    2588    Fast Serial Internal/External Flag
  929. TIMER        0A1D    2589    Decrementing Jiffie Register
  930.  
  931.  
  932.     GLOBAL ABSOLUTE SCREEN EDITOR DECLARATIONS
  933.  
  934. XMAX        0A20    2592    Keyboard Queue Maximum Size
  935. PAUSE        0A21    2593    CTRL-S Flag
  936. RPTFLG        0A22    2594    Enable Key Repeats
  937. KOUNT        0A23    2595    Delay Between Key Repeats
  938. DELAY        0A24    2596    Delay Before a Key Starts Repeating
  939. LSTSHF        0A25    2597    Delay Between <C=><SHFT> Toggles
  940. BLNON        0A26    2598    VIC Cursor Mode (Blinking, Solid)
  941. BLNSW        0A27    2599    VIC Cursor Disable
  942. BLNCT        0A28    2600    VIC Cursor Blink Counter
  943. GDBLN        0A29    2601    VIC Cursor Character Before Blink
  944. GDCOL        0A2A    2602    VIC Cursor Color Before Blink
  945. CURMOD        0A2B    2603    VDC Cursor Mode (when enabled)
  946. VMl        0A2C    2604    VIC Text Screen/Character Base Pointer
  947. VM2        0A2D    2605    VIC Bit-Map Base Pointer
  948. VM3        0A2E    2606    VDC Text Screen Base
  949. VM4        0A2F    2607    VDC Attribute Base
  950. LINTMP        0A30    2608    Temporary Pointer to Last Line For LOOP4
  951. SAV80A        0A31    2609    Temporary For 80-Col Routines
  952. SAV80B        0A32    2610    Temporary For 80-Col Routines
  953. CURCOL        0A33    2611    VDC Cursor Color Before Blink
  954. SPLIT        0A34    2612    VIC Split Screen Raster Value
  955. FNADRX        0A35    2613    Save .X During Bank Operations
  956. PALCNT        0A36    2614    Counter for PAL Systems (Jiffie adjustment)
  957. SPEED        0A37    2615    Save System Speed During Tape and Serial Ops
  958. SPRITES        0A38    2616    Save Sprite Enables During Tape and Serial Ops
  959. BLANKING    0A39    2617    Save Blanking Status During Tape Ops
  960. HOLD_OFF    0A3A    2618    Flag set by user to resrv full control of VIC
  961. LDTBI_SA    0A3B    2619    Hi byte:SA Of VIC Scrn (Use W/VMI to move scrn)
  962. CLR_EA_LO    0A3C    2620    8563 Block Fill
  963. CLR_EA_HI    0A3D    2621    8563 Block Fill
  964.         0A40    2624    $0A40-$0A7F Reserved Swap Area For Screen
  965.                 Variables When (40/80) Mode Changes
  966.                 MONITOR's domain
  967.  
  968. XCNT        0A80    2688    Compare Buffer (32 bytes)
  969. HULP        0AA0    2720
  970. FORMAT        0AAA    2730
  971. LENGTH        0AAB    2731    ASM/DIS
  972. MSAL        0AAC    2732    For Assembler
  973. SXREG        0AAF    2735    1 Byte Temp used all over
  974. SYREG        0AB0    2736    1 Byte Temp used all over
  975. WRAP        0AB1    2737    1 Byte Temp for Assembler
  976. XSAVE        0AB2    2738    Save .X here during Indirect Subroutine Calls
  977. DIRECTION    0AB3    2739    Direction Indicator For 'TRANSFER'
  978. COUNT        0AB4    2740    Parse Number Conversion
  979. NUMBER        0AB5    2741    Parse Number Conversion
  980. TEMPS        0AB7    2743    Parse Number Conversion
  981.  
  982.  
  983.     FUNCTION KEY ROM CARD TABLES
  984.  
  985. CURBNK        0AC0    2752    Current Function Key ROM Bank Being Polled
  986.  
  987. PAT        0AC1    2753    Physical Address Table (IDS OF LOGGED-IN CARDS)
  988.  
  989. DK_FLAG        0AC5    2757    Reserved For Foreign Screen Editors
  990.         0AC6    2758    $0AC6-$0AFF Reserved For System
  991.  
  992. TBUFFR        0B00    2810    Cassette Buffer (192 BYTES)
  993.                 $0B00-$0BC0, This page also used as a buffer
  994.                 for the disk auto-boot.
  995.  
  996. RS232I        0C00    3072    RS-232 Input Buffer
  997.  
  998. RS2320        0D00    3328    RS-232 Output Buffer
  999.         0E00    3584    Sprite Definition Area (Must be below $1000)
  1000.                 $0E00-$0FFF, 512 Bytes
  1001.  
  1002. PKYBUF        1000    4096    Programmable Function Key Lengths Table For
  1003.                 10 Keys (F1-F8, <SHIFT RUN>, HELP)
  1004.  
  1005. PKYDEF        100A    4106    Programmable Function Key Strings
  1006.  
  1007.  
  1008.     DOS/VSP AREA
  1009.  
  1010.  
  1011. DOSSTR        1100    4352    DOS OUTPUT STR. BUF
  1012.                 48 Bytes to Build DOS String
  1013.  
  1014. VWORK        1131    4401    Graphics Vars
  1015.  
  1016. XYPOS        1131    4401
  1017. XPOS        1131    4401    Current X Position
  1018. YPOS        1133    4403    Current Y Position
  1019. XDEST        1135    4405    X-Coordinate Destination
  1020. YDEST        1137    4407    Y-Coordinate Destination
  1021. XYABS        1139    4409    Line Drawing Variables
  1022. XABS        1139    4409
  1023. YABS        113B    4411
  1024. XYSGN        113D    4413
  1025. XSGN        113D    4413
  1026. YSGN        113F    4415
  1027. FCT        1141    4417
  1028. ERRVAL        1145    4421
  1029. LESSER        1147    4423
  1030. GREATR        1148    4424
  1031.  
  1032.  
  1033.     ANGLE ROUTINE VARIABLES
  1034.  
  1035. ANGSGN        1149    4425    Sign Of Angle
  1036. SINVAL        114A    4426    Sine Of Value Of Angle
  1037.  
  1038.  
  1039.     DOS/VSP AREA
  1040.  
  1041. COSVAL        114C    4428    Cosine of Value of Angle
  1042. ANGCNT        114E    4430    Temps For Angle Distance Routines
  1043.  
  1044.  
  1045.         BASIC GRAPHIC VARIABLES.
  1046.     The following 24 bytes are multiply defined.
  1047.  
  1048.     CIRCLE DRAWING VARIABLES
  1049.  
  1050. XCIRCL        1150    4432    CIRCLE Center, X Coordinate
  1051. YCIRCL        1152    4434    CIRCLE Center, Y Coordinate
  1052. XRADUS        1154    4436    X Radius
  1053. YRADUS        1156    4438    Y Radius
  1054. ROTANG        1158    4440    Rotation Angle
  1055. ANGBEG        115C    4444    Arc Angle Start
  1056. ANGEND        115E    4446    Arc Angle End
  1057. XRCOS        1160    4448    X Radius * COS(Rotation Angle)
  1058. YRSIN        1162    4450    Y Radius * SIN(Rotation Angle)
  1059. XRSIN        1164    4452    X Radius * SIN(Rotation Angle)
  1060. YRCOS        1166    4454    Y Radius * COS(Rotation Angle)
  1061.  
  1062.     BASIC GENERAL USE PARAMETERS
  1063.  
  1064. XCENTR        1150    4432
  1065. YCENTR        1152    4434
  1066. XDIST1        1154    4436
  1067. YDIST1        1156    4438
  1068. XDIST2        1158    4440
  1069. YDIST2        115A    4442
  1070. DISEEND        115C    4444    Placeholder
  1071. COLCNT        115E    4446    Char's Col. Counter
  1072. ROWCNT        115F    4447
  1073. STRCNT        1160    4448
  1074.  
  1075.     BOX-DRAWING VARIABLES
  1076.  
  1077. XCORDI        1150    4432    POINT I X-Coord.
  1078. YCORDl        1152    4434    POINT I Y-Coord.
  1079. BOXANG        1154    4436    Rotation Angle
  1080. XCOUNT        1156    4438
  1081. YCOUNT        1158    4440
  1082. BXLENG        115A    4442    Length of a side
  1083. XCORD2        115C    4444
  1084. YCORD2        115E    4446
  1085.  
  1086.     SHAPE AND MOVE-SHAPE VARIABLES
  1087.  
  1088. KEYLEN        1151    4433
  1089. KEYNXT        1152    4434
  1090. STRSZ        1153    4435    String Len
  1091.  
  1092. GETTYP        1154    4436    Replace Shape Mode
  1093. STRPTR        1155    4437    String Pos'n Counter
  1094. OLDBYT        1156    4438    Old Bit Map byte
  1095. NEWBYT        1157    4439    New String or Bit Map Byte
  1096.         1158    4440    Placeholder
  1097.  
  1098. XSIZE        1159    4441    SHAPE Column Length
  1099. YSIZE        115B    4443    SHAPE Row Length
  1100. XSAVE        115D    4445    Temp For Column Length
  1101. STRADR        115F    4447    Save SHAPE String Descriptor
  1102. BITIDX        1161    4449    Bit Index Into Byte
  1103.  
  1104.  
  1105.     BASIC GRAPHIC VARIABLES
  1106.  
  1107. CHRPAG        1168    4456    HIGH BYTE: ADDR OF CHARROM For 'CHAR' CMD.
  1108.  
  1109. BITCNT        1169    4457    Temp For GSHAPE
  1110. SCALEM        116A    4458    SCALE Mode Flag
  1111. WIDTH        116B    4459    Double Width Flag
  1112. FILFLG        116C    4460    Box Fill Flag
  1113. BITMSK        116D    4461    Temp For Bit Mask
  1114. NUMCNT        116E    4462
  1115. TRCFLG        116F    4463    Flags Trace Mode
  1116. RENUM_TMP_1    1170    4464    A Temp For Renumber
  1117. RENUM_TMP_2    1172    4466    A Temp For Renumber
  1118. T3        1174    4468
  1119. T4        1175    4469
  1120.  
  1121. VTEMP3        1177    4471    Graphic Temp Storage
  1122. VTEMP4        1178    4472
  1123. VTEMP5        1179    4473
  1124. ADRAY1        117A    4474    Ptr to routine: Convert Float -> Integer
  1125. ADRAY2        117C    4476    Ptr to routine: Convert Integer -> FLOAT
  1126. SPRITE_DATA    117E    4478    Sprite Speed/Direction Tables ($117E-D5)
  1127.  
  1128. VIC_SAVE    11D6    4566    Copy of VIC Reg's, Used to update chip during
  1129.                 retrace (21 bytes, $11D6-EA)
  1130.  
  1131. UPPER_LOWER    11EB    4587    Pointer to Upper/Lower Char Set for CHAR
  1132. UPPER_GRAPHIC    11EC    4588    Ptr. to Upper/Graphic Char Set
  1133. DOSSA        11ED    4589    Temp storage for file SA during RECORD cmd
  1134.  
  1135.  
  1136.     BASIC GENERAL NON-ZP STORAGE
  1137.  
  1138. OLDTXT        1220    4608    Previous BASIC Line
  1139.             4610    Pointer: BASIC Statement for CONTINUE
  1140.  
  1141.  
  1142.     PRINT USING DECLARATIONS
  1143.  
  1144. PUCHRS        1204    4612
  1145. PUFILL        1204    4612    PRINT USING Fill Symbol
  1146. PUCOMA        1205    4613    PRINT USING Comma Symbol
  1147. PUDOT        1206    4614    PRINT USING D.P. Symbol
  1148. PUMONY        1207    4614    Print Using Monetary Symbol
  1149. ERRNUM        1208    4616    Used by Error Trapping Routine - Last Err No
  1150. ERRLIN        1209    4617    Line # of Last Error. $FFFF if No Error
  1151.  
  1152. TRAPNO        120B    4619    Line to go to on error - $FFFF if none set
  1153.  
  1154. TMPTRP        120D    4621    Hold Trap # of Tempor.
  1155. ERRTXT        120E    4622
  1156. TEXT_TOP    1210    4624    Top of Text Pointer
  1157. MAX_MEM_0    1212    4626    Highest Address Available to BASIC in RAM 0
  1158.  
  1159. TMPTXT        1214    4628    Used by DO-LOOP. Could be Mult. Assigned
  1160. TMPLIN        1216    4630
  1161. USRPOK        1218    4632
  1162. RNDX        121B    4635
  1163. CIRCLE_SEGMENT    1220    4640    Degrees Per CIRCLE 51:6MENT
  1164. DEJAVU        1221    4641    'Cold' or 'Warm' Reset Status
  1165.  
  1166.  
  1167.     BASIC STORAGE FOR MUSIC VECTORS
  1168.  
  1169. TEMPO_RATE    1222    4642
  1170. VOICES        1223    4643
  1171. NTIME        1229    4649
  1172. OCTAVE        122B    4651
  1173. SHARP        122C    4652
  1174. PITCH        122D    4653
  1175. VOICE        122F    4655
  1176. WAVE0        1230    4656
  1177. DNOTE        1233    4659
  1178. FLTSAV        1234    4660
  1179. FLTFLG        1238    4664
  1180. NIBBLE        1239    4665
  1181. TONNUM        123A    4666
  1182.  
  1183. TONVAL        123B    4667
  1184. PARCNT        123E    4668
  1185. ATKTAB        123F    4669
  1186. SUSTAB        1249    4681
  1187. WAVTAB        1253    4691
  1188. PULSLW        125D    4701
  1189. PULSHI        1267    4711
  1190. FILTERS        1271    4721
  1191.  
  1192.  
  1193.     INTERRUPT VECTORS
  1194.  
  1195. INT_TRIP_FLAG    1276    4726
  1196. INT_ADR_LO    1279    4729
  1197. INT_ADR_HI    127C    4732
  1198. INTVAL        127F    4735
  1199. COLTYP        1280    4736
  1200.  
  1201.  
  1202.     BASIC SOUND COMMAND VARS
  1203.  
  1204. SOUND_VOICE    1281    4737
  1205. SOUND_TIME_LO    1282    4738
  1206. SOUND_TIME_HI    1285    4741
  1207. SOUND_MAX_LO    1288    4744
  1208. SOUND_MAX_HI    128B    4747
  1209. SOUND_MIN_LO    128E    4750
  1210. SOUND_MIN_HI    1291    4753
  1211.  
  1212. SOUND_DIRECTION    1294    4756
  1213. SOUND_STEP_LO    1297    4759
  1214. SOUND_STEP_HI    129A    4762
  1215. SOUND_FREQ_LO    129D    4765
  1216. SOUND_FREQ_HI    12A0    4768
  1217. TEMP_TIME_LO    12A3    4771
  1218. TEMP_TIME_HI    12A4    4772
  1219. TEMP_MAX_LO    12A5    4773
  1220. TEMP_MAX_HI    12A6    4774
  1221.  
  1222. TEMP_MIN_LO    12A7    4775
  1223. TEMP_MIN_HI    12A8    4776
  1224. TEMP_DIRECTION    12A9    4777
  1225. TEMP_STEP_LO    12AA    4778
  1226. TEMP_STEP_HI    12AB    4779
  1227.  
  1228. TEMP_FREQ_LO    12AC    4780
  1229.  
  1230. TEMP_FREQ_HI    12AD    4781
  1231. TEMP_PULSE_LO    12AE    4782
  1232. TEMP_PULSE_HI    12AF    4783
  1233. TEMP_WAVEFORM    12B0    4784
  1234. POT_TEMP_1    12B1    4785    Temporaries for 'POT' Function
  1235. POT_TEMP_2    12B2    4786
  1236. WINDOW_TEMP    12B3    4787
  1237. SAVRAM        12B7    4791    Used BY SPRDEF & SAVSPR
  1238. DEFMOD        12FA    4858    Used BY SPRDEF & SAVSPR
  1239. LINCNT        12FB    4859    Used BY SPRDEF & SAVSPR
  1240. SPRITE_NUMBER    12FC    4860    Used BY SPRDEF & SAVSPR
  1241. IRQ_WRAP_FLAG    12FD    4861    Used BY BASIC IRQ to BLOCK
  1242.                 All BUT ONE IRQ CALL
  1243.  
  1244.         1300    4864    Application Program Area $1300-$1BFF
  1245.  
  1246. RAMBOT        1C00    7168    Start Of Basic Text $1C00-$EFFF
  1247.                 (KERNAL sets MEMBOT here)
  1248.  
  1249.         1C00    7168    Video Matrix #2 (1KB of colors for
  1250.                 Bitmap, if allocated) $1C00-$1FFF
  1251.  
  1252.         2000    8192    VIC BITMAP (8KB, if allocated)
  1253.                 $2000-$3FFF
  1254.  
  1255.  
  1256.     BEGINNING OF ROM OVER RAM
  1257.  
  1258.         4000    16384    C128 BASIC LO ROM
  1259.  
  1260.                 Start of BASIC Text if Bit Map
  1261.                 is allocated (RAM) $4000-$EFFF
  1262.  
  1263.         8000    32768    C128 BASIC Hl ROM (or Function ROM) $8000-$BFFF
  1264.  
  1265.  
  1266.  
  1267.     BASIC JUMP TABLE
  1268.  
  1269.  
  1270.         BASIC ENTRY
  1271.  
  1272. JMP HARD_RESET    4000    16384    COLD ENTRY
  1273. JMP SOFT_RESET    4003    16387    WARM ENTRY
  1274. JMP BASIC_IRQ    4006    16390    IRQ ENTRY
  1275.  
  1276.  
  1277.         FORMAT CONVERSIONS
  1278.  
  1279. JMP AYINT    AF00    44800    Convert F.P. to Integer
  1280. JMP GIVAYF    AF03    44803    Convert Integer to F.P.
  1281.  
  1282. JMP FOUT    AF06    44806    Convert F.P. to ASCII String
  1283. JMP VAL_l    AF09    44809    Convert ASCII String to F.P.
  1284. JMP GETADR    AF0C    44812    Convert F.P. to an Address
  1285. JMP FLOATC    AF0F    44815    Convert Address to F.P.
  1286.  
  1287.  
  1288.         MATH FUNCTIONS
  1289.  
  1290. JMP FSUB    AF12    44818    MEM - FACC
  1291. JMP FSUBT    AF15    44821    ARG - FACC
  1292. JMP FADD    AF18    44824    MEM + FACC
  1293. JMP FADDT    AF1B    44827    ARG - FACC
  1294. JMP FMULT    AF1E    44830    MEM * FACC
  1295. JMP FMULTT    AF21    44833    ARG * FACC
  1296. JMP FDIV    AF24    44836    MEM / FACC
  1297. JMP FDIVT    AF27    44839    ARG / FACC
  1298. JMP LOG        AF2A    44842    Compute Natural LOG Of FACC
  1299. JMP INT        AF2D    44845    Perform BASIC INT On FACC
  1300. JMP SQR        AF30    44848    Compute Square Root OF FACC
  1301. JMP NEGOP    AF33    44851    Negate FACC
  1302. JMP FPWR    AF36    44854    Raise ARG to The Mem Power
  1303. JMP FPWRT    AF39    44857    Raise ARG to The FACC Power
  1304. JMP EXP        AF3C    44860    Compute EXP Of FACC
  1305.  
  1306. JMP COS        AF3F    44863    Compute COS Of FACC
  1307. JMP SIN        AF42    44866    Compute SIN Of FACC
  1308. JMP TAN        AF45    44869    Compute TAN Of FACC
  1309. JMP ATN        AF48    44872    Compute ATN Of FACC
  1310. JMP ROUND    AF4B    44875    Round FACC
  1311. JMP ABS        AF4E    44878    Absolute Value Of FACC
  1312. JMP SIGN    AF51    44881    Test Sign Of FACC
  1313. JMP FCOMP    AF54    44884    Compare FACC With Memory
  1314. JMP RND 0    AF57    44887    Generate Random F.P. Number
  1315.  
  1316.  
  1317.         MOVEMENT
  1318.  
  1319. JMP CONUPK    AF5A    44890    Move RAM MEM to ARG
  1320. JMP ROMUPK    AF5D    44893    Move ROM MEM to ARG
  1321. JMP MOVFRM    AF60    44896    Move RAM MEM to FACC
  1322. JMP MOVFM    AF63    44899    Move ROM MEM to FACC
  1323. JMP MOVMF    AF66    44902    Move FACC to MEM
  1324. JMP MOVFA    AF69    44905    Move ARG to FACC
  1325. JMP MOVAF    AF6C    44908    Move FACC to ARG
  1326.  
  1327.  
  1328.         OTHER BASIC ROUTINES
  1329.  
  1330. JMP OPTAB    AF6F    44911
  1331. JMP DRAWLN    AF72    44914
  1332.  
  1333.  
  1334. MEMORY
  1335. ADDRESS        HEXADECIMAL DECIMAL
  1336. LABEL        ADDRESS ADDRESS DESCRIPTION
  1337.  
  1338.         OTHER BASIC ROUTINES
  1339.  
  1340. JMP GPLOT    AF75    44917
  1341. JMP CIRSUB    AF78    44920
  1342. JMP RUN        AF7B    44923
  1343. JMP RUNC    AF7E    44926
  1344. JMP CLEAR    AF81    44929
  1345. JMP NEW        AF84    44932
  1346. JMP LNKPRG    AF87    44935
  1347. JMP CRUNCH    AF8A    44938
  1348.  
  1349. JMP FNDLIN    AF8D    44941
  1350. JMP NEWSTT    AF90    44944
  1351. JMP EVAL    AF93    44947
  1352. JMP FRMEVL    AF96    44950
  1353. JMP RUN_A_PROGRAM
  1354.         AF99    44953
  1355.  
  1356. JMP SETEXC    AF9C    44956
  1357. JMP LINGET    AF9F    44959
  1358. JMP GARBA2    AFA2    44962
  1359. JMP EXECUTE_A_LINE
  1360.         AFA5    44965
  1361.  
  1362.  
  1363.         MONITOR ENTRY
  1364.  
  1365. JMP CALL    B000    45056    MONITOR Call Entry
  1366.  
  1367. JMP BREAK    B003    45059    MONITOR Break Entry
  1368. JMP MONCMD    B006    45062    MONITOR Command Parser Entry
  1369.         C000    49152    KERNAL (or Function) ROM $C000-$FFFF
  1370.  
  1371.  
  1372.         EDITOR JUMP TABLE
  1373.  
  1374. JMP CINT    C000    491S2    Initialize Editor & Screen
  1375. JMP DISPLY    C003    49155    Display Charac in .A, Color
  1376.  
  1377. JMP LP2        C006    49158    Get Key From IRQ Buffer
  1378.  
  1379. JMP LOOP5    C009        Into A
  1380.  
  1381. JMP PRINT    C00C    49164    Print Character In .A
  1382. JMP SCRORG    C00F    49167    Get # of Scrn Rows, Cols Into X & Y
  1383.  
  1384. JMP SCNKEY    C012    49170    Scan Keyboard Subroutine
  1385. JMP REPEAT    C015    49173    Handle Repeat Key & Store Decoded Key
  1386. JMP PLOT    C018    49176    Read Or Set CRSR Position In X, Y
  1387. JMP CURSOR    C01B    49179    Move 8563 Cursor Subroutine
  1388. JMP ESCAPE    C01E    49182    Execute ESC Function using chr in .A
  1389. JMP KEYSET    C021    49185    Redefine A Programmable Func'n Key
  1390. JMP IRQ        C024    49188    IRQ Entry
  1391. JMP INIT80    C027    49191    Initialize 80-Column Character Set
  1392. JMP SWAPPER    C02A    49194    Swap Editor Locals (in 40/80 change)
  1393. JMP WINDOW    C02D    49197    Set Top-Left or Bot-Right of Window
  1394.         D000    53248    VIC Character ROM ($D000-$DFFF)
  1395.  
  1396.  
  1397.         VIC CHIP REGISTERS
  1398.  
  1399. VICREG0        D000    53248    Sprite 0, X-Location
  1400. VICREG1        D001    53249    Sprite 0, Y-Location
  1401. VICREG2        D002    53250    Sprite 1, X-Location
  1402. VICREG3        D003    53251    Sprite 1, Y-Location
  1403. VICREG4        D004    53252    Sprite 2, X-Location
  1404. VICREG5        D005    53253    Sprite 2, Y-Location
  1405. VICREG6        D006    53254    Sprite 3, X-Location
  1406. VICREG7        D007    53255    Sprite 3, Y-Location
  1407. VICREG8        D008    53256    Sprite 4, X-Location
  1408. VICREG9        D009    53257    Sprite 4, Y-Location
  1409. VICREG10    D00A    53258    Sprite 5, X-Location
  1410. VICREG11    D00B    53259    Sprite 5, Y-Location
  1411. VICREG12    D00C    53260    Sprite 6, X-Location
  1412. VICREG13    D00D    53261    Sprite 6, Y-Location
  1413. VICREG14    D00E    53262    Sprite 7, X-Location
  1414. VICREG15    D00F    53263    Sprite 7, Y-Location
  1415. VICREG16    D010    53264    M.S. Bit of X-Location for Sprites 0 - 7
  1416.  
  1417.  
  1418.  
  1419.     THE COMMODORE 128 AND COMMODORE 64 MEMORY MAPS
  1420.  
  1421.  
  1422.         KERNAL JUMP TABLE
  1423.         New Entries For C128
  1424.  
  1425. JMP SPIN SPOUT    FF47        65351    Set up Fast Serial Port for I/O
  1426. JMP CLOSE ALL    FF4A        65354    Close All Logical Files for a device
  1427. JMP C64MODE    FF4D        65357    Reconfigure System as a C64 (no return)
  1428. JMP DMA CALL    FF50        65360    Initiate DMA Request to External RAM
  1429.                     Expansion, Send command to DMA Device
  1430.  
  1431. JMP BOOT CALL    FF53        65363    Boot Load Program From Disk
  1432. JMP PHOENIX    FF56        65366    Call All Function Cards' Cold Start
  1433.                     Routines, Initialize
  1434.  
  1435. JMP LKUPLA    FF59        65369    Search Tables For Given LA
  1436. JMP LKUPSA    FF5C        65372    Search Tables For Given SA
  1437. JMP SWAPPER    FF5F        65375    Switch Between 40 and 80 Columns (Editor)
  1438. JMP DLCHR    FF62        65378    Init 80-Col Character RAM (Editor)
  1439. JMP PFKEY    FF65        65381    Program Function Key (Editor)
  1440. JMP SETBNK    FF68        65384    SET Bank For I/O Operations
  1441. JMP GETCFG    FF6B        65387    Lookup MMU Data For Given Bank
  1442. JMP JSRFAR    FF6E        65390    JSR to Any Bank, RTS to Calling Bank
  1443. JMP JMPFAR    FF71        65393    JMP to Any Bank
  1444. JMP INDFET    FF74        65396    LDA (FETVEC),Y FROM Any Bank
  1445. JMP INDSTA    FF77        65499    STA (STAVEC),Y to Any Bank
  1446. JMP INDCMP    FF7A        65402    CMP (CMPVEC),Y to Any Bank
  1447. JMP PRIMM    FF7D        65405    Print Immediate Utility
  1448.                     (Always JSR to this routine)
  1449.  
  1450.  
  1451.         STANDARD KERNAL JUMP TABLE
  1452.  
  1453.         FF80        65408    Release Number Of KERNAL
  1454. JMP CINT    FF81        65409    Init Editor & Display
  1455. JMP IOINIT    FF84        65412    Init I/O Devices (ports, timers, etc.)
  1456. JMP RAMTAS    FF87        6S415    Initialize RAM And Buffers For System
  1457. JMP RESTOR    FF8A        65418    Restore Vectors to Initial System
  1458. JMP VECTOR    FF8D        65421    Change Vectors For USER
  1459. JMP SETMSG    FF90        65424    Control O.S. Message
  1460. JMP SECND    FF93        65427    Send SA After LISTEN
  1461. JMP TKSA    FF96        65430    Send SA After TALK
  1462. JMP MEMTOP    FF99        65433    Set/Read Top Of System RAM
  1463. JMP MEMBOT    FF9C        65436    Set/Read Bottom Of System RAM
  1464. JMP KEY        FF9F        65439    Scan Keyboard (Editor)
  1465. JMP SETTMO    FFA2        65442    Set Timeout In IEEE (reserved)
  1466. JMP ACPTR    FFA5        65445    Handshake Serial Byte In
  1467. JMP CIOUT    FFA8        65448    Handshake Serial Byte Out
  1468. JMP UNTLK    FFAB        65451    Send UNTALK Out Serial
  1469. JMP UNLSN    FFAE        65454    Send UNLISTEN Out Serial
  1470. JMP LISTN    FFB1        65457    Send LISTEN Out Serial
  1471. JMP TALK    FFB4        65460    Send TALK Out Serial
  1472. JMP READSS    FFB7        65463    Return I/O Status Byte
  1473. JMP SETLFS    FFBA        65460    Set LA, FA, SA
  1474. JMP SETNAM    FFBD        65469    Set Length And File Name Address
  1475. JMP (IOPEN)    FFC0    OPEN    65472    OPEN Logical File
  1476. JMP (ICLOSE)    FFC3    CLOSE    65475    CLOSE Logical File
  1477. JMP (ICHKIN)    FFC6    CHKIN    65478    Set Channel In
  1478. JMP (ICKOUT)    FFC9    CKOUT    65481    Set Channel Out
  1479. JMP (ICLRCH)    FFCC    CLRCH    65484    Restore Default I/O Channel
  1480. JMP (IBASIN)    FFCF    BASIN    65487    INPUT From Channel
  1481. JMP (IBSOUT)    FFD2    BSOUT    65490    OUTPUT To Channel
  1482. JMP LOADSP    FFD5        65493    LOAD From File
  1483. JMP SAVESP    FFD8        65496    SAVE to File
  1484. JMP SETTIM    FFDB        65599    Set Internal Clock
  1485. JMP RDTIM    FFDE        65502    Read Internal Clock
  1486. JMP (ISTOP)    FFE1    STOP    65505    Scan STOP Key
  1487. JMP (IGETIN)    FFE4    GETIN    65508    Read Buffered Data
  1488. JMP (ICLALL)    FFE7    CLALL    65511    Close All Files And Channels
  1489. JMP UDTIM    FFEA    CLOCK    65514    Increment Internal Clock
  1490. JMP SCRORG    FFED        65517    Return Screen Window Size (Editor)
  1491. JMP PLOT    FFF0        65520    Read/Set X,Y Cursor Coord (Editor)
  1492. JMP IOBASE    FFF3        65523    Return I/O Base
  1493. SYSTEM        FFF8        65528    Operating System Vector (RAM1)
  1494. NMI        FFFA        65530    Processor NMI Vector
  1495. RESET        FFFC        65532    Processor RESET Vector
  1496. IRQ        FFFE        65534    Processor IRQ/BRK Vector
  1497.  
  1498.  
  1499.  
  1500.         KERNAL/EDITOR FLAGS AND SHADOW REGISTERS
  1501.  
  1502. The following symbols are used by the C128 Editor. Note that the Editor IRQ
  1503. VIC screen handler depends upon them. In most cases the contents of these
  1504. locations will be placed directly into the appropriate register and should be
  1505. used instead of the actual register. For example, to change the location of the
  1506. character set used by VIC, use VM1 ($0A2C) instead of VIC register 24 ($D018).
  1507. VM1 will be used by the editor to update VIC register 24.
  1508.  
  1509.  
  1510. ADDRESS NAME    EXPLANATION
  1511.  
  1512. $00D8/GRAPHM    See below. IF = $FF THEN EDITOR LEAVES VIC ALONE.
  1513. $00D9/CHAREN    MASK For 8502 /CHAREN BIT.
  1514. $0A2C/VM1    VIC Text Mode Video Matrix & Character Base Pointer.
  1515. $0A2D/VM2    VIC Graphic Mode Video Matrix & Bit Map Pointer.
  1516. $0A2E/VM3    8563 TEXT DISPLAY BASE Address.
  1517. $0A2F/VM4    8S63 ATTRIBUTE BASE Address.
  1518. $0A34/SPLIT    IN SPLIT SCREEN MODE, CONTAINS VALUE For MIDDLE RASTER IRQ.
  1519. $0A2B/CURMOD    8563 CURSQR Mode.
  1520. $0A21/PAUSE    CONTROL S Flag (In effect = $13)
  1521.  
  1522.  
  1523.  
  1524. 540 COMMODORE 128
  1525.  
  1526.  
  1527.     EXPLANATION OF VARIOUS KERNAL/EDITOR FLAG BYTES, ETC.
  1528.  
  1529. ADDRESS SYMBOL            DESCRIPTION
  1530.  
  1531.         7    6    5    4    3    2    1    0
  1532.  
  1533.  
  1534. 0000    D6510    -    (IN)    (OUT)    (IN)    (OUT)    (OUT)    (OUT)    (OUT)
  1535. 0001    R6510    -    CAPKEY    CASMTR    CASSEN    CASWRT    CHAREN    HIRAM    LORAM
  1536.  
  1537. 00F7    LOCKS    CASE    CTL S    -    -    -    -    -    -
  1538.  
  1539. 00F8    SCROLL    OFF    LINKER
  1540.  
  1541. 00D3    SHFLAG    -    -    -    ALT    ALPHA    CTRL        SHIFT
  1542.  
  1543. OA22    RPTFLG    ALL    NONE    -    -    -    -    -    -
  1544.  
  1545. OA26    BLNON    ON    BLNK    -    -    -    -    -    -
  1546.  
  1547. 00F9    BEEPER    ON    -    -    -    -    -    -    -
  1548.  
  1549. 00D8    GRAPHM    MCM    SPLIT    BMM    -    -    -    -    -
  1550.  
  1551. 00D7    MODE    40/80    -    -    -    -    -    -    -
  1552.  
  1553. OA04    INIT_    CHRSET    CINT    -    -    -    -    -    BASIC
  1554.     STATUS
  1555.  
  1556.  
  1557.  
  1558. Notes on Kernal Symbols:
  1559.  
  1560. Init_Status. See also above. Lets system know what has been initialized and
  1561. what hasn't. Set to $00 by a reset but untouched by NMI.
  1562.  
  1563. System_Vector. Where the Kernal goes when it has to go somewhere. It's set
  1564. to BASIC cold at reset. BASIC itself sets it to BASIC warm after it has
  1565. initialized. The monitor respects it too.
  1566.  
  1567. System. Vector in RAM1 at $FFF8. Set at power-up to C128MODE, user may redirect
  1568. it to his code. Taken at reset always providing user with control (protection)
  1569. from reset.
  1570.  
  1571.  
  1572. <end>
  1573.