Welcome, Guest. Please login or register.


Author Topic: Fájltömörítés Enterprise-on (Read 72810 times)

Offline Povi

  • EP addict
  • *
  • Posts: 1700
  • Country: hu
  • OS:
  • Windows 2000 Windows 2000
  • Browser:
  • Microsoft Internet Explorer 6.0 Microsoft Internet Explorer 6.0
    • View Profile
    • http://povi.fw.hu
Re: Fájltömörítés Enterprise-on
« Reply #45 on: 2008.November.20. 15:55:07 »
PC-n lehet vele tömöríteni 5-ös fejlécű EP programokat, IVIEW képeket, és ezen kívül bármilyen egyéb (nem csak EP specifikus) adatot.
Köszi a választ!

Egyéb adatfile-t fejléc nélüli, "nyers" formátumba tömörít, amit a fenti Z80 assembler rutinnal lehet kicsomagolni.
Melyikkel? Én nem találom, de lehet, hogy csak én vagyok béna.

Kipróbáltam az uncompress.ext-et is a thelyra2-t próbáltam kitömöríteni vele, de alapgépen (128k) nem megy, mert kevés a memória. (mondjuk ez annyira nem volt meglepő) Mekkora a memóriaigénye a programnak?
*** Speicherplatz zu klein

Offline IstvanV

  • EP addict
  • *
  • Posts: 4755
  • OS:
  • Linux (Suse) Linux (Suse)
  • Browser:
  • Konqueror 3.5.9 Konqueror 3.5.9
    • View Profile
Re: Fájltömörítés Enterprise-on
« Reply #46 on: 2008.November.20. 17:54:25 »
Köszi a választ!
Melyikkel? Én nem találom, de lehet, hogy csak én vagyok béna.
A legújabb epcompress verzióban a "z80_asm" könyvtárban található kicsomagoló kód Z80-ra, az "uncompress"-ben pedig az uncompress bővítés .ext és .rom formátumban, (nem túl szépen megírt :)) forráskóddal. A Z80-as kitömörítőnek három változata van:
decompress_sfx.s - ezt az önkicsomagoló 5-ös fejlécű file-ok használják. Két részből áll, az első a tömörített adat elé, a másik pedig a file végére kerül. A forráskód a z80-asm PC-s assemblerrel fordítható le.
decompress_simple.f - hasonló az előzőhöz, de csak a kitömörítő rutint tartalmazza betöltő nélkül, és FENAS formátumra van konvertálva. Nem tartalmaz semmliyen memóriakezelést vagy lapozást, ezért csak 64K-s területen működik, ahol a kicsomagolt adatok mellett a kódnak, a változóknak, és a veremnek is el kell férnie. A használata egyszerű: a HL regisztert a tömörített adat elejére kell beállítani, a DE-t pedig arra a címre, ahonnan kezdődően a kicsomagolt adatokat lehet tárolni, és a decompressData rutint kell meghívni. Visszatéréskor a DE az utolsó kitömörített byte utáni címre mutat. Az eredeti tömörített adat felülírható, de vigyázni kell arra, hogy a tömörített adat vége a tömörítetlen adat vége után legyen legalább néhány byte-al, így elkerülhető, hogy még feldolgozatlan adat íródjon felül.
decompress.f - továbbfejlesztett verzió (a leírás itt olvasható), szintén FENAS formátumban. Ez nagyobb méretű és lassabb, de rugalmasabban használható, tartalmaz memóriakezelést, és lapozással megoldja, hogy a kicsomagolható adat méretét csak a lefoglalható memória korlátozza.
decompress.s - ugyanaz z80-asm formátumban.
Quote
Kipróbáltam az uncompress.ext-et is a thelyra2-t próbáltam kitömöríteni vele, de alapgépen (128k) nem megy, mert kevés a memória. (mondjuk ez annyira nem volt meglepő) Mekkora a memóriaigénye a programnak?
A jelenlegi verzió az egész file-t a memóriában tömöríti ki, és mivel 3 szegmens (a 0. lap, a rendszerszegmens, és a bővítő) már foglalt, egy 128K-s gépen csak 80K marad (illetve 96K a ROM verzió használatakor). A program módosításával azonban megoldható lenne, hogy a kitömörített adatot azonnal a lemezre írja, és így csak 64K memóriát kellene lefoglalni (mert legfeljebb 65535 byte-al korábban előfordult sorozatot lehet tömöríteni, tehát ekkora a "szótár" mérete). Kisebb hátrány, hogy így megszűnne az eredeti file felülírásának a lehetősége.
« Last Edit: 2008.November.20. 18:01:36 by IstvanV »

Offline IstvanV

  • EP addict
  • *
  • Posts: 4755
  • OS:
  • Linux (Suse) Linux (Suse)
  • Browser:
  • Konqueror 3.5.9 Konqueror 3.5.9
    • View Profile
Re: Fájltömörítés Enterprise-on
« Reply #47 on: 2008.November.21. 20:25:12 »
A program módosításával azonban megoldható lenne, hogy a kitömörített adatot azonnal a lemezre írja, és így csak 64K memóriát kellene lefoglalni (mert legfeljebb 65535 byte-al korábban előfordult sorozatot lehet tömöríteni, tehát ekkora a "szótár" mérete). Kisebb hátrány, hogy így megszűnne az eredeti file felülírásának a lehetősége.
A módosított verzió:
« Last Edit: 2009.May.09. 16:40:23 by IstvanV, Reason: Régi verzió törlése »

Offline Povi

  • EP addict
  • *
  • Posts: 1700
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.0.4 Firefox 3.0.4
    • View Profile
    • http://povi.fw.hu
Re: Fájltömörítés Enterprise-on
« Reply #48 on: 2008.November.21. 20:33:06 »
Mekkora veremre van szüksége a kicsomagoló rutinnak?
Én pl. 5-ös fejlécű programnál 100H-ra szoktam beállítani. Ha saját programban felhasználom a kicsomagoló rutint, elég lesz-e neki a verem?

Más: próbálgattam a tömörítő programot, és érdekes, hogy nem mindig a -9 paraméterrel tömörít a leghatékonyabban (de az biztos, hogy az a leglasabb :)). Volt olyan, hogy pont a -1-el tömörített fájl lett a legkisebb.
*** Speicherplatz zu klein

Offline IstvanV

  • EP addict
  • *
  • Posts: 4755
  • OS:
  • Linux (Suse) Linux (Suse)
  • Browser:
  • Konqueror 3.5.9 Konqueror 3.5.9
    • View Profile
Re: Fájltömörítés Enterprise-on
« Reply #49 on: 2008.November.21. 21:00:23 »
Mekkora veremre van szüksége a kicsomagoló rutinnak?
Én pl. 5-ös fejlécű programnál 100H-ra szoktam beállítani. Ha saját programban felhasználom a kicsomagoló rutint, elég lesz-e neki a verem?
A "CP-M emulálási célokra fenntartott" terület 160 byte, ez biztosan elég (az önkicsomagoló kód csak 20 byte területet foglal a veremnek, de a bonyolultabb decompress.s/f kitömörítő is jóval kevesebbet használ, mint 160 byte). Azonban szükség van még memóriára a változóknak is, ez az egyszerűbb változatnál 156 byte (a megjegyzés, amely szerint 152, hibás :oops:) és nem keresztezhet 256 byte-os határt.
Quote
Más: próbálgattam a tömörítő programot, és érdekes, hogy nem mindig a -9 paraméterrel tömörít a leghatékonyabban (de az biztos, hogy az a leglasabb :)). Volt olyan, hogy pont a -1-el tömörített fájl lett a legkisebb.
Ez valóban előfordul :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4755
  • OS:
  • Linux (Suse) Linux (Suse)
  • Browser:
  • Konqueror 3.5.9 Konqueror 3.5.9
    • View Profile
Re: Fájltömörítés Enterprise-on
« Reply #50 on: 2008.December.21. 00:32:32 »
A méret elvileg bármekkora lehet, de a tömörítő program jelenlegi verziója a gyakorlatban nagyon lassú és sok memóriát használ az eredetileg tervezett 64K-nál lényegesen nagyobb file-ok tömörítésekor. :oops:
A legújabb verzió ezen javít valamennyit.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4755
  • OS:
  • Linux (Suse) Linux (Suse)
  • Browser:
  • Konqueror 3.5.9 Konqueror 3.5.9
    • View Profile
Re: Fájltömörítés Enterprise-on
« Reply #51 on: 2009.April.27. 23:14:39 »
Új verzió: ezzel .ext (6-os fejléc) formátumű file-t is lehet tömöríteni.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4755
  • OS:
  • Linux (Suse) Linux (Suse)
  • Browser:
  • Firefox 3.0.8 Firefox 3.0.8
    • View Profile
Re: Fájltömörítés Enterprise-on
« Reply #52 on: 2009.April.29. 11:43:11 »
thelyra2.com            325781  (eredeti file)
thelyra2.dtf            179224  (attus.ldr EP-n)
  attus.ldr:
    DISK: -> DISK:  ~112 s
    FILE: -> FILE:  ~63 s
thelyra2.dtf            177899  (dtf.cpp PC-n, kompatibilis az attus.ldr-el)
thelyra2.zip            114205  (Info-ZIP 2.32)
thelyra2.exo            108927  (exomizer 2.0b7)
thelyra2.zip            107220  (p7zip 4.57)
thelyra2                105160  (epcompress)
  uncompress.ext:
    DISK: -> DISK:  ~79 s
    DISK: -> FILE:  ~27.5 s
    FILE: -> FILE:  ~21 s
thelyra2.rar            104272  (rar 3.80)
thelyra2.7z              93203  (p7zip 4.57)


Az új verziókkal:

thelyra2.dtf            178124  (dtf.cpp PC-n, kompatibilis az attus.ldr-el)
thelyra2.dtf            156998  (dtf.cpp PC-n, nem kompatibilis az attus.ldr-el)
thelyra2.m2             104905  (epcompress -m2)
thelyra2.m0             102236  (epcompress -m0)

« Last Edit: 2009.April.29. 11:53:37 by IstvanV »

Online Zozosoft

  • EP addict
  • *
  • Posts: 13078
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.0.10 Firefox 3.0.10
    • View Profile
    • http://enterprise.iko.hu/
Re: Fájltömörítés Enterprise-on
« Reply #53 on: 2009.April.29. 12:21:15 »
Olyan változatot lehetne csinálni, mint PC-n az önkicsomagoló cuccok?
Vagyis több fájl van egyben, a neveik is eltárolva, EP-n futtatva megkérdezi hova csomagolja ki. Bonuszként több lemezes támogatás :-)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4755
  • OS:
  • Linux (Suse) Linux (Suse)
  • Browser:
  • Firefox 3.0.8 Firefox 3.0.8
    • View Profile
Re: Fájltömörítés Enterprise-on
« Reply #54 on: 2009.April.29. 14:13:15 »
Olyan változatot lehetne csinálni, mint PC-n az önkicsomagoló cuccok?
Vagyis több fájl van egyben, a neveik is eltárolva, EP-n futtatva megkérdezi hova csomagolja ki.
Az megfelel erre a célra, ha az UNCOMPRESS-t kiegészítem az ep128emu_roms.bin-hez (ami több file-t tárol legfeljebb 28 karakter hosszú és könyvtár nélküli nevekkel, igaz, fejéc nincsen) hasonló formátumű file-ok kicsomagolásával ?

Online Zozosoft

  • EP addict
  • *
  • Posts: 13078
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.0.10 Firefox 3.0.10
    • View Profile
    • http://enterprise.iko.hu/
Re: Fájltömörítés Enterprise-on
« Reply #55 on: 2009.April.29. 21:13:09 »
Az megfelel erre a célra, ha az UNCOMPRESS-t kiegészítem az ep128emu_roms.bin-hez (ami több file-t tárol legfeljebb 28 karakter hosszú és könyvtár nélküli nevekkel, igaz, fejéc nincsen) hasonló formátumû file-ok kicsomagolásával ?
Jó lehet így is. Meg lehetne spékelni azzal, hogy ha EOF-ra fut a forrásfájlban, akkor kéri a következõ darabot? Vagyis billentyû nyomás után meg próbálja megnyitni a következõ fájlt, aminek a nevét lehetne generálni a PC-n is szokásos növekvõ számos kiterjesztéssel.
Így akkor nagyobb adatcsomagot (konvertált képek, zenék, filmek, CPC programcsokor, stb :-) ) is könnyen lehetne átvinni vinyós gépre. (Vagy kisebb csomagot 8-900K-s EP-s lemezre)
Persze akkor a PC-s becsomagolóba kéne "aprítás" paraméter is.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4755
  • OS:
  • Linux (Suse) Linux (Suse)
  • Browser:
  • Konqueror 3.5.9 Konqueror 3.5.9
    • View Profile
Re: Fájltömörítés Enterprise-on
« Reply #56 on: 2009.May.04. 18:30:28 »
Ez a továbbfejlesztett UNCOMPRESS verzió már elvileg minden új funkciót tud (.ext kicsomagolás, több file-t tartalmazó - ep128emu_roms.bin formátumú -  archívumok támogatása, "darabolt" formátum, stb.), de még tesztelni kell:

* uncompress.s (54.88 kB - downloaded 157 times.)
3241-1


Példának itt egy nagyobb csomag játék (Attus Spectrum átiratai) tömörítve:

* puredtf1.000 (688 kB - downloaded 156 times.)
* puredtf1.001 (633.21 kB - downloaded 141 times.)
* puredtf2.000 (688 kB - downloaded 143 times.)
* puredtf2.001 (688 kB - downloaded 151 times.)
* puredtf2.002 (85.37 kB - downloaded 146 times.)
* puredtf3.000 (688 kB - downloaded 143 times.)
* puredtf3.001 (662.02 kB - downloaded 169 times.)
* puredtf4.000 (688 kB - downloaded 149 times.)
* puredtf4.001 (202.9 kB - downloaded 142 times.)

Online Zozosoft

  • EP addict
  • *
  • Posts: 13078
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.0.10 Firefox 3.0.10
    • View Profile
    • http://enterprise.iko.hu/
Re: Fájltömörítés Enterprise-on
« Reply #57 on: 2009.May.05. 10:04:54 »
Ez a továbbfejlesztett UNCOMPRESS verzió már elvileg minden új funkciót tud
Nagyon jól hangzik!
Quote
de még tesztelni kell:
Igyekszem  :oops:

Offline IstvanV

  • EP addict
  • *
  • Posts: 4755
  • OS:
  • Linux (Suse) Linux (Suse)
  • Browser:
  • Konqueror 3.5.9 Konqueror 3.5.9
    • View Profile
Re: Fájltömörítés Enterprise-on
« Reply #58 on: 2009.May.05. 19:00:46 »
Frissítettem az IVIEW+CVIEW+IPLAY+SNDPLAY+UNCOMPRESS bővítést, az új UNCOMPRESS verzióval (kisebb változtatások vannak az előbbihez képest), és az SNDPLAY 0.98-al, amely a dtm1.s-ben található "majdnem mindig" működő DAC trükköt tartalmazza:

Hamarosan elkészül a továbbfejlesztett epcompress is.
« Last Edit: 2009.May.06. 11:46:48 by IstvanV, Reason: Hibás verzió törlése »

Offline IstvanV

  • EP addict
  • *
  • Posts: 4755
  • OS:
  • Linux (Suse) Linux (Suse)
  • Browser:
  • Firefox 3.0.8 Firefox 3.0.8
    • View Profile
Re: Fájltömörítés Enterprise-on
« Reply #59 on: 2009.May.08. 11:30:19 »
Hamarosan elkészül a továbbfejlesztett epcompress is.

Ez a verzió már talán működik :) Az elsőben hibás volt a file darabolás :oops:, a második (amelyet -fprofile-generate/-fprofile-use-al fordítottam) pedig GCC bug miatt lefagyott.
Így lehet több file-ból tömörített archívumot készíteni:
  epcompress -a file1 file2 ... tomoritett_file
A file nevek könyvtárat is tartalmazhatnak, de azt a program nem tárolja a kimeneti file-ban. A file-ok száma legfeljebb 128 lehet (illetve több is, de akkor EP-n nem lehet kicsomagolni), a file nevek maximális hossza pedig 28 karakter (ha hosszabb, akkor az epcompress levágja a végét). A file nevekben betűk, számok, és a '+', '-', '.', és '_' karakterek használhatók, más karakterek (pl. szóköz) helyére '_' kerül.
Mivel a Windows parancsértelmezője (CMD.EXE) nem támogatja a *, ?, stb. karakterekkel több file név megadását, hanem azt minden programnak külön kell megvalósítani, és az epcompress ezt nem tudja :oops:, sok file tömörítése kissé nehézkes lehet. Azonban lehetőség van a file nevek listáját szöveges file-ból olvasni, amelyben a neveket TAB vagy új sor karakterek választhatják el (szóköz nem, az a név része lenne); ilyen file használatához a parancssorban a név elé @ karaktert kell írni, például "epcompress -a @files.txt tomoritett_file".

"Darabolt" file készítéséhez a -V paramétert kell használni, például 720K-s floppyhoz "-V 712".

A tömörítés sebességét és hatásfokát néhány további paraméterrel lehet állítani:
  -9                legnagyobb tömörítés (lassú, és általában nem lesz sokkal kisebb a file)
  -blocksize 65536  gyorsabb tömörítés, valamivel nagyobb file
  -minlen 3         kis mértékben gyorsabb tömörítés, nagyobb file, és gyorsabb kicsomagolás
  -maxoffs 1        csak RLE tömörítés; sokkal nagyobb file, (általában) gyorsabb tömörítés, és gyorsabb kicsomagolás
Hasonló file-okat célszerű egymás után megadni, így jobb tömörítési hatásfokot lehet elérni.

Tömörített archívum tesztelése és kicsomagolása:
  epcompress -t -a tomoritett_file
  epcompress -x -a tomoritett_file
Darabolt file esetén a -V paramétert is meg kell adni, de ezúttal szám nélkül.

Ugyanez EP-n:
  uncompress /TA tomoritett_file
  uncompress /A tomoritett_file
« Last Edit: 2009.May.08. 11:54:50 by IstvanV »