hnirnI rips
underslanding ijour compuler rc
Commodore Plus/4 and
Commodore 16 Memory Map
Label
Descriptiozl
ction rgster
6510 ?onhip atadire
it
8-b
hi
6510 n
nmtaek
!roken earh ooIs fot
,,Tem (renumber)
Decimal
Hex Addz
$0000
PDIR
POWr
2
SRCWPK $0002
34
ZPVECI $0003004
56
6
000
05
2
$00
EC
ZPV
07
CHARAC $00
8
ENDCMR $0008
9
09
$00
POS
TRM
0A
$00
VERCIC
11
$000B
COUNT
12
0C
$00
?L
DIN
13
D
$O
VALTYP
14
!NTFLC $000E
0?
$00
ES
DOR
16
SUB?LG $0010
XNPFLG $0011
18
1ANSG $0012.
19
CHANNL -p0013
2021
LINNUM -$00140015
22
16
$00
PPt
TEM
2324
LASTP? A$00170018
2533
TMPST $00190021
3435
INDEX].. $00220023
36-31
5
002
1NDEX2 $0024
38
4$0026
RESHG
39
RESMOH $0027
40
$0028
RESMO
41
$0029
RESLO
42
$002A
43-44
TXPTAB $0028-002C
4546
VARTAB $0020002E
4748
0
003
2F
$00
TAB
ARY
4950
2
003
31
STREND $00
51-52
FRETOP $00330034
5354
6
003
35
$00
SPC
FRE
5556
8
003
MEMS1Z $0037
5758
CURLIN $0039003A
5960
TxTPrR $0038-003C
62
61E
003
FNDPNT $003D
6364
DATLIN $003F0040
6566
DATPTR $00410042
676e
4
004
INPPTR $0043
6970
VARNAM $00450046
7172
8
004
47
$00
PNT
VAR
74
73
A
004
49
FORPNT $00
7576
$004B004C
OPPTR
77
OPMASK $0040
7879
IEFPNT $004E004F
8081
DSCPNT $00S00051
82
$0052
83
53
HELPER $00
84
$0054
JMPER
85
55
$00
SIZE
,
-,.
-.
Input
ension
flag: Default rray DlH $00 =xumerle
ng
stri
Data type $ff
r $00-flatizg
Data type $80 = intege te/gatbag o11
E1a PATA sean/LIST quo
nciqa11
se
-flag subscript ref /
$98=EAD
?
GE
iPlaq $00 -= INPtJT $40 8an
sp1t
par
com
n
sig
/
?AN
?ag
t
mp
Plag 1NPu pro
remp integer value tr ing stac1
Pointer> terpor ar
p adclress
ng
m
td
te
s
-Last 4
poray string
kem
for
ck
Sta
1-,
area
r
te
lz
Utilyo
a
are
1JtitypoJnter
-,
OLDOV
TEMPF1
$0056
$0057
Temp (rrnniber)
earch cbaacter
t end -pf strng
flag: scan for uote
t A8
laa
frm
n
i1n
co1
een
Ser
riy
ye
1
1ad
Flag: 0
of suscripts
buffer pointer / No.
-,,
86
87
5 N,v Uc 1934
(QMMQ[)ORE MCRQCQMF-U[R
XC text
Pointeri start of EAS
IC vartables
BAS
of
rt
sta
et
int
Po
IC arras
BAS
of
rt
sta
inter:
Po
ays (+1)
Pointet end of BASIC art storage
ng
stri
Pointer: bottom of
r
Utility string pointe s used by SASIC
res
Pointer: highest add
ber
Current BASIC line num
Current DATA line number
item address
Pointer: current DATA
e
tin
rou
Vector: INPUT
le name
Current BASIC vat iab
IC variable data
BAS
t
ren
cur
er:
Point
le for FOR/NEXT
iab
var
ex
Pointer: ind
(onhnued On Pag
Pe O)
Mernory Map (Conizijiwd I-)-on,
$00580059
$SA0058
$SC
$005D005E
tOWDS
$005F
LOWTR
EXPSC4 $0060
FACEXP $0061
$0062
rACHO
FACI4OH $0063
$0064
FACHO
$0065
FACLO
?ACSGN $0066
SGNFL.G $0067
$0068
BITS
ARGEXP $0069
$006A
ARGRO
ARGMOH $00B
$006C
ARGMO
$006D
ARGLO
ARGSGN $006E
ARISGN $006F
$0070
FACOV
FBUFPT $00710072
AUTINC $00730074
MVDfl $0075
G
1
KEYNUM $0076
KEYSIZ $0077
SYNTMP $0078
DSDESC $0079007B
$007C007D
ros
TMPTOW $007E-407F
VOICNO $0080
RUNMOD $0081
$0082
P0113?
GRAPHM $0083
COLSEL. $0084
$0085
MC1
$0086
FG
SCXMAX $0087
SCYMAX $0088
LTFLAG $0089
RTFLAG $008A
STOPNB $0088
GRRPN? $008C008D
VTEMP1 $008E
VTEMP2 $008!
flIGBDS
HGHTR
S?ATUS $0090
$0091
STKEY
SPVERR $0092
VERFCK $0093
$0094
C3PO
$0095
BSOTJR
$0096
XSAV
$0097
LDTND
$0098
DFLTN
$0099
DFt,TO
MSGFLG $009A
$0098
SAt,
$009C
SAH
$009D
LAL
$009E
EAH
$009F00A0
Ti
$A100A2
T2
$00A300A5
TIME
$0A6
R2D2
$00A7
TP8YTE
BSOtJR1 $00A8
32
8889
9091
9394
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113114
115116
117
118
119
120
121123
124125
126127
128
129
130
131
132
133
134
135
136
137
138
139
140141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159160
161162
163165
166
167
168
Nc Dec 984
COMMODORE MICROCOMPUTERS
exponant
Floating-point accumulator 41:
sa
ntis
zua
11:
m.
accu
g
atin
Flo
Floating accum. $1: siga
stant
Pointer: series evaluation con it
dig
w
rfio
ove
.
*1:
um
acc
Floating
expoaent
Floatingpoint accumulator *2:
a
Floating accum. *2: mantiss
Floating accum. *2: sign
um. 41 vs $2
Sign comparison result: acc
r (rounding)
otde
low
.
um
41.
acc
g
Floatin
fer
buf
te
set
Pointer: cas
Inerement value for auto (0=off)
Flag if 10K hires aliocated
s
Used as temp for indirect load
ds$
for
Descriptor
Top of run time stacic
e & volume)
Temps used by music (ton
Current grapbic mode
Curzent color selected
liulticolorl
Foreground color
Maximum 4 of columas
Maximum 4 of rows
Paintleft flag
PaintRight flag
same Color)
Stop paint if not BG (Not
ST
Kernal 1/0 status word:
Flag: STOP key / RVS key
Temp
Flag: 0 = bad 1 = verify
output char buffered
Flag: serial bus
for serial bus
er
ract
d
cha
fere
Buf
in
Temp for bas
to file table
* of open files / index
(0)
ice
dev
ut
inp
ault
Def
(3)
Default output (CMD) device
$00 = program
Flag: $80 = direct mode
Tape pass 1 error bog
Tape pass 2 error bog
Temp data area
Temp data area
x) l/60,sec
Realtime jiffy clock (appro
ge
usa
bus
Serial
off tape
Byte to be written/read on/
(Cor nuedonpage34)
Temp used by serial routine
Mernory Map (C )?lfZfl?1(d 170fl? /)flLC
CIRSEG
(JSER
KEYTAB
TMPKEY
NDX
STPFLG
TO
CRRPTR
BUFEND
CHKSUM
LENGTH
PASS
TYPE
USEKDY
XSTOP
CURBNK
XON
XOFF
SEDT2
LOFBUF
$00A9
$AA
$AB
$AC
$0AD
$AE
$0AF0080
$0081
$0082
$0083
$00B400B5
$00B600B7
$00B800B9
$BA0BB
$0BC008D
$00BE0BF
$00C0C1
$00C2
$00C3
$00C4
$00C5
$00C6
$00C7
$00C800C9
$0CA
$0CB
$OCC
$00CD
$CE
$O0CF
$0000$0007
$0008E8
$00E9
$BEAEB
$00EC00ED
$EE
$EF
$GF
$00F100F2
$00F3
$00F4
$00F5
$00F6
$00F7
$00F8
$00F9
$FA
$00F8
$0FC
$00F0
$0FE
$0FF
169
170
171
172
173
174
175176
177
178
179
180181
182183
184185
186187
188189
190191
192193
194
195
196
197
198
199
200201
202
203
204
205
206
207
208215
216232
233
234235
236237
238
239
240
241242
243
244
245
246
247
248
249
250
251
252
253
254
255
FBUFFR
SAVEA
SAVEY
SAVEX
COLKEY
SYSSTK
$0l00$O1F
$0110
$0111
$0112
$01l30122
$012401FF
256271
272
273
274
275289
291511
Temp Locations for
for Save and
Restore
Color/luminance table in RAM
System stack
BDF
OLDLIN
OLDTXT
$02000258
$0259025A
$025B025C
512600
601602
603604
Basic/monitor buffer
Basic storage
Basic storage
$025D-02AC
$0250
$025E026D
$026E
605-684
XCNT
FNBUFR
DOSF1L
BASIC/DOS INTERFACE AREA
DOS loop counter
Area for filename
DOS filename llength
FPVERR
DCOUNT
FNLEN
LA
SA
FA
FNADR
ERRSUM
STAL
STAH
MEMUSS
TAPEBS
TMP2
WRBASE
IMPARM
FETPTR
SEDSAL
RVS
INDX
LSXP
LSTP
SFDX
CRSW
PNT
PNTR
QTSW
SEDT1
TBLX
DATAX
INSRT
34
2)
rJ)3pp
MCPGfl 4PUFP
Length of currerit file name
Current logical file number
Current secondary address
Current device number
Pointer: current file name
1/0 start address
Load ram base
Base pointer to cassette base
Pointer to data for tape writes
Pointer to immediate string for primms
Pointer to byte to be fetched in bank fetc
Temp for scrolling
RVS field flag on
X position at start
Flag: shift mode for print
Flag: INPUT or CEl from keyboard
Pointer: current screen line address
Cursor column on current line
$00 = no
Flag: editor in quote mode
Editor temp use
Current cursor physical line number
Temp data area
1 >0 = t INSTs
Flag: insert mode
Area for use by speech software
Area for use by application software
Screen line link table / editor temps
Screen editor color IP
Key scan table indirect
Index to keyboard queue
Pause flag
Monitor ZP storage
Temp for checksum calculation
Which pass we are doing str
Type of block
(B.7=1)=> for wr,(B.6=1)=> for rd
Save xreg for quick stopkey test
Current bank configuration
Char to send for a xon
Char to send for a xoff
Editor temporary use
o(ntzndcnpah(
Meniory Map
(CofltiJ?uel /rni
34)
DOSDS1
DOSF1A
$026F
$02700271
DOS disk drive 1
DOS filename 1 addr
DOSF2L
DOSDS2
DOSF2A
$0272
$0273
$0274.-0275
DOS filename 2 length
DOS disk drive 2
DOOS filename 2 addr
DOSLA
DOSFA
DOSSA
$0276
$0277
$0278
DOS logical address
DOS phys addr
DOS secondary address
DOSDID
DIDCHK
$0279027A
$027B
005 disk identifier
DOS DID flag
DOSSTR
DOSSPC
$027C
$027D2AC
DOS output string buffer
Area used to build DOS string
XPOS
YPOS
XDEST
YDST
XABS
YABS
XSGN
YSGN
FCT1
FCT2
ERRVAL
LESSER
GREAR
$2AD02AE
$2AF02B0
$02B102B2
$02B302B4
$02B502B6
$02B70288
$02B92BA
$02B202BC
$2BD02BE
$2BF02C0
$02C102C2
$02C3
$0204
685686
687688
689690
691692
693694
695696
697698
699700
701702
703704
705706
707
708
ANGSGN
SINVAL
COSVAL
ANGCNT
$02C5
$02C602C7
$02C802C9
$2CA2CB
709
710711
712713
714715
Sign of angle
Sine of value of angle
Cosine of value of angle
Temps for angle distance routines
BNR
ENR
DOLR
FLAG
SWE
USGN
UEXP
VN
CHSN
VF
NF
POSP
FESP
ETOF
CFORM
SNO
BLFD
BEGFD
LFOR
ENDFD
$02CC
$0200
$02CE
$O2CF
$0200
$2Dl
$02D2
$0203
$0204
$0205
$0206
$0207
$0208
$0209
$2DA
$2DB
$020C
$0200
$2DE
$2DF
$02E0
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
Start of multiply defined area *1
Placeholder
Pointer to begin no.
Pointer to end no.
Dollar flag
Comma flag
Counter
Sign exponent
Pointer to exponent
* of digits before decimal point
Justify flag
# of pos before decimal point (field)
# of pos after decimal point (field)
+1 flag (field)
Exponent flag (field)
Switch
Char counter (field)
Sign no.
Blank/star flag
Pointer to beginning of field
Length of format
Pointer to end of field
$2CC-2CD
$02CE02CF
$02000201
$02D202D3
$02040205
$020602D7
$02082D9
716-717
718719
720721
722723
724725
726727
728729
Placeholder
$O2DA
730
Characters column counter
XCENTR
YCENTR
XDIST1
YDIST1
XDIST2
YDIST2
COLCNT
36
pat
/M EE
Graphics Variables
Current x position
Current y position
X coordinate destination
Y coordinate destination
ROWCNT
STRCNT
$02DB
$2DC
731
732
XCORD1
YCORD1
BOXANG
XCOUNT
YCOUNT
BXLENG
XCORD2
YCORD2
$02CC02CD
$02CE2CF
$020002D1
$02D202D3
$02D402D5
$020602D7
$02D8-02D9
$2DA2DB
716717
718719
720721
722723
724725
726727
728729
730731
XCIRCL
YCIRCL
XRADUS
YRADUS
ROTANG
ANGBEG
ANGEND
XRCOS
YRSIN
XRSIN
YRCOS
$2CC02C0
$2CE2CF
$020002D1
$02D202D3
$02D40205
$020802D9
$2DA2DB
$2DC2DD
$2DE2DF
$02E002E1
$02E202E3
716717
718719
720721
722723
724725
728729
730731
732733
734735
736737
738739
Characters row counter
Start of multiply defined area
12
Rotation angle
Length of a side
Circle center, x coordinate
Circle center, y coordinate
X radius
Y radius
Rotation angle
Are angle start
Are angle end
X radius * cos (rotation angle)
Y radius * sin (rotation angle)
X radius * sin (rotation angle)
Y radius * cos (rotation angle)
Start of multiply defined area
43
Placeholder
XSIZE
YSIZE
XSAVE
STRAOR
BITIDX
SAVSIZ
$2CC
$2CD
$O2CE
$2CF
$0200
$0201
$0202
$0203
$0204
$020502D6
$02D702D8
$02D902DA
$2DB2DC
$2DD
$2DE02E1
716
717
718
719
720
721
722
723
724
725726
727728
729730
731732
733
734737
CHRPAG
BITCNT
SCALEM
WIDTH
FILFLG
BITMSK
NUMCNT
TRCFLG
$02E4
$02E5
$02E6
$02E7
$02E8
$02E9
$O2EA
$2EB
740
741
742
743
744
745
746
747
T3
T4
VTEMP3
VTEMP4
VTEMPS
$2EC
$02E02EE
$2EF
$02F0
$2Fl
748
749750
751
752
753
Graphic temp storage
ADRAY1
ADRAY2
$02F202F3
$02F402F5
754755
756757
Ptr
BNKVEC
IERROR
IMAIN
ICRNCH
IQPLOP
IGONE
IEVAL
IESCLK
$2FE2FF
$0300301
$03020303
$03040305
3637
766767
768769
770771
772-773
774775
776777
778779
780781
KEYLEN
KEYNXT
STRSZ
GETTYP
STRPTR
OLDBYT
NEWBYT
$03080309
$030A030B
$030C3D
String length
Replace string mode
String position counter
Old bit map byte
New string or bit map byte
Placeholder
Shape column length
Shape row length
Temp for column length
Save shape string descriptor
Bit index into byte
Temporary work locations
High byte addr of char
Ternp for gshape
Scale mode flag
Double width flag
Box fill flag
Temp for bit mask
ROM for char cmd
Flags trace mode
Ptr
to routine: convert float to intege
to routine: convert integer to floa
Vector for function cartridge users
Indirect Error (Output Error in
.X)
Indirect Main (System Direct Loop)
Indirect Crunch (Tokenization
Routine)
Indirect List (Char List)
Indirect Gone (Character Dispatch)
Indirect Eval (Symbol Evaluation)
Escape token crunch
(Cc zIj
0,1 Pae 108;
37
Memory Map (Cwiliniwd frolli pag(
782783
784785
786787
788789
790791
792793
794795
796797
798799
800801
802803
804805
806807
808809
810811
812813
814815
816817
IESCPR
IESCEX
JTIME
CINV
CBINV
lOPEN
ICLOSE
ICHKIN
ICKOUT
ICLRCH
IBASIN
IBSOUT
ISTOP
IGETIN
ICLALL
USRCMD
ILOAD
ISAVE
$030E030F
$03100311
$03120313
$03140315
$03160317
$03180319
$031A031B
$031C031D
$031E031F
$03200321
$03220323
$03240325
$03260327
$03280329
$032A032B
$032C032D
$032E032F
$03300331
TAPBUF
WRLEN
RDCNT
$0333-03F2
$03F3-03F4
$03F5-03F6
INPQ(JE
ESTAKL
ESPAKH
$03F70436
$04370454
$04550472
10151078
10791108
11091138
CHRGET
CHRGOT
QNUM
$04730478
$04790484
$04850493
11391144
11451156
11571171
INDSUB
ZERO
$0494-04A1
$04A204A4
11721185
11861188
Shared ROM fetcb sub
Nurneric constant for Basic
INDTXT
INDIN1
INDINI
INDST1
INDLOW
INDFMO
$04A5-04AF
$04B04BA
$4BB04C5
$04C604D0
$04D104Da
$O4DC04E6
11891199
12001210
12111221
12221232
12331243
12441254
Txtptr
Index & Indexl
Index2
Strngl
Lowtr
Facmo
PUFILL
PUCOtIA
PUDOT
PUMONY
$04E7
$04E8
$04E9
$4EA
1255
1256
1257
1258
Print
Print
Print
Print
TMPDES
ERRNUM
ERRLIN
TRAPNO
TMPTRP
ERRTXT
OLDSTK
$4EB4EE
$04EF
$04F004F1
$04F204F3
$04F4
$04F504F6
$04F7
12591262
1263
12641265
12661267
1268
12691270
1271
Temp
Last
Line
Line
Hold
TMPTXT
TMPLIN
$04F804F9
$4FA4FB
12721273
12741275
MTIMLO
MTIMHI
USRPOK
RNDX
DEJAVU
$04FC4FD
$4FE4FF
$05000502
$05030507
$0508
12761277
12781279
12801282
12831287
1288
Table of pending jiffies
LAT
FAT
SAT
$05090512
$0513051C
$051D0526
12891298
12991308
13091318
Logical file numbers
Primary device numbers
Secondary addresses
KEYD
MEMSTR
$05270530
$05310532
13191328
13291330
IRQ keyboard buffer
108
ZJDQPr
IRQ Ram Vctor
Erk Instr RAH Vector
Indirects for Code
Savesp
Cassette tape bnffer
Length of data to be writtea to tape
Length of data to be read from tape
8191010
10111012
1013-1014
rJr
RS-232 input queue
using
using
using
using
fili symbol
comina symbol
D.P. symbol
monetary symbol
for instr
error number
lof last error
to go on error
trap no. temporarily
cold
or
warm
Start of rnemory
94
(2s coznp)
start status
MSIZ
TIMOUT
$05330534
$0535
13311332
1333
Top of memory
IEEE timeout flag
FILEND
CTALLY
CBUFVA
TPTR
ELTYPE
$0536
$0537
$0538
$0539
$053A
1334
1335
1336
1337
1338
File end reached=1, 0 otherwise
40f chars left in biffer. (for R&W)
lof total valid chars in buffet (R)
Ptr to next char in buffet (for R&W)
Contains type of clxrent casa file
COLOR
FLASH
$053B
$053C
$053D
1339
1340
1341
Active attzbte byte
Character flash flag
FREE
Base location of sbzeen (top)
HIBASE
$053E
1342
XMAX
RPTFLG
KOUNT
DELAY
SHFLAG
LSTSHF
KEYLOG
MODE
AUTODN
LINTMP
ROLFLG
$053F
$0540
$0541
$0542
$0543
$0544
$05450546
$0547
$0548
$0549
$054A
1343
1344
1345
1346
1347
1348
13491350
1351
1352
1353
1354
FORMAT
MSAL
WRAP
TMPC
DIFF
PCH
PCL
FLGS
ACC
XR
YR
SP
INVL
INVH
CMPFLG
BAD
$054B
$054C054E
$054F
$0550
$0551
$0552
$0553
$0554
$0555
$0556
$0557
$0558
$0559
$055A
$055B
$055C
1355
13561358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
KYNDX
KEYIDX
KEYBUF
PKYBUF
$055D
$055E
$055F0566
$056705E6
1373
1374
13751382
13831510
Table of P.F. lengths
P.F. key storage area
KDATA
KDYCMD
KDYNUM
KDYPRS
KDYTYP
$05E7
$05E8
$05E9
$5EA
$05EB
1511
1512
1513
1514
1515
Temp for data write to kennedy
Select for kennedy zead or write
Kennedys devl
Kennedy present = $ff,else=$00
Teinp for type of open for kennedy
SAVRAM
PAT
LNGJMP
FETARG
FETXRG
FETSRG
$5EC6EB
$05EC5EF
$SF05F1
$05F2
$05F3
$05F4
15161771
15161519
15201521
1522
1523
1524
1 page used by banking routines
Physical Address Table
Long junp address
Long jump accumulator
Long jump x register
Long jump status register
AREAS
$05F5065D
15251629
RAM areas
ASPECH
$065E6EB
16301771
RAM area for
STKTOP
$6EC7AF
17721967
BASIC runtime stack
WROUT
PARITY
$0780
$0781
1968
1969
Byte to be written on tape
Temp for panty calc
Key repeat flag
Shift flag byte
Last shift pattern
Indirect for keyboard table setup
Auto scroll down flag
Monitor nonzpage
(0=on,0<>off)
storage
Used by various monitor routines
Used for programmable keys
for
banking
speech
lii
((Jo,ilin,ted Eruni lae 109)
110
TT1
TT2
RDBITS
ERRSP
FPERRS
$07B2
$07B3
$07B5
$07B6
$07B7
1970
1971
1973
1974
1975
Temp for writeheader
Temp for writeheader
Local index for READBYTE routine
Pointer into the error stack
Number of first pass errors
DSAMP1
DSAMP2
ZCELL
$07B807B9
$7BA0788
$7BC07B0
1976197?
19781979
19801981
Time constant
Time constant
Time constant
SRECOV
DRECOV
TRSAVE
RDETMP
LDRSCN
CDERRM
VSAVE
T1PIPE
ENEXT
$7BE
$07BF
$07C007C3
$07C4
$07C5
$07C6
$07C7
$07C87CB
$7CC
1982
1983
19841987
1988
1989
1990
1991
19921995
1996
Stack marker for stopkey recover
Stack niarker for dropkey recover
params passed to RDBLOK
Temp stat save for RDBLOK
r
t consec shorts to find in leade
own
countd
RD
in
fatal
rs
4 Erro
Temp for Verify command
Pipe temp for Tl
Read error propagate
UOUTQ
UOUTFG
SOUTQ
SOUNFG
INOEPT
INQRPT
INQCNT
ASTAT
AINTMP
ALSTOP
ARSTOP
APRES
$07C0
$0?CE
$0?CF
$0700
$07D1
$0702
$0703
$0704
$0705
$0706
$0707
$0708
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
FOR RS-232
User character to send
0=empty ; 1=full
System character to send
0=empty ; 1=full
Pntr to front of input queue
Pntr to rear of input queue
t of chars in input queue
Temp status for ACIA
Temp for input routine
FLG for local pause
FLG for remote pause
FLG to indicate presence of ACIA
KLUDES
SCBOT
SCTOP
SCLF
SCRT
SCRDIS
INSFLG
LSTCHR
LOGSCR
TCOLOR
BITABL
$070907E4
$07E5
$07E6
$07E7
$07E8
$07E9
$7EA
$7EB
$07EC
$07ED
$7EE07F1
20092020
2021
2022
2023
2024
2025
2026
2027
2028
2029
20302033
Indirect routine downloaded
SAREG
SXREG
SYREG
SPREG
$07F2
$07F3
$07F4
$07F5
2034
2035
2036
2037
Registers for
LSTX
STPDSB
RAMROM
COLSW
FFRMSK
VMBMSK
LSEM
PALCNT
$07F6
$07F7
$07F8
$07F9
$7FA
$7FB
$7FC
$07F0
2038
2039
2040
2041
2042
2043
2044
2045
Key scan index
Flag to disable CTLS pause
0;RAM=1
MSB for monitor fetches from ROM=
=l
MSB for color/lim table in RAM=0;ROM
n
scree
split
for
mask
ROK
VM base mask for split screen
Motor lock semaphore for cassette
PAL tod
TEOATR
$0800BFF
2048-3071
TED attribute bytes
TEOSCN
$COFFF
30724095
TED character
BASBGN
$1000
4096
Start of BASIC text area
BMLUM
$l800$1BFF
61447167
Luminance for
BMCOLR
$1CO1FFF
71688191
Color
( OM
OOrPLEP3
r E-
for
hit
SYS command
pointers
hit map screen
map
(c)flr1l1Ld,)a
112?
Meniorv Map
conhinuedJ-o,n
page 110)
GRBASE
$2000
8192
Start of bit map sereen data
GRBASE
$4_
16384
Start of BASIC when HIRES is on
(in 64K machine only)
CHRBAS
$D000
Beginning of character
53248
TExt Display (TED) Chip
$FF0
65280
Timer *1 reload value,
bits 07 (10w)
$FF1
65281
Timer $1 reload value,
bits 815 (high)
$FF2
65282
Timer 12 reload value,
bits 07 (10w)
$FFO3
65283
Timer 12 reload value,
bits 815 (high)
$FF4
65284
Timer f3 reload value,
bits 07 (low)
$FF5
65285
Timer 43 reload value,
bits 815 (high)
$FFO6
65286
Bits 02
seen vertical offset
Bit 3
: 24 or 25 rows
Bit 4
Sereen blank
Bit 6
: Extended color mode
Bit 5
Bit map mode
Bit7
:TEST
$FF7
65287
Bits 02 : horizonta]. offset
Bit 3
38 or 40 columns
Bit 4
: Multicolor mode
Bit 5
Freeze
Bit 6
: NTSC/PAE.
Bit 7
Hardware reverse
$FF8
65288
Keyboard latch
$FF9
65289
Interrupt
Bit 0
Hit 1
:
Bit 2
:
Bit 3
:
Bit 4
:
Bit 5
:
Bit 6
:
Hit 7
:
(IRQ) flags
unused
Raster
Light pen
Timer 41
Timer *2
unused
Timer 43
Interrupt flag
$FFA
65290
Interrupt
Bit 0
Bit 1
Hit 2
:
Bit 3
:
Hit 4
Bit 5
:
Hit 6
:
Bit 7
enable register
Bit 8 raster interrupt set
Raster
Light pen
Timer 11
Timer *2
unused
Timer f3
unused
$FFOB
65291
Raster
$FFC
65292
Hardware cursor position, bits 8 & 9
(bit 0 is bit 8, hit 1 is bit 9)
interrupt set, bits 07
Hardware cursor
112
RON data
COMM&[)RL MCRQC )/ UT R N
pcsition,
bits 0 7
Memory Map o,zintwd from
712)
$FFOE
65294
Voice *1 frequency, bits 07
$FFF
65295
Voice *2 frequency, bits 07
$FF10
65296
9
Voice *2 frequency, bits 8
(hit 0 is hit 8, bt 1 is hit 9)
$FF11
65297
Bits 03
Bit 4
Bit 5
Bit6
Bit7
$FF12
65298
Voice 41 frequency, bits 8 & 9
Bit 01
: TED data fetcb ROM/RAM select
Bit2
Bits 05 : Bit map base address
$FFl3
65299
: Clock status
Eit
: Set single clock
Bitl
Character data base address
Bits 27
$FF14
65300
Bits 37
$FF1S
65301
Background color register
Color
Bits 03
Luminance
Bits 46
$FF16
65302
Color register *1
Bits 03 : Color
Bits 4-6 : Luminance
$FF17
65303
Color register 42
Bits 03 : Color
Bits 46 : Luminance
$FF18
65304
Color register 43
Bits 03 : Color
Bits 46 : Luminance
$FF19
65305
Color register 44
Color
Bits 03
Luminance
Bits 4-6
$FF1A
65306
Bit map reload
$FF1B
65307
Bit map reload
$FF1C
65308
Bit 0
$FF1D
65309
Bits 07 : Vertical line bits 07
$FF1E
65310
Horizontal positlon
$FF1F
65311
Blink, vertical sub address
$FF3E
65342
ROM select
$FF3F
65343
RAM select
Volume control
Voice 41 select
Voice 42 select
Voice 42 noie select
: Sound reloa
Video marix/color memory
base adress
: Vertical line hit 8
BANKING JUMP TABLE
$FCF1
$FCF4
$FCF7
$FCFA
$FCFD
114
M D-
64753
64756
64759
64762
64765
to
to
to
to
JMP to
JMP
JMP
JMP
JMP
cartridge IRQ routine
PHOENIX routine
LONG FETCH routine
LONG JUMP routine
LONG IRQ routine
116i
MenlorY Map
o,i1ifluedfI01fl
pae 114)
UNOFFICIAL JUMP TABLE
65353
$FF49
65356
$FF4C
JMP to define functiOn key routine
JMP to PRINT routine
RELEASE * OF KERNAL (nisb 0=NTSC1PAL)
65408
$FF80
KERNAL JUMP TABLE
NAME
ADDRESS
CINT
IOINIT
RAMTAS
RESTOR
VECTOR
SETMSG
SECND
TKSA
MEMTOP
MEMBOT
SCNKEY
SETTMO
ACPTR
CIOUT
UNTLK
UNLSN
LISTN
TALK
READSS
SETLFS
SETNAM
OPEN
CLOSE
CHKIN
CHOUT
CLRCH
BASIW
BSOUT
LOADSP
SAVESP
SETTIM
RDTIM
STOP
GETIN
CLALL
UOTIM
SCRORG
PLOT
!OBASE
$FF81
$FF84
$FF87
$FF8A
$FF8D
$FF9
$FF93
$FF96
FF99
$EE9C
$FF9F
$FFA2
$FFA5
$FFA8
$FFAB
$FFAE
$FFB1
$FFB4
$FFB7
FFBA
$FFBD
$FFC
$FFC3
$FFC6
$FFC9
$FFCC
$FFCF
$FFD2
$FFD5
$FFD8
$FFDB
$FFDE
$FFE1
$FFE4
$FFE7
$FFEA
$FFED
$FFF
$FFF3
DESCRIPTION
65409
65412
65415
65418
65421
65424
65427
65430
65433
65436
65439
65442
65445
65448
65451
65454
65457
65460
65463
65466
65469
65472
65475
65478
65481
65484
65487
65490
65493
65496
65499
65502
65505
65508
65511
65514
65517
65520
65523
Initialize screen editor
InitialiZe 1/0 devices
Ram test
RestOte vectors to initial values
Change vectors for user
Control 0.S. meSsageS
Send SA after LISTEN
Send SA after TALK
Set/Read top of memory
Set/Read bottom of memory
Scan keyboard
Set timeout in OMA disk
HandShake serial bus or DMA disk byte in
out
Handshake serial bus or DMA disk byte
Send UNTALK out set ial bus er OMA disk
disk
Send UNLISTEN out serial bus or OMA
disk
DMA
or
bus
serial
Send LISTEN out
Send TALK out serial bus er OMA disk
Return 1/0 STATUS byte
Set LA, PA, SA
Set length and EN addteSS
Open logical file
Close logical file
Open channel in
Open channel out
Close 1/0 channels
Input from channel
Output to channel
Load from file
Save to file
Set interrial clck
Read internal clock
Scan STOP key
Get charaCter from queue
Close all files
Incremeflt clock
Screefl org.
Read/Set X,Y cootd of cutSor
Return location of start of 1/0
116
CDMMUC
Mi R
TLR