Konference: Počítač SHARP MZ-800 a emulátory

Od: Zdenek Adler
Datum: 10.7.2008 08:57
Předmět: Re: TURBO LOADER 1.0 (beta) - 800ster


Jeste jsi se ptal na to co zavolat z monitoru na load programu -
 
 
- call 04D8 - nahrani hlavicky
- call 04F8 - nahrani tela
 
(pisu z hlavy, doufam ze nekecam)
 
Zdenek
 
 
----- Original Message -----
From: Feri (sharpemu tu byla ta zakroucena vec pandora.cz)
To: Konference "Počítač SHARP MZ-800 a emulátory"
Sent: Wednesday, July 09, 2008 11:07 PM
Subject: 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)]


[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)]