AMIGA MONITOR V2.11
Retro bilgisayarHayır! Bu yeni çıkan bir bilgisayar monitörü değil. Bu, AMIGA'nın hafızasında yapacağınız büyülü yolculukta, size rehberlik edecek bir araştırma programı.
Amiga çok ilginç bir makinedir. Belli bir zaman sonra, bu bilgisayarda oyun oynamak sıkıcı gelmeye başlar. Bu kadar parayı bir oyun makinesine yatırmadığının bilincinde olanlar, ya grafiğe, ya müziğe ya da animasyon gibi çeşitli dallara yönelmeye başlarlar. Bazıları ise, bilgisayarda programlar nasıl çalışır?, bu programı nasıl yazmışlar? gibi sorulara cevap arar. İşte o zaman, Amiga'nın bir daha kolay kolay kurtulamayacakları sihirli dünyasına girerler. Bu seçeneği yapanlara yardımcı olacak en önemli programlar Monitor ve Assembler programlarıdır. Monitor programları genelde Disassembler, Assembler, Tracer, DiskIO, MemoryDump ve Search bölümlerinden oluşur. Size tavsiyem, bu programları kullanırken inceleyeceğiniz programın veya disketin bir kopyasını almanızdır. İlk başladığınızda, sistemi ve assembleri iyi tanımıyorsanız, bilgisayarınızın çoğu sefer Crash etmesini normal karşılamanız gerekecektir. Ama sabretmesini biliyorsanız öğrenmek, bulmaca çözmek kadar zevkli olur. Nasıl kalbin yolu mideden geçiyorsa, bilgisayarda da assembler öğrenmenin yolu, programları ve bilgisayarı incelemekten geçer. Bunu da Monitörler sayesinde yapabiliriz.

Amiga'da kullanılan monitörlerin en iyilerinden biri Amiga-Monitor V2.11'dir. Programın tümü assembler'da yazılmıştır. Bu bakımdan kısa ve hızı yüksek bir monitördür. Türkiye piyasasında bu programın çeşitli versiyonları vardır (V1.15, V2.11, V3.0). Fakat en iyisi Version 2.11'dir.
A-mon CLI veya WorkBench'den çağrılabilir. Eğer monitörü WorkBench'den çalıştırmak isterseniz, program için bir icon hazırlamanız yeterlidir. Şimdi A-Mon V2.11'i inceleyelim.
Yazılmış veya hafızaya alınmış komutları düzeltme ve kullanma: Yazdığınız bir satırı düzeltmek için sağ/sol kursor tuşlarıyla kursoru hareket ettirerek, Backspace veya DEL tuşlarıyla düzeltebilirsiniz. Monitor yazmış olduğunuz satırları otomatik olarak saklar (10 taneye kadar). Bu satırları yukarı/aşağı kursor tuşlarıyla çağırıp düzeltebilir ve 'RETURN' tuşuyla kullanabilirsiniz. Programda sadece 'RETURN' tuşuna basmak, bir önceki satırda yazmış olduğunuz komutu işleme sokar.
Çıktıyı durdurmak: Bazı durumlarda ekranda datalar devamlı olarak yukarıya kayar ve bunları incelemek zorlaşır. Bunun için 'SPACE' tuşuyla çıktıyı Pause konumuna sokup, incelemeyi yapar, tekrar 'SPACE'e basıp, Pause modundan çıkabilirsiniz. Eğer bir komutun çalışmasını kesmek isterseniz, 'CTRL+C' tuşlarını kullanabilirsiniz.
Sayıların kullanımı: Amiga Monitor, assembler düzenindeki genel sayı ifadelerini ve eklerini kullanır. Bu ifadeler bir cins standarttır. A-Mon açılışta 16'lık sayı tabanını kullanır (HexaDecimal). Bu assembler için kullanımı kolay bir düzendir. Girdiğiniz her sayı bu düzene göre yorumlanır. Örneğin: 20 sayısını girdiğinizde monitör bunu 32 olarak yorumlar. Aynı şekilde, eğer 10'luk tabanı (Decimal) kullanmak isterseniz 'AMON> ba 10' yazmanız yeterlidir (Tabiiki burda 'AMON>' monitörün bir parçasıdır ve yazılmaması gerekir). Bu 'base 10' demektir, yani onluk taban, 'ba' komutunu kullanarak istediğiniz sayı tabanına geçebilirsiniz.
Örneğin: ba 2, ikilik taban (binary); ba 8 sekizlik taban (octal) vs.
Yazılar, Alfa Nümerik bilgiler: Yazısal bilgiler; hafıza doldurma (Fill), Arama (Hunt), Hafıza Düzeltme (Modify Memory) komutlarıyla ve assembler modunda 'dc.b' operandından sonra kullanılabilir. Yazısal bilgiler byte'lardan oluşan serilerdir. Sayılar veya ASCII karakterleriyle belirtilirler. A-Mon'da bunlar tırnaklar içinde, beraber olarak ya da aralarına virgül konarak ayrılmış bir şekilde tanımlanır.
Örnek: 'Bu bir Yazısal bilgidir'; (Not: Tırnaklar tek veya çift tırnak olabilir ' = ").
12,34,56 'Beraber',0a,'Yazı',10,'ve','sayılar' "", ...." ;Bu tırnağı bir yazısal bilgi olarak belirtmek içindir.
Hesap makinesi (Calculator): '?' işaretinden sonra yazacağınız hesap işlemleri hesaplanır ve sonuç Hexadecimal, Decimal, Binary, Octal ve Ascii olarak ekrana çıkar. Hesap Makinesi ayrıca Byte (.b), Word (.w), Long (.l) gibi ifadeleri de kullanabilir.
Örneğin: 40.b, 300.w, 3c000.l gibi. Herhangi bir Register (a0, d3, PC gibi) hesap işlemlerinde kullanılmak istenirse 'r' kullanılır (arada boşluk yok!).
Örnek: 40*rd0, 57-ra2, rPC+ra0 vs. Assembler'da bulunan bazı komutlar da hesap makinesinde kullanılabilir. Bunlar; #ll/lr/al/ar/d/n'dir. Assembler'daki karşılıkları: lsl/lsr/asl/asr/rol/ror'dur.
Örnek: ? 12#lr4 ;12'yi 4 sağa kaydırır (logic olarak)
Bunun yanında hesap makinesi aşağıdaki terimleri de anlayabilmektedir.
Peek(adres), peekw(adres), peekl(adres) ;adreslerin byte, word, long içeriklerini verirler.
Alloc(mode); Mümkün olan hafıza, mode=(0=PUBLIC, 3=CHIP, 5=FAST) olabilir.
Hunk(sayı) ;Hunk adresini verir. Sayı= (kaçıncı hunk olduğu)
Hlen(sayı); Hunk uzunluğunu verir. Sayı= (kaçıncı hunk)
Not: Amiga'da File'lar parçalı olarak save edilir. Bu parçalar File'ın 'CODE', 'DATA', 'BSS' bölümleridir ve HUNK adını taşırlar.
Örnek: ? peek(30000)+avail(3) ? Hunk(1)-40 ? hlen(0)/Peekl(4cb00) Hunt(sayı); Araştırma sırasında bulunan 32 adresten seçilen adres. (0<sayı<32) Örnek: ? Hunt(17)*20
Şimdi de Amiga Monitör'ün komutlarına bir göz atalım. ?--Calculator; Hesap Makinesi i--info; Sistem ile ilgili bilgileri ekrana çıkarır. Bunlar Monitörün nerede başlayıp nerede bittiğini gösterir.
h veya help tuşu- komutlarla ilgili yardım ekranını açar.
o--Redirect output; çıktıyı yönlendirir. Kullanımı: o isim: Monitör çıktısını bir file veya Device'a gönderir. Örneğin çıktıyı Printer'a göndermek için 'o PRT:' yazılır. Bu komut hafızanın belli bir bölümü disassemble edilip diskette file olarak saklanmak isteniyorsa kullanılabilir, 'o' tek başına kullanılırsa, monitör çıktısı normale döner.
Örnek: o RAM:Deneme.asm , o DF0:ali.svs.
m-Dump Memory; Hafızayı Hex ve Ascii olarak ekrana yazar.
Kullanımı: m : Bir önceki adresten itibaren 20 satırı yazar.
m <adres>: Adresten itibaren 20 satır yazar.
m <baş> <son>: Baş-Son adresleri arasındaki bölgeyi yazar.
Örnek: m 30000, m10000 20000 k--Dump Ascii; Hafızayı sadece Ascii olarak ekrana yazar. Çalışması 'm' komutu gibidir.
Örnek: k fc0000, k30000 31000
:--Modify Memory; Hafızayı düzeltmeye yarar.
Kullanımı:
: <adres> <yazı,bilgi> : Adresten itibaren dataları adres içeriklerine yazar.
Örnek: :50000 'Ali',a047,'yAz' ;50000'den itibaren bu dataları yazar. Uzunluğu otomatik hesaplayıp bir sonraki adrese geçer.
f--Fill Memory; Belirtilen hafıza bölgesini, verilen bilgiyle doldurur.
Kullanımı: f <baş> <son> <yazı,bilgi> : Başla son arasındaki bölgeyi, verilen bilgiyle doldurur.
Örnek: f 30000 45000 'Yazı',10,'Doldur' t-Transfer Memory; Belirlenen hafıza bölümünü başka bir adrese kopyalar.
Kullanımı: t <baş> <son> <hedef> : Baş-son adresleri arasındaki bölgeyi, hedef adresinden itibaren kopyalar.
Örnek: t 20000 2c000 70000 h-Hunt (Find) string in memory; Belirlenen hafıza bölgesinde, verilen bir bilgiyi arar. Bilginin bulunduğu adresleri ekrana yazar. Ayrıca bulunan ilk 32 adresi, Huntlist adı verilen bir tabloya daha sonra kullanılabilecek şekilde yerleştirir.
Kullanımı: h <baş> <son> <bilgi> : Baş-son arasındaki bölgede 'bilgi'yi arar.
Örnek: h fc0000 ffffff 'Copyright' hl—list Huntlist; Arama sırasında datanın bulunduğu ilk 32 adresin listesidir. Bu adresleri direkt yazarak veya Hunt(sayı) terimiyle kullanabilirsiniz.
Örnek: m hunt(5) ;hunt5'te bulunan adresten itibaren Hex ve Ascii adres içeriklerini yazar.

c--Compare Memory; İki ayrı hafıza bölgesini karşılaştırır. Farklı dataların bulunduğu adresleri ekrana yazar.
Kullanımı: c <baş> <son> <hedef> : Baş-son arasındaki bölgesini hedef adresinden itibaren karşılaştırır.
Örnek: c 30000 40000 60000 : (30000- 40000) arasındaki bölgeyi (60000-70000) arasındaki bölgeyle karşılaştırır.
a--Assemble; Kullanımı: a : Bir önceki adresten itibaren assemble eder.
a <adres> : Adresten itibaren assemble eder.
a <adres> <makina kodu> : Makina kodu'nu adres'e assemble eder.
Örnek: a 30000 ; a40000 move.l d0,d1 vs. Assemble çağrıldığında, ekrana assemble edilecek adres çıkar. Buraya yazmak istediğiniz makina kodu emrini yazdıktan sonra 'RETURN'e basarsanız, bir sonraki adres karşınıza çıkar. Assemble modundan çıkmak için hiçbir şey yazmadan 'Return'e basmanız yeterlidir. Eğer assemble edilecek adreste o anda hangi makine kodu emri olduğunu görmek isterseniz, 'CTRL+E' tuşlarına basmanız gerekir.
A-Mon assembler'ı tüm 68000 komutlarını anlamaktadır. Bunun yanında bazı pseudo-instruction'ları da kullanabilmektedir. Örneğin: dc.b, dc.w, dc.l gibi.
d-Disassemble; İstenilen hafıza bölgesini disassemble edip, ekrana yazar. Kullanımı 'm' komutu gibidir.
Örnek: d fc00d2 (Burası ROM'da Ana makina kodunun başladığı bölgedir.); d 30000 40000 vs. r--Show, Range Register; Register'ların içeriklerini görmek veya değiştirmek için kullanılır.
Kullanımı: r : Bütün register'ları gösterir.
r <reg>=<sayı> veya r<reg> <sayı> : Sayı değerini reg register'ine koyar.
Örnek: r d0 300; r a4=40000; r PC 17c00 vs. g <adres>-Go; Adres'e dallanarak, buradaki programı işletir. Program bittikten sonra monitöre geri döner. Assembler'daki jsr <adres> komutuyla aynı işi yapar.
Örnek: g fc00d2 ;Program sayıcısı ROM'daki reset routine'ine dallanır.
j <adres>--Jump; Adres'e atlar. Assembler'daki jmp <adres> komutuyla aynı işi yapar. Örnek: j 40000 w <adres>--walk (single step trace); Adres'ten itibaren bir adım yürür.
Örnek: w 30000 : 30000'deki makina kodu işlemini yapar. Tüm register'ları ekrana yazar ve bir sonraki adres'e geçer. Bundan sonra sadece 'w' diyerek programı adım adım çalıştırabiliriz.
@--Enter command line; Bu komuttan sonra bir komut satırı girilir. @ <komut satırı> : Bazı executable file'lar hafızaya yüklenip g veya j komutlarıyla çalıştırıldığı zaman, bir komut satırı ihtiyacını duyarlar. @ komutu, girilen komut satırını hafızada özel bir bölgeye koyarak ve program çağrıldığında komut satırının adresini A0'a, uzunluğunu ise D0'a yükler. Örneğin CLI komutlarından type komutu devamında bir komut zinciri ister, (type textfile) Burada textfile bir komut zinciridir. Eğer 'type textfile' komutunu kullanmak istiyorsak, type komutunu hafızaya yüklemeli ve çalıştırmadan önce "textfile" komut zincirini @ komutu ile monitöre bildirmiş olmamız gerekir.
Örnek # textfile b—Set Breakpoints; Breakpoint yerleştirme b <Adres> : Adres'e bir breakpoint yerleştirir. Monitörden bir programı çalıştırdığınızda, bu programın, sizin belirleyeceğiniz adreslerde durmasını ve monitöre geri dönmesini isterseniz, bu adreslere birer breakpoint yerleştirmeniz gerekir. Böylece program belirlenen adreslere geldiğinde kırılır ve monitöre geri döner.
Breakpoint'ler kırmak istediğiniz adrese bir illegal Opcode ($4AFC) koyarlar. G veya J komutuyla çalıştırılan bir program, bu adrese gelince Illegal Trap tarafından yakalanır ve monitöre geri döner. Monitör bu adresteki eski değeri hemen yerine koyarak sizden yeni bir emir bekler. Breakpoint'ler ROM gibi yazılamaz hafızalarda kullanılamazlar.
bl—List breakpoints: Kullanmış olduğunuz tüm breakpoint'lerin adreslerini verir.
br--Remove breakpoints: Breakpoint'leri kaldırır.
br <adres>: adres'teki breakpoint'i kaldırır.
br all: Bütün breakpoint'leri kaldırır. l-Load Segment: Segment yükler. (segment=executable file) l <File ismi>: İstenilen bir executable file'ı hafızaya yükler, file'ın ilk hunk'ının başlangıç adresini ekrana yazar ve bu adresi PC (program counter) register'ına yükler. Executable file'lar, CLI'dan çağrıldığında yüklenebilen programlardır.
Örnek: l df0:c/dir : df0:c/dir programını hafızaya yükler ve başlangıç adresini verir.
u-Unload Segment: Yüklenmiş bir segmenti hafızadan siler. Hafızaya yeni bir segment yüklemeden önce, daha önce yüklenmiş olan segmenti silmeniz gerekir.
sl--Segment list: Yüklenmiş olan file'ın her hunk'ının başlangıç, bitiş adreslerini ve uzunluğunu verir.
[--Read file: İstediğiniz bir adrese istenilen file'ı yükler.
[ <adres> <file ismi>: İstenilen file'ı adres'ten itibaren yükler.
[ <adres> <uzunluk> <file ismi> : İstenilen file'dan belli bir uzunluktaki bölümü, adres'ten itibaren yükler.
Örnek: [ 30000 'df0:c/run' : run komutunu 30000'den itibaren yükler.
[ 30000 100 'df0:c/list' : List komutunun ilk $100 byte'ını 30000 adresinden itibaren yükler.
Not: Bir programı, istediğiniz bir adrese yükleyip çalıştırmak çok zor bir iştir. Sadece PC-relative (program sayacından bağımsız) programlar hafızada her adreste çalışabilir. Bu komutun iyi yanı incelemek istediğiniz bir programı, göze karışık gelmeyecek bir adrese koyup, daha rahat kurcalamanıza izin vermesidir. Ayrıca executable olmayan file'ları da, (Örneğin data file'larını Resim, ses gibi) bu komutla yükleyip inceleyebilirsiniz.
]--Write file; Belirlenen hafıza bölgesini diskete save eder. ] <adres> <drive> <uzunluk> <file ismi>
Örnek: ] 30000 1000 'df0:test' : 30000 adresinden itibaren $1000 uzunluğundaki datayı, yani 30000-31000 arasındaki bölgeyi, diskete 'test' ismiyle kaydeder.
<--Read disk sector; Sektörleri disketten hafızaya okur.

Örnek: < <adres> <başlangıç sektörü> <sektör sayısı>
Adres: sektörlerin hafızada yazılacağı adres.
Drive: bilginin hangi drive'dan okunacağı
Başlangıç sektörü: hangi sektörden itibaren okunmaya başlanacağı.
Sektör sayısı: kaç tane sektör okunacağı Örnek: < 40000 19 7; DF1:'deki disketin, 9'dan 16'ya (9+7=16) kadar olan sektörlerini 40000 adresinden itibaren hafızaya yazar. Diskette ulaşabileceğiniz sektörler 0-1759 arasındadır.
>--Write disk sector: Sektörleri hafızadan diskete yazar. Kullanımı read sektör gibidir.
> <adres> <drive> <başlangıç sektörü> <sektör sayısı>
Örnek: > 35000 0 5 3; 35000 adresinden itibaren olan datayı DF0:'daki disketin 5. sektöründen 8. sektörüne kadar yazar. Disketteki bir sektöre datayı yazarken unutulmaması gereken nokta, her sektörün "Checksum" denilen bir kontrol toplamı olduğudur. Bunu dikkate alıp, sektörleri checksum'larını hesapladıktan sonra yazınız.
=--Corrects blocks checksum: disk sektörlerinin checksum'ını düzeltir.
= <adres>: Verilen adresteki DOS formatlı bir disk sektörü datasının checksum'ını hesaplayıp düzeltir ve datayı diskete yazılabilir hale getirir. Ayrıca eski ve yeni Checksum'ları ekrana yazar. Örnek: = 30000 : 30000'den itibaren bulunan datanın checksum'ını hesaplar. #--Corrects Boot block checksum: # <adres>: Bootblock diğer sektörlere benzemez, iki sektörün toplamından, yani 2*512=1024 Byte'tan oluşur. Bu komut verilen adresteki bootblock datasının checksum'ını hesaplar ve diskete yazılmaya hazır hale getirir.
Not: Bootblock checksum'ını hesapladıktan sonra, boot datasını diskete şöyle yazabilirsiniz.
> <adres> 0 0 2 :adresteki boot'u DF0:'daki diskete yazar.
(boot 2 sektördür ve 0. sektörden başlar).
{--Read raw track: Normal DOS olmayan track'leri hafızaya yazar.
{ <adres> <drive> <başlangıç track'i> <track sayısı>: verilen adrese raw track'leri yazar.
Örnek: { 33000 1 8 :33000 adresinden itibaren bulunan datayı DF1:'deki disketin 8-10. track'lerine yazar. Not: Raw track'lerin okunmasında ve yazılmasında dikkat edilecek husus okunan veya yazılan bilgilerin DOS formatına çevrilmemesidir. Yani diskette bulunan byte'ların aynılarına sahiptir. Bu bakımdan system yükleme rutini bir syncron veya index için beklemez ve bilgiler herhangi bir yerden başlayabilir. Track sayıları 0-159 arasındadır ve bir track $3400 byte uzunluğundadır. Track'leri diskete save edeceğiniz zaman, bunların MFM veya GCR formatında kodlandığından emin olmanız gerekir. Hatasız bir geri yükleme için bunlar gereklidir. Yukarıda açıklanan diskete direk ulaşma ile ilgili komutlarla uğraşmadan önce drive'ınızdaki disketi, boş bir disketle değiştirin.
Bu komutlar disketinizin içindeki bilgilere zarar verebileceğinden bir deneme disketi kullanmak yararlı olur.
Dir-Directory: Disketteki directory'i verir.
Örnek: Dir df0:s Cd--Change directory: directory değiştirir.
Örnek: Cd df1: Del-Delete file: belirtilen file'ı disketten siler.
Örnek: Del df0:resim Cls--Clear screen: Ekranı temizler X-Exit program: Monitörden çıkış Av--Available memory: Kullanılması mümkün olan hafıza miktarını ekrana yazar.

*-Correct bitmap checksum: Belirlenen adresteki disket bitmap checksum'ını hesaplar. Bu sektör, disketin hangi sektörlerinin dolu veya boş olduğunun kaydını tutar.
Örnek: * <adres> * 30000 gibi ib-Install drive: İstenilen drive'ı install edip, standard DOS boot yerleştirir.
Örnek: ib <drive> ib 0 ;DF0:'daki disketi install eder.
rn-rename file: İstenilen bir file'ın ismi değiştirilir.
rn <eski file> <yeni file ismi>
Örnek: rn dir cat md-Make directory: Yeni bir directory açar. md<isim>
Örnek: md df0:libs fm-format: İstenilen drive'daki diski formatlar.
fm <drive> <isim> <c> <v> : c-hızlı format; disketin sadece root ve boot block'ları temizlenir, v-verify. Bu iki seçenek istenirse konulur.
Örnek: fm df0: deneme c v p-protect file: Bir file'ın koruma flaglarını değiştirir.
p <file ismi> <RWED> : <RWED> read, write, executable, deletable.
Örnek: p df0:list RWE :list isimli file'ı okunabilir, yazılabilir, işletilebilir ama silinemez yapar.
-Open NewCLI: Yeni bir CLI ekranı açar.
ba-Base: Kullanılan matematik taban değiştirilir.
ba <taban> Örnek: ba 10 :Onluk taban. Set-Set variable: Değişken tanımlamaya yarar. A-Mon'un en güzel özelliklerinden biri de bu komuttur. Bununla bir sayının yerine bir isim kullanma kolaylığı getirilmiştir.
Set <isim> <sayı> Örnek: set baş 30000 : artık baş kelimesi 30000 değerini almıştır. Mesela 'd baş' derseniz, monitör 30000 adresinden itibaren disassemble etmeye başlar, sadece
'set' yazarsanız, kullanılmış tüm değişkenleri görebilirsiniz.
cv-Clear all variable: Kullanılmış tüm değişkenleri siler.
!-Play digisound: Hafızadaki bir enstrümanı çalar.
! <adres> <uzunluk> <peryod> <tekrar> adres: Enstrümanın başlangıç adresi. Bu adresin CHIP memory'de bulunması gereklidir.
uzunluk: Enstrümanın uzunluğu peryod: Ens. frekansı. Örnek: 428=C2=Do... Gerekli bilgiyi Hardware Reference Manual'den bulabilirsiniz.
tekrar: Enstrümanın kaç kez çalınacağı. Durdurmak için CTRL+C'ye basabilirsiniz.
Örnek: ! 30000 2000 430 2 :30000- 32000 arasındaki enstrümanı 430 peryodunda iki defa çalar.
pl--Play soundtracker module: Soundtracker modülünü çalar.
pl <adres> : 31 enstrümanlı ST modülünü çalmak için.
pl <adres> o : 16 enstrümanlı ST modülünü çalmak için.
pl 0 : Durdurmak için. &--Alloc memory absolute: Verilen hafıza bölgesini boşaltıp, memory listesine yazar.
& <adres> <uzunluk> Örnek: & 30000 1000 : 30000 ile 31000 arasını boşaltıp, memorylist'e kaydeder.
(--Alloc memory: CHIP, FAST veya PUBLIC memory'de istenilen boşluk için en uygun bölgeyi bulur.
(<uzunluk> c Örnek: ( 2000 'chip': CHIP memory'de $2000 byte'lık alan boşaltır.
)--Free memory: Daha önce hafızada boşaltılmış alanlar memory listesinden çıkarılır ve silinir.
) <adres> : Adresteki, ayrılmış bölge silinir
) all: Tüm bölgeler silinir.
mi-Memory info: Verilen adres hakkında bilgi verir. (Eğer adres ayrılmış bölgede ise) mi <adres> sm-Show allocated memory: Allocate edilmiş tüm bölgelerin adreslerini ve uzunluklarını verir.
lc--Copperlist: System'in kullandığı copperlist'lerin adreslerini verir. Bunlar Graphics-Library'nin 38/50/54 offsetlerindeki adreslerdir.
sc--Show copperlist: Verilen adresteki copperlist'i ekrana çıkartır ve sol mouse tuşuna basılıncaya kadar ekranda tutar. si-Set Vertical Blanking Int.: Vertical blanking interrupt'a verilen adresteki programı ekler.
si <adres> <priority> : priority - programın diğer programlara göre önceliği.
si : VB'deki interruptları gösterir. VB interrupt=$6c'dir ve buraya en fazla 10 program yüklenir.
ci-Clear vertical blanking interrupt: VB interrupt'taki programı siler.
ci <adres>: verilen adresteki programı VB'den siler.
Cİ ALİ: Tüm programları VB'den siler.
Evet, sanırım bu kadar açıklama yeterince kafanızı karıştırmıştır.
Şimdi hiç paniğe kapılmadan bilgisayarınızın başına oturun ve bu sihirli dünyanın kapısından içeri ilk adımınızı atın. Sakın korkmayın, başınıza gelebilecek tek sorun, üzerinde çalıştığınız disketin bozulmasıdır.
Daha önce de dediğim gibi, bir disketin kopyası üzerinde çalışırsanız, zaten böyle bir sorununuz da kalmaz.
Ayrıca, içinden çıkamadığınız bir yerle karşılaşırsanız, dergiye mektup yazarak benden bilgi edinebilirsiniz.
Bir başka yazıda tekrar görüşmek üzere hoşça kalın.
