Amiga

Amiga

31 Eki 2011

PARNET (Paralel port üzerinden Amigalar arası dosya transferi)




PARNET

Selam!
Amiga’da kullanılan utility’ler arasında çok ilgimi çeken bir programı tanıtmak istiyorum. Aslında bu, 1988 senesinde çıkan bir Fish disketinde yer almaktaydı. Daha sonradan da çeşitli yerlerde rastladım. Şu an http://aminet.net  sitesinde tüm sürümleri bulunmakta. En son olarak da bir yakınım kullandığı iki Amiga’sını birbirine nasıl bağlayabileceğini sorduğunda, bunu Bloguma yazarak daha çok okuyucunun faydalanmasının faydalı olacağını düşündüm.
programa ek olarak da ufak bir hardware tanımı var. Aslında pek hardware sayılmaz, zira iki soket ve bunları bağlayan kablolar tüm donanımı oluşturmakta. ParNet’le bir harddisk bile tasarruf edebilirsiniz. Şu an arkadaşım bu programı A500’ünü A3000 ile birleştirmek için kullanmakta. Her iki bilgisayar da A3000in içindeki 210 MByte’lık harddisk’i ortak olarak kullanıyorlar. Bu yöntemle bir BBS kurduğunuzda, ikinci bir bilgisayarla devamlı BBS’e gelen yeni programlan açıp kontrol edebilirsiniz. Bunun için de board’u kapamanıza gerek yoktur. Board programının yüklü olduğu bilgisayar hiç etkilenmeden çalışmasına devam eder ve siz de dilerseniz harddisk’teki diğer programları, bilgisayarı yavaşlatmadan kullanabilirsiniz. Zira board’a herhangi biri bağlandığında, board’un olduğu bilgisayar bir hayli yavaşlayacaktır. ParNet’in başka bir kullanım sahası da DeskTop Publishing (Masaüstü Yayımcılık) olabilir. Bilgisayarlardan birinde yazılar hazırlanırken diğer bilgisayarda da bu yazılar kullanılan DTP programıyla düzenlenir ve lazer’e gönderilebilir. Aynı şekilde animasyonla uğraşanlar animasyonu bir bilgisayarda hesaplattırırken, diğerinde de gerekli başka işleri yapabilirler. Bütün bunlar için de dataları disketlere kaydetmeye uğraşmakla zaman kaybetmezsiniz. İsterseniz hemen kablonun bağlantılarına geçelim. Kabloyu hazırlarken çok dikkatli olmalısınız. Yanlış bağlantı yapmamaya özen gösterin, aksi halde bilgisayarınızın port entegresi yanabilir. Yapılacak kabloda kullanacağınız fişler A500, A2000 ve A3000 için erkek, A1000 içinse dişi tipte 25 pinlik D tipi fiş olmalıdır. Bunları elektronikçilerden kolaylıkla bulabilirsiniz. Kablo için de 13 kablolu data transfer kablosunu öneririm. Uzunluk olarak en fazla dört metreyi denedim. Siz yine de fazla uzun yapmamaya gayret edin.
Yapılacak bağlantı gayet basit:
 Her iki sokette de 2, 3, 4, 5, 6, 7, 8, 9, 11. 12 ve 20 numaralı bacaklar direkt olarak birbirine bağlanmalı. 13 numaralı bacak da diğer soketin 13 numaralı bacağına bağlandıktan sonra her iki soketin 10 numaralı bacağı bu hatta lehimlenmelidir. Kablonun yapılışı bu kadar basit. Görünüşün güzel olması ve lehimlenen kabloların kopmaması için de her iki sokete uyan kapaklardan edinmenizi ve soketleri bu şekilde kapatmanızı öneririm.

Detaylı kablo şemasına  http://margo.student.utwente.nl/stefan/hwb/ca_ParNet.html adresinden ulaşabilirsiniz.

Şimdi gelelim işin software yanına. Burada her iki bilgisayara da bazı file’lar eklemek gerekmekte. Eğer sadece bir tarafta harddisk varsa, ikinci bilgisayar için bir boot diski (örneğin WorkBench) hazırlamakta fayda var. Şimdi orjinal PD disketinde bulunan bazı fıle’ları her iki bilgisayara da kopyalamaya başlayabiliriz. İlk kopyalanacak olan file parnet.device. Bu her iki bilgisayarında devs directory’sinde olmalı. ParNet disketinde bulunan MountList isimli file’ı her iki bilgisayarın devs directory’sinde bulunması gereken MountList isimli file’a ekleyin. Bunun için de herhangi bir text editörünü kullanabilirsiniz. MountList’leri ekledikten sonra burada bulunan Unit numarasını bilgisayarlardan birinde 0, diğerinde de 1 yapın. En iyisi harddiski olan bilgisayara 0, diğerine de 1 tanımını vermek olacaktır. Her iki bilgisayarda da harddisk varsa daha çok donanımlı olanı 0 olarak tanımlayın. MountList dosyası olmayanlar için bir de bu tanımlamayı verelim de herşey doğru olsun. Unit numarası 0 olacak bilgisayar için:
NET:
Stacksize = 8000
Priority = 5
GlobVec =-1
Unit = 0
Device = devs:parnet.device
Surfaces = 0
BlocksPerTrack= 0
Reserved = 0
LowCyl = 0
HighCyl = 0
Filesystem    = hnetpnet-handler
#

Unit numarası 1 olacak bilgisayar için:
NET:
Stacksize = 8000
Priority = 5
GlobVec =-1
Unit = 1
Device = devs:parnet.device
Surfaces = 0
BlocksPerTrack= 0
Reserved = 0
LowCyl = 0
HighCyl =0
Filesystem    = l:netpnet-handler
#

http://aminet.net/comm/net/ParBENCH31.lha adresinde parnet'in modern install pakedi mevcut.

http://aminet.net/comm/net/parnet.lha adresinde parnet'in orjinal yazılımı bulunmakta
http://aminet.net/comm/net/parnet21.lha adresinde parnet için yazılmış device ve handlerin güncellenmiş sürümü bulunmakta. güncellenmiş sürüm %20 daha hızlı çalışıyor ama en az OS 2.x istiyor.
Yine Aminet sitesinde http://aminet.net/comm/net/ParBENCH31.lha adresinde ParBench adında Parnet kablosunu ve yazılım altyapısını kullanan bir yazılım daha var ama henüz bu yazılımı kullanmadım. Onu da başka bir yazımda açıklarım herhalde.

Şimdi de ParNet disketinde yer alan netpnet-handler isimli file’ı her iki bilgisayarın L directory’lerine kopyalayalım. Netpnet-server ve NetStat isimli programlan da c directory’lerine kopyalayalım. Şimdi artık herşey çalışmaya hazırdır. Donanımımızı kullanabilmek için öncelikle NetPNet-Server Unit [n] komutuyla transfer programını çalıştıralım. Burada [n] yerine diğer bilgisayarın unit numarası girilmelidir. Unit numarası 0 olan bilgisayarda "NetPNet-Server Unit 1" girmemiz gerekmekte yani. En son olarak da her iki tarafta Mount NET: komutunu girerek NET:’in komple kullanabilmesini sağlayalım. Artık NET: adlı device’ınız kullanıma hazır. Hemen deneme için harddisk’i olmayan bilgisayarda "NET:Dh0/c/dir NET:Dh0" diyelim. Bu şekilde harddisk’li bilgisayarın c directory’sine erişerek directory alabiliyoruz. Her iki bilgisayardan da diğer tarafın bir directory’sine erişebilmek için diğer taraftaki bilgisayarın harddisk isimlerini artık bir device değil de directory olarak kullanmanız gerekmekte. İki bilgisayardan birinden diğerine erişebilmek için diğer bilgisayarı bundan sonra NET: olarak görmeniz gerektiğini unutmayın. İlk kullanımda NET:’e erişmeye çalıştığınızda NET: boş gözükebilir. Bunun için her iki tarafta da diğer tarafın harddisk device’larını (eski device’larını tabii ki) birer path komutuyla ParNet software’ine tantabiliriz. Ya da daha kolayı. Assign komutu yardımıyla diğer bilgisayarın tüm device’larına yeni isimler takabilirsiniz. Aşağıda benim kullandığım eski ve yeni device isimlerini görebilirsiniz. Tabii istediğiniz isimleri kullanmakla serbestsiniz. Parantez  içindeki komutlar  harddisk’i olmayan bilgisayarda girilmelidir.

Parnet Status yazılımı ile anlık dosya transfer hızlarınızı görebilirsiniz.

Yaptığım hız testlerinde düşük konfigürasyonlu Amigalarda saniyede 20 K, Yüksek konfigürasyonlarda saniyede 50 K ya kadar ulaştım.

Dh0: -> Nh0:  (Assign Nh0: NET:Dh0)
Dh1: -> Nh1:  (Assign Nh1: NET:Dh1)
Dh2: -> Nh2:  (Assign Nh2: NET:Dh2)

ParNet’i WorkBench üzerinden kullanmak istediğinizde, iş biraz daha karışmakta. Her iki bilgisayarda da diğer bilgisayarın device’ı için birer ikon file’ı oluşturmanız gerekmekte. Bu ikon, drawer (çekmece) tipinde olmalıdır, zira artık diğer bilgisayarın  device’ları  birer directory olarak gözükmekteler.  İkon isimleri de NET:’in içinde .info şeklinde yer almalıdır. Burada yerine ikinci bilgisayarda kullanılan harddisk device isimlerini (Dh0:, Dh1: vs.) girmemiz gerekmekte. Tabii bütün bu işlemleri diğer tarafın belirtilen device’ını mount ile tanımladıktan sonra yapmanız gerektiğini hatırlatmam gerekir. Ikon kopyalama işlemini her boot edişten sonra tekrar etmelisiniz, zira NET: device’ı aslında RAM: aracılığıyla çalışmakta. ParNet’i çalıştırmak için gerekli diğer komutlarla beraber bu komutları da doğru bir şekilde startup-sequence’e eklemeniz en rahat yöntem olacaktır. Bu şekilde her seferinde CLI yardımıyla bir sürü komut girmenize gerek kalmayacak. Ya da dilerseniz her iki bilgisayar için de birer batch dosyası hazırlayın ve ParNet’i kullanacağınız zaman bunları Execute komutuyla çalıştırın. Bu arada bir şeyi daha belirtmem gerek; her iki bilgisayarın ana directory’sinde node.info isimli bir file belirecektir. Bu file, ikinci bilgisayarın ikon datasının bulunduğu fiie’dır. Bu file’ı sildiğiniz zaman ikinci bilgisayarın ikon’u WorkBench ekranından kaybolacaktır. Evet, umarım bu ufak donanım çoğunuzun işine yarar. Bunu özellikle BBS kuracak olan arkadaşlara tavsiye ederim; zira bazı programlarda değişik virüsler bulunabiliyor. Yeni gelen programı board’un olduğu bilgisayarda açıp denediğinizde, bunun sisteminize ufak bir yaratık da sokma tehlikesi var.

29 Eki 2011

WHDLOAD yazılımında Quitkey tuşunun tanımlanması

Whdload ile bir oyun açtığınız zaman o oyundan nasıl çıkılacağını gösteren bir bilgi penceresi açılır. "F10 for quit" veya "PrntScrn for quit" gibi birşey yazar. Buna Quitkey denmektedir. Bazı oyunlarda bu Quitkey tuşu oyun içerisinde bişr tuş ile çakışabilir. Bunu düzeltmek için neler yapmak gerekir bunu öğreneceğiz.

Biraz daha açmak gerekirse Gunship2000 oyununu whdload ile açtığımızda whdload "quit" için "f10" tuşunu atamış ama gel gör oyun içerisinde "f10" tuşu aktif olarak kullanılan, çok lazım olan bir ekranı açmaya yarıor ve o  ekrana ulaşmak için "f10" a bastığımızda oyun direk "quit" oluyor. oyun içerisinde "f10" tuşunu tanımlayamadığımız için tek seçenek Whdload içerisinde "quit" için gerekli tuşunu başka bir tuşa  atamamız gerekiyor. 


ilginizi çektiyse mutfağa buyurun ve devamını öğrenin :)


QuitKey in kullanımı şu şekilde
diyelim ki "ESC" tuşunu quit için atamak istiyoruz
ESC Tuşunun RAW key code karşılığını yazmamız gerekiyor ve bu 45 e eşit
oyun ikonuna tıklayıp menüden bilgi ver seçiyoruz. çıkan bilgi ekranında IKON tabına tıklıyoruz ve gerekli komut satırlarının olduğu alana

QUITKey=$45

yazıp kaydediyoruz
quit tuşu ESC olarak atanmış oluyor.


Örnek Resim:




amiga klavyesinin raw key code karşılıkları aşağıdaki tablodan erişebilirsiniz;

RAW KEY CODE FOR AMIGA:




US AMIGA KEYBOARD TYPE: