Konference: Počítač SHARP MZ-800 a emulátory
Od: | Feri |
Datum: | 10.7.2008 00:07 |
Předmět: | TURBO LOADER 1.0 (beta) - 800ster |
tadá!
tak sa mi konečne podarilo niečo nahrať - ale ztaiaľ len v emulátore, preto veľmi prosím majiteľov šarpíkov aby prehnali cez kazety/audiokáble dole priloženú nahrávku. je to turbocopy...
trochu teórie:
- prvý som spravil univerzálny loader, ktorý by mal nahrať aj viacdielne programy, zatiaľ sa mi ale nepodarilo rozbehať povedzme wooky - je tam asi zlý entrypoint do ROM ($E945), ak mi niekto v tomto poradíte, budem rád.
- loader sa nahráva pod VRAM na $CF00, tam sa neprepíše ani pri nahrávaní bejziku - ALE samotný bejzik sa nahrať nedá -zatiaľ neviem prečo, ale po nahratí zatuhne. chcecksum sedí, inak by hodil chybu.
- loader patchuje rutinu pre nahratie BYTE - tzn. zavádzací signál je v klasickej rýchlosti (ale potom to príde, ten fukot...) :-)
- byte je kódovaný do dvoch vĺn - každá vlna kóduje štvoricu bitov (dva hore, dva dole), za čím nasleduje vyrovnávacia vlna s pauzou (aby mal čas zbehnúť kód monitora pre nahratie ďalšieho byte). je tam rezerva aj na prípadné negovanie bajtu, to v prípade že počet jednotiek je veľký (povedzme $FF sa zakóduje ako $00 a na konci sa pošle bit, že sa má negovať - to ale zatiaľ nie je implementované, navyše štatisticky sa jedná o úsporu len cca 6%)
- dĺžka vĺn je na úrovni dvoch samplov na bit - čo môže spôsobovať problémy. preto potrebujem vedieť či to vôbec ide v reále...
- loader má cca 192 bajtov, do hlavičky sa už nevôjde :-(
- kódovanie na tri bity (efektívnejší) pripravujem, dajte mi zatiaľ vedieť ako to fičí pri tejto rýchlosti. že či to stiahnuť na 3 sample na bit...
trocha štatistiky:
- celé audio má cca 21 sekúnd. turbocopy má 7 296 bajtov = 2730 kbit/s - teda pesimisticky (s tichom naokolo a medzi blokmi, loader + hlavičky a tak) je to nič moc
- čisté telo programu TC má menej ako 5 sekúnd. to je optimisticky cca 11468 bit/s. slušné, na prvý pokus...
soft na generovanie nahrávky je v Jave, spúšťa sa cez commandline a má takýto help:
============================================================================
Use: RunMe [switches] [filename.wav] [[switches] [filename.mzf]]*
Switches (global, may be anywhere in commandline):
-48 samplerate 48 kHz (default is 44,1 kHz)
-p inverted polarity
-wn waveform normal square (default)
-wsin waveform sine (good for mp3, bad for high speeds)
-wsqr waveform sqrt sine (good for mp3, recommended for high s
peeds)
Switches (applied to following MZ source):
-fn format: normal CMT mode
-f2 format: fast 2x (no loader)
-f3 format: fast 3x (no loader)
-ft2 format: TurboCopy 2x
-ft3 format: TurboCopy 3x
-fi2 format: InterCopy
-fb1 format: 800ster (booster)
Example:
RunMe -wsqr flappy.mzf
writes flappy.mzf to flappy.mzf.wav using square root sine wave
in normal speed
RunMe -fb1 tape.wav flappy.mzf basic1z016.mzf
writes tape.wav with flappy and basic in boost format (loader ad
ded automaticaly for every file)
==============================================================================
znamená to asi toľko, že do jedného wavu zapíše postupne všetky MZF súbory a prepínač pred názvom MZF prepína mód, v akom sa nahrá. simple.
prosím o reakcie a hlavne radu, čo z monitoru zavolať na load programu, rutiny $0111 ani $E945 nefungujú na väčšie programy...
Feri.
(See attached file: turbotc.zip)
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)]