64 BASIC LINKER YARDIMCISI
Retro bilgisayarBir BASIC programının bir başkasını yükleyip çalıştırabilmesi yararlı olabilir ama sorunlar da çıkabilir. Bir programın içinden sadece LOAD komutunu kullanırsanız başınız derde girebilir. Her şeyden önce program modunda bir LOAD yüklenmiş programın değişkenlerini başlatmaz. İlk programda kullanılmış olan her değişken ikinci program çalışmaya başladıktan sonra değerini koruyacaktır. Birçok program bir program başlatıldığında değişkenlerin sıfırlanmasına güvendiğinden birçok sorun çıkabilir burada. Değişkenlerinin değerinin korunması yükleyen programın yüklenenden daha uzun olmasını gerektirir. Eğer bu koşul yerine getirilmezse yüklenen program düzgün çalışmayacaktır. Verdiğimiz program bir BASIC programının değişkenleri ve program uzunluklarını dert etmeden bir başka BASIC programını yükleyebilmesini ve çalıştırmasını sağlayan bir makine dili rutini oluşturmaktadır. Makine dili hafızaya POKE edildikten sonra BASIC programınız bir başkasını SYS49152,“programname”,8 emriyle yükleyip çalıştırabilecektir.
PROGRAM ADI 1 64 LİNKER
00010 PRİNT *<CUR)GA LİNKER"
1
00030 YENİDEN YERLESTİRİLED
ILIR
00040 1 <816>
60050 PRİNT J
«0 TO KİPOKE
CS +K : NEXT
<casa>
60060 IF THEN PRİNT “DATA SAT
IRLARINDA HATA VARI*1STOP
60070 “CUP
>BIR BASIC PROGRAMINA DİĞERİNİ YÜKL
ETMEK."
60080 PRİNT *SYS'Yİ
ADI *
<079>
©0081 DATA 032.253.174.169.000.123.010.0
se
DATA 212.225,165.010.166.043.164.0
44
00083 DATA 032.213.285.176.033.032.066.1
66
©0084 032.103.255.041.191.240.005.1
62 <081>
00085 DATA 029.076.035.164.124.045.134.0
a7 <201>
00096 DATA 132.046.132.040.169.000.032.1
aa
00087 DATA
a8
00088 DATA 224 <160>
Yapmanız gereken bundan ibaret. Yalnız drive sayısını sona eklemeyi unutmayın-programın başka bir drive'dan yüklemesini istiyorsanız, örnekteki 8 yerine onun sayısını koyun. Makina dili tamamıyla yeniden yerleştirilmeye uygundur; bu nedenle başka bir başlangıç adresine yerleştirmek istiyorsanız, satır 30'daki SA değerini değiştirin. Ayrıca makina dilinin kendisini save ederek onu kullanmanız gereken her zaman hafızaya poke etmekten kurtulabilirsiniz. Gösterilen başlangıç adresiyle 49152-49208 arasındaki hafızayı işgal etmektedir.
İstanbul'dan Ali Duyar arkadaşımızın kolaylıkları: 1- SYS 64767 ile kısa reset yapabilirsiniz. Simon's Basic vb. gibi programlardan bu komutla basic'e dönebilir sys 64738 ile tekrar programa girebilirsiniz. 2- Over Moscow'da çalıştırdıktan sonra beklerseniz, aşamaları izleyebilir, oyuna istediğiniz aşamadan girebilirsiniz. 3- Makina dili programların ekranı silerek load etmesini istiyorsanız programı 0400 adresinden başlayarak save edin. MULTI ICE 3 kullanıcılar için: 1- Normal basic'te hızlı kayıt için save”İsim,s,w”,8,1'i kullanabilirsiniz. 2- Seçim ekranında bazı komutlara şöyle ulaşabilirsiniz: T veya D kopye, X poke, V sprite, K sprite öldürme, M monitor, U utility menü, P parametre, normal reset. 3- Multi ice ile kaydedilmiş programları yükledikten sonra reset ve freeze yapar, old ile programı çağırırsanız basic listesi olan makina dili programlarının basic listesini görebilirsiniz. 4- £ Sterlin işareti ile save — (yukarı ok) işareti ile auto run'lı load yapılabilir. 5- Amiga için poke 2064,0 reset basic'ten poke 2062,0 dondurma