Konference: Počítač SHARP MZ-800 a emulátory
Od: | Vaclav Peroutka |
Datum: | 23.6.2008 16:21 |
Předmět: | Re:=?iso-8859-2?Q?nov=FD turbo loader - pros=EDm reakciu?= |
Ahoj Feri, Ja psal autorovi T7ZX (resp. nejakemu jeho kamosovi) - dostal jsem od nej velicekratkou odpoved s moznosti kontaktu primo autora. Chtel jsem nejakym zpusobem
pochopit primo RAUDO metodu, ta se mi jevila jako nejrychlejsi s dostatecnou
spolehlivosti. Lec jsem dostal nasledujici odpoved - viz dole. Jak se zda, nekdo adaptoval rychlonahravani i na jine platformy, nez je Speccy.
Ale zatim jsem nemel cas to nijak hledat... Vasek I don't recommend the 'Raudo' method. It's a very complicated algorithm which
takes advantage of things that are only available in the Spectrum. I suggest to start with something a lot simpler like FSK and then try Shavings
Slow, which is now being used by Amstrad and MSX users." > ------------ Původní zpráva ------------ > Od: Feri (sharpemu tu byla ta zakroucena vec pandora.cz) > Předmět: =?iso-8859-2?Q?nov=FD turbo loader - pros=EDm reakciu?= > Datum: 23.6.2008 17:57:16 > ---------------------------------------- > > > takže, ľudia čo tu upozornili na spektristov s ich rýchlym > nahrávaním ma vyburcovali ku klasickému "a čo my sme horší?" a tak som > sa rozhodol spraviť nejaké to turbo ktoré by bolo aspoň zčasti tak > rýchle ako to vybájnené spektrácke... > > 1) > nemám v úmysle loviť baudy - ich 5 miestne cifry s rýchlosťou ma > nechávajú chladným, podľa mňa je podstatná životaschopnosť a > jednoduchosť (vždy tvrdím, že v jednoduchosti je genialita) > > 2) mojim cieľom je aspoň niekoľkonásobne pokoriť doterajšiuu "magickú
hranicu" > trojnásobnej rýchlosti (tzn. pre začiatok budem spokojný s tak 6-10
násobkom > základnej rýchlosti) > > 3) zatiaľ ma to baví, výsledky nesľubujem, ale je to zatiaľ na dobrej
ceste. > > > KONCEPCIA: > inšpiroval > som sa spektráckymi loadermi a mám návrh, ako získať rýchlosť: > doterajšie loadery (ako už bolo napísané v mojom minulom príspevku)
zachovávajú > sharpovský > logický formát zápisu (každý bit kódovaný ako nábežná hrana, dlhší
alebo kratší > peak, rovnako > dlhý low signal, a tak dokola) - toto si spektristi zmenili a m7zx > funguje na princípe kódovania rovno dvoch bitov v jednej vlne - prvý bit
kóduje > dĺžka > peaku, druhý bit kóduje dĺžka low signálu - teda presne ako to robí
mnou > spomínaný čiarový kód. to dáva teoretické zdvojnásobenie > rýchlosti - skombinované s extrémnym skrátením časových konštánt na > niekoľkonásobok to teoreticky dáva (vraj) viac ako 20 násobok základnej > rýchlosti... > > moja > koncepcia vychádza zhruba podobne, až na to že dĺžka peeku nebude > dvojstavová (0/1), ale 2^n stavová, čím zakódujeme n bitov v jednej
polvlne. > potom prichádza na rad voľba vhodného n: > - pre n = 1 je to to čo majú spektristi, bajt je kódovaný štyrmi vlnami
max. > dvojnásobnej dĺžky; (pomer 18/10 => 14) > - pri n = 2 sa bajt zakóduje na 4 vlny max. štvornásobnej dĺžky; (pomer
18/6 > => 12) > - pri n = 3 (presnejšie 3+3+2) sa bajt zákóduje na dve vlny osem (resp.
štvor) > -násobnej dĺžky; (21/4 => 12,5) > - n > 3 nemá význam - dĺžka vlny by bola 16, 32, ... násobkom
pôvodnej a to > je už neefektívne... > > čísla v zátvorke znamenajú počet jednotiek času potrebné na
zakódovanie bajtu > $FF/$00, za šípkou je priemerná dĺžka pri štatisticky rovnomernom
rozložení núl > a jednotiek. jednotka času zodpvedá zhruba dvom samplom, takže
teoretická > rýchlosť pri ~12 je cca 24 samplov na bajt, takže cca 14700 baud (ak by
sme > chceli spektristov tromfnúť, tak nahranie programu zo samých NOPov by sa
dalo > rýchlosťou trojnásobnou - teda cca 44100 baud). výsledné číslo sa
možno kvôli > stabilite zníži, prípadne pri obetovaní spoľahlivosti, naopak, zlepší
:-) > > mne osobne z toho vychádz víťaz n=2 (ale pocitovo sa mi páči skôr 3,
pretože > všetky párne kódovania majú jednu zbytočnú hranu na konci, a navyše
rozličnejšia > dĺžka vlny (tzn. namiesto striedania dvoch frekvencií tam bude 8
frekvencií) > bude mať asi coolovejší zvuk :-) > > do pléna dávam otázky: > 1) loader sa mi zatiaľ zmestí do hlavičky, takže sa rýchlejšie spustí.
takto ale > funguje len na single programy (štýlu basic). ak by mal loader fungovať aj
na > multiparty (wooky, saboteur...), tak ho treba realokovať, aby ho hlavička > ďalšieho bloku neprepísala. zvažujem pod D000 (tesne pod VRAM). má niekto
iný > nápad kam umiestniť cca 100 bajtov kódu? > > 2) mám vôbec robiť loader pre multiparty? ak áno, budú musieť byť dve
verzie > loadera, pre singleparty (v hlavičke) a pre multiparty (realokovaný). > > 3) je dôležité testovanie SHIFT+BREAK? zaberá zbytočne miesto, nie je > jednoduchší reset? > > > zatiaľ všetko, čakám na feedback... > > Feri > > > > > > === reklama ====================================== > > http://mail.szm.com - e-mail a priestor na www stranku zadarmo > > http://webhosting.szm.com - domeny a webhosting za najnizsie ceny > > > > > > --- > > >
Ostatní příspěvky vlákna:
[2008/1 (9)] [2008/2 (1)] [2008/3 (7)] [2008/4 (16)] [2008/5 (22)] [2008/6 (45)] [2008/7 (9)] [2008/8 (34)] [2008/9 (134)] [2008/10 (8)] [2008/11 (3)] [2008/12 (6)]
[1999 (1)]
[2000 (168)]
[2001 (733)]
[2002 (459)]
[2003 (654)]
[2004 (224)]
[2005 (105)]
[2006 (182)]
[2007 (201)]
[2008 (294)]
[2009 (363)]
[2010 (782)]
[2011 (522)]
[2012 (642)]
[2013 (442)]