Bu sayfadaki yazılar
Sayfanın metni
Sayfa 119
; Ekranın Arkaplan ve Çizim Renklerini Belirle ldx #$00 lda #$10
.ekrandongusu sta KARAKTER_EKRANI,x sta KARAKTER_EKRANI+$100,x sta KARAKTER_EKRANI+$200,x sta KARAKTER_EKRANI+$2e8,x inx bne .ekrandongusu
; Ana Rutin ldy #0 ; x koordinatı 9.bit lda #160 ; x koordinatı ldx #100 ; y koordinatı jsr noktakoy ; ekrana nokta bas jmp * ; sonsuz döngüye gir
; isim : noktakoy
; açıklama : ekrandaki verilen (x,y) koordinatına nokta koyar
; girdiler : a -> x koordinatı
; x -> y koordinatı
; kullanılan : $f0, $f1, $f2 noktakoy sty $f2 ldy ekranLo,x sty $f0 ldy ekranHi,x sty $f1 ldy $f2 beq .xhisifir inc $f1
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 118
Commodore 64'te Ekrana Nokta Basmak
Tamam, simülatörle bastık noktaları. Ama şimdi bir de bu işin Commodore'a uyarlanması var. Genellikle Commodore 8 bitlik bir bilgisayar olduğu için ilk verilen nokta basma rutini örneğinde x koordinatı 0-255 aralığında değerler alabilecek şekilde örneklenir. Ancak ben sizlere doğrudan x: 0-319 ve y: 0-199 aralığında değerler alabilecek şekilde yani 9 bitlik bir x koordinatıyla nasıl nokta basılacağını göstereceğim. ACME ile derlenebilecek kod örneği aşağıdadır.
noktakoy.a
!to "noktakoy.prg",cbm
* = $0801
!byte $0c, $08, $00, $00, $9e, $32, $30, $36, $31, $00, $00, $00
KARAKTER_EKRANI = $0400
VIC_HARITASI = $2000
* = $080d
; İç ve Dış Ekran Renklerini Belirle lda #$02 sta $d020 lda #$00 sta $d021
; Bitmap Ekran Aç lda #$18 sta $d018 lda #$c8 sta $d016 lda #$3b sta $d011