Commodore sayı 10, sayfa 47

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 47

YAZMAÇ: 18 ($12) TANIM: Ekran tarama satırları inter- AÇIKLAMA: Bu yazmacı ve 17 numaralı yazmacın 7. bit'ini kullanarak 0-511 arası bir sayı yazarsanız, bu sayı, VIC tarafından oluşturulur oluşturulmaz kesinti (interrupt) yaratılması gereken ekran tarama satırını belirtir. Eğer bu yazmacı ve 17. yazmaçtaki ekstra bit'i okursanız, ekran tarama satırının (raster-line) o sırada hangi satırda olduğunu öğrenirsiniz. AÇILIŞ: 55 (%00110111)

YAZMAÇ: 19 ($13) TANIM: Lightpen X koordinatı. AÇIKLAMA: Lightpen'den bir sinyal geldiği sırada ekran tarama ışınının bulunduğu X koordinatı. AÇILIŞ: 0 (%00000000)

YAZMAÇ: 20 ($14) TANIM: Lightpen Y koordinatı. AÇIKLAMA: Lightpen'den bir sinyal geldiği sırada ekran tarama ışınının bulunduğu Y koordinatı. AÇILIŞ: 0 (%00000000)

YAZMAÇ: 21 ($15) TANIM: Sprite açık/kapalı. AÇIKLAMA: Her bir sprite'ın açık ya da kapalı olmasını bu yazmacın bit'leri kontrol eder. Eğer bir sprite'a ait bit 0 ise, o sprite görünmezdir. Eğer 1 ise, sprite görünürdür.

BİT numaralı BİT numaralı — sprite BİT numaralı — sprite BİT numaralı — sprite BİT numaralı — sprite BİT numaralı — sprite BİT numaralı — sprite BİT numaralı — sprite

AÇILIŞ: 0 (%00000000) YAZMAÇ: 22 ($16) TANIM: 2 numaralı kontrol yazmacı AÇIKLAMA: Çeşitli grafik özelliklerini kontrol eden bitlerin bir kısmı da bu yazmaçta bulunur. BİT 0-2: Sağa sola noktasal ekran kaymasının 0-7 (%000-111) arası nokta değerini gösterir. BİT 3: Ekranın kaç kolon olduğunu gösterir. 0 ise 38 kolon, 1 ise 40 kolon gösterilir. BİT 4: Multicolor (çokrenkli) renk kullanımını kontrol eder. 0 ise normal renk, 1 ise çokrenkli mod kullanılır. BİT 5-7: Kullanılmıyor. AÇILIŞ: 8 (%00001000) YAZMAÇ: 23 TANIM: Y yönünde sprite büyütme. AÇIKLAMA: Sprite'ların Y yönünde büyüyüp büyümemesini bu yazmacın bit'leri kontrol eder. Eğer bir sprite'a ait bit 0 ise, o sprite normal büyüklüktedir. Eğer 1 ise, sprite Y yönünde iki kat büyür. Ayrıca 29 numaralı yazmaca da bakınız.

BİT 0: 0 numaralı sprite BİT 1: 1 numaralı sprite BİT 2: 2 numaralı sprite BİT 3: 3 numaralı sprite BİT 4: 4 numaralı sprite BİT 5: 5 numaralı sprite BİT 6: 6 numaralı sprite BİT 7: 7 numaralı sprite

AÇILIŞ: 0 (%00000000)

YAZMAÇ: 24 ($18) TANIM: VIC'ın temel adresleri. AÇIKLAMA: Bu yazmaçta, karakter seti ve videoram (ekrandaki karakterlerin depolandığı hafıza kısmı) başlangıç adreslerinin hafıza içindeki yerinin üst bit'leri yer alır. Bunları değiştirerek (daha sonra bunu da göreceğiz), bu hafıza bölgelerinin yerini değiştirmek ve böylece aynı anda birkaç ekranı hafızada tutmak mümkün olacak.

Kullanılmıyor. : Karakter seti başlangıç ad- 11-13 numaralı bitleri. Yani bu üç bitin oluşturduğu sayıyı 2048 ile çarparak başlangıç adresini bulabiliriz. BİT 4-7: Videoram'ın başlangıç adresinin 10-13 numaralı bit'leri. Bu dört bit'in değerini de 1024 ile çarparak gerçek adresi bulabiliriz. AÇILIŞ: 20 (%00010100) YAZMAÇ: 25 ($19) TANIM: İnterrupt oluşma nedenleri. AÇIKLAMA: Bu yazmaçtaki bit'lerle, hangi sebepten ötürü interrupt (kesinti) yaratıldığı belirlenebilmektedir. BİT 0: Eğer 1 ise, ekran tarama satırı interrupt nedeni olmuştur (bkz. yazmaç 18). BİT 1: Eğer 1 ise, sprite-ekran çarpışması sebep olmuştur (bkz. yazmaç 31). BİT 2: Eğer 1 ise, sprite-sprite çarpışması interrupt yaratmıştır (bkz. yazmaç 30). BİT 3: Eğer 1 ise, 1 lightpen sinyal göndermiştir.

BİT 4-6: Kullanılmıyor. BİT 7: İlk dört bit'in en az biri 1 demektir. Bu yazmaç gerek BASIC'ten, gerekse makine dilinden okunduğunda, okunan değerin tekrar yerine yazılması gerekir. Yoksa çalışması hatalı olacaktır. AÇILIŞ: 15 (%00001111)

YAZMAÇ: 26 ($1A)

TANIM: İnterrupt oluşturma nedenleri. AÇIKLAMA: Programcı, bu yazmaçı kullanarak, hangi sebepten ötürü interrupt oluşması gerektiğini belirleyebilir. Bit'lerin durumu 25 numaralı yazmaç gibidir. Yukarıdaki olaylardan biri oluştuğunda, 25 numaralı yazmaçtaki bit 1 olmakta. Eğer programcı, 26 numaralı yazmaçtaki aynı bit'i önceden 1 yapmışsa, bilgisayar $0314/$0315 adreslerinde belirtilen adrese interrupt atlaması yapacaktır (bunu da anlatacağız). AÇILIŞ: 0 (%00000000) YAZMAÇ: 27 ($1B) TANIM: Sprite önceliği. AÇIKLAMA: Tıpkı daha önceki yazmaçlarda olduğu gibi, her sprite için bir bit ayrılmış durumdadır. Eğer bu bit 0 ise, sprite ekrandaki karakterlerin önünde görünecektir. Eğer 1 ise, karakterlerin arkasına saklanacaktır. AÇILIŞ: 0 (%00000000) YAZMAÇ: 28 TANIM: Çokrenkli sprite'lar. AÇIKLAMA: Bir sprite'ın tek renkli veya çok renkli olması bu yazmaçtaki bit'ler tarafından ayarlanır. Eğer bir sprite'a ait bit 1 ise, o sprite çokrenkli olarak görünecektir. AÇILIŞ: 0 (%00000000)

YAZMAÇ: 29 ($1D)

TANIM: X yönünde sprite büyütme. AÇIKLAMA: Sprite'ların X yönünde büyüyüp büyümemesini bu yazmaçın bit'leri kontrol eder. Eğer bir sprite'a ait bit 0 ise, o sprite normal büyüklüktedir. Eğer 1 ise, sprite X yönünde iki kat büyür. Ayrıca 23 numaralı yazmaça da bakınız. AÇILIŞ: 0 (%00000000)

YAZMAÇ: 30 TANIM: Sprite-sprite çarpışması. AÇIKLAMA: Her bir sprite'ın bir bit'i vardır. Eğer iki sprite birbirine

değerse, onlara ait bit'ler 1 olur. Aynı zamanda 25 numaralı yazmaçın BİT 2'si 1 durumuna gelir. Eğer yanan iki bit tekrar 0 yapılmazsa, hep 1 olarak kalırlar. Yani, temas bitince kendiliklerinden 0 olmazlar. AÇILIŞ: 0 (%00000000)

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