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 velice
 kratkou 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)]