Bu sayfadaki yazılar
Sayfanın metni
Sayfa 44
COMMODORE 64'ün BELLEK HARİTASI:
RPTFLG 028A — 650
Flag: Basılan tuşu tekrar etme, POKE 650,100, bütün tuşların tekrarını kapatırken, POKE 650,255 bütün tuşların kendisini tekrar etmesini sağlar. Normal değeri 0'dır (sadece boşluk tuşu kendini tekrar eder). Bu adres, özellikle tuşlarla çizim yapılan grafik programlarında işe yarayabilir.
KOUNT 028B — 651 Tekrarlama hızı sayacı. Normal değeri: 4. Bu adresi 0-255 değerleriyle POKE etmek, tuşların kendilerini tekrar etme hızını değiştirir. En yavaş olan değerler 0 ve 255'tir.
DELAY 028C
Tekrar gecikme sayacı.
Can ÖZTÜRK
SHFLAG 028D — 653 Flag: Klavyedeki CTRL, CBM ve shift tuşları. Bu adres, bu tuşlara basılıp basılmadığını belirtir.
Basılan tuş 653'ün değeri Shift 1 Commodore 2 CTRL 4
Eğer her üç tuş da aynı anda basılı iseler, bu adresin değeri 7 olur. Üç tuşa birden basmak alışılmamış bir şey olduğundan, bu özellikten güvenlik önlemi olarak yararlanabilirsiniz. Adresin değerinin nasıl değiştiğini görmek için aşağıdaki satırı deneyin: 10 GET A$: PRINT PEEK(653): IF A$="" THEN 10
Ayrıca WAIT komutunu kullanarak 197. adreste olduğu gibi tuşları denetleyebilirsiniz. 1. WAIT 653,1,0 Shift için WAIT 2. WAIT 653,2,0 CBM için WAIT 3. WAIT 653,4,0 CTRL tuşu için WAIT
Amiga'ya benzer bir kullanım olan üç tuşa aynı anda basabilme özelliğini aşağıdaki programda inceleyelim (Program 1).
LSTSHF 028E — 654 Klavyenin son shift örneği.
KEYLOG 028F - 0290 655 - 656 Vektör: Klavye tablosu ayarlamaları. Normal değer: 60232.
MODE 0291 657
Flag: 0-Shift kapalı,
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 45
128 — Açık. Bu adres aslında shift tuşunu açıp kapatmaz sadece CHR$(8) girdiğinizde 128 veya CHR$(9) girdiğinizde 0 değerlerini gösterir.
AUTODN 0292 658 Flag: Aşağıya doğru otomatik kayma, 0 Aktif. 659'dan 670'e kadar olan adresleri, RS-232 portundan diğer bilgisayarlar, yazıcılar vb. yan gereçlerle iletişim kurması gereken programlarda kullanılır. BASIC programcıların bu adresleri çok nadir kullandıklarını düşünerek bu kısımları atlamayı daha uygun buluyorum. Ancak bir noktayı belirtmeden geçmeyeceğim. Eğer bu adresleri kullanmak istiyorsanız, OPEN komutu ile bir RS-232 kanalı açmanın otomatik olarak, RS-232 iletişimi sırasında data kaybını önlemekle görevli iki buffer için 512 bayt ayırdığını hatırlamalısınız. Programınız çok uzunsa, buffer'lar için gereken boşluk yüzünden programınızın son satırları kaybolabilir. Buna dikkat edin.
IROTMP 029F - 02A0 671 - 672 Bu iki adres, kasetten yapılan yüklemeler ve kayıtlar esnasında geçici olan IRQ vektörünü saklar. Eğer teyp çalışırken bir kesinti meydana gelirse işlem bitene kadar vektör adresi burada saklanır.
ENABL 02A1 673 RS-232 aktif.
02A2 — 674 Kasete bilgi giriş ve çıkışı sırasında kontrol.
02A3 675 Kaset okuması için geçici saklama. 02A4 676
Kaset okuması için geçici DIRQ sinyali.
677 Geçici satır indeksi. 02A6 678
PAL/NTSC için flag. 0- NTSC, 1-PAL.
PROGRAM ADI : PRG-I
0802860 PRINT BU PROGRAMI YÖKETMEK ICİN, 80216 PRINT SHİFT, KONTROL, VE CBM TUSLA RINA <241> 80228 PRINT AYNI ANDA BASIN. <183> 00238 PRİNT 80246 PRINT PROGRAMI KURTARMAK İCİN, 08250 PRINT HİCBİRSEY YAPMAYIN. 00388 FOR BEKLE —- 1 TO 388 00318 IF PEEK(653) - 7 THEN 1088 <142> 80328 NEXT BEKLE <268> 00330 PRİNT PROGRAM KURTULDU! <157> 08348 END <088> 81088 PRINT PROGRAM YOKOLDU! <214> 21028 NEW <146>