OldComp.cz

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


Právě je 28.03.2024, 15:43

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 13 ] 
Autor Zpráva
 Předmět příspěvku: Amiga 500 - komprese dát - assembler
PříspěvekNapsal: 06.09.2023, 13:08 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
Co použít pro komprimaci dát aby to bylo použitelný v assemblery na Amize a stíhala to i Amiga 500 v základní výbavě? Bojuji s velikostí hudebního formátu MOD (s velikostí samplů v MODu).

Na 1 disketu toho moc nedám.

Další možností je udělat pouze HDD verzi, ale nevím jestli jít tímhle směrem. V asm zatím vše dávám do paměti a to by zvyšovalo paměťovou náročnost, ale je to alternativa, udělat to tak, aby to běželo na 2 MB RAM, ale v rámci Amigy 500 se mi to zdá bít zbytečně veliké omezení, udělat to takhle paměťově náročné.

Nevím, kterým směrem se vybrat, aby jsem neztrácel čas s příliš špatným výběrem.

Dotaz dám i na Amigaportal.

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 06.09.2023, 20:10 
Offline
Site Admin
Uživatelský avatar

Registrován: 11.05.2013, 23:48
Příspěvky: 10111
Bydliště: Praha
Has thanked: 1953 times
Been thanked: 1517 times
Co na MOD poštvat PowerPacker? Ale jestli bojuješ s velikostí samplů, tak to stejně moc nestáhne (zkompresí hlavně patterny). Samozřejmě můžeš použít něco na způsob MP3, tím sjet samply, ale počítej s delší dobou dekódování zpět do IFF. Další možnost je, že snížíš samplovací frekvenci jednotlivých samplů nebo jim uřežeš zbytečná místa (obvykle ticha na jejich konci).

_________________
Amiga/Amstrad/Atari/Commodore/Mac/Nintendo/PS/PC/Sega/Tandy/ZX


Nahoru
 Profil  
 
PříspěvekNapsal: 06.09.2023, 22:10 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
@MJ Dnes jsem zkoušel presamplování i zkracování samplů před tím než jsem napsal můj dotaz. Presamplování kvalitativně sampl slyšitelně degraduje. Useknutím samplů získávám celkem zanedbatelné místo většinou. Velikost 1 patternu se pohybuje kolem 1 KB, co je taky zanedbatelný.

O PowerPackeru jsem taky zachytil zmínku od Defora na AP, že umí pakovat spustitelné soubory. Na to ještě budu koukat. Pokud nějaký program bude umět zpakovat na Amize exe tak, že se to pak jako exe po zpakovani bude tvářit a bude to fungovat na holé Amize 500, bude to fajn.

Ještě si pamatují že Wayne mi říkal o packeru od nějakého Krabob-a, ale to bylo ve spojitosti u intra pro výkonnější Amigu.

Budu se rozkoukávat.

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 07.09.2023, 10:13 
Offline
Site Admin
Uživatelský avatar

Registrován: 11.05.2013, 23:48
Příspěvky: 10111
Bydliště: Praha
Has thanked: 1953 times
Been thanked: 1517 times
Tak chceš zapakovat MOD nebo pak samotný exáč, který bude mít vše v sobě. Protože na druhou variantu samo existují i výkonější packery, které jsem např. používal u svých pozdějších textovek. Jen pak to rozbalení chvíli trvá (a štval jsem tím Holynu, protože nemohl podvádět, neb nevěděl čím je to zapakované a tak si nemohl účině textovku HEXnout :-) ).

_________________
Amiga/Amstrad/Atari/Commodore/Mac/Nintendo/PS/PC/Sega/Tandy/ZX


Nahoru
 Profil  
 
PříspěvekNapsal: 07.09.2023, 10:40 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
Tak jsem se dnes hral s PowerPackerem. Na netu jsem se docetl, ze posledni verze by mela byt 4.0a. Vyssi verze stazitelne z netu jsou nejake pouze opatchovane starsi verze. Tak jsem si stahnul 4.0a.

Je verze pro Amiga ROM 1.3 a pro ROM 2.04.

1.3 verze by mela bezet i pro 2.04, udelat stejnou sluzbu jako verze 2.04. Na zacatku je pouze hlaska, ze mate vyssi ROM pokud spustite verzi pro 1.3 a mate ROM 2.04 a vyssi.

Pri ukonceni programu PowerPacker se mi ve Workbechi nezavira okno oznamujici pocet otevrenych oken, tak z PowerPackeru emulaci rovnou restartuji, aby mi nabehl Workbench bez tohohle okna.

Má hudebni rutina by mela mit po kompilaci kolem 4 KB. Program pro praci s textem na obrazovce rozsahove v kodu neni delsi nez hudebni rutina. Muj udhad byl, ze by oba programy nemeli presahovat 10 KB. Ale presahuji, litá mi tam vzduchem nejakych 15 KB, mozna ze ma prace s textem s Copperem vetsi rezii na velikost dat, cert vi, ale to ted neni podstatny, jen jsem si toho vsiml.

Par udaju pro prehled o kolik PowerPacker 4.0a snizi velikost samplů v konkretni skladbe a budu zaokrouhlovat, nehraju se ted na drobne.

Puvodni velikost vsech samplu v skladbe: 220 KB
Zdrojovy kod zkompilovany bez nacteni samplů: 22 KB
Zdrojovy kod zkompilovany bez nacteni samplů - PowerPacker: 5 KB
Zdrojovy kod zkompilovany s nactenim samplů pro 1 skladbu: 247 KB
Zdrojovy kod zkompilovany s nactenim samplů pro 1 skladbu - PowerPacker: 174 KB

Pokud se tedy budeme bavit o 1 skladbe a s/bez PowerPackeru tak je to:
174-5 vůči 247-22 KB,
tedy 169 KB vůči 225 KB
ve vysledku uspora pro 1 skladbu kolem 56 KB
a tedy je 1 skladba s PowerPackerem 4.0a o 1/4 mensi na velikost dat vuci jeji puvodni velikosti.

Pokud si odmyslime z 247 KB zdrojovy kod 22 KB, tak se muzeme bavit o tom, ze 1 skladba ma v exe souboru nejakych 225 KB, jen pro zajimavost MOD ma nejakych 222 KB, nicmene opet v mem exe je nejaka rezie navic, protoze vseobecne muj hudebni format je min narocny na velikost dat, nez je hudebni format MOD. Tim nerikam, ze je muj hudebni format lepsi, MOD je opravdu dobre navrzeny. Má vyhodu v konstantnejsi narocnosti pri hrani skladby na samotný CPU, protoze jeho rozvrzeni je vyvazenejsi. Já to na odlehcenejsich mistech pro CPU v me hudebni rutine umele pribrzduji a zatim to funguje.

Posledne pokud mel 1 pattern v MODu 1 KB, můj pattern mel kolem 0,7 KB

A posledni vec, ktere jsem si vsiml. Muj zkompilovany kod bez PowerPackeru s velikosti 247 KB by mel bezet na Amize 500 s 512 KB RAM. Zkompilovany kod s PowerPackerem o velikosti 174 KB se rozbehne az kdyz v emulaci WinUAE k 512 KB CHIP RAM pridam alespon 512 KB SLOW RAM. Tedy pouziti PowerPackeru i kdyz je exe mensi velikosti zvysuje pametovou narocnost!

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 07.09.2023, 13:00 
Offline
Site Admin
Uživatelský avatar

Registrován: 11.05.2013, 23:48
Příspěvky: 10111
Bydliště: Praha
Has thanked: 1953 times
Been thanked: 1517 times
Tak to je jasný. PP načte packovaný soubor a pak ho někam do paměti rozbalí. Poté uvolní z paměti ten packovaný. To samé se děje, když do ProTrackeru nahraješ PP MOD. Každopádně pro tvoje potřeby bude opravdu snažší, když si jednotlivé samply zabalíš zvlášť něčím účinějším (na způsob MP3), pattern třeba LZ kompresí. Postupně si rozbalíš do paměti samply, nakonec pattern a jen to necháš přehrát. Vyhneš se tím vyšší paměťové náročnosti, kdy se naráz musí rozbalit celý MOD.

_________________
Amiga/Amstrad/Atari/Commodore/Mac/Nintendo/PS/PC/Sega/Tandy/ZX


Nahoru
 Profil  
 
PříspěvekNapsal: 07.09.2023, 16:25 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
misticjoe píše:
Tak to je jasný. PP načte packovaný soubor a pak ho někam do paměti rozbalí. Poté uvolní z paměti ten packovaný. To samé se děje, když do ProTrackeru nahraješ PP MOD. Každopádně pro tvoje potřeby bude opravdu snažší, když si jednotlivé samply zabalíš zvlášť něčím účinějším (na způsob MP3), pattern třeba LZ kompresí. Postupně si rozbalíš do paměti samply, nakonec pattern a jen to necháš přehrát. Vyhneš se tím vyšší paměťové náročnosti, kdy se naráz musí rozbalit celý MOD.

Myslim, ze by jsem musel naprogramovat nejak to rozbalovani samplů asi... .

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 07.09.2023, 16:40 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
Vysledne velikosti exe pro 1 skladbu:

velikost bez pakovani: 247 KB
Titanics-Cruncher 1.2: 191 KB (ze zde uvedených packerů jediný běží se základní 512 CHIP RAM!)
PowerPacker 4.0a: 175 KB
Imploder 4.0: 154 KB
StoneCracker 4.10.3: 148 KB

Jeste jsem četl dobré reference na RNC ProPack, ale ten je ciste konzolovy s prepinaci a na to ja jsem neni. Miminalne ne ted... .

PowerPacker je efektní, při rozpakovavani blíká kurzor šipky.

_________________
Amiga - PMD 85


Naposledy upravil Lisiak4 dne 07.09.2023, 18:12, celkově upraveno 3

Nahoru
 Profil  
 
PříspěvekNapsal: 07.09.2023, 17:18 
Offline
Radil

Registrován: 18.10.2014, 23:10
Příspěvky: 377
Has thanked: 28 times
Been thanked: 120 times
Titanics Cruncher by mal vedieť decrunch počas nahrávania a nepotrebuje teda pameť na spakované dáta.
V PowerPackeri sa dá efekt pri rozpakovávaní zvoliť z niekoľkých možnosti.


Nahoru
 Profil  
 
PříspěvekNapsal: 07.09.2023, 18:01 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
Děkuji, doplněno, použil jsem maximální kompresy.

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 08.09.2023, 20:08 
Offline
Prvnička

Registrován: 06.10.2018, 14:14
Příspěvky: 16
Has thanked: 878 times
Been thanked: 4 times
Zverejníš niekedy zdroják k tvojmu hudebnému formátu?


Nahoru
 Profil  
 
PříspěvekNapsal: 08.09.2023, 21:40 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
JanciB píše:
Zverejníš niekedy zdroják k tvojmu hudebnému formátu?


Myslíš strukturu hudebního formátu, nebo zdrojový kód hudební rutiny? Uprostřed hudební rutiny je posazen kód pro práci s textem.

Já se teď zaměřím na dokončení toho převodníku z MODu do mého hudebního formátu. Technicky jsem již začal pokračovat, jen mně začalo zajímat nakolik můžu zmenšit velikost MODu. Strop je tedy zmenšení velikostí o přibližně 40 procent.

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 11.09.2023, 08:08 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
Tak jsem přeci jen zkusil 2 doporučené konzolové aplikace, tedy packere bez grafického prostředí:

Zkusil jsem na Amigaportály doporučený Shrinkler, soubor mi dal z 247 KB na 120 KB a zároveň mu stačí pouze základní 500 KB CHIP RAM. Načítání z HDD rychlostně na A1200 je kolem 35 vteřin. Z diskety je to kolem 50 vteřin. Bez komprese je načítání z diskety kolem 20 vteřin. Z HDD je pak spuštění okamžité. To je při přednastaveném počtu kompresování dát 3 krát po sobě. Při pouze 1 kompresy měl exe 126 KB (o 6 KB více), ale načítání se nějak výrazně nezrychlilo. Shrinkler chce hodně paměti pro běh a hodně rychlou Amigu (pouze pro pakování dat, běží na Amize 500 s 512 KB CHIP RAM) 4 / 8 MB RAM mu je málo a kompresy nedokončí. Já jsem mu pak v emulaci dal 128 MB RAM.

Druhým packerem je Cranker 0.66., ten používá a mi doporučil na Amigaportály Defor. Na kompresní poměr je opravdu rychlý. Disketu s mým exe souborem s ním zpakovanou načte rychleji, než kdyby jste na ní měli stejná data nezpakované. Její načítání o přibližné délce 20 vteřin se zkrátilo na 15 vteřin (Shrinkler 4.7 - 50 vteřin). Další jeho výhodou je možnost uvést si svůj text, který bude vypsaný v čase nahrávání programu. Tu možnost jsem hned ze startu zkusil. Můžete zadat i odkaz na textový soubor, ze kterého se tenhle text načte a dokonce má i možnost zobrazení obrázku v čase nahrávání programu. Druhý nejlepší kompresní poměr a tyhle výhody z něj dělají supr packer.


Vysledné velikosti exe pro 1 skladbu:

velikost bez pakování: 247 KB
Titanics-Cruncher 1.2: 191 KB (běží se základní 512 KB CHIP RAM)
PowerPacker 4.0a: 175 KB
Imploder 4.0: 154 KB
StoneCracker 4.10.3: 148 KB
Cranker 0.66: 146 KB​ (běží se základní 512 KB CHIP RAM)
Shrinkler 4.7: 120 KB (běží se základní 512 KB CHIP RAM)

_________________
Amiga - PMD 85


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ů: 13 ] 

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