1 Eylül 2014 Pazartesi

C64'te CHARSET Kullanımı (Using Charset)

CHARSET Kullanımı

Karakter setlerinin kullanımını CBM Prg Studio IDE'sini kullanarak rahatça nasıl kullanabileceğimizi göstereceğim. http://kofler.dot.at/c64/font_02.html adresinden ancipital adlı charseti indirdim. ZIP dosya içeriğindeki 64c uzantılı dosyayı kullanacağız.

Şimdi IDE'mizi açalım ve yeni bir assembler projesi oluşturalım. Character Set klasörüne sağ tıklayıp yeni bir dosya ekleyelim.



Bu projede ancipital.cst olarak charset dosyası oluşturdum. Çift tıklayın, yeni bir arayüz ile asıl karakter dosyamızı import edeceğimiz pencere gelsin.



Import ederken dikkat edilecek bazı durumlar var. Şöyle ki:
Birkaç deneme yapmanız gerekebilir byte kayması sorunu olabiliyor. Birkaç baytı skip etmeniz gerekebilir. Bunu import sonrası karakterlerin şeklinin düzgün olup olmadığından anlayabilirsiniz. Benim denemelerimde hep 2 byte skip ettim.


Karakterler fena görünmüyor



Şimdi de programımızda kullanmak üzere export etmeliyiz. Bu editor içinden Character Set > Export > Listing menüsüne giriniz. O an aktif olan hangi asm dosyanız ise dökümanın içine BYTE içerikli onaltılık kodların sıralandığını göreceksiniz. Editörü kapatalım ve asm dosya içeriğine geri gelelim.
Bu kadar byte içeriğini nasıl kullanacağız?

Karakter setimizin default bankta ve $3000 adresinden itibaren yerleşiminin olmasını sağlamak için byte içeriğinin başına *=$3000 yazmalısınız.


Sonra asm içeriğinin başına şu kodları yazalım. (Başlangıç adresi $0900 olan)

*=$0900
        
        LDA $D018
        ORA #$0C
        STA $D018
        RTS

$D018'in bir işlevi de karakter setinin bulunduğu adresleri tutar. Şöyle ki:
1. bitten 3. bite kadar 3 bit kodlamasını bizim programımızda 110 olarak yaptık dolayısı ile 0000 1100 yani $0C kullandık.
  • 0, 0: $0000-$07FF, 0-2047.
  • 1, 1: $0800-$0FFF, 2048-4095.
  • %010, 2: $1000-$17FF, 4096-6143.
  • %011, 3: $1800-$1FFF, 6144-8191.
  • %100, 4: $2000-$27FF, 8192-10239.
  • %101, 5: $2800-$2FFF, 10240-12287.
  • %110, 6: $3000-$37FF, 12288-14335.
  • %111, 7: $3800-$3FFF, 14336-16383.
Projeyi build edip çalıştırın. SYS 256*9 komutu ile program çalıştığında karakter setinin değiştiğini göreceksiniz.



2 yorum:

mhb dedi ki...

Süper bir blog. Sıkı takipçinizim.

emarti dedi ki...

Teşekkürler. Takibe devam o zaman. Asıl zevkli konulara yeni başlıyoruz. :)