Posted By: busy (Slavko Labsky) on 'CZancient'
Title: Loadery
Date: Thu Apr 4 10:10:03 1996
%% Posted By: Jusoft (MyRealNameIsJusoft) on 'CZancient'
%% Title: Re: o5 SQ TRACKER
%% Date: Mon Apr 1 14:47:47 1996
%%
%% Hi,
%%
%% Kdyz jsem si upravoval SQ-Tracker pro Betadisk, bylo to celkem bez problemu.
%% Trosku problem byl se zasobnikem, ale taky se to vyresilo. V manualu ke
%% SQ-Trackeru se pise neco v tom smyslu, ze je nutne zachovat radky, ze je
%% nutne vsechno korektne volat diskovymi sluzbami. Osobne bych to typnul na
%% to, ze 128 +3 ma jeste o neco jine systemove promenne, takze v tom bude asi
128 basic a +3 basic maju premenne aj v tlacovom bufferi #5b00-#5bff.
Dokonca si tam davaju aj nejake rutiny (na prepinanie romiek)
takze akekolvek poke do tejto oblasti moze zhavarovat system.
Mozno ze v tom bude chyba.
%% K loaderum: Jo jsou to zbytecne veci, ktere se pak, kdyz se to predelava pro
%% nejaky diskovy system musi predelavat, ne ze by s tim byla
%% nejaka vetsi prace, ale je to uplne zbytecne ...
Ano, s tymto sa plne stotoznujem. Problem strojakovych loaderov minule
spomenuty Pavukom suvisi tak trosku aj s tym, ze v Rusku sa vela softu
(aj dema) predava za peniaze. Je pritom nekopirovatelne nahraty na
TR-DOSackych disketach. A aby to cele malo vyznam, je este k tomu
chraneny nejakym dobre zasitym strojakovym loaderom.
%% Priklad loaderu, ktery delam ja, pokud neco delam: (pouze hruba kostra,
%% nemam nic proti modifikacim), todle je loader pro Betadiks zadna panika s
%% prikazu Rand. usr 15619:rem: ... :-))
%% 1 BORDER NOT PI:PAPER NOT PI: INT VAL "7":CLEAR 24999
%% 2 PRINT AT PI*PI,PI*PI;"NAZEV NECO ATD ..."''"POPR. JESTE NECO"
%% 3 RANDOMIZE USR VAL "15619":REM:RUN "CODE_$" CODE
%% 4 RANDOMIZE USR VAL "15619":REM:RUN "CODE" CODE
Taky isty loader by na MB-02 vyzeral nejak takto:
1 CLS VAL "7"
2 AT PI*PI,PI*PI;"NAZEV NIECO ATD ..."''"POPR. ESTE NIECO"
3 NEW "CODE_$"
4 NEW "CODE"
A to je vsetko. Samotny prikaz PRINT je v podstate nepovinny.
CLS s cislom zmaze obrazovku a nastavi atributy a border na X,
NEW "nieco" je v podstate to iste ako RUN "nieco" CODE a este plus
navyse to nastavi RAMTOP na add-1 (add je zaciatocna adresa niecoho).
%%
%% A to je vse, kazdy (KAZDY!) program, hra, demo, jde takhle minimalizovat ...
%% Na 1 Radku: Clear smaze a inicializuje barvy, tudiz zadne CLS ...
%% 2 Radek: Cokoli, co se tiskne ...
%% 3 radek: Nahrani obrazku, prikaz RUN spusti program od zacatku, obrazky
%% je vhodne zapakovat pressorem 5, nebo 6, a pak to prejet ZIPPEREm, pak je
%% komprimace maximalni ...
Ja zasadne tiez takto podobne robim programy. Obrazky spakujem Pressorom 5
(Pressor 6 nevola load-save do romky), a potom ich este pretiahnem
druhym prechodom TurboImplodera. Samotny kod zapakujem TurboImploderom alebo
PkLitom, a zriedkakedy aj dakou stromovou kompresiou (PackMaker, PkHuff),
ale stromovu kompresiu pouzivam len velmi zriedka, lebo to zdruba 10-20
nasobne spomaluje dekompresiu.
Ozaj, ten ZIPPER je o com ?? Mohol by si mi ho poslat ?
%% 4 Radek: Nahrani bloku, ktery se spusti RUNem, od pocatecni adresy, kde
%% je programek, ktery ten blok rozkopiruje po pameti, kde patri, jednotlive
%% bloky se rozpakuji (zapakovano ZIPPEREm). Popr rozhazi program do stranek
%% Spectra128Kb. Tim, ze je to cele zapakovane a zkomprimovane v jednom bloku
%% se mj. take zkrati cas nahravani.
No, na MB-02 to skratenie casu nahravania nie je az tak badatelne, lebo
jednak motorcek sa toci este dve sekundy po poslednom pristupe na disk
a navyse po loadnuti predchadzajuceho bloku su uz vsetky dolezite informacie
v cache pameti a hlavicka nemusi jazdit na nultu stopu, a tym padom dalsi
blok sa zacne nahravat hned v nasledujucej otacke diskety
(a to pri 300 ot/min je jedna petina sekundy).
%%
%% A to je vse. Nekdy jeste dotahnu, ukazku meho zavadece, ktery, si myslim je
%% dost zajimavy...
%% Tak Caute, Jusoft.
Uz sa tesime ! Ahoj... = Busy =