OldComp.cz

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

HVDOSdev2019!

Právě je 18 čer 2019, 22:57

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 45 ]  Přejít na stránku Předchozí  1, 2, 3
Autor Zpráva
 Předmět příspěvku: Re: Komprimacny program LZX
PříspěvekNapsal: 07 úno 2017, 12:45 
Offline
Pan Generální

Registrován: 22 kvě 2013, 21:14
Příspěvky: 2196
Bydliště: Bratislava
Has thanked: 241 times
Been thanked: 413 times
Jiiira píše:
Busy píše:
Jiiira píše:
Ehm, a o 16KB RAM packu už jsi slyšel? :neener:
A ty o 64kB RAM packu ? :poke: :?:
Tak hoď link, ať se poučím 8-) ... ale pak už vůbec nechápu, proč tu provokuješ s 1KB RAM, když dobře víš, že doba se už změnila...
Ja som s tym ZX80 nezacal :shrug: A ohladom tych 64kB, ty si vazne este nepocul o 64kB RAM packu ? :shock: To vies, doba pokrocila... :D Inak bolo to popisane v ktoromsi amare z 80-tych rokov, ale cislo a presny rocnik si uz nepametam. Ale vratme sa k teme. Podla toho obrazku co tu dal SCjoe to vyzera tak ze depakoval iba 768-bajtovy font. A toto by v pohode zvladol moj LZX aj na originalnom ZX80 s 1kB ram bez akychkolvek pridavnych RAM packov. A este by zostalo nieco vyse 100 bajtov volne miesto :)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacny program LZX
PříspěvekNapsal: 07 úno 2017, 12:52 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13 kvě 2013, 10:52
Příspěvky: 1768
Bydliště: Mliecna draha
Has thanked: 20 times
Been thanked: 124 times
Busy píše:
...A ty o 64kB RAM packu ? :poke: :?:


Chlapci na ZX81 predsa mozete mat 1MB ram tak ake problemy.

_________________
Amiga 600 + a602, Amiga 600 PCB only, Commodore 64+ZZ-RAM V1.0 512k+C1541(18k RAM)+sd2iec +9.600 Rs232, Commodore 116 + 64k upgrade, ZX 81 ISSUE1 + ZX81XRAM

http://zz-indigo.mavipet.sk/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacny program LZX
PříspěvekNapsal: 07 úno 2017, 13:05 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 11 čer 2013, 15:27
Příspěvky: 1699
Has thanked: 1103 times
Been thanked: 306 times
Hm, velikost pameti od pocatku devadesatych let, kdy jsem poridil dalsich 256K, nejak moc neresim.
Vysel jsem z nazvu: Univerzalny LZX packer pre subory do 64kB
a tak si ponechavam nadeji, ze depack bude podporovat i cokoliv nad 64K zakladniho pametoveho prostoru....


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacny program LZX
PříspěvekNapsal: 07 úno 2017, 13:49 
Offline
Pan Generální

Registrován: 22 kvě 2013, 21:14
Příspěvky: 2196
Bydliště: Bratislava
Has thanked: 241 times
Been thanked: 413 times
SCjoe píše:
Vysel jsem z nazvu: Univerzalny LZX packer pre subory do 64kB
a tak si ponechavam nadeji, ze depack bude podporovat i cokoliv nad 64K zakladniho pametoveho prostoru....
To vobec nie je potrebne, pretoze LZX depacker nepotrebuje ziadnu pamet navyse mimo Z80 zakladneho adresoveho priestoru 64kB. Okrem toho, blok spakovanych dat a miesto pre rozpakovavane data sa mozu aj ciastocne prekryvat, takze vdaka tomu je mozne na all-ram 64kB depakovat data dlhe az 65536 minus cca mala rezerva sto bajtov. V tej rezerve je depaker + cca osem bajtov na prekrytie blokov a zopar malo bajtov na zasobnik.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacny program LZX
PříspěvekNapsal: 15 bře 2017, 20:35 
Offline
Kecálek

Registrován: 18 říj 2014, 23:10
Příspěvky: 196
Has thanked: 12 times
Been thanked: 45 times
Zdravím,
tak som to vyskúšal a je to celkom fajn. Na moje data sa najviac osvedčila metoda -t56o9o12 a na iné zas -t54o3.
Chcel by som napísať niečo k depack rutine. Pri kompresii viacerých blokov (u mňa stránky 16384 KB) a ukladaní
skompresovaných dát za sebou si netreba pamätať dĺžky týchto blokov, lebo depack rutina vráti adresu zdrojových
dát 2 bajty za koncom depackovaneho bloku. Takže stačí len 2*DEC HL a máme požadovanú adresu.
Ak to platí vždy, tak by to tu mohol Busy potvrdiť. A ak to je len náhoda, tak to berte ako kuriozitu, že mi to vyšlo
35 krát.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacny program LZX
PříspěvekNapsal: 16 bře 2017, 12:53 
Offline
Pan Generální

Registrován: 22 kvě 2013, 21:14
Příspěvky: 2196
Bydliště: Bratislava
Has thanked: 241 times
Been thanked: 413 times
Antony/DTA píše:
Pri kompresii viacerých blokov (u mňa stránky 16384 KB) a ukladaní
skompresovaných dát za sebou si netreba pamätať dĺžky týchto blokov, lebo depack rutina vráti adresu zdrojových
dát 2 bajty za koncom depackovaneho bloku. Takže stačí len 2*DEC HL a máme požadovanú adresu.
Ak to platí vždy, tak by to tu mohol Busy potvrdiť. A ak to je len náhoda, tak to berte ako kuriozitu, že mi to vyšlo
35 krát.
Pri dekompresii LZM a LZE (-t11 a -t22) ukazuje HL hned na prvy bajt za kompresovanym blokom, takze v tomto pripade to neplati.

Kompresie -t3x a vyssie su uz trosku zlozitejsie, pretoze pouziju bitstream a pocet bajtov v skomprimovanych datach zavisi aj od toho ako do bajtu sadne koniec bitstreamu. Ale obecne pravidlo je ze ako koncova znacka kompresie sa pouziva 16-bitova dlzka dat, preto sa (vzhladom na optimalizaciu dekompresora) na konci dekompresie z kompresovanych dat nacita este 16 bitov, ktore sa ale nasledne zahodia. Takze je vysoko pravdepodobne ze naozaj to vzdy nacita o 2 bajty viac. Overit je to mozne na zaklade vypisu statistiky (prepinac -s):
Kód:
Packed length
==============
bytes   (bits)
Pokial to plati pre nejaky konkretny pocet "bits" delitelny osmimi a zaroven aj pre pocet "bits" nedelitelny osmimi, tak to bude bude platit vzdy pre akykolvek subor skomprimovany kompresiami -t3X, -t4X a -t5X.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacny program LZX
PříspěvekNapsal: 24 zář 2018, 11:56 
Offline
Kecálek
Uživatelský avatar

Registrován: 06 srp 2013, 10:49
Příspěvky: 217
Bydliště: Praha
Has thanked: 182 times
Been thanked: 57 times
Rozbalil jsem data z několika 16- a 4barevných PNG obrázků a prohnal je kompresí LZX. Dopadlo to následovně:

Kód:
                      PNG IDAT chunk      PNG IDAT chunk          LZX                 unpacked
                      (compression 6)     (compression 9)
16 x 16 x 2bpp               63                  63                46 (t34o1)               80
16 x 16 x 4bpp               77                  77                59 (t34o1)              144
256 x 192 x 2bpp          2 388               2 358             2 497 (t34o3)           12 480
256 x 192 x 4bpp          2 642               2 497             2 720 (t34o3)           24 768
320 x 200 x 2bpp          1 287               1 181             1 227 (t36o8o14)        16 200
320 x 200 x 4bpp          1 468               1 331             1 352 (t34o4)           32 200
640 x 400 x 2bpp         10 596              10 486            11 540 (t36o8o12)        64 400
640 x 400 x 4bpp         16 843              16 616             9 924 (t36o9o13)       128 400

Myslím, že si LZX nevede špatně. Obzvlášť ten poslední řádek mi připadá skoro až podezřelý.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacny program LZX
PříspěvekNapsal: 24 zář 2018, 12:17 
Offline
Pan Generální

Registrován: 22 kvě 2013, 21:14
Příspěvky: 2196
Bydliště: Bratislava
Has thanked: 241 times
Been thanked: 413 times
mop píše:
ten poslední řádek mi připadá skoro až podezřelý.
LzxPack je urceny na pakovanie suborov do dlzky 64kB. Pri citani suboru dlhsieho ako 64kB nacita z neho len prvych 65535 bajtov a informuje o tom vo vypise na stdout.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacny program LZX
PříspěvekNapsal: 24 zář 2018, 14:24 
Offline
Kecálek
Uživatelský avatar

Registrován: 06 srp 2013, 10:49
Příspěvky: 217
Bydliště: Praha
Has thanked: 182 times
Been thanked: 57 times
Busy píše:
Pri citani suboru dlhsieho ako 64kB nacita z neho len prvych 65535 bajtov a informuje o tom vo vypise na stdout.
No jo, kdybych nebyl "odpočatý" po víkendu, tak bych si asi všimnul.

Ještě tři pokusy blízko hraniční hodnoty:
Kód:
                      PNG IDAT chunk      PNG IDAT chunk          LZX                 unpacked
                      (compression 6)     (compression 9)
320 x 204 x 8bpp          7 141               7 076             7 650 (t36o9o14)        65 484
456 x 285 x 4bpp          8 439               8 431             9 113 (t36o8o13)        65 265
648 x 402 x 2bpp          9 930               9 796            10 863 (t36o8o13)        65 526


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacny program LZX
PříspěvekNapsal: 24 zář 2018, 15:16 
Offline
Pan Generální

Registrován: 22 kvě 2013, 21:14
Příspěvky: 2196
Bydliště: Bratislava
Has thanked: 241 times
Been thanked: 413 times
To unpacked boli ake data ?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacny program LZX
PříspěvekNapsal: 25 zář 2018, 10:37 
Offline
Kecálek
Uživatelský avatar

Registrován: 06 srp 2013, 10:49
Příspěvky: 217
Bydliště: Praha
Has thanked: 182 times
Been thanked: 57 times
Obsah chunku IDAT rozbalený pomocí zlib.decompress() v Pythonu.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacny program LZX
PříspěvekNapsal: 11 dub 2019, 09:06 
Offline
Pan Generální

Registrován: 22 kvě 2013, 21:14
Příspěvky: 2196
Bydliště: Bratislava
Has thanked: 241 times
Been thanked: 413 times
Doniesla a ku mne informacia, ze vraj niektori ludia odmietaju LzxPack pouzivat, pretoze je pod licenciou GPL.

Tak by som len chcel upresnit, ze packer/lister na velabitovych pocitacoch su sice GPL, ale depackery pisane v Z80 asembleri, urcene pre pouzitie v aplikaciach pre 8-bity, maju licenciu MIT. Takze ich mozete smelo menit a zaclenovat do svojich programov bez otravnych GPL podmienok.

PS: Aj tak si myslim, ze hrat sa na nejake licencie v nasom 8-bitovom svete absolutne nema zmysel...


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacny program LZX
PříspěvekNapsal: 11 dub 2019, 09:10 
Offline
Radil
Uživatelský avatar

Registrován: 24 kvě 2018, 22:32
Příspěvky: 512
Bydliště: Most, Praha
Has thanked: 158 times
Been thanked: 130 times
Zajímalo by mě jak by si někdo u 8-bitů představoval "komerční využití". :-)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacny program LZX
PříspěvekNapsal: 11 dub 2019, 09:48 
Offline
Pan Generální

Registrován: 22 kvě 2013, 21:14
Příspěvky: 2196
Bydliště: Bratislava
Has thanked: 241 times
Been thanked: 413 times
Panda38 píše:
Zajímalo by mě jak by si někdo u 8-bitů představoval "komerční využití". :-)
Nejde len o komerciu. Ak si dobre pametam, tak napriklad GPL licencia uklada povinnost zverejnit zdrojove texty. A pokial niekto pouzije nejaky kus takto zverejneneho kodu vo svojom programe, aj tento program musi byt pod GPL, vratane povinnosti zverejnit jeho zdrojaky. Toto moze byt niekedy obmedzujuce, pretoze aj na 8 bitoch nie vzdy chce clovek zverejnovat zdrojaky.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacny program LZX
PříspěvekNapsal: 13 dub 2019, 10:18 
Offline
Kecálek

Registrován: 18 říj 2013, 15:30
Příspěvky: 143
Bydliště: Oakland, Slovakia
Has thanked: 8 times
Been thanked: 16 times
NETHER EARTH
Kód:
MAINCODE    48361 (uncompressed)
LZX         17328 (t34o4, data only)
HRUST 1.3   21355 (data only)
ZX7         21642 (data only)
:like:

_________________
Didaktik Gama | ZX Spectrum 128
ZX Diskface Plus A | BetaDisk 128C Interface
D40 & D80
divIDE | Interface M/P | Multiface 128 (GOTDJ) | Gama Breaker
WANTED: DPRUN for ZX Diskface Plus A


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ů: 45 ]  Přejít na stránku Předchozí  1, 2, 3

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 1 návštěvní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