Amiga Dünyası sayı 20, sayfa 31

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 31

Bunların dışında ultrasonik sesleri dinleyebilirsiniz. Örneğin bir yarasanın sesini örnekleyebilir ve bunu geri göndererek onun duvarlara çarpmasını sağlayabilirsiniz. Ayrıca ultrasonik frekansları köpeğiniz üzerinde deneyebilirsiniz. Emin olun çok rahatsız olacaktır.

Yukarıda da açıkladığım gibi bu devre ile oluşacak zararlar yapan kişiye aittir ve yazar bundan sorumluluk kabul etmez..

Hardware programlamaya başlamadan önce, hardware register'ları ve bunların adreslerini öğrenmemiz gerekmektedir. Hardware register'ları $DFF000 adresinden başlarlar. Herbiri 2 byte uzunluğunda yani bir word'dür. Her zaman even adresle yani çift sayılı adreslerde bulunurlar. Yani $DFF008, $DFF180 gibi. Dört tip register vardır.

r(Read): Bu tip register'lar sadece okunabilir. Üzerine yazma yapılamaz.

w(Write): Bunlar sadece yazılabilir. s(Strobe): Bu register'lara bir ulaşım yapılması durumunda tek seferlik bir işlem oluşur. Bu register'lar daha çok Agnus tarafından kullanılır.

er(Early Read): Bu tipte şekillendirilmiş bir register, DMA çıkış register'ıdır. DMA tarafından CHIP RAM'a yazılacak datayı içerir. İki adet bu tipte register vardır: DSKDATR ve BLTDDTR disk ve blitter çıkış register'ları. Bu register'lara sadece Agnus'un içindeki DMA controller ulaşabilir.

Verdiğimiz tablo, Custom Register'ları, bunların görevlerini, adreslerini ve ulaşılma şeklini göstermektedir. Burada register'ların başlangıç adresi $DFF000 olduğundan verilen register adresleri $DFF000 + register adresi olarak değerlendirilmesi gerekmektedir. Örneğin JOY0DAT register'ı, 00A relatif adresine sahiptir. Bu register'ın gerçek adresiyse $DFF000 + 00A = $DFF00A'dır. Custom register'ların sayısı 197 ve sadece DMA controller'ın ulaştığı register sayısı ise 54'tür. Tabloda geçen terimlerden MSB (Most Significant Byte), bir Word'ün en ağırlıklı byte'ı; BEAM ise TV ekranındaki elektron ışını anlamına geliyor.

REGISTER TABLOSU ADI ADR R W İŞLEVİ BLTDDAT 000 ER BLITTER ÇIKIŞ DATA (BLITTER->RAM) DMACONR 002 R DMA CONTROLLER REG. OKU VPOSR 004 R VERTIKAL BEAM POZİSYONUN MSB'İ VHPOSR 006 R VERTİKAL.HORİZONTAL BEAM POZİSYONU DSKDATR 008 ER DİSK DATA OKU. (DISK->RAM) JOY0DAT 00A R JOYSTICK/MOUSE POZİSYONU (PORT 0) JOY1DAT 00C R JOYSTICK/MOUSE POZİSYONU (PORT 1) CLXDAT 00E R COLLISION REGISTER ADKCONR 010 R AUDIO/DİSK CONTROL REGISTER OKU POT0DAT 012 R PORT 0'DAKİ POTANSİYOMETREYİ OKU POT1DAT 014 R PORT 1'DEKİ POTANSİYOMETREYİ OKU POTGOR 016 R POT PORT DATAYI OKU SERDATR 018 R SERIAL PORT DATA VE DURUMU OKU DSKBYTR 01A R DİSK DATA BYTE'I VE DURUMU OKU INTENAR 01C R INTERRUPT ENABLE OKU INTREOR 01E R INTERRUPT REQUEST OKU DSKPTH 020 W DİSK DMA ADRES BİTLERİ (18-16) DSKPTL 022 W DİSK DMA ADRES BİTLERİ (15-0) DSKLEN 024 W DİSK DMA BLOK UZUNLUĞU DSKDAT 026 W DİSK DATA YAZ. (RAM->DİSK) REFPTR 028 W REFRESH SAYICI VPOSW 02A W VERTİKAL BEAM POZİSYONUN MSB'İ YAZ VHPOSW 02C W VERTİKAL.HORİZONTAL BEAM POZİSYONU YAZ COPCON 02E W COPPER KONTROL REGISTER'I SERDAT 030 W SERIAL DATA VE STOP BİTİ YAZ SERPER 032 W SERIAL PORT KONTROL VE BAUD H I REGISTER'I POTGO 034 W POT. PORT DATA VE START BİTİ YAZ JOYTEST 036 W MOUSE SAYICILARINA YAZ STREQU 038 S VB'Lİ HORİZONTAL SENKRON E EQU V STRVBL 03A S VB'Lİ HORİZONTAL SENKRON STRHOR 03C S HORİZONTAL SENKRON SİNYALİ STRLONG 03E S UZUN HORİZONTAL HAT YAPICI Sıradaki register'lar copper tarafından, COPCON=1 olduğu zaman ulaşılabilirler BLTCON0 040 W BLITTER KONTROL REGISTER'I 0 BLTCON1 042 W BLITTER KONTROL REGISTER'I 1 BLTAFWM 044 W A'DAN İLK DATA WORD'Ü İÇİN MASK BLTALWM 046 W A'DAN SON DATA WORD'Ü İÇİN MASK BLTCPTH 048 W KAYNAK DATA C ADRESİ. (16-18 BİTLER) BLTCPTL 04A W KAYNAK DATA C ADRESİ. (1-15 BİTLER) BLTBPTH 04C W KAYNAK DATA B ADRESİ. (16-18 BİTLER) BLTBPTL 04E W KAYNAK DATA B ADRESİ. (1-15 BİTLER) BLTAPTH 050 W KAYNAK DATA A ADRESİ. (16-18 BİTLER) BLTAPTL 052 W KAYNAK DATA A ADRESİ. (1-15 BİTLER) BLTDPTH 054 W HEDEF DATA D ADRESİ. (16-18 BİTLER) BLTDPTL 056 W HEDEF DATA D ADRESİ. (1-15 BİTLER) BLTSIZE 058 W BLITTER WINDOW'UN BAŞLANGIÇ BİTİ/BÜYÜKLÜĞÜ ----- 05A - KULLANILMIYOR ...... 05C - KULLANILMIYOR ...... 05E - KULLANILMIYOR BLTCMOD 060 W BLITTER MODÜLE KAYNAK DATA C BLTBMOD 062 W BLITTER MODÜLE KAYNAK DATA B BLTAMOD 064 W BLITTER MODÜLE KAYNAK DATA A BLTDMOD 066 W BLITTER MODÜLE HEDEF DATA D 068 - KULLANILMIYOR

ADI ADR R W İŞLEVİ ...... 06A - KULLANILMIYOR ----- 06C - KULLANILMIYOR ...... 06E - KULLANILMIYOR BLTCDAT 070 W BLITTER KAYNAK DATA REGISTER C BLTBDAT 072 W BLITTER KAYNAK DATA REGISTER B BLTADAT 074 W BLITTER KAYNAK DATA REGISTER A ...... 076 - KULLANILMIYOR ----- 078 - KULLANILMIYOR ...... 07A - KULLANILMIYOR ----- 07C - KULLANILMIYOR DSKSYNC 07E W DİSK SENKRON PATTERN Aşağıdaki registerlar Copper tarafından her zaman yazılabilirler. COP1LCH 080 W BİRİNCİ COPPERLİST ADRESİ BİT(16-18) COP1LCL 082 W BİRİNCİ COPPERLİST ADRESİ BİT(1-15) COP2LCH 084 W İKİNCİ COPPERLİST ADRESİ BIT(16-18) COP2LCL 086 W İKİNCİ COPPERLİST ADRESİ BİT(1-15) COPJMP1 088 S BİRİNCİ COPPER LİSTİN BAŞINA ATLA COPJMP2 08A S İKİNCİ COPPER LİSTİN BAŞINA ATLA COPINS 08C W COPPER KOMUTA REGISTER'I DIWSTRT 08E W GÖRÜNTÜ EKRANININ SOLÜST KÖŞESİ DIWSTOP 090 W GÖRÜNTÜ EKRANININ SAĞALT KÖŞESİ DDFSTRT 092 W BİTPLANE DMA START (HORIZ. POZ) DDFSTOP 094 W BİTPLANE DMA STOP (HORIZ. POZ) DMACON 096 W DMA KONTROL REGISTER'I YAZ CLXCON 098 W COLLISION KONTROL REGISTER'I YAZ INTENA 09A W INTERRUPT ENABLE YAZ INTREQ 09C W INTERRUPT REQUEST YAZ ADKCON 09E W AUDIO/DISK/UART KONTROL REGISTER'I AUD0LCH 0A0 W AUDIO DATA 0 ADRESİ BİT(16-18) AUD0LCL 0A2 W AUDIO DATA 0 ADRESİ BİT(1-15) AUD0LEN 0A4 W KANAL 0 UZUNLUK VE SES DATASI AUD0PER 0A6 W KANAL 0 PERİYOD SÜRESİ AUD0VOL 0A8 W KANAL 0 VOLÜM AUD0DAT 0AA W KANAL 0 SES DATASI (D/A ÇEVİRİCİYE) ...... 0AC - KULLANILMIYOR 0AE - KULLANILMIYOR AUD1LCH 0B0 W AUDIO DATA 1 ADRESİ BIT(16-18) AUD1LCL 0B2 W AUDIO DATA 1 ADRESİ BIT(1-15) AUD1LEN 0B4 W KANAL 1 UZUNLUK VE SES DATASI AUD1PER 0B6 W KANAL 1 PERİYOD SÜRESİ AUD1VOL 0B8 W KANAL 1 VOLÜM AUD1DAT 0BA W KANAL 1 SES DATASI (D/A ÇEVİRİCİYE) ----- 0BC - KULLANILMIYOR ----- 0BE - KULLANILMIYOR AUD2LCH 0C0 W AUDIO DATA 2 ADRESİ BIT(16-18) AUD2LCL 0C2 W AUDIO DATA 2 ADRESİ BIT(1-15) AUD2LEN 0C4 W KANAL 2 UZUNLUK VE SES DATASI AUD2PER 0C6 W KANAL 2 PERİYOD SÜRESİ AUD2VOL 0C8 W KANAL 2 VOLÜM AUD2DAT 0CA W KANAL 2 SES DATASI (D/A ÇEVİRİCİYE) ...... 0CC - KULLANILMIYOR ...... 0CE - KULLANILMIYOR AUD3LCH 0D0 W AUDIO DATA 3 ADRESİ BIT(16-18) AUD3LCL 0D2 W AUDIO DATA 3 ADRESİ BIT(1-15) AUD3LEN 0D4 W KANAL 3 UZUNLUK VE SES DATASI

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