COMMODORE 64'ÜN BELLEK HARİTASI-4
Retro bilgisayarPRRT 009B 155 Teyp karakter paritesi DPSW 009C 156
Flag: Bu flag teypten bir bayt'ın okunduğunu ifade eder. MSGFLG 009D 157 Flag: Adres, 128 veya daha büyük bir değer alındığında, komutların Direk moddan girildiğini, 0'a eşit olduğunda ise komutların Program modundan işleme konduğunu gösterir. PTRI 009E 158 Teyp okuma hata kütüğü 1. PTR2 009F 159 Teyp okuma hata kütüğü 2.
TIME 00A0 - 160 - 162 Bilgisayarın dahili saati. Bu saatin özelliği saniyenin 60'da biri kadar hassas olmasıdır. Bilgisayar çeşitli işlemleri yürütebilmek için bu saati kullanır. Bu adreslerde şu işlemler yapılır: Her 1/60 saniyede, 162 adresindeki sayıya, 255 oluncaya kadar 1 değeri eklenir. Sonra 162 adresi 0 değerini alır ve bu sefer 161 adresindeki sayı 255 oluncaya kadar 1 ile toplanır. Aynı işlem 160 adresi için de yapıldıktan sonra üç adres 0 olur. Bu işlem BASIC'te TI$ değişkeninde saklanan saati meydana getiriyor. Program 1'den bu hassas saatten reaksiyon hızınızı ölçmede yararlanabiliriz.
PROGRAM ADI : PRG-İ
080188 PRINT <129>
08118 PRİNT "<3SPACE REAKSİYON HIZI"
00120 POKE 53280,1:POKE 53281,1:POKE &dE,
&
08130 <232>
680140 PRİNT <ada>
68150 PRINT "KIRMIZI KALBİ <196)
880168 PRINT "HEMEN BOSLUK TUSUNA BASARAK" <208>
©0178 PRINT "REAKSİYON HIZINIZI GÖRÜN" <a24>
681880 <893>
086190 FOR TO
862868 FOR Ds1 TO 3:PRİNT
FOR TO 12:PRİNT CHR$C29)::NEXT <041>
686220 PRINT CHRSC115) <a55>
©0238 FOR 1-160 TO 162:POKE
00248 IF PEEKC197)-64 THEN 248 <177)>
00250 PRİNT 161) 425
6+PEEK ( 162> )/60
Program tuşa ne kadar hızlı basabildiğinizi göstermekte. Saniyeden daha kısa süreler de program tarafından ölçülebiliyor. BASIC'teki TI sayacı, bilgisayarınızı açtığınızda 0'dan saymaya başlar. Bu sayaç aynı zamanda saati de ifade ediyor. Saat, 24 saat üzerinden yani öğleden sonra bir'i 13:00 şeklinde gösterecek şekilde çalışıyor. Bu saati isterseniz TI$ = "0" ile resetleyebilir veya TI$ = "153000" (öğleden sonra üç buçuk) yazarak ayarlayabilirsiniz, ancak C-64'ün AMIGA gibi pille çalışan bir saati olmadığından (bellek genişletici takılmış makinelerde) bu ayar bilgisayar kapatıldığında kaybolacaktır. Saati resetlemenin başka bir yolu da 160-162 adreslerine 0 değerini poke etmektir, yani: FOR I=160 TO 162: POKE I,0: NEXT Programda 270. satır olarak aşağıdakini kullanın. 270 PRINT TI/60; "SANİYE" Program 2, ekranda TI$ değişkenini kullanarak saati görmenizi sağlar. TI$ ve TI'ı kendi değişkenlerinizin isimleri olarak kullanmaya dikkat edin. - 00A4 163 - 164 Geçici bilgi bölgesi.
CNTDN 00A5 165 Kaset senkronizasyonu. BUFPNT 00A6 166
Pointer: Kaset I/O buffer'ı IMBIT 167 RS-232 Giriş bit'leri teyp.
PROGRAM ADI : PRG-2
6821800 CHRSC147) <ia2s>
©8110 POKE 53280,1:POKE 53281,1:POKE 646,
& <196>
PRINT ,"SAAT",
PRINT <235)
986140 PRINT
MID$SCTIS,5,2) <144>
80150 GOTO 138
BITCI vb. cihazları kullanabilme imkânı
168 unutulmamış.
RS-232 Giriş bit'leri sayaç. EAL
RIMOME O0AE - OCAF 174 - 175
169 LOAD veya SAVE işlemlerinden
RS-232 Flag: Başlangıç bit'i için kontrol.
RIDATA 00AA 170 RS-232 Giriş bayt'ı buffer/teyp. RIPRTY : 00AB 171 RS-232 Giriş paritesi SAL
00AC - 172 - 173 Pointer: Teyp buffer'ı/ekran kaydırma.
Bu yukarıdaki adresler RS-232 zero-page belleği olarak biliniyor ve sadece RS-232 cihazları tarafından kullanılabiliyorlar. C-64'ün işletim sistemi tasarlanırken printer, modem birimini yaparken, bilgisayar, bilgiyi okuyacağı veya üzerine yazacağı bir bellek bölümüne bakar. Eğer siz veya program BASIC değişken pointer'larının başlangıcını (adr. 45-46) değiştirirse, ki böylece BASIC için daha çok text saklayabilirsiniz, teybiniz veya disket sürücünüz bunu fark edemeyecek ve belleğin tamamını okumayacak veya kaydetmeyecektir. 45-46 adreslerinin değerini değiştirdiğinizde ve bir programı yüklemek veya kaydetmek istediğinizde, bu adresleri de 45 ve 46 adreslerindeki değerlerin aynılarıyla POKE etmeyi unutmayın. CMPO 00B0 - 00B1 176 - 177 Teyp zamanlama sabiti,
CİHAZ
CİHAZ NUMARASI
00B2 - 00B3 178 - 179 Pointer: Teyp buffer'ının başlangıcı. Bu, buffer'da dolaysız bir zeropage atlama rutini olarak kullanılabilir. BITTS 00B4 180 RS-232 Çıkış bit sayacı. 180 ve 182 arasındaki adresler 166-171'dekilere benzer çalışıyorlar. MXTBIT 00B5 181 RS-232 gönderilecek bir sonraki bit/kaset sonu flag'ı.
RODATA 00B6 182 RS-232 çıkış bayt FMLEM 00B7 183
Kullanılan dosya adının uzunluğu, Bu isimdeki harflerin sayısıdır. Eğer dosya adına DOSYA$ diyecek olursanız PRINT LEN (DOSYA$) ın vereceği değere sahiptir.
LA 00B8 184 Kullanılan mantıksal dosya adı. SA 00B9 185
Kullanılan ikincil adres. İkincil adres BASIC'te OPEN komutu ile birlikte kullanılır ve diğer alet açıldıktan sonra (OPEN komutu ile) ne yapması gerektiğini belirtir. (Şekil 1)
İKİNCİL ADRES | KARŞILIĞI
Disket Sürücü
0-Giriş dosya adı 1-Çıkış 2-Çıkış kaset sonu 0 kontrol sicili 0-büyük harf/ PRINT yazı grafikler
T-büyük/küçük
2-14 bilgi kanalı sürücü, dosya tipi, oku/yaz
15-komut kanalı komut
Örneğin: OPEN 1, 4, 7
Bu komut bir printer kanalı açar (cihaz 4) ve printer'a büyük ve küçük harfler yazmasını sağlar. Eğer kasede borçlarınızla ilgili bilgi kaydetmek istiyorsanız;
OPEN 3, 1, 2 “BORÇLAR”
komutu 3 numaralı dosyayı (bu 1 ile 255 arasında herhangi bir sayı olabilir) kasete (ikincil adres olan 1 sayısından dolayı) yazıp sonuna kaset sonu (EOT) belirteci yerleştirecektir. Bu belirteç programın daha fazla okuma yapmamasını sağlar.
FA 00BA 186 Kullanılan cihaz numarası. FNADR
00BB - 00BC 187 - 189 Pointer: Kullanılan dosya adı.
ROPRTY 00BD 189 RS-232 Çıkış paritesi. FSBLK 00BE 190 Teyp okuma/yazma blok sayacı. MYCH 00BE 191 Seri çıkış buffer'ı CASI Teyp motoru kontrolü. STAL
- 00C2 193-194 I/O başlangıç adresi. MEMUSS 00C3 - 00C4 195 - 196 Kasetten yüklenirken bilginin geçici olarak saklanması için kullanılır. LSTX 00C5 197 En son basılan ve klavye buffer'ına en son girilen tuş. Eğer bir tuşa basılmamışsa bu adresin değeri 64 olur. 160-162 adresleriyle ilgili olan program bir tuşa basılıp basılmadığını anlamak için bu adresi kullanır. Eğer 1'den fazla tuşa basılmışsa en yüksek öncelikli tuş'un karakteri ekranda görünür. Program 3, bazı tuşların önceliklerinin listesini verecektir. (Şekil 2) MDX 00C6 198 Klavye buffer'ında mevcut karakter sayısı. Normal değer: 0. Bu adresi 0 ile POKE ederseniz klavye buffer'ını boşaltmış olursunuz. Tuşlara hızlı biçimde basılan oyunlar ve diğer uygulamalar için bu çok yararlıdır. Get komutunu kullanmadan önce daima buffer'ı boşaltmalısınız. (Program 4 ve 5) Birinci program herhangi bir tuşa, ikincisi ise 'C' tuşuna basıldığında devam eder. RVS 00C7 199 Ters karaktere (reverse) dönme. Normali: 0. Ters karakterler yazıldığında adresin değeri 18 olur. Keza ters karakter ile yazmak için 18 ile adresi POKE edebilirsiniz, ancak RVS ON ve RVS OFF tuşlarını kullanmak daha kolaydır. IMDX 00CB 200 Pointer: INPUT komutu için mantıksal dosya sonu. Bu adres INPUT kaydının sonundaki ekran kolonu numarasını verir. Yazı içinde noktalı virgül veya kursor tuşlarını kullanmadıkça bilgisayar ekranın üçüncü sütununa soru işareti koyacaktır. INPUT'un pozisyonunu değiştirmek için örnekler: (Program 6)
ÖNCELİK / TUŞ TABLOSU
TUŞ NO TUŞ NO TUŞ NO TUŞ NO 0 İNST 82 9. 48 1 RET 17 R 33 1 49 * 2€ CRSR ig: ©p 34 S0. A 3 19 6 25.00 51 4 fl 2010 36 M 52 5 B ar 6 £5 22 TF 38 0 54 1 7414 CRSR 23. 39 N 58 8 3 M7 56'a 9 Al S9. — 10 A :Ğ #2 > L 58 | 39 <2 12 z 28 B 44 60 SPC 137145 20: | 61 M.B 30 46 © 62 © 15 47 63 PROGRAM ADI : PRG-3 ©0100 GET A$ ©0118 IF THEN 108 <033> ©8128 <174> GOTO PROGRAM ADI | PRG-4 POKE 198,0 00110 PRİNT "DEVAM ETMEK İCİN BİR BA SIN” <118> 00120 GET R$ 00130 IF THEN 1208 <197> PROGRAM ADI © PRG -5 00120 POKE 198,0 00110 PRİNT "DEVAM ETMEK ICİN 'C' TUSUNA BASIN" <asa> GET R$ 00136 IF R$<>"C" THEN 120 10 INPUT" 2 INFUT" MERHABA, YARDIM GEREKLİ 14 ZO
Aylık Pazarlama İletişimi Dergisi
© Haberler © Reklam Harcamaları © Gazete ve Dergi Tirajları © Her Ay Bir Kampanya Reklam Müdürleri © Reklam Filmleri ve Yaratıcıları © Sektör Raporları © Araştırmalar © Çeviriler © Grafik Dünyası © Matbaalar © Hayali Kampanyalar
MEDY