C64 Türkiye sayı 5, sayfa 18

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 18

C64 İÇİN BAŞ AŞAĞI KARAKTER SETİ PROGRAMI HAZIRLAYAN : İSMAİL ŞAHİN İLETİŞİM : HADES@HI3S.ORG HADES6510@YAHOO.COM NEREDEN : İSTANBUL NİCK / GRUP(LAR) : HADES / HI3S WEB SİTE : WWW.HI3S.ORG HTTP://HADES6510.SITEMYNET.COM *=$0801 .word nextline .word 2004 ; 2004 .byte $9e ; SYS .text "2061" ; 2061 .byte 0 ; komutu nextline .word 0 sei ;İnterruptları engelle lda $01 ;Karakter ROM'u and #$fb ;artık CPU tarafından sta $01 ;okunabilir lda #$d0 ;ROM adresi = $D000 ldx #$30 ;RAM adresi = $3000 ldy #$00 ;olacak şekilde ayarla. sty $fb ;$FB ve $FC adreslerinde sta $fc ;ROM adresi tutuluyor. sty $fd ;$FD ve $FE adreslerinde stx $fe ;RAM adresi tutuluyor. ldx #$10 ;Blok sayacı = $10 (16) transfer lda ($fb),y ;ROM'dan o anki adresi sta ($fd),y ;oku ve RAM'e kopyala iny ;byte sayacını 1 arttır bne transfer ;"0" değilse geri dön inc $fc ;ROM HIGH adresi 1 arttır inc $fe ;RAM HIGH adresi 1 arttır dex ;Blok sayacını 1 azalt bne transfer ;"0" olmadıysa geri dön. lda $01 ;I/O bölgesi eski haline ora #$04 ;getiriliyor. CPU artık sta $01 ;karakter roma erişemez cli ;interruptlara izin ver lda #$1c ;VIC'e yeni karakter sta $d018 ;setinin yerini bildir. new_fonts lda #$30 ;Karakter seti başlangıç ldy #$00 ;adresi $3000 olarak sty $fb ;$FB ve $FC adreslerine sta $fc ;kaydediliyor loop2 ldy #$00 ;Y registeri byte sayacı=0 loop0 lda ($fb),y ;O anki adresten bir byte oku pha ;okunan değeri yığına at iny ;sayacı 1 arttır cpy #$08 ;8 oldumu ? bne loop0 ;olmadıysa bir byte daha oku ldy #$00 ;Y registeri byte sayacı=0 loop1 pla ;yığındaki değeri al sta ($fb),y ;O anki adrese yaz iny ;sayacı 1 arttır cpy #$08 ;8 oldumu ? bne loop1 ;olmadıysa yeni değeri al.

Klavyeyle gezinmek için ← ve → tuşları.