BELLEK HARİTASI – 1
Yeni bir bölüme başlıyoruz. Bu bölümde COMMODORE 64’ün bellek haritasını yani hangi adreslerde ne var, ne işe yarar gibi bilgileri bu bölümde göreceğiz. Bu bölümdeki yazılanlar PROGRAMCININ EL KİTABI’ndan alınmıştır.
İSİM HEX ADRES
ONLU ADRES
AÇIKLAMA
D6510 00 0 6510 üzerindeki veri yön registeri. 1 nolu adres için giriş çıkış yön tanımlama için kullanılır. R6510 01 1 6510 üzerindeki veri registeri. Çeşitli bellek konfigürasyonları amacıyla kullanılır. 02 2 Kullanılmıyor. Makina dili programlarınızda kullanabilirsiniz. ADRAY1 03 – 04 3 - 4 SIÇRAMA VEKTÖRÜ : Ondalık sayı – Tamsayı dönüşümü. ADRAY2 05 – 06 5 - 6 SIÇRAMA VEKTÖRÜ : Tamsayı – Ondalık sayı dönüşümü. CHARAC 07 7 Karakter arama. ENDCHR 08 8 BAYRAK : Yazısal dizinin sonunu gösteren tırnağın aranması. TRMPOS 09 9 Ekran kolonunun son TAB pozisyonundan uzaklığı. VERCK 0A 10 BAYRAK : 0 = Yükleme 1 = Verify. COUNT 0B 11 Giriş tamponu göstergeci / İndis sayısı. DIMFLAG 0C 12 BAYRAK : Default dizi boyutu. VALTYP 0D 13 VERİ TİPİ : $FF = Yazısal dizi $00 = Sayısal dizi. INTFLG 0E 14 VERİ TİPİ : $80 = Tamsayı $00 = Ondalık sayı. GARBFL 0F 15 BAYRAK : DATA tarama /LIST için tırnak işareti / hafıza boşaltma. SUBFLG 10 16 BAYRAK : İndis referansı / Kullanıcı fonksiyonu çağrısı. INPFLG 11 17 BAYRAK : $00 = INPUT $40 = GET $98 = READ TANSGN 12 18 BAYRAK : TAN işareti / Karşılaştırma sonucu. 13 19 BAYRAK : INPUT uyarısı. LINNUM 14 - 15 20 - 21 Geçici adres. Tamsayı değeri. TEMPPT 16 22 GÖSTERGEÇ : Geçici yazısal dizi yığını. LASTPT 17 -18 23 - 24 Son yazısal dizi adresi. TEMPST 19 - 21 25 - 33 Geçici yazısal diziler için STACK (yığın). INDEX 22 - 25 34 – 37 Yardımcı göstergeç alanı. RESHO 26 – 2A 38 - 42 Çarpma işleminin ondalık sayı sonucu. TXTTAB 2B – 2C 43 - 44 GÖSTERGEÇ : BASIC metninin başlangıcı. VARTAB 2D – 2E 45 - 46 GÖSTERGEÇ : BASIC değişkenlerinin başlangıcı. ARYTAB 2F - 30 47 - 48 GÖSTERGEÇ : BASIC dizilerinin başlangıcı. STREND 31 - 32 49 - 50 GÖSTERGEÇ : BASIC dizilerinin sonu (+1) FRETOP 33 - 34 51 - 52 GÖSTERGEÇ : Dizi saklanımının sonu. FRESPC 35 - 36 53 - 54 Yardımcı dizi göstergeci. MEMSIZ 37 - 38 55 - 56 GÖSTERGEÇ : BASIC’in kullandığı en yüksek adres. CURLIN 39 – 3A 57 - 58 Bulunduğunuz BASIC satır numarası. OLDLIN 3B – 3C 59 – 60 Bir evvelki BASIC satır numarası OLDTXT 3D – 3E 61 - 62 GÖSTERGEÇ : CONT için BASIC yönergesi. DATLIN 3F – 40 63 - 64 O anki DATA satırının nosu. DATPTR 41 - 42 65 - 66 GÖSTERGEÇ : Bulunduğunuz DATA adresi. INPPTR 43 - 44 67 - 68 VEKTÖR : INPUT rutini. VARNAM 45 - 46 69 - 70 O andaki BASIC değişkeninin ismi. VARPNT 47 - 48 71 - 72 GÖSTERGEÇ : O andaki BASIC değişkeni verisi. FORPNT 49 – 4A 73 - 74 GÖSTERGEÇ : FOR / NEXT için indis değişkeni. 4B - 60 75 - 96 Geçici göstergeç / Veri alanı. FACEXP 61 97 Ondalık sayı akümülatörü 1 : ÜS FACHO 62 - 65 98 - 101 Ondalık sayı akümülatörü 1 : TABAN FACSGN 66 102 Ondalık sayı akümülatörü 1 : İŞARET SGNFLG 67 103 GÖSTERGEÇ: Serileri değerlendirme sabiti. BITS 68 104 ONDALIK AKÜMÜLATÖR 1 : Taşma hanesi.
ARGEXP
69
105
ONDALIK AKÜMÜLATÖR 2 : Üs.
ARGHO
6A – 6D
106 - 109
ONDALIK AKÜMÜLATÖR 2 : Taban.
ARGSGN
6E
110
ONDALIK AKÜMÜLATÖR 2 : İşaret.
ARISGN
6F
111
İşaretlerin karşılaştırılmasının sonucu : Akü 1 ve Akü 2
FACOV
70
112
ONDALIK AKÜMÜLATÖR 1 : Alt basamak (Yuvarlayarak).
FBUFPT
71 - 72
113 - 114
GÖSTERGEÇ : Teyp tamponu.
CHRGET
73 – 7A
115 - 138
ALTPROGRAM: BASIC metninden bir sonra gelen baytın alınması.
CHRGOT
79
121
Metindeki aynı baytın tekrar alınması.
TXTPTR
7A – 7B
122 -123
GÖSTERGEÇ : BASIC metninin o andaki baytı.
RNDX
8B – 8F
139 - 143
Ondalıklı RND fonksiyonunun değeri.
STATUS
90
144
Kernal G / Ç Statü sözcüğü : ST
STKEY
91
145
BAYRAK : STOP tuşu / RVS tuşu
SVXT
92
146
Teyp için zamanlama sabiti.
VERCK
93
147
BAYRAK : 0 = Yükleme / 1 = Verify
C3PO
94
148
BAYRAK : Seri bağlantı – Tamponlanmış çıkış karakteri.
BSOUR
95
149
Seri bağlantı için tamponlanmış karakter.
SYNO
96
150
Kaset eşzaman sayısı.
97
151
Geçici veri alanı.
LDTND
98
152
Açık dosya sayısı / Dosya tablosu için indeks.
DFLTN
99
153
Default giriş cihazı (0).
DFLTO
9A
154
Default çıkış (CMD) cihazı (3).
PRTY
9B
155
Teyp karakter eşliği (parity).
DPSW
9C
156
BAYRAK : Kasetten bayt alındı.
MSGFLG
9D
157
BAYRAK : $80 = Doğrudan mod $00 = Program.
PTR1
9E
158
Teyp geçişi 1 hata günlüğü.
PTR2
9F
159
Teyp geçişi 2 hata günlüğü.
TIME
A0 – A2
160 - 162
Gerçek zaman jiffy saati (yaklaşık) 1/60 saniye.
A3 – A4
163 - 164
Geçici data alanı.
CNTDN
A5
165
Eşzamanlı kaset geri sayımı.
BUFPNT
A6
166
GÖSTERGEÇ : Teyp Giriş /Çıkış tamponu.
INBIT
A7
167
RS-232 Giriş bit’leri / Kaset için geçici bölge.
BITCI
A8
168
RS-232 Giriş bit’i sayımı / Kaset için geçici bölge.
RINONE
A9
169
RS-232 BAYRAK : Başlangıç biti kontrolu.
RIDATA
AA
170
RS-232 Giriş bayt tamponu / Kaset için geçici bölge.
RIPRTY
AB
171
RS-232 Giriş eşliği / Kaset short cnt.
SAL
AC -AD
172 - 173
GÖSTERGEÇ : Teyp tamponu / Ekran kayması.
EAL
AE - AF
174 - 175
Teyp sonu adresi / Program sonu.
CMPO
B0 – B1
176 - 177
Teyp zamanlama sabitleri.
TAPE1
B2 – B3
178 - 179
GÖSTERGEÇ : Teyp tamponunun başlangıcı.
BITTS
B4
180
RS-232 Çıkış bit’i sayımı / Kaset için geçici bölge.
NXTBIT
B5
181
RS-232’de bir sonra gönderilecek bit / Teyp EOF bayrağı.
RODATA
B6
182
RS-232 Çıkış bayt tamponu.
FNLEN
B7
183
İşlemdeki dosya ismi uzunluğu.
LA
B8
184
İşlemdeki dosya numarası.
SA
B9
185
İşlemdeki ikincil adres.
FA
BA
186
İşlemdeki aygıt numarası.
FNADR
BB - BC
187 - 188
GÖSTERGEÇ : İşlemdeki dosya ismi.
ROPRTY
BD
189
RS-232 Çıkış eşliği / Kaset için geçici bölge.
FSBLK
BE
190
Kaset okuması / Yazma bloğu sayma.
MYCH
BF
191
Seri sözcük tamponu.
CAS1
C0
192
Teyp motoru kilitlemesi.
STAL
C1 – C2
193 - 194
G / Ç başlangıç adresi.
MEMUSS
C3 – C4
195 - 196
Teyp yüklemesi için geçici bölge.
LSTX
C5
197
Basılı tuş : CHR$(n) = 0 Tuşa basılmamış.
NDX
C6
198
Klavye tamponunda bulunan karakter sayısı.
RVS
C7
199
BAYRAK : Negatif gösterim 1 = EVET 0 = HAYIR.
INDX
C8
200
GÖSTERGEÇ : INPUT için mantıksal satır sonu.
LXSP
C9 - CA
201 - 202
INPUT başlangıcında kursörün X – Y konumu.
SFDX
CB
203
BAYRAK : SHIFT ile karakter yazımı.
BLNSW
CC
204
BAYRAK : Kursör yanıp sönebilir 0 = Parlayan kursör.
BLNCNT
CD
205
ZAMANLAYICI : Kursörü yakıp söndürmek için geri sayım.
GDBLN
CE
206
Kursörün üzerinde bulunduğu karakter.
BLNON
CF
207
BAYRAK : Kursörün son yanıp sönme hali (On/Off).
CRSW
D0
208
BAYRAK : Klavyeden INPUT veya GET.
PNT
D1 – D2
209 - 210
GÖSTERGEÇ : Anlık ekran satırı.
PNTR
D3
211
İşlemdeki satırda kursörün bulunduğu sütun.
QTSW
D4
212
BAYRAK : Tırnak modunda editör. $00 = HAYIR
LNMX
D5
213
Ekran satırının fiziksel uzunluğu.
TBLX
D6
214
Kursörün bulunduğu satırın fiziksel satır numarası.
D7
215
Geçici veri alanı.
INSRT
D8
216
BAYRAK : Araya karakter yerleştirme modu. >0 yerleştirme sayısı.
LDTB1
D9 – F2
217 - 242
Ekran satırı bağlantı tablosu / Editör için geçici bölge.
USER
F3 – F4
243 - 244
GÖSTERGEÇ : Anlık ekran rengi RAM yeri.
KEYTAB
F5 – F6
245 - 246
VEKTÖR : Klavye çözüm tablosu.
RIBUF
F7 – F8
247 - 248
RS-232 Giriş tampon göstergeci.
ROBUF
F9 - FA
249 - 250
RS-232 Çıkış tampon göstergeci.
FREKZP
FB - FE
251 - 254
Kullanıcı programları için boş ZERO PAGE alanı.
BASZPT
FF
255
BASIC geçici veri alanı.
0100-01FF
256 - 511
Mikroişlemci sistem yığın alanı.
0100-010A
256 - 266
Ondalıktan dizgiye çalışma alanı.
BAD
0100-013E
256 - 318
Teyp girişi hata kaydı.
BUF
0200-0258
512 - 600
Sistem giriş tamponu.
LAT
0259-0262
601 - 610
KERNAL TABLOSU : Aktif mantıksal dosya sayısı.
FAT
0263-026C
611 - 620
KERNAL TABLOSU : Her dosya için cihaz sayısı.
SAT
026D-0276
621 - 630
KERNAL TABLOSU : Her dosya için ikincil adres.
KEYD
0277-0280
631 - 640
Klavye tampon kuyruğu (FIFO)
MEMSTR
0281-0282
641 - 642
GÖSTERGEÇ : BASIC için belleğin taban adresi.
MEMSIZ
0283-0284
643 - 644
GÖSTERGEÇ : BASIC için belleğin tavan adresi.
TIMOUT
0285
645
BAYRAK : IEEE zaman aşımı için KERNAL değişkeni.
COLOR
0286
646
Anlık karakter renk kodu.
GDCOL
0287
647
Kursörün üzerinde bulunduğu fon rengi.
HIBASE
0288
648
Ekran belleğinin tavanı (sayfa)
XMAX
0289
649
Klavye tamponunun büyüklüğü.
RPTFLG
028A
650
BAYRAK : Tuşlar için tekrarlama fonksiyonu. $80 = Tekrarla.
KOUNT
028B
651
Hız sayacı tekrarlama.
DELAY
028C
652
Tekrarlamayı geciktirme hız sayacı.
SHFLAG
028D
653
BAYRAK : Klavye SHIFT tuşu / CTRL tuşu / C= tuşu.
LSTSHF
028E
654
Son klavye SHIFT görüntüsü.
KEYLOG
028F-0290
655 - 656
VEKTÖR : Klavye tablosu durumu.
MODE
0291
657
BAYRAK : $00 = SHIFT tuşu işlem dışı $80 = SHIFT tuşu devrede.
AUTODN
0292
658
BAYRAK : Otomatik aşağı kayma. 0 = ON
M51CTR
0293
659
RS-232 : Kontrol registeri görüntüsü.
M51CDR
0294
660
RS-232 : Komut registeri görüntüsü.
M51AJB
0295-0296
661 - 662
RS-232 : Standart olmayan BPS (Zaman / 2 - 100) USA
RSSTAT
0297
663
RS-232 : 6551 Durum registeri görüntüsü.
BITNUM
0298
664
RS-232 : Gönderilecek bit sayısı.
BAUDOF
0299-029A
665 - 666
RS-232 : Baud hızı. Tam bit süresi (µs)
RIDBE
029B
667
Giriş tamponunun sonunu gösteren RS-232 indeksi.
RIDBS
029C
668
RS-232 : Giriş tamponu başlangıcı (sayfa)
RODBS
029D
669
RS-232 : Çıkış tamponu başlangıcı.
RODBE
029E
670
Çıkış tamponu sonuna kadar RS-232 imdeksi.
IRQTMP
029F-0300
671 - 672
Teyp Giriş / Çıkış süresince IRQ vektörünü saklama yeri.
ENABL
02A1
673
RS-232 çalışır durumda.
02A2
674
Kaset Giriş / Çıkış sırasında TOD duyumu.
02A3
675
Kaset okuması için geçici saklanım.
02A4
676
Kaset okuması için geçici D1 IRQ
02A5
677
Satır indeksi geçici bölge.
02A6
678
BAYRAK : 0 = NTSC 1 = PAL
02A7-02FF
679 - 767
Kullanılmıyor.
IERROR
0300-0301
768 - 769
VEKTÖR : BASIC hata uyarısı yazılır.
IMAIN
0302-0303
770 - 771
VEKTÖR : BASIC Warm Start.
ICRNCH
0304-0305
772 - 773
VEKTÖR : BASIC tekstini kodla.
IQPLOP
0306-0307
774 - 775
VEKTÖR : BASIC tekst listesi.
IGONE
0308-0309
776 - 777
VEKTÖR : BASIC karakter gönderimi.
IEVAL
030A-030B
778 - 779
VEKTÖR : BASIC token değerlendirmesi.
SAREG
030C
780
6502 için A registeri saklama adresi.
SXREG
030D
781
6502 için X registeri saklama adresi.
SYREG
030E
782
6502 için Y registeri saklama adresi.
SPREG
030F
783
6502 için SP (Stack Pointer) saklama adresi.
USRPOK
0310
784
USR işlevi JUMP komutu ($4C)
USRADD
0311-0312
785 - 786
USR adresi alt-bayt / üst-bayt.
0313
787
Kullanılmıyor.
CINV
0314-0315
788 - 789
VEKTÖR : Donanım IRQ interrupt.
CBINV
0316-0317
790 - 791
VEKTÖR : BRK komutu interruptı.
NMINV
0318-0319
792 - 793
VEKTÖR : Engellenemez interrupt.
IOPEN
031A-031B
794 - 795
KERNAL OPEN rutini vektörü.
ICLOSE
031C-031D
796 – 797
KERNAL CLOSE rutini vektörü.
ICHKIN
031E-031F
798 – 799
KERNAL CHKIN rutini vektörü.
ICKOUT
0320-0321
800 – 801
KERNAL CHKOUT rutini vektörü.
ICLRCH
0322-0323
802 - 803
KERNAL CLRCHN rutini vektörü.
IBASIN
0324-0325
804 – 805
KERNAL CHRIN rutini vektörü.
IBSOUT
0326-0327
806 – 807
KERNAL CHROUT rutini vektörü.
ISTOP
0328-0329
808 – 809
KERNAL STOP rutini vektörü.
IGETIN
032A-032B
810 – 811
KERNAL GETIN rutini vektörü.
ICLALL
032C-032D
812 - 813
KERNAL CLALL rutini vektörü.
USRCMD
032E-032F
814 - 815
Kullanıcı tanımlı vektör.
ILOAD
0330-0331
816 – 817
KERNAL LOAD rutini vektörü.
ISAVE
0332-0333
818 – 819
KERNAL SAVE rutini vektörü.
0334-033B
820 - 827
Kullanılmıyor.
TBUFFR
033C-03FB
828 - 1019
Teyp Giriş / Çıkış tamponu.
03FC-03FF
1020-1023
Kullanılmıyor.
VICSCN
0400-07FF
1024-2047
1024 bayt ekran bellek alanı.
0400-04E7
1024-2023
Video matrisi : 25 Satır * 40 Kolon.
07E8-07F7
2023-2039
Kullanılmıyor.
07F8-07FF
2040-2047
Sprite data göstergeçleri.
0800-9FFF
2048-40959
Normal BASIC programlama alanı.
8000-9FFF
32768-40959 Kartuş bölgesi. 8K ROM.
A000-BFFF
40960-49151 BASIC ROM 8K. (Veya 8K RAM. (Veya 8K KARTUŞ ROM))
C000-CFFF
49152-53247 RAM 4K.
D000-DFFF
53248-57343 GİRİŞ / ÇIKIŞ cihazları ve RENK RAM’ı (Veya 4K karakter ROM.
(Veya 4K RAM))
E000-FFFF
57344-65535 KERNAL ROM 8K. (Veya 8K RAM. (Veya 8K KARTUŞ ROM.))
Bellek haritasının birinci bölümü burada sona eriyor.. İkinci bölümde $D000 - $DFFF
arasındaki I/O (Giriş/Çıkış) bölgesini ve 1. Nolu adresi ayrıntılı olarak göreceğiz.