OldComp.cz
https://oldcomp.cz/

QDTool - konverze a editace QDF, MZQ, MZF, MZT
https://oldcomp.cz/viewtopic.php?f=134&t=12567
Stránka 11

Autor:  Martin8bity [ 26.02.2024, 18:49 ]
Předmět příspěvku:  QDTool - konverze a editace QDF, MZQ, MZF, MZT

Kdyby někdo potřeboval, tak jsem dal dohromady jednoduchý nástroj pro vzájmenou konverzi formátů QDF, MZQ, MZF a MZT. Kromě konverze se dají soubory i editovat, tj. mazat, přidávat, měnit pořadí souboru, což se může hodit třeba pro tvorbu vícesouborových MZT tape souborů pro UniCMT. Přes Drag&Drop hodíte MZF soubory do seznamu, změníte pořadí dle potřeby a uložíte jako MZT.

https://github.com/mlukasek/QDTool

Je to napsané jako WPF aplikace, takže to potřebuje .NET Framework 6.0, který si to umí stáhnout samo.

Časem plánuju rozšíření o další formáty, nejprve přidám RAW a MFM, co umí dělat QDC, to už mám v podstatě ozkoušené a v plánu jsou i QD soubory pro FlashFloppy / HxC emulátor QuickDisku.

Pokud narazíte na nějaký bug nebo máte nějaké nápady na vylepšení, sem s nimi, ale pamatujte, že nejsou lidi :-) takže nejlepší je napsat to sám a udělat pull request ;-)

Autor:  Mikes21 [ 27.02.2024, 09:42 ]
Předmět příspěvku:  Re: QDTool - konverze a editace QDF, MZQ, MZF, MZT

Uz tady na to koukam, tedy a docela dobry. Casem by se klidne mohlo zrusit to slovo 'Simple' ;-)

Prikladam dva image, ktere jsem nasel. Zdanlive je tam hlavicka (7 bytu) stejna, ale jeden to nechce nacist. Nevim, zkusim se podivat do src, co tam vadi. Myslim, ze je tam ulozeny pocet zaznamu(souboru), ale nejsem si jisty, jestli je to smerodatne pri nacitani.
Myslim, ze hlavicka jako takova je u MZQ v podstate 15 bytu. Tedy kdyz vynecham/ignoruji prave ten pocet souboru, ktery se muze menit.

Ale super, jen tak dal. Dobry 'Startup'. Az budou lidi, to se to to bude rozrustat :-D

Přílohy:
Mikes_pokusy.zip [36.17 KiB]
83 krát

Autor:  Martin8bity [ 27.02.2024, 10:40 ]
Předmět příspěvku:  Re: QDTool - konverze a editace QDF, MZQ, MZF, MZT

Díky. Upravím ty chybové hlášky, aby byly jasnější a přidám tam asi i pozici, kde to kouslo.

Chyba v tom mzfloader.mzq souboru je v délce dat u druhého vnitřního souboru "OPENING 800". Podle MZF hlavičky mají data délku 0x43E1, stejná velikost je i správně i v "QuickDisk" hlavičce datového bloku. Vlastní souborová data začínají na adrese 0x13B7, tj. jejich konec by měl být na 0x5798 a i to tak vypadá, podle 00 00 00, čímž obvykle BASIC program končí. Nicméně je tam ale ještě 31 bytů nějakých dat než následuje CRC. Osobně to tipuju na to, že to někdo sestavoval ručně, a že ty data jsou tam natvrdo nakopírovaná z MZF souboru, který měl fyzicky špatnou délku. Toto je u většiny souborů na SCAV, protože jsou kopírované přes CP/M. Data mají velikost 0x43E1, ale v souboru je fyzicky o 31 bytů víc, tj. 0x4400, protože CP/M má velikost souboru zaokrouhlenou vždy po 128 bytech. V MZQ souboru skáču natvrdo podle délky, nejsou tam byty navíc a jak nenajdu CRC, tak hodím chybu. Kdybych vyhledával tu startovací sekvenci 00 16 16 A5, tak bych to mohl obejít, abych takový soubor načetl správně, ale CRC je prostě každopádně na špatném místě a je otázka, jak se k tomu stavět. U QDF souborů ten CRC skutečně počítám, ale tady jen ověřuju, jestli je tam, kde má být.

Na ty blbé délky MZF souborů mám další tool, který taky hodím na GitHub, umí projet adresářovou strukturu a soubory MZF se špatnou délkou opravit. Normálně to ničemu moc nevadí, ale jak se to skládá za sebe nějakou concatenací, tak je problém.

Autor:  tomascz [ 27.02.2024, 10:53 ]
Předmět příspěvku:  Re: QDTool - konverze a editace QDF, MZQ, MZF, MZT

Cením odvahy použít WPF :-)
Cením komentářů v kódu :like: :)

Jen se mi to nepodařilo spustit bez doinstalování .NOT 6 - a protože jsem mizerný C# programátor, nepodařilo se mi to ve VS2017 ani zkonvertovat do předchozí verze runtimu :-(


Mám jenom kosmetickou - používám zoom obrazovky 125%, jestli to s tím třeba nesouvisí?
I když je to needitovatelný, tak ten hexa-browser vypadá moc hezky :like:

Obrázek

Autor:  Martin8bity [ 27.02.2024, 15:52 ]
Předmět příspěvku:  Re: QDTool - konverze a editace QDF, MZQ, MZF, MZT

;-) WPF proto, že jsem si ho chtěl osahat, ale vůbec v něm neumím a C# proto, že je to jednodušší než v C++ ;-)

Důsledkem jsou právě třeba ty posununté obdélníky co měly označovat hlavičku QuickDisk bloku a CRC. Vím o nich, lyže sejmout ;-) Dokonce se i počítají a posouvají dynamicky podle rozlišení, až se to vyrenderuje. Akorát mi to nějak nefunguje ;-))) Plán je, že je prozatím asi vypnu úplně a časem asi ten viewer předělám na nějaký sofistikovanější ty ovládacího prvku. Chtěl bych různé části odlišit třeba nějakým lehkým podbarevním, aby se v tom dobře orientovalo.

Stránka 11 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/