Welcome, Guest. Please login or register.


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

Offline szipucsu

  • EP addict
  • *
  • Posts: 8068
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.5.3 Firefox 3.5.3
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Fájltömörítés Enterprise-on
« Reply #165 on: 2009.September.26. 13:37:16 »
Persze ez a program is elveszett...
:( Kár...
Biztos nincsenek meg valahol a kazetták/lemezek, ahol az eltûntnek vélt programjaid vannak? Nem keveredtek pl. az audió kazetták közé vagy valami?

Amúgy az érdekesség kedvéért kiváncsi lennék, hogy a Hungry Creature címû játékomban basicbõl a DATA sorokban lévõ pályákat mennyire lehetne betömöríteni. Nyilván ahol egynél több fal vagy "nem fal" jön egymás után, ott "összenyomná" az adatokat, de lehetne ennél többet is? Gyakorlati haszna talán nem túl sok lenne, max. kisebb lenne vmivel a fájl és esetleg gyorsabban kirajzolná a pályát.
Ahogy elkezdek rajta elmélkedni, egy olyan esetben, amikor vízszintesen csupa fal van, ez lehetne a DATA sorban: 38,x. Egyéb DATA sorok talán valahogy így néznének ki: 1,y,12,x,1,y,3,x,1,y,10,x,1,y (x=fal, y="járat"). Van olyan is néha, hogy fal és járat sûrûn váltogatja egymást, erre lehetne mondjuk "z" jelölést használni, és akkor az lenne a DATA sorban, hogy 7,z. És meg lehetne nézni, a fal és a járat kombinációiból milyen esetek fordulnak elõ gyakran. Kár, hogy erre régebben nem gondoltam. :D Szerintem igen jelentõs helyet meg lehetett volna spórolni a DATA sorokban. És talán azért is egyszerû, mert max. két-három karakter (fal, járat, akadály) válthatja csak egymást. Ahol 127 karakter fordulhat elõ valamilyen adathalmazban, azt sokkal bonyolultabb lehet tömöríteni, ebbe belegondolni sem tudok, hogyan lehetne. :D
Tudtok esetleg még valamit, amivel még jobban össze lehetne nyomni a pályákat a HC-ben? Pl. a szimmetrikus, tükrözhetõ pályákat biztos még jobban lehetne tömöríteni, de szerintem sokkal bonyolultabb eljárás kell ahhoz, hogy ne csak az egymás mellett lévõ karaktereket vegye figyelembe.

Egyébként egy érdekesség: a Dot collector címû játékban turkálva kiderült, hogy mindegyik pályánál a pálya körül lévõ falat (keretet) is külön tárolja a program. Ennek nincs sok értelme, mert minden pályánál ugyanaz. Még kisebb is lehetett volna így a Dot collector játék. :D (Hát még ha a pályákat is tömörítve tárolják. :D ) Én a HC-nél úgy csináltam, hogy a keretet ne tárolja már a program külön DATA sorokban.
SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
SOUND PITCH 25,SYNC 2
Videos

Offline Attus

  • EP addict
  • *
  • Posts: 1230
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 2.0.0.16 Firefox 2.0.0.16
    • View Profile
Re: Fájltömörítés Enterprise-on
« Reply #166 on: 2009.September.26. 15:04:16 »
valószínûleg nem érdekel senkit
Ejnye!  :smt039
Engem nagyon!
Az EPcompress esetében a statisztikai tömörítés az adott file-ra optimalizált.
Mint az én néhai DTF-em, csak nálad tökéletesebben.
Én örültem, hogy az elvet sikerült átültetnem viszonylag gyors z80 kódra, a hatásfok növelésével meg csak kis ideig foglalkoztam.
a hosszúság, és a távolság
Ragyogó ötlet.
A hosszúsághoz tömörített sorozatnál egyet hozzá kell adni, mert a legrövidebb sorozat, amelyet ez a tömörítõ ismételni tud, 2 byte-os. Ezen kívül a 2 byte-os sorozatok a távolságnál más kódolást használnak, amellyel a legnagyobb lehetséges érték 65535 helyett csak 510, ehhez viszont általában egy bittel kevesebb is elég, és így valamivel jobb tömörítési hatásfokot tesz lehetõvé:
A helyzet, és a tömörítés fokozódik.
 :) :) :)
Hamarosan lesz saját internetem, akkor majd visszatérek, de addig is sok sok köszönet.  :bow:

Offline Povi

  • EP addict
  • *
  • Posts: 1873
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.5.3 Firefox 3.5.3
    • View Profile
    • http://povi.fw.hu
Re: Fájltömörítés Enterprise-on
« Reply #167 on: 2009.September.26. 20:20:11 »
esetleg gyorsabban kirajzolná a pályát.
Gyorsabb biztos nem lenne. Pláne BASIC-ben... :-)
*** Speicherplatz zu klein

Offline szipucsu

  • EP addict
  • *
  • Posts: 8068
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.5.3 Firefox 3.5.3
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Fájltömörítés Enterprise-on
« Reply #168 on: 2009.September.26. 20:40:35 »
Gyorsabb biztos nem lenne. Pláne BASIC-ben... :-)
Ja, közben nekem is eszembe jutott ez. :D
Esetleg akkor, ha úgy tölti be külön a pályákat... bár lehet, akkor se.
SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
SOUND PITCH 25,SYNC 2
Videos

Online Zozosoft

  • EP addict
  • *
  • Posts: 13519
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.5.3 Firefox 3.5.3
    • View Profile
    • http://enterprise.iko.hu/
Re: Fájltömörítés Enterprise-on
« Reply #169 on: 2009.September.28. 23:24:09 »
Akkor talán érdemes lenne még az EPcompress és DTF formátumokról is részletes leírást készíteni ? :)
Igen, igen, igen!!!

Offline Attus

  • EP addict
  • *
  • Posts: 1230
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 2.0.0.16 Firefox 2.0.0.16
    • View Profile
Re: Fájltömörítés Enterprise-on
« Reply #170 on: 2009.September.29. 17:13:18 »
Úgy látszik, mégsem :)

Kis türelmetlen!  :smt064
Hátha még mást is érdekel a tömörítés.
A szótlanságomból gondoltad?  :shock:
Ezernyi oka is lehet. A legfõbb: Nem lógok mindig a neten,
Mellesleg én le vagyok nyûgözve tõled.  :bow:
Off: Ma építem ki az elsõ saját otthoni netemet. A tatyómban az ADSL modem, még mindig a bratyómnál írok. (rettenetes szó: netem  :evil:)
Szerk.: 2009 09. 29 21:45 Szerk.:
Él a saját internetem.   :smt041
« Last Edit: 2009.September.29. 21:52:34 by Attus »

Offline Attus

  • EP addict
  • *
  • Posts: 1230
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 2.0.0.16 Firefox 2.0.0.16
    • View Profile
Re: Fájltömörítés Enterprise-on
« Reply #171 on: 2009.September.30. 19:30:15 »
Az optimális kódolt byte méret elvileg kiszámítható a gyakoriságból (log2(1/f) bit, ahol 'f' az elõfordulási gyakoriság 0 és 1 között; tehát például ha egy byte 25% valószínûséggel fordul elõ, akkor azt 2 biten érdemes tárolni, ha viszont csak 0.1% a valószínûsége, akkor kb. 10 biten).
Az RLE tömörítés után a tömörítõm a fájlban lévõ bájtokat elõfordulási rangsorba állítja.
A tömörítõm az adott tömörítendõ fájlra ezt az optimum számítást el is végzi.  :!: Méghozzá többféle tárolási bitszám kombinációkkal és ezekbõl a legkisebb fájlméretet adó tárolási rendszert választja és úgy végzi el a tömörítést. Mivel azonban elvileg elég sokféle kombináció elképzelhetõ, ezért csak egy értelmes tárolási módszer esetet analizál. Ezért az esetek döntõ többségében szinte mindig ugyan azt a rendszert választja. Persze csináltam extrém fájlokkal is próbát, mint például csak 10 -20 féle bájtot tartalmazó fájlokkal, ezeknél már más módszer a célravezetõbb, mint például egy statisztikailag "kaotikusabb" Z80 kód esetében.

Online Zozosoft

  • EP addict
  • *
  • Posts: 13519
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.5.3 Firefox 3.5.3
    • View Profile
    • http://enterprise.iko.hu/
Re: Fájltömörítés Enterprise-on
« Reply #172 on: 2009.September.30. 22:06:12 »
Ismét izgalmas dolgokat tudhattunk meg, köszönjük!
Nekem ezek a tömörítõs dolgok mindig olyan misztikus valaminek tûntek  :oops:
Nekem csak egy satnya próbálkozásom volt a VS-el  :oops:

Offline Attus

  • EP addict
  • *
  • Posts: 1230
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 2.0.0.16 Firefox 2.0.0.16
    • View Profile
Re: Fájltömörítés Enterprise-on
« Reply #173 on: 2009.September.30. 23:09:19 »
Egy kis adalék a DTF születéséhez.  :)
Kezembe akadt egyszer egy könyv tömörítési eljárásokról, amiben le volt írva többek közt a stasztikai tömörítés elve is. Akkortájt kevés és drága volt a floppy lemez, hogy több átirat ráférjen, valamint hogy valami hasznosat is programozzak és ne csak spectrum átiratokat gyártsak, nekiálltam a megvalósításnak. Persze a "helyszûke" manapság már nem oly mérvadó, mint akkor volt, a hardver legyõzte a szoftvert, de mégis még manapság is fejlõdnek tömörítõk a Terabájtos vinyók korában. Viszont a matematikai, szellemi kihívás azért nem semmi!!

Köszönöm István, hogy te tökéletesítetted a megvalósítást és a statisztikai tömörítés hatékonyságát!

Persze ez az elv nem minden tömörítendõ anyaghoz a leghatékonyabb, hisz speciális fájlokhoz jóval hatékonyabb eljárásokat is kitaláltak már. Például hanghullám fájloknál az ogg, mp3, vagy képeknél a jpeg, vidóknál az mpeg. Érdekes, hogy ezek is állandóan fejlõdnek (MPEG2 - h264 a DVB világában) Azonban, ha már minden más tömörítési algoritmus csõdöt mond, akkor az utolsó szalmaszál a statisztikai mód. Ennek eredménye már a teljes bitkáosz, vagy "fehérzaj", ami már tovább tömöríthetetlen.  :mrgreen:

Online Zozosoft

  • EP addict
  • *
  • Posts: 13519
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.5.3 Firefox 3.5.3
    • View Profile
    • http://enterprise.iko.hu/
Re: Fájltömörítés Enterprise-on
« Reply #174 on: 2009.October.14. 20:14:26 »
Egy egyszerû példa programok tömörítésére:
:smt038 :smt038 :smt038
Quote
Ha több adatblokk (EXOS 6 hívás) lenne a .prg file-n belül, akkor azoknak a méretét vesszõvel elválasztva kellene megadni.
És ha több külön fájl van (SCR, PRG, ROM, stb), akkor azt hogyan lehet egybe rakni?

Ha utántöltõs a program akkor a pályákat nyilván külön-külön kell csomagolni, ilyenkor ugye a csatorna nyitás-zárások maradjansk, csak 1-es csatornára átírva?


Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • 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 #175 on: 2009.October.26. 17:05:03 »
WEC Le Mans (CPC átirat):
  4339-0

  * wecleman.prg (25.25 kB - downloaded 130 times.)

Kisebb hiba az átiratban: külső joystick használatakor a "fel" irány egyszerre gyorsít és balra kanyarodik, a "bal" irányra viszont nem történik semmi; ez nehezítheti az irányítást :) A billentyűzet/beépített joystick azonban jól működik.

Online geco

  • EP addict
  • *
  • Posts: 5430
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.5.3 Firefox 3.5.3
    • View Profile
Re: Fájltömörítés Enterprise-on
« Reply #176 on: 2009.October.26. 18:40:12 »
WEC Le Mans (CPC átirat):
  (Attachment Link)
  (Attachment Link)

Kisebb hiba az átiratban: külső joystick használatakor a "fel" irány egyszerre gyorsít és balra kanyarodik, a "bal" irányra viszont nem történik semmi; ez nehezítheti az irányítást :) A billentyűzet/beépített joystick azonban jól működik.


Ooops , bevallom az irányítást egy jó ideje csak a jól bevált q a o p space-szel próbáltam  :oops:
meglesem, mit szúrtam el

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • 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 #177 on: 2009.October.26. 22:14:26 »
Joystick javítva: :mrgreen:
  * wecleman.prg (25.25 kB - downloaded 126 times.)
A wecleman.com file (azaz tömörített program betöltő) ugyanaz, mint az előbbi változatban.

Javított tömörítetlen PRG (csak egy 00h 08h 10h 08h 20h byte-sorozatban cseréltem a második 08h-t 18h-ra):
  * wecleman_fixed.prg (38.5 kB - downloaded 133 times.)

Nekem egyébként volt betöltőkép EP64-en (magnó+FileIO konfiguráció).

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • 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 #178 on: 2009.October.26. 23:42:36 »
A w.asm-ben a 6821. sorban (l2ea0 címke) kell javítani, ott található a fent említett hiba.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux (Suse) Linux (Suse)
  • Browser:
  • Konqueror 4.3.1 Konqueror 4.3.1
    • View Profile
Re: Fájltömörítés Enterprise-on
« Reply #179 on: 2009.December.17. 19:17:22 »
Sorcery+:
  4585-0

  * sorcery.prg (63.24 kB - downloaded 125 times.)

Nem sokkal lett kisebb, gyakorlatilag csak a betöltőképet - amelyet egyébként dither nélküli változatra cseréltem - és az utolsó adatblokkot lehetett tömöríteni. Lehet, hogy a játék már eddig is valamilyen tömörített, vagy "titkosított" formátumban volt, amelynek a dekódolásával talán kisebb méretet is el lehetett volna érni.

UI: a reset ebben a verzióban nem működik :oops:
« Last Edit: 2009.December.17. 19:26:01 by IstvanV »