OldComp.cz

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


Právě je 18.04.2024, 09:18

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 20 ]  Přejít na stránku 1, 2  Další
Autor Zpráva
 Předmět příspěvku: Komprimacne programy
PříspěvekNapsal: 25.08.2013, 18:38 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3661
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 795 times
Prosim o radu. Zhanam nejaky komprimacny program, ktorym by som mohol na PeCi zkomprimovat binarny blok dat, ktory potom mozem na ZX spektre rozpakovat. Program na PeCi by mohol (volitelne) pridat na zaciatok skomprimovanej binarky aj dekompresnu rutinku. Ktory je podla vas najlepsi ?

Na kompresiu na ZX Spektre pouzivam Turboimploder / Pkhuff / Pklite (by Saposoft & me) a pre obrazky Pressor 5, ale ked pisem a kompilujem nejaky program na PeCi, rad by som aby sa mi na PeCi v ramci beziaceho makefile hned aj skomprimoval. Preto by som bol rad keby ten komprimacny program mal cmd-line ovladanie. Vdaka !


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacne programy
PříspěvekNapsal: 05.09.2013, 15:09 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 05.09.2013, 14:08
Příspěvky: 1070
Bydliště: Smolenice
Has thanked: 131 times
Been thanked: 473 times
Pre linuxákov - ZX7: http://tcg.speccy.cz/zoom/files/zx7-2012.tar.gz a Hrust: http://tcg.speccy.cz/zoom/files/chrust-1.0.1.tar.gz. Windowsácke binárky bohužiaľ nemám.

_________________
To err is human, but to really foul things up requires a computer.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacne programy
PříspěvekNapsal: 05.09.2013, 18:54 
Offline
Radil
Uživatelský avatar

Registrován: 13.05.2013, 17:48
Příspěvky: 529
Bydliště: Košice
Has thanked: 429 times
Been thanked: 265 times
Ešte je tu aj utilita Quido. Nedosahuje síce taký kompresný pomer, ako ZX7, ale dokáže pripojiť ku spakovaným dátam aj rozpakovaciu rutinu a naviac vytvoriť aj TAPku, rovnako ako to robí utilita bin2tap.

ZX7 iba uloží výsledné spakované dáta do výstupného súboru bez rozpakovacej rutiny. Rozpakovacia rutina je vo viacerých verziách a treba ju pripojiť dodatočne. Naviac, rozpakovacia rutina má jeden neduh, a to že pakované dáta nemôžu ležať na rovnakom mieste ako výsledný rozpakovaný blok, ako je to obvyklé zo Speccy (TI, Mr. Pack atď.). Keď som to takto skúšal, vždy boli posledné 4 a 6 bytov poškodené. Rutinu som si musel "priohnúť" podobným spôsobom, ako to (z rovnakého dôvodu) robí HRUM/HRUST.

_________________
https://pmd85.borik.net - PMD 85 Emulátor, PMD 85, PMD 32-SD
https://pp01.borik.net - PP 01 Emulátor, PP 01, SD-ROM Modul


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacne programy
PříspěvekNapsal: 05.09.2013, 19:30 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 05.09.2013, 14:08
Příspěvky: 1070
Bydliště: Smolenice
Has thanked: 131 times
Been thanked: 473 times
A máš zdroják tej upravenej rutiny po ruke? Priložil by som ho do toho archívu. Teda ak byt ti to nevadilo.

_________________
To err is human, but to really foul things up requires a computer.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacne programy
PříspěvekNapsal: 05.09.2013, 21:06 
Offline
Radil
Uživatelský avatar

Registrován: 13.05.2013, 17:48
Příspěvky: 529
Bydliště: Košice
Has thanked: 429 times
Been thanked: 265 times
Žiaľ, ono to nie je také priamočiare.
Naviac, ja som si to robil pre PMD 85, teda aj rozpakovaciu rutinu som si "portoval" na i8080 a nasledujúci postup som robil prakticky "ručne".

Ten postup je takýto:
1. z pôvodných dát sa posledných 6 bytov odreže a odpamätá
2. spakuje sa daný blok dát BEZ tých posledných 6 bytov
3. pred spakovaný blok sa vloží tých 6 bytov
4. pred blok dát sa vloží rozpakovacia rutina, ktorá je rozšírená o MOVER (ako má TI, Mr. Pack, Quido), ktorý presunie spakované data na koniec cieľovej oblasti a samotnú rozpakovaciu rutinu na pracovnú adresu
5. začiatok rozpakovacej rutiny sa rozšíri o prečítanie prvých 6 bytov a ich uloženie na zásobník
6. následne sa urobí normálne rozpakovanie - cieľový ukazateľ skončí na adrese, kam patrí chýbajúcich 6 bytov
7. nakoniec sa zo zásobníka vyberie 6 odpamätaných bytov a tie sa uložia od adresy cieľového ukazateľa

Chcelo by to celé zakomponovať do samotného ZX7 s voľbami podobnými, ako sú v Quidovi: cieľová a spúšťacia adresa, adresa rozpakovacej rutiny, typ rozpakovacej rutiny, Z80/i8080 atď.

Keď som sa tým zaoberal, tak som o tom aj uvažoval, že tie C-čkovské zdrojáky upravím, ale nakoniec som to vzdal po tom, čo autori opakovane vydávali nové a nové verzie, u ktorých sa menili aj rozpakovacie rutiny, pretože došlo ku zmene "formátu" pakovaných dát a podobne.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacne programy
PříspěvekNapsal: 05.09.2013, 21:21 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 05.09.2013, 14:08
Příspěvky: 1070
Bydliště: Smolenice
Has thanked: 131 times
Been thanked: 473 times
Aha. No keď bude čas, skúsim to tam dorobiť sám. Ale to bude bohvie kedy :D

_________________
To err is human, but to really foul things up requires a computer.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacne programy
PříspěvekNapsal: 22.11.2013, 19:04 
Offline
Radil

Registrován: 18.10.2013, 15:30
Příspěvky: 263
Bydliště: Oakland, Slovakia
Has thanked: 25 times
Been thanked: 60 times
Ako je vám asi známe, jedným z najlepších kompresorov je ruský Hrust, ktorý je však 128K ONLY (v2.x) resp. 48K+BetaDisk ONLY (v1.3)

Mňa by zaujímalo, či by bol algoritmus verzie 1.3 schopný pakovať iba časť pamäte ako napr. Turbo Imploder, samozrejme na 48K stroji a bez BetaDisku.

_________________
Didaktik Gama | ZX Spectrum 128 | ZX Diskface Quick A | BetaDisk 128C Interface | D40 & D80 | divIDE | Interface M/P | Multiface 128 (GOTDJ) | Gama Breaker | D80mini

"Kvalita a stabilita Windows XP se Microsoftu nevyplatila, stal se takovou temnou připomínkou toho, co se stane, když odvedete svou práci moc dobře."


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacne programy
PříspěvekNapsal: 22.11.2013, 19:08 
Offline
Radil

Registrován: 18.10.2013, 15:30
Příspěvky: 263
Bydliště: Oakland, Slovakia
Has thanked: 25 times
Been thanked: 60 times
Busy píše:
Prosim o radu. Zhanam nejaky komprimacny program, ktorym by som mohol na PeCi zkomprimovat binarny blok dat, ktory potom mozem na ZX spektre rozpakovat. Program na PeCi by mohol (volitelne) pridat na zaciatok skomprimovanej binarky aj dekompresnu rutinku. Ktory je podla vas najlepsi ?

Na kompresiu na ZX Spektre pouzivam Turboimploder / Pkhuff / Pklite (by Saposoft & me) a pre obrazky Pressor 5, ale ked pisem a kompilujem nejaky program na PeCi, rad by som aby sa mi na PeCi v ramci beziaceho makefile hned aj skomprimoval. Preto by som bol rad keby ten komprimacny program mal cmd-line ovladanie. Vdaka !

Kód:
http://trd.speccy.cz/pcutilz/HRUSTDEH.ZIP


Na obrázky odporúčam Laser Compact 5.2, ktorý je síce BetaDisk ONLY ale pre šikovného Assembleristu (ako napr. nejaký Busy ;) ) by nemusel byť problém spraviť tape verziu... :D

_________________
Didaktik Gama | ZX Spectrum 128 | ZX Diskface Quick A | BetaDisk 128C Interface | D40 & D80 | divIDE | Interface M/P | Multiface 128 (GOTDJ) | Gama Breaker | D80mini

"Kvalita a stabilita Windows XP se Microsoftu nevyplatila, stal se takovou temnou připomínkou toho, co se stane, když odvedete svou práci moc dobře."


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacne programy
PříspěvekNapsal: 23.11.2013, 18:00 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3661
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 795 times
iwosh píše:
Ako je vám asi známe, jedným z najlepších kompresorov je ruský Hrust, ktorý je však 128K ONLY (v2.x) resp. 48K+BetaDisk ONLY (v1.3)
Mňa by zaujímalo, či by bol algoritmus verzie 1.3 schopný pakovať iba časť pamäte ako napr. Turbo Imploder, samozrejme na 48K stroji a bez BetaDisku.
Samozrejme, packer/depacker Hrust13 pre PeC http://trd.speccy.cz/pcutilz/HRUSTDEH.ZIP ktory v predchadzajucom prispevku spomina iwosh, vie podobne ako ZX7 spakovat nejaky vseobecny blok dat, ktory sa da potom rozpakovat na Speccy (alebo aj na PeCi).

Urobil som si malicke porovnanie ZX7 a Hrustu, a vo vseobecnosti mi pouzitie ZX7 vyslo ako vyhodnejsie. Je pravda, ze vo vecsine pripadov dosahoval Hrust o kusok lepsi kompresny pomer (pravdepodobne pouziva lepsiu kompresiu), avsak ak beriem dlzku spakovaneho bloku aj s dekompresnou rutinkou, vo vecsine pripadov mi lepsie vysiel ZX7. Hrust ma dekompresor 256 bajtovy, kdezto ZX7 iba 69 bajtovy.

Ohladom screen packera Laser Compact, neviem presne ako funguje, ale co som namatkovo pozrel program, tak pouziva jeden sposob kompresie. Naproti tomu mnou spominany Pressor 5 ma k dispozicii 5 roznych sposobov kompresie pre pixely a styri rozne sposoby pre atributy. Pri pakovani screenu vsetky vyskusa a pre vysledny skomprimovany screen potom pouzije tie najlepsie. Preto si myslim ze Pressor 5 dokaze dosahovat lepsie kompresne pomery. Ale mozno sa mylim ... :shrug:

Ked uz pisem aj o pakovani screenov - neviete niekto o nejakom ZX screen packeri pre PeC ? Taky ktory by na sposob Pressoru 5 vyskusal niekolko roznych sposobov kompresie, optimalizovanych prave pre screeny. Hladal som cez wos aj googleho ale nikde som nic rozumneho nenasiel.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacne programy
PříspěvekNapsal: 23.11.2013, 23:33 
Offline
Radil

Registrován: 18.10.2013, 15:30
Příspěvky: 263
Bydliště: Oakland, Slovakia
Has thanked: 25 times
Been thanked: 60 times
K Laser Compactu vs. Pressor môžem z vlastnej skúsenosti povedať, že LC napriek tomu že pakuje len jednou metódou, dokázal stlačit obrázok viac než Pressor, v niektorých prípadoch aj o vyše kilobajtu vrátane depacku.

Jednú dobu som totižto robil repacky pár hier, čo som mal dávnejšie zabalené Mr.Packom+Pressorom a pri výsledkoch Hrust+LC mi doslova padla sánka.

_________________
Didaktik Gama | ZX Spectrum 128 | ZX Diskface Quick A | BetaDisk 128C Interface | D40 & D80 | divIDE | Interface M/P | Multiface 128 (GOTDJ) | Gama Breaker | D80mini

"Kvalita a stabilita Windows XP se Microsoftu nevyplatila, stal se takovou temnou připomínkou toho, co se stane, když odvedete svou práci moc dobře."


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacne programy
PříspěvekNapsal: 24.11.2013, 01:16 
Offline
Radil

Registrován: 18.10.2013, 15:30
Příspěvky: 263
Bydliště: Oakland, Slovakia
Has thanked: 25 times
Been thanked: 60 times
Male porovnanie v prilozenom subore...


Přílohy:
lc52_vs_p6.zip [41.29 KiB]
622 krát

_________________
Didaktik Gama | ZX Spectrum 128 | ZX Diskface Quick A | BetaDisk 128C Interface | D40 & D80 | divIDE | Interface M/P | Multiface 128 (GOTDJ) | Gama Breaker | D80mini

"Kvalita a stabilita Windows XP se Microsoftu nevyplatila, stal se takovou temnou připomínkou toho, co se stane, když odvedete svou práci moc dobře."
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacne programy
PříspěvekNapsal: 26.11.2013, 20:05 
Offline
Radil

Registrován: 18.10.2013, 15:30
Příspěvky: 263
Bydliště: Oakland, Slovakia
Has thanked: 25 times
Been thanked: 60 times
Busy píše:
Ked uz pisem aj o pakovani screenov - neviete niekto o nejakom ZX screen packeri pre PeC ? Taky ktory by na sposob Pressoru 5 vyskusal niekolko roznych sposobov kompresie, optimalizovanych prave pre screeny. Hladal som cez wos aj googleho ale nikde som nic rozumneho nenasiel.

Aj v tomto pripade su ZX7 prip. Hrust ucinnejsie nez Pressor.

_________________
Didaktik Gama | ZX Spectrum 128 | ZX Diskface Quick A | BetaDisk 128C Interface | D40 & D80 | divIDE | Interface M/P | Multiface 128 (GOTDJ) | Gama Breaker | D80mini

"Kvalita a stabilita Windows XP se Microsoftu nevyplatila, stal se takovou temnou připomínkou toho, co se stane, když odvedete svou práci moc dobře."


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacne programy
PříspěvekNapsal: 26.11.2013, 21:48 
Offline
Radil

Registrován: 18.10.2013, 15:30
Příspěvky: 263
Bydliště: Oakland, Slovakia
Has thanked: 25 times
Been thanked: 60 times
Spomenul som si, ze autor ZX7 vytvoril aj akysi "preprocess filter" pre screeny, ktory usporiada data tak aby po naslednom zapakovani so ZX7 bol dosiahnuty este lepsi kompresny pomer nez pri pouziti iba samotneho kompresora.

RCS (Reverse Computer Screen)
Kód:
http://www.worldofspectrum.org/infoseekid.cgi?id=0028048

_________________
Didaktik Gama | ZX Spectrum 128 | ZX Diskface Quick A | BetaDisk 128C Interface | D40 & D80 | divIDE | Interface M/P | Multiface 128 (GOTDJ) | Gama Breaker | D80mini

"Kvalita a stabilita Windows XP se Microsoftu nevyplatila, stal se takovou temnou připomínkou toho, co se stane, když odvedete svou práci moc dobře."


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacne programy
PříspěvekNapsal: 27.11.2013, 00:56 
Offline
Radil

Registrován: 18.10.2013, 15:30
Příspěvky: 263
Bydliště: Oakland, Slovakia
Has thanked: 25 times
Been thanked: 60 times
Ak sa pozorne pozriete na sposob vykreslenie obrazku pakovaneho Laser Compact-om (zip v prispevku vyssie), zistite ze rovnaky sposob pouziva aj RCS. Zpomalena ukazka vykreslovania je v prilohe.


Přílohy:
rcs.tap [316 bajtů]
576 krát
rcs.z80 [2.64 KiB]
560 krát

_________________
Didaktik Gama | ZX Spectrum 128 | ZX Diskface Quick A | BetaDisk 128C Interface | D40 & D80 | divIDE | Interface M/P | Multiface 128 (GOTDJ) | Gama Breaker | D80mini

"Kvalita a stabilita Windows XP se Microsoftu nevyplatila, stal se takovou temnou připomínkou toho, co se stane, když odvedete svou práci moc dobře."
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacne programy
PříspěvekNapsal: 13.12.2013, 11:04 
Offline
Radil

Registrován: 18.10.2013, 15:30
Příspěvky: 263
Bydliště: Oakland, Slovakia
Has thanked: 25 times
Been thanked: 60 times
Ďaľší z komprimačných programov, ktorý som práve objavil a ktorý rozhodne stojí za vyskúšanie - podľa mojich prvých testov je účinnejší než TI a jeho ekvivalenty:
Kód:
http://retrospec.sgn.net/users/tomcat/yu/ZX/Utils/Html/FileCompressor.php

Jedinou nevýhodou bude asi len to, že zpakovaný súbor nesmie začinať na rovnakej adrese ako rozpakovaný súbor - napr. subor s dĺžkou 40959, začiatkom od 24576, po zapakovaní 29589+depack musí začínať od adresy nižšej aspoň o 150 bajtov (verzia 3.5) ako 24576. Ale možno by len stačilo upraviť depack rutinu aby nebola v oblasti určenej pre výsledné rozpakované dáta - napr. presunutim do prinbufferu pred rozpakovaním, ako to robi TI.

_________________
Didaktik Gama | ZX Spectrum 128 | ZX Diskface Quick A | BetaDisk 128C Interface | D40 & D80 | divIDE | Interface M/P | Multiface 128 (GOTDJ) | Gama Breaker | D80mini

"Kvalita a stabilita Windows XP se Microsoftu nevyplatila, stal se takovou temnou připomínkou toho, co se stane, když odvedete svou práci moc dobře."


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ů: 20 ]  Přejít na stránku 1, 2  Další

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 3 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