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.