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

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