Bu sayfadaki yazılar
Sayfanın metni
Sayfa 21
Merhaba... Geçen ay dosya işlemlerini incelemiş, sırasal ve rasgele dosyalara bilgi girişi ile bu dosyalardan kayıt okuma örnekleri vermiştik. Dosya işlemlerine yeri geldikçe ve ilgili komutlarla tekrar değineceğiz. Şimdi kaldığımız yerden Amiga-Basic komutlarını incelemeyi sürdürelim.
OPTION BASE Kullanım Şekli: OPTION BASE n
Dizilerde minimum dizi tabanını tanımlamak için kullanılan komuttur. Dizi tabanı değiştirilmedikçe, 0 değerine sahiptir. Yani A(10) ile tanımlanan bir dizinin birinci eleman numarası, 0'dır: A(0). İşte OPTION BASE komutu, dizi taban değerini değiştirmek için kullanılır. n, 1 olduğunda en küçük değer 1, 0 olduğunda ise en küçük değer 0 olacaktır. n yerine 0 ya da 1 dışında bir değer tanımlanamaz. Tanımlı değer 0 olduğundan, genellikle; OPTION BASE 1 şeklinde kullanılır. Ancak değişikliği iptal etmek için; OPTION BASE 0 komutu ile dizi taban değeri yeniden 0'a ayarlanır. OPTION BASE komutu, dizilerin tanımlandığı DIM yönergesinden önce çalıştırılmalıdır. Aksi takdirde, "Duplicate definition" hatası oluşur.
PAINT KOMUTU: Kullanım Şekli: PAINT (STEP) (x,y) (boya rengi-no, çerçeve rengi-no)
Bu komut, daire, elips ya da poligon gibi çevresi kapatılmış bir alanı belirtilen renkle boyar. x ve y, bu alanın herhangi bir noktasının koordinatlarıdır. STEP opsiyonu, yeni pixel yerleşimini, son belirti-
AMIGA BASIC
len yerleşime oran şeklinde tanımlamak için kullanılır. Bu opsiyon yazılmazsa, x ve y koordinatları sabit bir pixel yerleşimini belirtir. boya yengi-no. alanın boyanacağı rengi için kullanılır.Bu parametre verilmezse, AmigaBasic CO-LÖR yönergesinde tanımlanan önzemin rengini kullanır. çerçeve rengi-no parametresi, alan kenarlarının çizileceği rengi tanımlar. Bu parametre belirtilmezse, çerçeve için de boya rengi-no kullanılır. Bu iki renk parametresi, bir PALETTE yönergesinde verilen renk-no'ya karşılıktır. Bu komut için önemli bir diğer nokta da, boyanacak alanın bulunduğu pencerenin yaratılacağı WİNDOW komutunda tip olarak 16 ile 31 arasında bir değer tanımlanması gerektiğidir. WİNDOW komutunda ayrıntılı olarak göreceğiz, ama bu değerlerle belirtilen pencereler için sadece belirtilen özelliklere yeterli miktarda bellek ayrılır; bu da oldukça iyi bir bellek tasarrufu sağlar. Şimdi yuvarlaklar çizip boyayarak şirin bir adam resmi yapalını: CİRCLE (320.190),200,1..,.6 PAİNT (320.170).1 CIİRCLE (320,90),160.3 PAİNT (320,90),3 CIRCLE (260,50),15,1....5 CİRCLE (380,50),15.1,,..5 PAİNT PAİNT (380,50),1 CİRCLE (260,53).8,2 CIRCLE (380,53).8,2 PAİNT (260.53),2 PAİNT (380,53),2 CIİRCLE (380.50),45,2,.2,2.2 CIRCLE (260,50),45,2,.8.2.8 CIİRCLE CİRCLE (320,110),80,2,3,1,0,.2 CİRCLE (320,10),10,2,4.7,1.5,.9 CIİRCLE (320,15),5,2,5,1.8,.7
CİRCLE (160,70),40,3,...6 CİRCLE (480,70),40,3,...6 PAİNT (160,70),3 PAİNT (480,70),3 CİRCLE (160,60),30,2,1,3,.3 CİRCLE (480,60),30,2..3.2.2,.3 CİRCLE (150,65).25,24,1..7 CİRCLE (490,65),25,2,2.2,5.4,.7 STOP Yazın ve çalıştırın; hoşunuza gidecek. PALETTE KOMUTU: Kullanım Şekli:
PALETTE renk-no.kırmızı,
Bu komutla, renk üretebilirsiniz. Mevcut renk sayısı. ekrandaki bitplane sayısına bağlı olarak belirlenir. Her renk kendi alanmasında kullanılacak bir sahiptir. O ile 31 arasında olabilen bu savı, özel renklere verilebilir. SCREEN yönergesinin derinlik parametresi, kullanabileceğiniz Tenk sayısını tespit eder: atanabilecek maksimum değeri, renk-no ile sınırlayabilirsiniz. Amiga sistemi, 0 (mavi). | (beyaz), 2 (siyah) ve 3 (portakal) renklerini kullanır. PALETTE komutuyla atanan renkler sistem atamalarının yerine geçer. kirmizi,yeşil mavi parametrelerine, lanımlanan renk içindeki kırmızı, yeşil ve mavi oranları 0.00'dan 1.00'e kadar bir yüzde verilir; bunların birleşimi istenen rengi oluşturur. Aşağıdaki tablo, değişik renk oranlarının hangi renklerin ve ne oranda karışımla elde edilebileceğini gösteriyor: RENK Kırmızı — Yeşil Mavi camgöbeği 0.00 093 0.87 siyah 0.00 0.00 0.00 koyu mavi 0.40 0.60 1.00 gök mavisi 0.47 0.87 1.00 kahverengi 0.80 0.60 0.53 gri 0.73 0.73 0.73 yeşil 0.33 0.87 — 0.00 ıhlamur yeşili — 0.73 1.00 0.00 portakal 1.00 0.73 0.00 pembe 0.80 0.00 0.93 kiraz kirmizisi — 1.00 0.60 0.67 ateş kırmızısı 0.93 0.30 0.00 bej L00 0.87 073 menekşe moru — 1.00 0.13 0.93 beyaz 1.00 1.00 1.00 sarı 1.00 1.00 0.13
Bu renk karışımlarını deneyebileceğiniz bir küçük örnekle bu komutu tamamlaya- İlim. Renk tanımılarını tabloya göre değiştrip yeni renklerle çalışın:
PALETTE 1,.8,0,.93 PALETTE 3,1,.13,.93 PALETTE 0,.73,1.0 PALETTE 2,.8,.6..53 COLOR 3 PRİNT DUNYASI' COLOR 2 PRİNT “AMIĞA
Tabii. yeni PALETTE komutları ekleyip çızım yaptırmanız da mümkün,
PATTERN KOMUTU: Kullanım Şekli: PATTERN
Bu komut, çizgi ve yüzeyler için doldurma tespit etmek için kullanılır. PATTERN'i çizgilerle kullanmak isterseniz, 16 bitlik bir değer vermelisiniz. Bu, bir tamsayı ifadedir ve doğru çizimi için kullanılabilecek 16 bitlik bir maske şeklinde düşünebileceğiniz 16 pixel genişliginde bir kalıptır. Sayıdaki her bit. ekrandaki bir noktaya karşılık gelir. 16 bitlik sayı, ondalık (örneğin, 65335), hex (&HFFFF) ya da octal (&0177777) formalta verilebilir. Alanlar için, bir tamsayı dizisi girilir. Dizideki sayılar, boyama ve doldurma işlemleri için (PAİNT. AREAFILL ya da LINE.....,BF gibi) kullanılabilecek bir kalip tanımlar. alan-kalıbı. kalıbı tanımlayan tamsayı dizisinin adıdır. Bu dizideki degerler de ekranda mevcut noktaları belirtürler ve her eleman ikinin üssü (1, 2, 4, 8. 16 veya 32 gibi) olmalıdır. Aşağıdaki örnek, bir kalıp yaratarak, bu kalıpla içi doldurulmuş bir dörtgen çiziyor: DIM area.pat area.pal PATTERN &HF FF LİNE (0,0)-(
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 20
Volttan fazla gerilim geldiği takdirde, kendini Böyle bir durumda, entegrenin ALE bacağımı topraktan çıkaup bir süre bekledikten sonra, yine topra-
Ba sokun.
5 Voltla loprak arasına koyacağınız 47 mikroF ve 150 DanoF'lik kondansatörlerin görevi, gürültüyü minimum Seviyeye çekmektir.
Sound Sampler'inizi Audio Master gibi kullanabilirsiniz.
Amiga'nın hardware'ini
incelemeye devam ediyoruz. 8520 nedir?
8520 sihirli entegre, Amiga'nın dış dünyaya açılan penceresi. Bu ay bu entegre hakkında incelemelere başlıyoruz. Her Amiga sistemi, iki adet 8520 içerir (CIA). Her entegrede de, 16 adet genel giriş çıkış pinleri vardır. Ayrıca bunlara ek olarak, bir serial shift register, 3 timer, bir darbe çıkış pini ve bir kenar dedektör girişi vardır. Bu entegreler, INT2 ve INT6 interrupt çıkışlarını üretirler. Amiga içinde ODD CIA ve EVEN CIA (CIAB) olarak isimlendirilmişlerdir. Şemada CIAA ve register adreslerini ve yaptıkları işleri görmektesiniz. 8520 yakmak, o kadar zor bir iş değildir. Bunun için paralel veya seri porta, çalıştığından emin olmadığınız bir devre bağlamak veya external drive'ınızı ya da printer'ınızı vs. vs. Amiga çalışırken bağlamak veya sökmek, Amiga'nın içine şampanya dökmek (Dreams filmini seyredenler belki yaparlar!!), herhangi bir metal cismi (örneğin tornavida bu iş için bayağı idealdir) Amiga'nın arkasındaki çıkışlara sokmak suretiyle, Amiga'nın reaksiyonlarını araştırmak gibi davranışlarda bulunmanız yeterlidir. Öğrenmek için araştırmak gereklidir; yalnız yapacağınız bu tip bir araştırma, size fiyatlarıyla 150.000'in yukarı bir fiyata mal olabilir. Eğer portlardan birine bir devre taktınız ve bundan kuşkulanmaya başladınızsa (8520'lerin ısınması veya devrenin
Geçen ay da değindiğimiz gibi, Amiga'nın Hardware yapısını, entegrelerini ve Hardware programlamayı İncelemeye devam ediyoruz. Zaman gelir, Amiga'nın drive'ı devamlı read/write error verir, printer'ınız saçmalamaya başlar, taktığınız midi devresi çalışmaz, sound sampler'ınız gaipten sesler duymaya başlar, VS VS... İşle o gün geldiğinde anlayınız ki, Amiga'nızın giriş ve | GNG 1 —CNT çıkışlara kumanda eden entegresi; 8520 > N huzura ermiştir. Eğer 1. Dereceden PA0 <3 2 SP yanmamışsa, bazı ulak tefek hilelerle bu PAl 3 —A0 arızayı atlatabiliriz. Ama çözüm, her zaman PA3 > 4 —AI olduğu gibi entegreyi yenisiyle PA3 - A2 değiştirmektir. 8520 entegreleri, kolay kolay > ban bozulmazlar. bunun teknikleri ve 6 — A3 yapmamanıız gereken şeyler vardır. PAS Yazımızın bu bölümünde, 8520'nin iç 7 — RES yapısını genel olarak inceleyecek ve PAG—— 8 —D0 yukarıdaki sorunlara cevap getirmeye PAT —— 9 —DI çalışacağız. PBO —>— 10 31 ——D2 PBi —>—İ1 koku Bibi durumlar 12 DA a). bilgisayarı biran önce kapatmanız 8520'leri yanmaktan Korur. 13 28 —— b5 Eğer 8520'nizin biri bozulduysa ve 14 27 M— D6 şu anda acil olarak Amiga yla çalışına- 18 PB6 + FLAG + CS TOD - Vec → niz gerekiyorsa, içini açıp 8520'derin yerini değiştirmeniz kısa bir süre için işinizi görecektir. Tabloları incelemekle, geçen ay ya yınladığınuz hardware programını bir parça olsun anlayabileceğinizi umuyorum. 8520'nin iç yapısını gelecek ay incelemeye devam edeceğiz
8520'nin ŞEMASI
CIAA Adres
A iv Dı ir e
bee SS da
Adres tablosu
Gilgi Byte Bilgi birleri 7 6 3 43 2 ( t iğ DTR CD CTS SEL POUT BUSY Para FIRO RDY WPRO CHNG LED A yan. eşik Paralel Bü) i Çıkış, Fi Pori A içini yön TaÇIKiş: şartlı a Line lü Port B için yön ae CİAA ME timer B Low Bvte (11709179 Mike PAL CTAB Byi BON) CLAA ünder B Low Byte (9. MAL PA BEDRİ sa bide CEAA timer B Bytc TN
Biz sayıcı 50/60 Hz sayacı bitler RBPFEAC VIZ sayacı 22-16 RFECOT serial Bilgi register Keyboard EFEDUT CIAA B CIAA B Kontrol register
15-8. hitler Goruzantat 235 birler kullarıtlmmı yor 10 (pr CLAB intertüpi CAR CLAB B kontrol