Bu sayfadaki yazılar
Sayfanın metni
Sayfa 15
SOURCE CODE LIİSTİNG:
1 a ORG 3 CHROUT 4 GETİN EfÜU Edli & SHAPE EfU #26 7 XSAVE Edl $27 & YSAVE 8 BUNSU Edl
10 RPTFLG
13 #EKRANI HAREKETE GECİR
15 KONUG
LDA 16 JSR CHROUT LDA HA 18 STA BUNSU 18 LDA ga STA RPTFLG Bı LOX #S1Z Ba LOY #$18 ea LODA 84 UPSHP STA SHAPE a5 ; 26
#CHAR SHAPE'INİ BAS
Ba es : 20 XSAVE s1 STY YSAVE aa CLC 33 JSR PLOT s4 LDA SHAPE 35 JSR CHROUT 36 LDA 37 JSR CHROUT 38 : 389 ANAHTAR GİRDİSİ'Nİ BEKLE 49 : 41; 42 ICANAHK JSR GETİN 43 LOX XSAVE 44 LOY YSAVE 45 CMP Ha 46 BEG ICANAH 47 #;STOP OLURSA CİK 48 CMP 43 43 BEG CIK SA ;<SPACE> OLURSA BOS BIRAK CMP BEG UPSHP S3 ;<F1> ISE KÜRSOR YUKARI
SİL #KURSOR YANIP SONER
TEKRAR İMKANI VER #KORSORU BASLAT
# X,Y'I TUT
KURSOR KONUMUNU KUR
YAZ ; ARKA MEKAN
YENİDEN KUR
IC ANAHTAR YOK
54 CMP #$a5
55 BEG YUKARI 56 ;<F3> ISE KURSOR SAGA s7 CMP #$86 BEG SAG 59 ;<F5> ISE KURSOR SOLA sa CMP Bı BEG SOL B2 :<F7> OLDUĞUNDA ASAGI 63 CMP &4 BEG ASAGI 65 ;EGER CHAR YAZMAZSA 66 ($SAN-HOF > 67 BOSVER && CMP ba BCC ICANAH 7a CMP 71 BCS ICANAK 78 KALIBINI YENİLE 73 JMP UPSHP 74 4: 76 ; KORSOR HAREKETİ m: 78 YUKARI DEX 7a CPX #SFF sa ENE YUKİ ER! LOX 82 YUKİ JMP CUTSHP 83 : 84 ASABI INX CPX 86 ENE ASAGIL 87 LOX 88 ASAGIL JMP CUTSHP 89 sa sas INY sı CPX #49 se BNE 93 LOY #a 84 SAGI JUMP 85 86 SOL DEY a7 CPY #SFF 88 BNE SOL1 ga LOY #38 SOL! JMP CUTSHP 102 ;BASİCE CİK 103 ; CİK LOA 105 JSR CHROUT 1206 SİL 1az RTS 108
END OF LIST
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 14
1. CHRİN-KLAVYEDEN | KARAKTER GİRİŞİ
Bu alt-program çağırıldığında, kursör yanıp sönerek ve RETURN'le sona erecek bir satır dolusu karakter girilmesine hazır olacaktır. Alt-program, .A'daki ilk karakterle geri gelecektir. Bunu izleyen çağırmalar, birer birer girdi yapılmış karakterleri yeniden elde edecektir. RETURN'e rastlanması, tüm girdi satırının yeniden elde edildiği anlamına gelir. Alt-programın bundan sonra bir kere daha çağrılması yanıp sönen kursörü ve girdi satırını yeniden başlatacaktır.
2. CHROUT EKRANA | ÇIKTI KA-RAKTERİ
ASCII değeri A'dan olan ve ekrana yazılan bir karakter. Kursör ilerler.
3. GETIN-KLAVYE KUYRUĞUNDAN 1 KARAKTER AL
Klavyede basılı herhangi bir tuş, IRQ (interrupt) sistemi tarafından takip edilir. ASCII kodu, azami 10 karakter tutabilen klavye tampon kuyruğu tarafından depolanacaktır. Çağırıldığında, bu alt-program ilk karakteri kuyruktan (queue) çıkarır. Kuyrukta hiç karakter mevcut değilse, bir byte sıfır değeri .A'ya avdet edecektir.
4. PLOT KURSÖR KONUMUNU OKU/AYARLA
Bu alt-program, Çentikleri Aktar ibaresi ile uygun olarak çağırıldığında o andaki kursör konumunu okuyabilir/ayarlayabilir. .X satır numarasını (0-24), .Y ise sütun numarasını (0-39) depolar.
5. SETLFS-MANTIKİ DOSYA NUMARASINI, BİRİNCİ VE İKİNCİ CİHAZ ADRESİNİ HAZIRLA
Bu alt-program, mantıki bir dosya numarasını fiziki bir cihaz numarasına (aygıt no: 0-31) tahsis eder. İkincil adres (tali adres) ya da cihazın komutu da yine burada deklare edilir. Commodore 64'ün çok sayıda özel cihaz numaraları vardır:
Cihaz numarası | Cihaz 0 Klavye
Kaset RS-232 Cihazı Ekran Seri Taşıt Bilgisayarı Seri Taşıt Disk Sürücüsü .A, mantıki dosya numarasını .X, cihaz numarasını ve .Y, komutu intikal ettirmek için kullanılır. Şayet hiçbir komut mecburi değilse, .Y'ye $FF yerleştirilir.
6. SETNAM-DOSYA ADINI KUR Bu alt-program, LOAD ve SAVE alt-programları için dosya hazırlar. .A dosyanın isim uzunluğunu geçirmek için, .X ile .Y de dosyanın adını içermek amacıyla kullanılır: (.X — düşük düzen, .Y— yüksek düzen adresi) olmak üzere. Eğer hiç dosya ismi gerekmiyorsa, .A hiç uzunluğu olmayan bir dosya adını gösteren bir sıfır depolar.
7. LOAD-BELLEĞİ YÜKLE/DOĞRULA
.A'da bir sıfır ile çağrıldığında, bu alt-program cihazdaki bir dosyayı hafızaya yükler. .A'da bir adet bir ile çağrıldığında ise, bu alt-program belleğin birbiriyle haberleşen içeriklerine karşı, bir dosyayı doğrular.
8. SAVE-BELLEĞİ CİHAZA SAKLA Bu alt-program belleğin bitişik (hem hudut) bir bölümünü cihaz dosyasına saklar. Saklanacak belleğin başlama adresi bir sıfır-sayfa göstericisinde depolanmıştır. İşte .A, bu başlama göstericinin sıfır-sayfa adresini nakletmek için kullanılır. .X ile .Y bitiş adresini (düşük ve yüksek düzende) nakletmekte kullanılır.
Kernal Alt
Programlarını Çağıran Basit Programlar
A. GRAFİK KARAKTERLER KULLANILAN PLOT (KONU) Bu program, değişik grafik karakterleri kullanarak ekranın herhangi bir yerinde çizim yapar. Üç KERNAL altprogramından -CHROUT, GETIN ve PLOT- yararlanır.
SYS 49152'yi tape ederek “konu”'yu çağırınız. Konu komutları:
(ET! — aşağı den'e — grafik karakterleri (mekân) — boş, yazısız? işlet dür — Konu sonu 10 20 30 40 getin $ffe4 50 plot (konu) — 60 shape (kalıp) — .de $26 — ; char'ı
plot'a düzenle. 70 x save.de 80 y save.de $28 90 binsw .de ; kursör çentik diye yanıp sönüyor. $028a — ; anah- tar çentiği tekrarla.
100 rptflg .de 110 ;
120; 130 ; ekranı harekete geçir.
Çeviren: JÜLİDE ERGÜDER