OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 28.03.2024, 21:11

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 6 ] 
Autor Zpráva
 Předmět příspěvku: CMTtool v1.0
PříspěvekNapsal: 02.10.2018, 21:10 
Offline
Kecálek

Registrován: 10.10.2014, 10:40
Příspěvky: 89
Has thanked: 3 times
Been thanked: 48 times
Toto je crosspost anounce, kterou jsem dnes poslal do maillistu sharpmz@mail.ordoz.com

Ahoj,

jako vedlejsi produkt k emulatoru jsem naprogramoval nastroj pro analyzu a import dat z MZ CMT audio zaznamu (jen WAV).

Testoval jsem to na standardne pouzivanych rychlostech. Nepouziva se pevny readpoint, ale pokousim se prubezne z pilotniho signalu odhadnout spravne delky pulzu.
Pri testovani jsem pouzil nejake svoje WAV, ktere jsem kdysi nahral primo ze Sharpa pres zvukovku, ve vsech dostupnych rychlostech z Inter Copy a z Turbo Copy a i kdyz byly pomerne vydatne rusene signalem ze scandoubleru, tak je analyzerem bez problemu rozlousknu - otazkou vsak je, jak si to poradi se signalem z nejake stare kazety...

Program umi dekodovat standardni CMT format - NORMAL, BSD (ten se uklada v BASIC pres wopen), TURBO a FastIPL.

Exportovat umi bud automaticky cely obsah "pasky" do zvoleneho adresare, nebo jen konkretni soubor podle poradoveho ID. Exportni format je bud standardni MZF, nebo DAT, coz je vlastne jen telo souboru bez hlavicky.

TURBO (Turbo Copy) - se mi podarilo najit jen ve verzich 1.0, 1.2, 1.2.1 a 1.22

FastIPL (InterCopy) - jsem nasel ve verzich 2, 7, 7.2, 8, 8.2, 10.1 a 10.2

Tyto verze tedy umim rozpoznat a dekodovat. Pokud mate i nejake jine, tak mi je prosim poslete.

BSD format dnes neni jako MZF podporovan zadnym emulatorem. Standardne jej tedy exportuji do vystupniho formatu DAT.

Ted mne napada, ze jsem tim nezkousel dekodovat CMT zaznam z cp/m, ale predpokladam, ze by nemel byt nicim problemovy (ma trochu jine delky pulzu).

Nepoustel jsem se do dekodovani ochranneho CMT zaznamu BuBuSoft, protoze se mi doposud nepodarilo sehnat zadny audio zaznam v tomto formatu. Principielne si pamatuju, ze je ta ochrana podobna, jako FastIPL + nejake XORy k tomu, nekde mam na disku i svuj stary dekoder tohoto formatu, ale chybi mi v nem vzorek puvodnich dat, coz je nezbytne k tomu, abych ten BBS format dokazal automaticky identifikovat.

Take se mi nepodarilo vymyslet zadnou spolehlivou analyzu, ktera by identifikovala standardni ZX Sinclair format a soucasne i Sharp MZ format, tak jak to umi InterCopy 10.2 - ten jsem se pokousel disassemblovat a pochopit v letos kvetnu a bohuzel jsem neuspel, tak treba nekdy priste - pokud se mi zvedne ztracene sebevedomi :)

Pokud si CMTtool stahnete a vyzkousite, tak mi o tom dejte prosim alespon strucne vedet, abych vedel, ze to krome mne jeste nekdo testoval.

Dal jsem k dispozici ke stazeni RAR archiv s EXE a DLL a take TGZ archiv se zdrojaky. Pokud budete do kodu nejak zasahovat, nebo pokud jej treba nekde pouzijete, tak mi o tom prosim dejte alespon vedet. Diky.

CMTtool je ke stazeni u mne na webu https://www.ordoz.com/sharp/

Michal


Nahoru
 Profil  
 
 Předmět příspěvku: Re: CMTtool v1.0
PříspěvekNapsal: 04.10.2018, 15:42 
Offline
Kecálek
Uživatelský avatar

Registrován: 06.08.2013, 10:49
Příspěvky: 220
Bydliště: Praha
Has thanked: 232 times
Been thanked: 67 times
Testoval jsem zatím jen ve Windows, vybral jsem pár kratších her (Addtris, Man Hunt, Bomber Man) a zapisoval je do WAVů různými rychlostmi v Turbo Copy V1.21 v emulátoru a přikládám postřehy:

1) hry uložené rychlostí 3/1 utilita nepřečte, hlásí "Found 0 file(s)" když jsou uložené bez loaderu, resp. "Error when reading file TURBO body '4'! Found 0 file(s)" s loaderem
2) délka ticha na konci WAVu má velký vliv na dobu zpracování, např. addtris.wav s cca 1,5sekundovým tichem na konci utilita chroustala asi 6 sekund, kdežto ta samá hra s cca 3,5sekundovým tichem na konci trvala asi 28 sekund
3) výsledné MZF soubory mají na 17. bajtu hlavičky (počítáno od nuly) natvrdo hodnotu 0x0d (což ničemu nevadí, akorát výsledek pak nemusí být úplně shodný s předlohou)

Mám doma nějaké zatím neprozkoumané kazety, tak bych s tím snad o víkendu mohl něco udělat.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: CMTtool v1.0
PříspěvekNapsal: 05.10.2018, 15:04 
Offline
Kecálek

Registrován: 10.10.2014, 10:40
Příspěvky: 89
Has thanked: 3 times
Been thanked: 48 times
mop píše:
Testoval jsem zatím jen ve Windows, vybral jsem pár kratších her (Addtris, Man Hunt, Bomber Man) a zapisoval je do WAVů různými rychlostmi v Turbo Copy V1.21 v emulátoru a přikládám postřehy:


Ve kterem emulatoru? V mojem, nebo v emulatoru Zdenka Adlera? Ten Zdenkuv totiz ty ulozene WAV soubory mnohdy neumi precist ani sam po sobe ;)

mop píše:
1) hry uložené rychlostí 3/1 utilita nepřečte, hlásí "Found 0 file(s)" když jsou uložené bez loaderu, resp. "Error when reading file TURBO body '4'! Found 0 file(s)" s loaderem


'TURBO body 4' - znamena, ze nacetl header, nacetl normal body, identifikoval ho jako TURBO loader, nasel a zacal cist zrychleny body, ale pocet bajtu mu nesednul a narazilo se na EOF (konec WAV souboru)

Pokud ten soubor pochazel odjinud, nez ze Zdenkova emulatoru, tak ma smysl se na nej podivat - mozna zkusit i zmenit polaritu

mop píše:
2) délka ticha na konci WAVu má velký vliv na dobu zpracování, např. addtris.wav s cca 1,5sekundovým tichem na konci utilita chroustala asi 6 sekund, kdežto ta samá hra s cca 3,5sekundovým tichem na konci trvala asi 28 sekund


To zni dost divne ... Mam tady napr. zaznam, ktery jsem nahral zvukovkou kabelem primo ze Sharpa a je tam pomerne dost "ticha" pred i za i mezi headerem a body a veskere tohle ticho je vyplneno neskutecnym sumem, ktery zpusobuje to, ze tam mam primo nad audio konektorem pripevneny FPGA scandoubler. Zaznam jsem nahral v TC 1.21 rychlosti 3:1, bez loaderu a Intercopy u toho zaznamu pri nacteni napsal, ze to ma 2756 Baud.

Takhle vypada zpracovani s verbose vystupem - doba behu programi pri zpracovani je 0.038 sekundy:

$ time ./dist/Release-Linux/GNU-Linux/cmttool ../mz800emu/CMT/WAV/save_TC31_2756.wav -v
MZ cmttool ver 1.0

Analyzer open file: ../mz800emu/CMT/WAV/save_TC31_2756.wav
Polarity: normal
Start time: 0,000000 s

Searching MZF header
Search block - tapemark: 40, size: 0x0080, position: 0
Header found! (4091 Baud/s). End at position: 369026
fname: OOO
ftype: 0x01
fstrt: 0x0000
fsize: 0x1001
fexec: 0x0000
Search block - tapemark: 20, size: 0x1001, position: 369026
Body - OK! (3226 Baud/s). End at position: 1017498
Searching MZF header
Search block - tapemark: 40, size: 0x0080, position: 1017498
Found 1 file(s)

ID Format Type File name Size Start Exec Pos.(s)
0 NORMAL 0x01 OOO 0x1001 0x0000 0x0000 0,000000


real 0m0.038s
user 0m0.030s
sys 0m0.006s


Kdyz tak mi nejake zajimave WAV posli - podivam se na to.

mop píše:
3) výsledné MZF soubory mají na 17. bajtu hlavičky (počítáno od nuly) natvrdo hodnotu 0x0d (což ničemu nevadí, akorát výsledek pak nemusí být úplně shodný s předlohou)


Ano, to je zamer, protoze podle definice MZF by tam ten 0x0d mel byt. Narazil jsem uz na par MZF, ktere za jmenem nemely zadny terminacni znak, takze moje knihovna pro praci s MZF to timhle zpusobem fixuje - kdyby to nekomu melo v necem vadit, tak tam lze samozrejme pridat option, kterym se tohle chovani vypne, ale jak rikam - spravne to tam ma byt.


PS: Tohle je ten muj WAV 3:1 nahrany ze Sharpa - obsah neres - je tam dolni ROM https://ordoz.com/nesmysly/save_TC31_2756.wav


Nahoru
 Profil  
 
 Předmět příspěvku: Re: CMTtool v1.0
PříspěvekNapsal: 05.10.2018, 15:36 
Offline
Kecálek

Registrován: 10.10.2014, 10:40
Příspěvky: 89
Has thanked: 3 times
Been thanked: 48 times
Letmo jsem ted zkusil save v Turbo Copy ve Zdenkovem emulatoru a nedokaze to samo po sobe precist ani WAV ulozeny rychlosti 1:1 :) Intercopy 10.x je na tom tusim o malinko lepe, protoze ma vyspelejsi algoritmy, ktere umi sledovat zmeny sirky pulzu v prubehu nahravani, ale mam pocit, ze i tak po sobe precte max 1:1


Nahoru
 Profil  
 
 Předmět příspěvku: Re: CMTtool v1.0
PříspěvekNapsal: 10.10.2018, 11:42 
Offline
Kecálek
Uživatelský avatar

Registrován: 06.08.2013, 10:49
Příspěvky: 220
Bydliště: Praha
Has thanked: 232 times
Been thanked: 67 times
chaky píše:
Ten Zdenkuv totiz ty ulozene WAV soubory mnohdy neumi precist ani sam po sobe ;)

Ano, byly všechny ze Zdeňkova emulátoru. Nevěděl jsem, že jsou nějak problematické. WAVy ze zabudovaného konvertoru a WAVy uložené v Turbo Copy rychlostí nižší než 3/1 byly ale v zásadě OK, až na tu dobu, než z utility něco vylezlo.

Nedošlo mi, že tvůj emulátor už taky ukládá :like:

chaky píše:
Kdyz tak mi nejake zajimave WAV posli - podivam se na to.


Kdyby se ti chtělo, mám zatím jen tenhle, se kterým si utilita neporadila (z nějaké kazety, záznam už je asi špatný):
https://drive.google.com/open?id=18W4G7PpQfCZ12MHsY3Kc4LkL8D_zUCK9


Nahoru
 Profil  
 
 Předmět příspěvku: Re: CMTtool v1.0
PříspěvekNapsal: 12.10.2018, 10:07 
Offline
Kecálek

Registrován: 10.10.2014, 10:40
Příspěvky: 89
Has thanked: 3 times
Been thanked: 48 times
mop píše:
Kdyby se ti chtělo, mám zatím jen tenhle, se kterým si utilita neporadila (z nějaké kazety, záznam už je asi špatný):
https://drive.google.com/open?id=18W4G7PpQfCZ12MHsY3Kc4LkL8D_zUCK9


Prohlizim si ten soubor v Audacity - nevypada, ze by tam bylo nejake ruseni. Delky pulzu vypadaji taky docela konstantni, ale vypada to, ze se na tom dost podepsal nejaky audio filtr, ktery dost podstatne zmenil tvar tech pulzu (nejake automaticke dorovnavani urovne?), takze ta konverze asi selhava uz na prevodu WAV na seriova data.

Zkusim si s tim trochu pohrat, ale ted o vikendu se k tomu urcite nedostanu.


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 6 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 4 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz