Difference between revisions of "EPcompress leírás"

From Enterprise Wiki
Jump to: navigation, search
(Tömörítési idő)
(Linkek)
 
(30 intermediate revisions by the same user not shown)
Line 13: Line 13:
  
 
* '''-raw | -noraw''': EXOS fejlécek figyelmen kívül hagyása -raw esetén, az alapértelmezés -noraw. Támogatott EXOS modul típusok:
 
* '''-raw | -noraw''': EXOS fejlécek figyelmen kívül hagyása -raw esetén, az alapértelmezés -noraw. Támogatott EXOS modul típusok:
** 05h: Új alkalmazói program (-m0, -m2, -m3), a mérete a szabványosnál nagyobb is lehet, kicsomagolva a 3. lapot is használhatja
+
** 05h: Új alkalmazói program (-m3), a mérete a szabványosnál nagyobb is lehet, kicsomagolva a 3. lapot is használhatja
** 06h: Abszolút rendszerbővítő (-m2, -m3)
+
** 06h: Abszolút rendszerbővítő (-m3)
** 49h: [https://wiki.enterpriseforever.com/index.php?title=Epimgconv_le%C3%ADr%C3%A1s#Az_EPimgconv.2FIVIEW_form.C3.A1tum_le.C3.ADr.C3.A1sa IVIEW kép] (-m0, -m2, -m3, a CVIEW bővítő azonban csak az -m2-t támogatja)
+
** 49h: [https://wiki.enterpriseforever.com/index.php?title=Epimgconv_le%C3%ADr%C3%A1s#Az_EPimgconv.2FIVIEW_form.C3.A1tum_le.C3.ADr.C3.A1sa IVIEW kép] (-m2 vagy -m3, a CVIEW bővítő azonban csak az -m2-t támogatja)
* '''-m0..m6''': Formátum választása, az -m5 (ZLib) helyett használható -mz is, az alapértelmezés -m2, illetve a bemeneti fájl alapján automatikusan választott, ha az lehetséges.
+
* '''-m2 | -m3''': Formátum választása, az -m3 az alapértelmezett. Az -m2-t az emulátor használja snapshot fájlok és a ROM csomag tömörítésére, illetve IVIEW képeknél lehet hasznos, egyébként elavult és általában nem ajánlott a használata.
* '''-m6:ENCODING''': -m6 módban a kódolást definiálja (lásd lent), ami alapértelmezés szerint "FG0L,G,,12345678,0123456789ABCDEF".
+
* '''-a | -n''': Archívum készítése több fájlból -a esetén (-raw módot tételez fel), az alapértelmezés -n.
* '''-a | -n''': Archívum készítése több fájlból -a esetén, az alapértelmezés -n.
 
 
* '''-V''': Több részre (volume) bontott bemeneti fájl, csak kicsomagolásnál és tesztelésnél.
 
* '''-V''': Több részre (volume) bontott bemeneti fájl, csak kicsomagolásnál és tesztelésnél.
 
* '''-V <N>''': Tömörítésnél a kimenet N kilobájt méretű részekre bontása. N csak 4 többszöröse lehet.
 
* '''-V <N>''': Tömörítésnél a kimenet N kilobájt méretű részekre bontása. N csak 4 többszöröse lehet.
 
'''Tömörítési paraméterek'''
 
 
* '''-1 ... -9 | -X''': Gyorsabb vagy nagyobb hatásfokú tömörítés beállítása, az alapértelmezés 5. A nagyobb értékek egyes esetekben rosszabb fájl méretet is eredményezhetnek. -m0 és -mz formátumnál az -X nagyon lassú.
 
* '''-fast''': Gyors 4 szálú tömörítő használata, ez csak -raw -m2 és -mz módban lehetséges, és fix paramétereket tételez fel. Az ep128emu snapshot és PNG fájl mentésekor használja.
 
* '''-minlen <N>''': [https://en.wikipedia.org/wiki/LZ77_and_LZ78#LZ77 LZ77] minimális hosszúság 1 és 3 között, az alapértelmezés a formátum által támogatott legkisebb érték. A növelése rontja a fájl méretet, de gyorsítja a kicsomagolást.
 
* '''-maxoffs <N>''': LZ77 maximális távolság (szótár méret). Alapértelmezés szerint a legnagyobb, amit a formátum szabványosan támogat, általában 64 kilobájt. Kivétel az -mz ([https://en.wikipedia.org/wiki/Zlib ZLib]) formátum, ahol 32768 bájt, nagyobb érték pedig nem szabványos bővítést engedélyez. Az -m1, -m2, és -m4 esetében a maximum 524288 bájt, amit a Z80 rutinok azonban nem támogatnak. A csökkentése rontja a tömörítés hatékonyságát, 1 bájt egyszerű [https://hu.wikipedia.org/wiki/Run-length_encoding RLE] eljárásnak felel meg. A távolság korlátozása hasznos lehet speciális esetben, például cirkuláris puffer használatakor.
 
* '''-blocksize <N>''': Fix blokk méret használata. Az alapértelmezés 0, ami optimális módon próbálja blokkokra bontani a bemeneti adatot, ha ezt a választott formátum lehetővé teszi (az -m3 és -m6 nem), a keresés mélysége függ az -1..-X paramétertől.
 
  
 
'''Önkicsomagoló programok paraméterei'''
 
'''Önkicsomagoló programok paraméterei'''
Line 34: Line 25:
 
* '''-borderfx | -noborderfx''': A keretcsíkozás engedélyezése vagy tiltása.
 
* '''-borderfx | -noborderfx''': A keretcsíkozás engedélyezése vagy tiltása.
 
* '''-cleanup | -nocleanup''': A lapozás és veremmutató EXOS-hoz hasonló beállítása.
 
* '''-cleanup | -nocleanup''': A lapozás és veremmutató EXOS-hoz hasonló beállítása.
 
=Tömörített formátumok leírása=
 
 
* '''-m0''': [https://en.wikipedia.org/wiki/Huffman_coding Huffman kódolást] is használó, bonyolultabb formátum, ami különösen konvertált képeknél és digitális hangnál lehet hatékonyabb. Hátránya, hogy a [https://github.com/istvan-v/ep128emu/blob/master/util/epcompress/z80_asm/decompress_m0.s Z80 rutin] viszonylag nagy és lassú, de a bemeneti adattól függően a tömörített fájl méretének a csökkenése is jelentős lehet.
 
* '''-m1''': Az -m4 módosított változata, 32 bájt távolságig lehetővé teszi sorozatok ismétlését eltolási érték hozzáadásával is. Ez elsősorban egyes táblázatoknál, növekvő vagy csökkenő sorozatoknál (például lineáris burkológörbék) lehet hasznos. Az általános hatásfok azonban kis mértékben rosszabb az -m4-hez képest, és valamivel hosszabb rutinra van szükség a kicsomagolásához, fájl függő, hogy megéri-e a használata. ([https://github.com/istvan-v/ep128emu/blob/master/util/epcompress/z80_asm/decompress_m1.s assembly forráskód], [https://github.com/istvan-v/ep128emu/blob/master/util/epcompress/z80_asm/decompress_m1_old.s régebbi verzió])
 
* '''-m2''' (alapértelmezett): Magnus Lind Exomizer 2 formátumához hasonló elven működik, de dinamikus kódolással, ami gyakran hatékonyabb tömörítést tesz lehetővé, elsősorban nagyobb és bonyolultabb bemeneti fájl esetén. Az adatot blokkokra bontja, amelyek eltérő optimális kódolást használhatnak. A kicsomagoláshoz [https://github.com/istvan-v/ep128emu/blob/master/util/epcompress/z80_asm/decompress_m2.s itt található] assembly forráskód, célszerűbb lehet azonban az újabb -m4 formátumot használni, amely többnyire (ha nincs szükség tömörítetlen blokkokra) hasonlóan hatékony, de a Z80 kód rövidebb és gyorsabb.
 
* '''-m3''': Egyszerű fix kódolású formátum, ami az '''-m6:BG1R,G,,12345678,0123456789ABCDEF''' definíciónak felel meg, de eltérő fejléccel. A fájl elejére a tömörített adat mérete kerül (2 bájt), ezt a tömörített adat követi EOF jel nélkül, majd a tömörítetlen adat relatív mérete (2 bájt), azaz a növekedés a kicsomagolás során. Ha ez 0, akkor az egész fájl tömörítetlen. ([https://github.com/istvan-v/ep128emu/blob/master/util/epcompress/z80_asm/decompress_m3.s Z80 rutin])
 
* '''-m4''': Az -m2-höz hasonló, de kissé egyszerűsített formátum. Nem támogat tömörítetlen blokkokat (ez néhány száz bájtnál nagyobb összefüggő tömöríthetetlen adat méretét kb. 0.8 százalékkal növeli), blokk méret helyett EOB/EOF jelet használ, nincs ellenőrző összeg, és a kódolás leírása is módosult a hatékonyabb [https://github.com/istvan-v/ep128emu/blob/master/util/epcompress/z80_asm/decompress_m4.s Z80 kicsomagoló rutin] ([https://github.com/istvan-v/ep128emu/blob/master/util/epcompress/z80_asm/decompress_m4_old.s régebbi] és [https://github.com/istvan-v/ep128emu/blob/master/util/epcompress/z80_asm/decompress_m4_small.s kis méretre optimalizált] verzió) érdekében.
 
* '''-m5 | -mz''': Szabványos [https://en.wikipedia.org/wiki/Zlib ZLib] formátum, ami bővíthető legfeljebb 65536 bájt szótár méretre és 3 helyett 2 bájt minimális hosszúságra, 32768 feletti -maxoffs paramétert megadva. A gyakorlatban azonban az -m0 formátum többnyire hatékonyabb, és a Z80 kód is rövidebb és gyorsabb a [https://github.com/istvan-v/ep128emu/blob/master/util/epcompress/z80_asm/decompress_zlib.s decompress_zlib.s]-hez képest.
 
* '''-m6[:KÓDOLÁS]''': Felhasználó által definiálható fix kódolású formátum, az alapértelmezett kódolás kicsomagolására [https://github.com/istvan-v/ep128emu/blob/master/util/epcompress/z80_asm/decompress_m6.s itt] található példa assembly forráskód.
 
 
=Az m6 formátum definíció leírása=
 
 
'''-m6:ÁLTALÁNOS,HOSSZÚSÁG,TÁVOLSÁG1,TÁVOLSÁG2,TÁVOLSÁG3'''
 
 
Paraméterek nélkül csak az -m6 a forráskódban található decompress_m6.s rutinnal kompatibilis formátumot állít be. Kis- és nagybetűk is használhatók.
 
 
'''Általános paraméterek'''
 
 
* F: normál irány (forward), az LDIR-hez hasonlóan
 
* B: fordított irány (backward), ilyenkor az adatot a végétől visszafelé haladva kell kicsomagolni
 
* 9: a tömöríthetetlen byte-ok egyszerűen 9 bitesek lesznek (1b + eredeti byte, a file elején nincs jelzőbit)
 
* G: a tömöríthetetlen byte-okat sorozatként tárolja, először a hosszúság [https://en.wikipedia.org/wiki/Elias_gamma_coding Elias gamma kódolással], majd az eredeti adat. Ezt mindig tömörített sorozat követi, és a file mindig ilyennel kezdődik. Tömörített sorozat után jelzőbit adja meg a következő sorozat típusát (1 = tömörítetlen)
 
* L: a bitenként olvasott adatot balra kell léptetni (SLA)
 
* R: a bitenként olvasott adatot jobbra kell léptetni (SRL)
 
* 0: normál jelzőbitek (0..01)
 
* 1: invertált jelzőbitek (1..10), a régebbi formátumok ezt használják
 
 
'''Hosszúság'''
 
 
Ez a tömörített sorozatok hosszúságának a kódolása, ami lehet egyszerűen "G" is, ez a már említett [https://en.wikipedia.org/wiki/Elias_gamma_coding Elias gamma kódot] állítja be ('0123456789ABCDEF", 1 és 65535 közötti hosszúságot támogat, 16 '0' bit a file végét jelzi), és többnyire elfogadható eredményt ad. A definíció működése talán megérthető az alábbi példa alapján, "0128" megadásakor:
 
* 1b + 0 bit: 1
 
* 01b + 1 bit: 2-3
 
* 001b + 2 bit: 4-7
 
* 0001b + 8 bit: 8-263
 
* 0000b: file vége
 
Ha a minimális hosszúság nagyobb 1-nél (lásd lent), akkor minden értéket megfelelően növelni kell.
 
 
'''Távolság1'''
 
 
Az 1 byte hosszúságú tömörített sorozatoknál a távolság kódolása. Ha üres, akkor az ilyenek nem támogatottak, és a minimális hosszúság 2 lesz. Lehet "I" és "X" közötti karakter, ami egyszerű fix méretű kódot jelent 1 és 16 bit között, például a "K" 3 bites, 1 és 8 közötti távolságot tesz lehetővé. Ebben a módban ha lehetséges, akkor az alsó 8 bitet (illetve "X"-nél a teljes értéket) egyszerű byte-ként írja ki az epcompress. Ez hasznos lehet akkor, ha a sebesség a fontos kicsomagolásnál. Egyébként a fentihez hasonló rendszer szerint írható le a kódolás, de "G" nem használható, és kissé eltér a kimeneti formátum. Például az '1234" ezt jelenti:
 
* 00b + 1 bit: 1-2
 
* 01b + 2 bit: 3-6
 
* 10b + 3 bit: 7-14
 
* 11b + 4 bit: 15-30
 
 
'''Távolság2'''
 
 
'''Távolság3'''
 
 
Az előzőhöz hasonlóak, csak 2 byte, illetve 3 vagy hosszabb sorozatokhoz. Az utóbbi nem lehet üres, viszont ha az 1-es és a 2-es üres, akkor 3 lesz a minimális hosszúság.
 
 
=Összehasonlítás=
 
 
==Z80 regiszter és memória használat==
 
 
{| class="wikitable"
 
|
 
|Z80 kód méret
 
|Táblázat méret
 
|Táblázat kezdőcím
 
|Regiszter használat
 
(*: feltételes fordítás, +: mentve és visszaállítva)
 
|-
 
|[https://github.com/istvan-v/ep128emu/blob/master/util/epcompress/z80_asm/decompress_m0.s decompress_m0.s]
 
|418-436
 
|864
 
|xx00h, xx80h
 
|AF, BC, DE, HL, BC', DE', HL', IX+, IY+
 
|-
 
|[https://github.com/istvan-v/ep128emu/blob/master/util/epcompress/z80_asm/decompress_m1.s decompress_m1.s]
 
|227-241
 
|156
 
|xx24h, xx44h, xx64h
 
|AF, BC, DE, HL, IX, IY*
 
|-
 
|[https://github.com/istvan-v/ep128emu/blob/master/util/epcompress/z80_asm/decompress_m1_old.s decompress_m1_old.s]
 
|242-248
 
|153
 
|xx00h-xx63h
 
|AF, BC, DE, HL, IX
 
|-
 
|[https://github.com/istvan-v/ep128emu/blob/master/util/epcompress/z80_asm/decompress_m2.s decompress_m2.s]
 
|249-265
 
|156
 
|xx00h-xx64h
 
|AF, BC, DE, HL, BC', DE', HL'
 
|-
 
|[https://github.com/istvan-v/ep128emu/blob/master/util/epcompress/z80_asm/decompress_m3.s decompress_m3.s]
 
|136-143
 
|0
 
|
 
|AF, BC, DE, HL, BC', HL'
 
|-
 
|[https://github.com/istvan-v/ep128emu/blob/master/util/epcompress/z80_asm/decompress_m4.s decompress_m4.s]
 
|194-208
 
|156
 
|xx24h, xx44h, xx64h
 
|AF, BC, DE, HL, IX, IY*
 
|-
 
|[https://github.com/istvan-v/ep128emu/blob/master/util/epcompress/z80_asm/decompress_m4_old.s decompress_m4_old.s]
 
|202-209
 
|156
 
|xx00h-xx63h
 
|AF, BC, DE, HL, IX*
 
|-
 
|[https://github.com/istvan-v/ep128emu/blob/master/util/epcompress/z80_asm/decompress_m4_small.s decompress_m4_small.s]
 
|188
 
|156
 
|xx24h, xx44h, xx64h
 
|AF, BC, DE, HL, IX, IY
 
|-
 
|[https://github.com/istvan-v/ep128emu/blob/master/util/epcompress/z80_asm/decompress_m6.s decompress_m6.s]
 
|91-96
 
|0
 
|
 
|AF, BC, DE, HL
 
|-
 
|[https://github.com/istvan-v/ep128emu/blob/master/util/epcompress/z80_asm/decompress_zlib.s decompress_zlib.s]
 
|533-564
 
|851
 
|xx00h, xx80h
 
|AF, BC, DE, HL, BC', DE', HL', IX+, IY+
 
|-
 
|[https://bitbucket.org/magli143/exomizer/wiki/downloads/exomizer-3.0.2.zip deexo.asm]
 
|169
 
|156
 
|
 
|AF, BC, DE, HL, IX, IY
 
|-
 
|deexo.asm (módosított)
 
|174
 
|156
 
|
 
|AF, BC, DE, HL, IX, IY
 
|}
 
 
==Tömörített méret==
 
 
{| class="wikitable sortable"
 
!
 
![http://ep128.hu/Ep_Demo/Prg/Interlace_Demo_3.rar arizona.raw]
 
![http://www.ep128.hu/Ep_Games/Prg/Magicball.rar ball1]
 
![http://www.ep128.hu/Ep_Games/Prg/Batman.rar batman.apl]
 
![http://www.ep128.hu/Ep_Games/Prg/Batman.rar batman.com]
 
![http://www.ep128.hu/Ep_Games/Prg/Exolon.rar exolon.prg]
 
(Attus)
 
![http://www.ep128.hu/Ep_Demo/Prg/First_Contact-Genesis_Project.rar fcontact.com]
 
(kicsomagolva)
 
![http://www.ep128.hu/Ep_Games/Prg/Magicball.rar magicbal.com]
 
![https://enterpriseforever.com/egyeb-temak/meglevo-jatekok-modositasa/msg67854/#msg67854 otw.bin]
 
![http://www.ep128.hu/Ep_Games/Prg/Sorcery.rar sorcery2]
 
![http://www.ep128.hu/Ep_Games/Prg/Sorcery.rar sorcery3]
 
|-
 
|Eredeti fájl
 
|55218
 
|48142
 
|44288
 
|7552
 
|37538
 
|45830
 
|1152
 
|63232
 
|30580
 
|16969
 
|-
 
|epcompress (2.0.11.2) -raw -m0 -9
 
|41044
 
|26134
 
|29157
 
|3075
 
|20789
 
|18633
 
|530
 
|15370
 
|12854
 
|7156
 
|-
 
|epcompress -raw -m0 -9 -blocksize 65536
 
|43912
 
|26448
 
|29420
 
|3072
 
|21108
 
|19624
 
|530
 
|15712
 
|13158
 
|7175
 
|-
 
|epcompress -raw -m1 -9
 
|43527
 
|25863
 
|29661
 
|3254
 
|21114
 
|18446
 
|497
 
|15464
 
|13180
 
|7229
 
|-
 
|epcompress -raw -m1 -1
 
|43841
 
|26332
 
|29987
 
|3264
 
|21415
 
|19456
 
|497
 
|15816
 
|13339
 
|7265
 
|-
 
|epcompress -raw -m2 -9
 
|43467
 
|26866
 
|29665
 
|3247
 
|21193
 
|19489
 
|502
 
|15506
 
|13146
 
|7264
 
|-
 
|epcompress -raw -m3 -9
 
|44579
 
|27936
 
|30472
 
|3554
 
|21839
 
|21907
 
|512
 
|16399
 
|13946
 
|7504
 
|-
 
|epcompress -raw -m4 -9
 
|43491
 
|26846
 
|29667
 
|3245
 
|21194
 
|19485
 
|501
 
|15503
 
|13145
 
|7262
 
|-
 
|epcompress -raw -m4 -1
 
|43821
 
|27181
 
|29997
 
|3252
 
|21509
 
|20471
 
|501
 
|15910
 
|13341
 
|7308
 
|-
 
|epcompress -raw -m6 -9
 
|44574
 
|27731
 
|30508
 
|3520
 
|21865
 
|21936
 
|508
 
|16349
 
|13849
 
|7484
 
|-
 
|epcompress -raw -mz -9
 
|41043
 
|27571
 
|29775
 
|3136
 
|21185
 
|20327
 
|531
 
|15655
 
|13296
 
|7288
 
|-
 
|epcompress -raw -mz -9 -maxoffs 65536
 
|40957
 
|27381
 
|29203
 
|3143
 
|20923
 
|19933
 
|531
 
|15470
 
|13021
 
|7210
 
|-
 
|exomizer (3.0.2) raw -P0
 
|43853
 
|27239
 
|30030
 
|3198
 
|21465
 
|20418
 
|511
 
|15895
 
|13303
 
|7319
 
|}
 
 
==Tömörítési idő==
 
 
(64 bites Linux, 3.9 GHz Intel CPU)
 
 
{| class="wikitable sortable"
 
!
 
![http://ep128.hu/Ep_Demo/Prg/Interlace_Demo_3.rar arizona.raw]
 
![http://www.ep128.hu/Ep_Games/Prg/Magicball.rar ball1]
 
![http://www.ep128.hu/Ep_Games/Prg/Batman.rar batman.apl]
 
![http://www.ep128.hu/Ep_Games/Prg/Batman.rar batman.com]
 
![http://www.ep128.hu/Ep_Games/Prg/Exolon.rar exolon.prg]
 
(Attus)
 
![http://www.ep128.hu/Ep_Demo/Prg/First_Contact-Genesis_Project.rar fcontact.com]
 
(kicsomagolva)
 
![http://www.ep128.hu/Ep_Games/Prg/Magicball.rar magicbal.com]
 
![https://enterpriseforever.com/egyeb-temak/meglevo-jatekok-modositasa/msg67854/#msg67854 otw.bin]
 
![http://www.ep128.hu/Ep_Games/Prg/Sorcery.rar sorcery2]
 
![http://www.ep128.hu/Ep_Games/Prg/Sorcery.rar sorcery3]
 
|-
 
|epcompress (2.0.11.2) -raw -m0 -9
 
|0.534
 
|1.181
 
|0.464
 
|0.083
 
|0.616
 
|0.663
 
|0.020
 
|1.384
 
|0.397
 
|0.326
 
|-
 
|epcompress -raw -m0 -9 -blocksize 65536
 
|0.054
 
|0.160
 
|0.050
 
|0.014
 
|0.058
 
|0.092
 
|0.004
 
|0.222
 
|0.045
 
|0.048
 
|-
 
|epcompress -raw -m1 -9
 
|1.960
 
|2.224
 
|1.809
 
|0.537
 
|1.493
 
|1.474
 
|0.062
 
|1.873
 
|1.202
 
|0.762
 
|-
 
|epcompress -raw -m1 -1
 
|0.106
 
|0.160
 
|0.084
 
|0.021
 
|0.086
 
|0.081
 
|0.005
 
|0.126
 
|0.072
 
|0.035
 
|-
 
|epcompress -raw -m2 -9
 
|2.258
 
|1.933
 
|1.833
 
|0.539
 
|1.503
 
|1.519
 
|0.133
 
|1.872
 
|1.339
 
|0.783
 
|-
 
|epcompress -raw -m3 -9
 
|0.076
 
|0.047
 
|0.019
 
|0.004
 
|0.018
 
|0.028
 
|0.002
 
|0.054
 
|0.015
 
|0.011
 
|-
 
|epcompress -raw -m4 -9
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|-
 
|epcompress -raw -m4 -9 -blocksize 65536
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|-
 
|epcompress -raw -m6 -9
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|-
 
|epcompress -raw -mz -9
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|-
 
|epcompress -raw -mz -9 -maxoffs 65536
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|-
 
|exomizer (3.0.2) raw -P0
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|}
 
 
==Kicsomagolási idő==
 
 
(4 MHz-es Z80, tiltott megszakítás és memória várakozás)
 
 
{| class="wikitable sortable"
 
!
 
![http://ep128.hu/Ep_Demo/Prg/Interlace_Demo_3.rar arizona.raw]
 
![http://www.ep128.hu/Ep_Games/Prg/Magicball.rar ball1]
 
![http://www.ep128.hu/Ep_Games/Prg/Batman.rar batman.apl]
 
![http://www.ep128.hu/Ep_Games/Prg/Batman.rar batman.com]
 
![http://www.ep128.hu/Ep_Games/Prg/Exolon.rar exolon.prg]
 
(Attus)
 
![http://www.ep128.hu/Ep_Demo/Prg/First_Contact-Genesis_Project.rar fcontact.com]
 
(kicsomagolva)
 
![http://www.ep128.hu/Ep_Games/Prg/Magicball.rar magicbal.com]
 
![https://enterpriseforever.com/egyeb-temak/meglevo-jatekok-modositasa/msg67854/#msg67854 otw.bin]
 
![http://www.ep128.hu/Ep_Games/Prg/Sorcery.rar sorcery2]
 
![http://www.ep128.hu/Ep_Games/Prg/Sorcery.rar sorcery3]
 
|-
 
|decompress_m0.s
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|-
 
|decompress_m1.s
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|-
 
|decompress_m1_old.s
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|-
 
|decompress_m2.s
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|-
 
|decompress_m3.s
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|-
 
|decompress_m4.s
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|-
 
|decompress_m4_old.s
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|-
 
|decompress_m4_small.s
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|-
 
|decompress_m6.s
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|-
 
|decompress_zlib.s
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|-
 
|deexo.asm
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|-
 
|deexo.asm (módosított)
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|}
 
  
 
=Linkek=
 
=Linkek=
  
[https://github.com/istvan-v/ep128emu/releases EP128Emu, a csomag tartalmazza az EPcompress aktuális verzióját]
+
[https://github.com/istvan-v/ep128emu/releases/tag/2.0.11.2 EP128Emu, a csomag tartalmazza az EPcompress aktuális verzióját]
  
 
[https://github.com/istvan-v/ep128emu/tree/master/util/epcompress/z80_asm Z80 assembly rutinok]
 
[https://github.com/istvan-v/ep128emu/tree/master/util/epcompress/z80_asm Z80 assembly rutinok]
  
 
[https://github.com/istvan-v/ep128emu/tree/master/util/epcompress/src libepcompress forráskód (GPL), C++ programba építhető]
 
[https://github.com/istvan-v/ep128emu/tree/master/util/epcompress/src libepcompress forráskód (GPL), C++ programba építhető]
 +
 +
[https://wiki.enterpriseforever.com/index.php?title=T%C3%B6m%C3%B6r%C3%ADtett_ROM_f%C3%A1jlrendszer_k%C3%A9sz%C3%ADt%C3%A9se_(ROM:_eszk%C3%B6z) Tömörített ROM fájlrendszer készítése (ROM: eszköz)]

Latest revision as of 11:35, 23 April 2019

Parancssor, paraméterek

epcompress [PARAMÉTEREK...] INFILE[...] OUTFILE

Általános

  • -h | -help | --help: Rövid leírást ír ki a program használatáról, és kilép.
  • --: Minden további paraméter fájl név.
  • -x: Tömörített fájl kicsomagolása.
  • -t: Fájl(ok) tesztelése.

Fájl formátum

  • -raw | -noraw: EXOS fejlécek figyelmen kívül hagyása -raw esetén, az alapértelmezés -noraw. Támogatott EXOS modul típusok:
    • 05h: Új alkalmazói program (-m3), a mérete a szabványosnál nagyobb is lehet, kicsomagolva a 3. lapot is használhatja
    • 06h: Abszolút rendszerbővítő (-m3)
    • 49h: IVIEW kép (-m2 vagy -m3, a CVIEW bővítő azonban csak az -m2-t támogatja)
  • -m2 | -m3: Formátum választása, az -m3 az alapértelmezett. Az -m2-t az emulátor használja snapshot fájlok és a ROM csomag tömörítésére, illetve IVIEW képeknél lehet hasznos, egyébként elavult és általában nem ajánlott a használata.
  • -a | -n: Archívum készítése több fájlból -a esetén (-raw módot tételez fel), az alapértelmezés -n.
  • -V: Több részre (volume) bontott bemeneti fájl, csak kicsomagolásnál és tesztelésnél.
  • -V <N>: Tömörítésnél a kimenet N kilobájt méretű részekre bontása. N csak 4 többszöröse lehet.

Önkicsomagoló programok paraméterei

  • -borderfx | -noborderfx: A keretcsíkozás engedélyezése vagy tiltása.
  • -cleanup | -nocleanup: A lapozás és veremmutató EXOS-hoz hasonló beállítása.

Linkek

EP128Emu, a csomag tartalmazza az EPcompress aktuális verzióját

Z80 assembly rutinok

libepcompress forráskód (GPL), C++ programba építhető

Tömörített ROM fájlrendszer készítése (ROM: eszköz)