zxcygnus píše:
očekával jsem, že to bude lepší náhrada Pressoru.
Nad touto moznostou, t.j. aby sa obrazok aj rovno zapakoval, som tiez uvazoval. Ale napokon som od toho upustil hned z troch dovodov:
1. LZ kompresia je na rozdiel od RLE (pouzitej v Pressore) velmi komplexna vec, a existuje cely rad specializovanych LZ kompresorov, ktorych funkcionalitu by bolo "na dlhe lakte" doplnat do jednoducheho remappera.
2. Na niektore data je lepsi nejaky typ LZ kompresie, na ine data zase iny typ. Zadratovat tam jeden konkretny typ by mohlo viest k horsiemu kompresnemu pomeru v pripade, ak data tej LZ kompresii zrovna moc nesadnu.
3. Chcel som nechat uzivatelovi volnost vo vybere ktory LZ kompresor pouzije. Niekomu sa lepsie pouziva jeden, inemu zase iny. A casom sa mozno objavi dalsi, lepsi, a bola by skoda ho nevyuzit.
zxcygnus píše:
Tak já tedy počkám až to někdo dokončí
Ja osobne to (z vyssie menovanych dovodov) v plane nemam. Ale ak by sa toho chcel niekto ujat, budem len rad a rad mu pomozem.
Ale ak by si sa uspokojil s dokoncenim v podobe skriptu (bataku), tak ti ponukam nieco v style toho co na finalne zapakovanie obrazkov pouzivam ja. Skript ako vstupny parameter dostane subor s obrazkom, zavola ZX remapper, potom premapovane obrazky necha skomprimovat LzxPack-om, prikompiluje k tomu Lzx depaker a na zaver vypise vsetky vysledne subory zoradene podla dlzky, aby uzivatel pekne videl, ktora verzia premapovania s ktorou kompresiou dava najlepsi vysledok. Vysledne subory uz obsahuju vsetko potrebne - Lzx depaker, demapper a obrazkove data, takze ich staci nahrat na adresu #8000 a rovno spustit (adresa sa da podla potreby zmenit).
Tu je ten skript:
https://busy.speccy.cz/tmp/screen-pack-script.rarSpusta sa: !Pack!.bat <nazov_screenu>
Skript pre svoju cinnost pouziva programy ZXremap6, SjASMPlus a LzxPack (verziu 02), ktore ocakava ze budu v ceste. Okrem premapovanych obrazkov spakuje aj povodny obrazok a vypise ho spolu s ostatnymi subormi, aby bolo lepsie vidno, ako (a ci vobec) premapovanie pomohlo. Priklad vysledku pakovania znameho obrazku "mikroskop.zxs" je tu:
Kód:
01.12.2023 16:58 3 664 m21-tr.cod
01.12.2023 16:58 3 674 m22-tr.cod
01.12.2023 16:58 3 688 m21-tn.cod
01.12.2023 16:58 3 693 m22-tn.cod
01.12.2023 16:58 3 812 m11-tr.cod
01.12.2023 16:58 3 835 m12-tr.cod
01.12.2023 16:58 3 843 m11-tn.cod
01.12.2023 16:58 3 856 m12-tn.cod
01.12.2023 16:58 4 106 m20-tr.cod
01.12.2023 16:58 4 120 m20-tn.cod
01.12.2023 16:58 4 129 m10-tr.cod
01.12.2023 16:58 4 153 m10-tn.cod
01.12.2023 16:58 4 425 m01-tr.cod
01.12.2023 16:58 4 437 m01-tn.cod
01.12.2023 16:58 4 441 m02-tr.cod
01.12.2023 16:58 4 468 m02-tn.cod
01.12.2023 16:58 4 517 scr-tr.cod
01.12.2023 16:58 4 524 scr-tn.cod
Subory scr*.cod su povodny spakovany screen tak ako je, bez premapovania.
Vidno, ze najlepsi kompresny pomer sa dosiahol pri premapovani v mode 21, takze do programu pouzijeme subor "m21-tr.cod".
PS: Nezabudnite depakovat archiv so skriptom do noveho cisteho prazdneho adresara !