Enterprise Forever

:HUN => Programozás => Topic started by: szipucsu on 2008.October.02. 00:05:16

Title: Fájltömörítés Enterprise-on
Post by: szipucsu on 2008.October.02. 00:05:16
Valóban, az eddigi információk alapján már sikerült egyszerû DTF tömörítõ és kitömörítõ programot írni PC-re :)
Tudom, a DTF kifejezetten EP-ra készült, de azért érdekelne, a RAR-hoz vagy a ZIP-hez viszonyítva milyen hatékonysággal tömörít. Ha majd ott tartunk, lehetne errõl pár szó?

Az lehetséges, hogy olyan programok, melyek szinte az egész memóriát betöltik (pl. Batman - the movie) nem tölthetõk be tömörített formában, mert nincs hely a kitömörítõ számára, ill. a kitömörítõnek felül kéne írnia ezért saját magát?
Title: Re: Fájltömörítés Enterprise-on
Post by: MrPrise on 2008.October.02. 08:43:23
Tudom, a DTF kifejezetten EP-ra készült, de azért érdekelne, a RAR-hoz vagy a ZIP-hez viszonyítva milyen hatékonysággal tömörít. Ha majd ott tartunk, lehetne errõl pár szó?
Ezt te magad is kipróbálhatod! Kicsomagolsz egy DTF-fel tömörített programot és újratömöríted PC-n amivel akarod, aztán összehasonlítod őket.
Másrészt sok értelme nincs olyan tömörítőkkel összehasonlítani, amelyek megabyte-os szótárakat használnak (a RAR-ban pl 4megás alapértelmezés) és nagyságrendekkel nagyobb HW áll a rendelkezésükre.
Harmadrészt a DTF-et az EP-n elérhető többi tömörítőhez érdemes hasonlítani, annak van értelme!
Pl. a TPT tömörítőjéhez.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2008.October.02. 08:47:10
Ami engem érdekelne: ZIP tömörítõ létezik Z80-ra?
Hiszen a ZIP már az XT-s idõkben is létezett, tehát elvolt nagyságrendileg kb azonos hardveren is.
Title: Re: Fájltömörítés Enterprise-on
Post by: MrPrise on 2008.October.02. 08:59:40
Most 20 éves a ZIP (http://www.c10n.info/archives/430) egyébként.
Talán a ZIP-et meg lehetne próbálni átírni EP-re is, bár sok gyakorlati haszna ma már nem lenne. Azt írják, hogy akkor tervezték amikor a hálózati sebesség 300-1200 baud volt és a lemezek mérete is tizedmegabyte-okban volt mérhető.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2008.October.02. 09:38:56
Talán a ZIP-et meg lehetne próbálni átírni EP-re is
Csak kéne valami részletes bájt-bit szintû algoritmus leírás...
Ha már van Z80-as forrásszöveg, az se baj :-)
Az oroszoknál láttam emlegetni ZIP-et Spectrumra, nem tudom, hogy az tényleg az, vagy csak annak neveztek el valami saját tömörítõt...
Quote
, bár sok gyakorlati haszna ma már nem lenne.
Azért jó lenne egy olyannal kompatibilisnek lenni, ami manapság is ismert a PC-s világban.
Egy pl 840K-s lemezek lementése image-be. Ezt utána be kéne zippelni, hogy egy 720-ason át lehessen vinni PC-re.
Title: Re: Fájltömörítés Enterprise-on
Post by: Attus on 2008.October.02. 18:46:42
Csak kéne valami részletes bájt-bit szintû algoritmus leírás...
Ha már van Z80-as forrásszöveg, az se baj :-)
Az oroszoknál láttam emlegetni ZIP-et Spectrumra, nem tudom, hogy az tényleg az, vagy csak annak neveztek el valami saját tömörítõt...Azért jó lenne egy olyannal kompatibilisnek lenni, ami manapság is ismert a PC-s világban.
Egy pl 840K-s lemezek lementése image-be. Ezt utána be kéne zippelni, hogy egy 720-ason át lehessen vinni PC-re.
   :smt026 Még nem próbáltátok ki ezek szerint a lemezes betöltőmben lévő tömörítőt!
Az is DTF algoritmussal megy, saját magamnak az átírandó Spectrum programokat anno azzal betömörítve tároltam. Akkor még csak ENTERPRISE gépem volt!
A DTF egyébként max 256 darabos táblázatot fűz a kész fájlhoz, Én már régebben is próbáltam tovább tömöríteni ACE, RAR stb-vel, azok szinte semmit nem tudnak rajta már összébb nyomni.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2008.October.02. 20:18:10
Összehasonlításképpen a BATMAN.APL file-t tömörítettem különböző programokkal, a file méretek az alábbiak lettek:
Code: [Select]
batman.apl   44288
batman.dtf   38298  (ATTUS.LDR EP-n)
batman2.dtf  38176  (dtf.cpp PC-n)
batman2.gz   30684  (gzip -9)
batman.exo   30037  (exomizer 2.0 beta6, PC-ről 8 bites gépekre tömörítő program)
batman.gz    29936  (7za a -tgzip -mx=9 batman.gz batman.apl)
batman.m1    29721  | ezek mind az én PC-ről 8 bites gépekre tömörítő programom
batman.m2    29705  | különböző algoritmusokat választva; a "0" típusú formátum
batman.m0    29189  | megegyezik az epimgconv által használt tömörítéssel
batman.lzma  27879  (az LZMA a 7-zip alapértelmezett tömörítési algoritmusa)
Természetesen más file-ok esetén eltérő eredmények lehetnek.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2008.October.03. 20:30:50
Csak kéne valami részletes bájt-bit szintû algoritmus leírás...
Ha már van Z80-as forrásszöveg, az se baj :-)
Az oroszoknál láttam emlegetni ZIP-et Spectrumra, nem tudom, hogy az tényleg az, vagy csak annak neveztek el valami saját tömörítõt...
A ZIP kitömörítést elvileg meg lehet oldani EP-n, illetve már van ilyen program pl. C64-re. Az epimgconv által használt formátum kb. hasonló bonyolultságú, tehát a zip (Deflate) is hasonló mértékben lenne lassú, de valószínűleg némi optimalizálással lehetne javítani a sebességen. A tömörítés már nehezebb, valószínűleg csak a PC-s programoknál gyengébb hatásfokkal lehetne tömöríteni, és így is lassan.
A ZIP formátum és a Deflate tömörítés leírása például itt (http://www.w3.org/Graphics/PNG/RFC-1951) és itt (http://www.pkware.com/documents/casestudies/APPNOTE.TXT) olvasható.
Title: Re: Fájltömörítés Enterprise-on
Post by: nyuzga on 2008.October.03. 20:38:59
A game crackerek meg ezt használják. :lol: (http://thor.hu/download.php?view.6514)
Title: Re: Fájltömörítés Enterprise-on
Post by: szipucsu on 2008.October.03. 20:50:22
A tömörítés már nehezebb, valószínûleg csak a PC-s programoknál gyengébb hatásfokkal lehetne tömöríteni, és így is lassan.
Szerintem gyengébb hatásfok is bõven elég az EP programokhoz. Sõt, ha csak minden tömörítés nélkül átrakja ZIP-be, az is. (A PC kompatibilis EP formátum lenne a poén.) A kicsomagolás meg azért lenne jó, mert akkor a netrõl letöltött EP játékok egybõl mehetnének az EP-be - már ha van erre igény. (Viszont Laci programjai RAR-ban vannak fent, de ha esetleg lenne EP-s ZIP kitömörítõ, szerintem tutira kicserélné mind a párszáz programot ZIP-re.  :smt043 )
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2008.October.03. 23:34:24
A game crackerek meg ezt használják. :lol: (http://thor.hu/download.php?view.6514)

batman.uha: 28625 byte
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2008.October.10. 22:08:18
Az epcompress programot próbálta valaki ? Bár valószínűleg nem igazán hasznos :)
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2008.October.17. 20:07:34
Az epcompress programot próbálta valaki ? Bár valószínûleg nem igazán hasznos :)
Az a baj, hogy túl sok nagyméretû 5-ös fejlécû program nincs...
Amit így hirtelen találtam: Nodes of Yesod, Starstrike 3D, Beach Head, ezek mûködnek szépen.
Ugyanebbe a sorozatba tartozik a Raid over Moscow, itt viszont a fõ program lefagy kitömörödés után :-( végigpróbáltam 1-9-ig a tömörítési fokokat, néha van, hogy a kockás induló kép még bejön.


Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2008.October.17. 23:16:02
Az a baj, hogy túl sok nagyméretû 5-ös fejlécû program nincs...
Valóban, a legtöbb program több kisebb file-ból áll, még akkor is, ha ezeknek a mérete együttesen is kisebb, mint 47.75K. Nem tudom, hogy a DTF-ben van-e erre valamilyen automatikus megoldás, vagy minden programhoz külön kellett egyedi betöltőt készíteni ?
Quote
Amit így hirtelen találtam: Nodes of Yesod, Starstrike 3D, Beach Head, ezek mûködnek szépen.
Ezeken kívül még a korábban már említett Batman is működik, mert a batman.apl külön is futtatható, illetve az alábbi egy file-osra átalakított Sorcery változat is (bár az ilyen átírás kissé nehézkes megoldás). Természetesen az epimgconv-al konvertált képek is tömöríthetők ezzel a programmal; a hatásfoka valamivel rosszabb, mint az epimgconv beépített tömörítésének, viszont a kicsomagolás gyorsabb.
Quote
Ugyanebbe a sorozatba tartozik a Raid over Moscow, itt viszont a fõ program lefagy kitömörödés után :-( végigpróbáltam 1-9-ig a tömörítési fokokat, néha van, hogy a kockás induló kép még bejön.
Itt az okozta a problémát, hogy a játék nem inicializálja a veremmutatót induláskor, hanem feltételezi, hogy az a 2-es lapon az EXOS veremre mutat (pl. 0B217h). A kitömörítő azonban megváltoztatja a lapozást (ami még nem lenne probléma, mert ezt a játék még újra beállítja, 128K-s gép esetén F8,F9,FA,FA-ról FC,FD,FA,F8-ra), és a verem a 3-as lap végére kerül.
A raid_fixed.com file kijavítja ezt a hibát, de a kitömörítőt is meg lehetne változtatni (kisebb méretnövekedés árán), hogy a "normál" betöltés utáni állapotot a lehető legpontosabban visszaállítsa.

[attachurl=#]
[attachurl=#]
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2008.October.17. 23:20:51
de a kitömörítõt is meg lehetne változtatni (kisebb méretnövekedés árán), hogy a "normál" betöltés utáni állapotot a lehetõ legpontosabban visszaállítsa.
Ez egy szimpatikus ötlet! (esetleg berakni egy paramétert, hogy melyik betöltõt csapja hozzá)
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2008.October.18. 00:20:25
Ez egy szimpatikus ötlet! (esetleg berakni egy paramétert, hogy melyik betöltõt csapja hozzá)
Valóban, esetleg az is választható lehetne, hogy legyen-e keretszín effektus, vagy hogy a kitömörítő sebességre vagy méretre legyen optimalizálva. Az egyébként fontos, hogy a 3-as lapon milyen szegmens van egy program indításakor ?
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2008.October.19. 01:16:23
Az új verzió már letölthető: ezzel kijavítható a Raid over Moscow fagyása a '-cleanup' paraméter használatával (amely a normál betöltésnek megfelelően állítja az 1. és 2. lapot - de a 3.-at még nem, mert a kicsomagoló ott fut - és a veremmutatót), a keret villogtatása pedig kikapcsolható a '-noborderfx' segítségével. Ezen kívül a kitömörítő kód néhány byte-al kisebb lett, és valamivel gyorsabb is, és jobban működik EP64-en.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2008.October.19. 01:23:23
esetleg az is választható lehetne, hogy legyen-e keretszín effektus
Gondolatolvasó vagy másodállásban?  :ds_icon_cheesygrin:
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2008.October.26. 18:33:38
Feltöltöttem egy újabb kisebb javítást.
Újabb javítás: a Z80-as kicsomagoló kódban volt néhány hiba.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2008.October.31. 01:40:35
Új verzió (és egy azonnali javítás  :oops:): az EPimgconv/IVIEW formátumú képeket is lehet konvertálni tömörített formátumra és vissza.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2008.November.15. 20:18:03
Ezzel a továbfejlesztett kicsomagoló rutinnal bármilyen méretű epcompress-el tömörített adatot be lehet tölteni. A kód, a változók, és az olvasáshoz használt 256 byte hosszúságú puffer bárhol lehet a 0. vagy a 3. lapon, és a kód ROM-ban is futhat, mert nincsenek önmódosító részek. A memóriát egy előre lefoglalt szegmenseket tartalmazó lista alapján lehet használni, de automatikusan is tud foglalni EXOS 24 hívásokkal.
Hátrányok: nagyobb és lassabb, mint az eredeti kitömörítő, amely csak egy fix 64K-s címterületen működött lapozás nélkül; nem veszi figyelembe, ha egy szegmens megosztott. Hibák még lehetségesek.

A decompressData rutin hívásakor a következő regisztereket kell beállítani:

DE: a kicsomagolt adatokat erre a címre írja; a felső két bitnek nincs jelentősége, mert a szegmensszámokat az IY címen található táblázat határozza meg
HL: 256 byte-os puffer a tömörített adatok olvasásához, a 0. vagy 3. lapon. Csak az L változik, és amikor 0, akkor meghívja a readBlock rutint, hogy a puffert újra feltöltse. A readBlock nem változtathat meg semmilyen regisztert, kivéve a HL-t, amelyet új pufferre is beállíthat.
IX: a kitömörítő rutin által használható memória területre (változók stb.) mutat a 0. vagy 3. lapon. Az alsó byte-ot (XL) nem veszi figyelembe, mindig az XH00h-XHA3h területet használja.
IY: a felhasználható szegmenseket tartalmazó táblázatra mutat a 0. vagy 3. lapon. Ha egy szegmens száma 0, akkor azt EXOS 24 hívással lefoglalja, és tárolja a táblázatban; ha 1, akkor hibával visszatér (így korlátozható a lefoglalt memória mérete).

Sikeres visszatéréskor a DE és HL regiszterek az olvasott és írt adatoknak megfelelően módosulnak, az A és a carry bit nulla, a Z bit 1, az IY pedig az utolsó felhasznált szegmensre mutat a táblázatban.
Hiba esetén az A 255, a carry bit 1, a Z bit 0, és az IY arra a szegmensre mutat, amelynél a hiba történt.
Az 1. és 2. lapon található szegmenseket mindkét esetben visszalapozza.

Forráskód z80-asm (egyszerű PC-s Z80 assembler) és FENAS formátumban:
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2008.November.16. 16:52:13
Hibák még lehetségesek.
Egyet már találtam is :). Javított, és jobban tesztelt változat (kipróbáltam több mint 600K tömörítetlen méretű file-t is, ezt kb. 40 másodperc alatt csomagolta ki):
[attachurl=#]
[attachurl=#]
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2008.November.16. 23:55:45
Ez érdekel valakit, vagy letörölhetem ? :)
Title: Re: Fájltömörítés Enterprise-on
Post by: szipucsu on 2008.November.17. 01:12:37
Ez érdekel valakit, vagy letörölhetem ? :)

Semmiképpen ne töröld le, mindenféle EP-s fejlesztést nagyon értékelünk sztem mindannyian! Én csak azért nem reagáltam rá, mert a basic utasításokról van valami fogalmam, de a regiszterekrõl és a szegmensekrõl már azt se tudom, eszik-e vagy elemrõl mûködnek-e. :D
Ha újraírható DVD-ink és 120 gigás winchestereink nem is fognak betelni EP-s programokkal, még jól jöhet ez a tömörítés. (Pláne, hogy a fejlesztések nem állnak le, lásd TVC emu, IVIEW; ki tudja, mi lesz még itt, amit esetleg jó lesz tömöríteni. Amúgy ha jól emlékszem, Geco is használt valami tömörítést a CPC-s Impossible Mission 2 átírásakor.)
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2008.November.17. 09:20:04
Amúgy ha jól emlékszem, Geco is használt valami tömörítést a CPC-s Impossible Mission 2 átírásakor.
Használt, valami Gagyi tömörítést :D , vagy az ismétlődő byte-okat helyettesítettem 2 byte-tal, első a darabszám, második az érték, vagy csak a nullákat szedtem ki ily móson. :D
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2008.November.17. 09:27:41
Ez érdekel valakit, vagy letörölhetem ? :)
Naná, hogy érdekel!!! Csak még idõm nem volt elmélyedni a témában :-(
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2008.November.17. 12:09:39
Használt, valami Gagyi tömörítést :D , vagy az ismétlődő byte-okat helyettesítettem 2 byte-tal, első a darabszám, második az érték, vagy csak a nullákat szedtem ki ily móson. :D
Ez az ismétlődő sorozatokat tömöríti, azaz az M byte-al korábban előfordult N byte hosszúságú sorozatot lehet másolni (mindkét érték bármi lehet 1 és 65535 között, tehát még 1 byte hosszúságú "sorozatot" is lehet kevesebb, mint 8 bitre tömöríteni, de akkor a távolság csak legfeljebb 8-16 byte lehet). Érdekes eset, amikor N>M, ezt fel lehet használni az egyszerű ismétlődő byte-ok, vagy "abababab..." típusú sorozatok tömörítésére.
A hatásfok hasonló a zip/gzip tömörítéshez, illetve az egyszerű "gzip -9" parancsnál gyakran jobb. A kicsomagolás sebessége jobbnak tűnik, mint például a DTF - a DTF betöltők, amiket eddig kipróbáltam, 2-3-szor lassabbak voltak, de ez lehet, hogy csak azért van, mert nem voltak megfelelően optimalizálva, vagy sok időt töltenek lemezműveletekkel.
Title: Re: Fájltömörítés Enterprise-on
Post by: Attus on 2008.November.17. 14:01:33
A kicsomagolás sebessége jobbnak tűnik, mint például a DTF - a DTF betöltők, amiket eddig kipróbáltam, 2-3-szor lassabbak voltak, de ez lehet, hogy csak azért van, mert nem voltak megfelelően optimalizálva, vagy sok időt töltenek lemezműveletekkel.

A DTF  nem a lemezművelet miatt lassú, hanem azért, mert bitenként dolgozza fel a statisztikai tömörítésű adatfolyamot és ezek kitologatása pedig időigényes. Ki kell tolni az éppen aktuális számú bitet, és az aktuális táblázatából keszedni a neki megfelelő bájtot, majd így tovább. Hiába a statisztikai elv így követeli meg, igyekeztem optimalizálni, de csak ennyire futotta.  :oops:
A DTF betöltők a DTL kicsomizót használják, az attus.ldr már gyorsabban tölt, mivel ez a legfejlettebb kicsomizómat tartalmazza.  :roll:
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2008.November.17. 14:09:51
az attus.ldr már gyorsabban tölt, mivel ez a legfejlettebb kicsomizómat tartalmazza.  :roll:
Igen, ezen meg is lepõdtem a múltkor. Kár, hogy ez anno nem került közforgalomba :-(
Title: Re: Fájltömörítés Enterprise-on
Post by: Attus on 2008.November.17. 16:13:55
Igen, ezen meg is lepõdtem a múltkor. Kár, hogy ez anno nem került közforgalomba :-(
Bocsi, hogy ráültem.  :oops:
A forrása most már közkincs.
Egyébként szerintem ez a statisztikai módszer szenzációs ötlet. Azért is álltam neki megvalósítani. Valahogy vonzódom a matematikai és logikai dolgokhoz, ennek köszönhető a krixkrax féle játszadozás is, valamint a DTF. A DTF-nek gyakorlati haszna is volt a szűkös kapacitású floppyk világában.  ;-)
Persze a gyorsaság, valamint a tömörítés hatásfoka is csupán a szépség, precizitás és elegancia kérdéskörébe tartozik végső soron, mivel az idő és a tér relatíve végtelen...  :cool:
Azért szerintem a maximumra illik törekedni, mind tömörítési hatásfok, mind gyorsaság, mind bármi más téren.
Örülök, hogy úgy látom, ti is mindannyian hasonló elveket vallotok.  :razz:
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2008.November.17. 16:56:30
A DTF  nem a lemezművelet miatt lassú, hanem azért, mert bitenként dolgozza fel a statisztikai tömörítésű adatfolyamot és ezek kitologatása pedig időigényes. Ki kell tolni az éppen aktuális számú bitet, és az aktuális táblázatából keszedni a neki megfelelő bájtot, majd így tovább. Hiába a statisztikai elv így követeli meg, igyekeztem optimalizálni, de csak ennyire futotta.  :oops:
A DTF betöltők a DTL kicsomizót használják, az attus.ldr már gyorsabban tölt, mivel ez a legfejlettebb kicsomizómat tartalmazza.  :roll:
A bitenkénti léptetés valóban időigényes, ezért hasznos lehet az a megoldás, amikor a tömöríthetetlen byte-okat egészben lehet beolvasni bitenkénti léptetés nélkül, és csak a jelzőbiteket stb. kell bitenként olvasni. Bár az epcompress által használt formátum egy már létező formátum továbbfejlesztett változata, tehát az ötlet nem az enyém, de a fenti trükköt a bitenkénti olvasás elkerülésére használja.
Ha sikerül egy sorozatot tömöríteni, akkor a hosszúság és távolság paramétereket statisztikai tömörítéssel (amely hasonlít a DTF-hez, csak nincs második táblázat a karakterkészlethez) tárolja, így azokat már bitenként kell olvasni, de ez elfogadható kompromisszumot jelent - a PC-s tömörítő programokkal összemérhető (legalábbis kb. gzip szintű) hatásfokot és gyors kicsomagolást. Azonban az a tény, hogy egy byte hosszúságú "sorozatot" is lehet tömöríteni, szintén felfogható egyfajta statisztikai tömörítésként, mert így a gyakori byte-ok rövidebbek is lehetnek, mint 8 bit, a ritkábbak pedig 9 bitesek (mert egy bit jelzi, hogy tömörítetlen).

Egyébként a bitenkénti léptetést is lehet egy kis mértékben gyorsítani, például én ilyen rutint írtam legfeljebb 8 bit olvasására:
Code: ZiLOG Z80 Assembler
  1. read8Bits:
  2.         ld a, 001h
  3. readBits:
  4.         exx
  5. lrb_01: sla e
  6.         jr z, lrb_03
  7. lrb_02: adc a, a
  8.         jp nc, lrb_01
  9.         exx
  10.         ret
  11. lrb_03: inc l
  12.         call z, readBlock
  13.         ld e, (hl)
  14.         rl e
  15.         jp lrb_02
  16.  
Itt nincs külön változó a bitek számlálására, hanem maguknak a léptetett regisztereknek a túlcsordulása illetve nulla értéke jelzi, hogy mikor van kész az olvasás, illetve mikor kell új byte-ot olvasni. Viszont a beolvasandó bitek számát 2^(8-N) fromában kell megadni, de azt a DTF-nél előre is ki lehetne számolni, és a táblázatban már így tárolni.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2008.November.17. 17:26:12
Pláne, hogy a fejlesztések nem állnak le, lásd TVC emu, IVIEW; ki tudja, mi lesz még itt, amit esetleg jó lesz tömöríteni. Amúgy ha jól emlékszem, Geco is használt valami tömörítést a CPC-s Impossible Mission 2 átírásakor.
Az IVIEW formátumban már lehet ilyen tömörítést használni, bár nem tudom, hogy az előbbi Z80 kód mennyire használható a fejlesztéshez, vagy hogy esetleg célszerűbb lenne-e más formátumot választani.
Title: Re: Fájltömörítés Enterprise-on
Post by: Attus on 2008.November.17. 19:25:48
mert így a gyakori byte-ok rövidebbek is lehetnek, mint 8 bit, a ritkábbak pedig 9 bitesek (mert egy bit jelzi, hogy tömörítetlen).
A statisztikai bites tömörítésnek pont ez a lényege, amit írsz. Az, hogy osztályozzuk az előforduló bájtokat gyakorisági sorrendben, és jó esetben a leggyakrabban előforduló két bájtot akár 1 bittel is lehet értelmezni. Ha megfigyeled az attus.ldr tömörítését, akkor ő kiírja az általa optimálisnak talált tömörítési rendszert, mivel matematikailag meghatározható a tömörítés végrehajtájta előtt a leendő fájl hossza, minden tömörítési módszer esetén. A tömörítési módszerek száma, már amit a progim végignéz nem túl sok, lehet, hogy van optimálisabb is az adott fájl összetételére nézve, mint amiket végigpróbál.
Title: Re: Fájltömörítés Enterprise-on
Post by: Povi on 2008.November.17. 21:37:46
Ne haragudjatok, de tulajdonképpen mi ez az epcompress? (arra rájöttem, hogy tömörítő :))
Title: Re: Fájltömörítés Enterprise-on
Post by: MrPrise on 2008.November.17. 22:07:25
Az, hogy osztályozzuk az előforduló bájtokat gyakorisági sorrendben, és jó esetben a leggyakrabban előforduló két bájtot akár 1 bittel is lehet értelmezni.
Erre jó példa a Morse-kód. Ott a leggyakrabban előforduló betűknek a legrövidebb a kódja, a ritkábbaknak pedig hosszabb.
Title: Re: Fájltömörítés Enterprise-on
Post by: Attus on 2008.November.17. 22:15:20
Erre jó példa a Morse-kód. Ott a leggyakrabban előforduló betűknek a legrövidebb a kódja, a ritkábbaknak pedig hosszabb.
Klassz példa!  :smt041
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2008.November.17. 22:26:58
jó esetben a leggyakrabban előforduló két bájtot akár 1 bittel is lehet értelmezni
Csak akkor lehet mindkét leggyakrabban előforduló byte-ot 1 biten tárolni, ha a karakterkészlet mérete 2. :)
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2008.November.17. 22:58:52
Ne haragudjatok, de tulajdonképpen mi ez az epcompress? (arra rájöttem, hogy tömörítő :))
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.
A programokból önkicsomagoló, önállóan futtatható file-t készít, szintén 5-ös fejléccel, és a bemeneti file mérete legfeljebb 63.25K lehet (de elvileg lehetne több is az új kicsomagoló rutinnal).
Az IVIEW képeknél külön tömöríti a palettát (ez természetesen csak akkor hasznos, ha a paletta soronként változik :)), és a pixel adatokat, és a tömörített képet szintén IVIEW (049h) fejléccel menti, a fejlécben jelezve a tömörített formátumot.
Egyéb adatfile-t fejléc nélüli, "nyers" formátumba tömörít, amit a fenti Z80 assembler rutinnal lehet kicsomagolni. 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: Az ilyen tömörített adatokat természetesen csak új fejlesztésű EP programok tudnák használni, de egyszerűen lehetne írni olyan programot vagy bővítőt, amely a file-t EP-n kicsomagolja.

Az 'epcompress' program az összes formátumot (program, kép, és adat) ki is tudja csomagolni, és ellenőrizni is tudja, hogy hibás-e egy tömörített file. Tehát elméletileg lehetne használni csak PC-n gzip-hez hasonló tömörítő programnak, de ennek nem sok értelme van a tömörítés lassúsága és memóriahasználata miatt - a formátum egyetlen előnye, hogy viszonylag jó (zip-hez hasonló) tömörítési hatásfokot lehet vele elérni úgy, hogy a kicsomagolás elég gyors 8 bites gépeken is.
Title: Re: Fájltömörítés Enterprise-on
Post by: Attus on 2008.November.17. 23:10:16
Csak akkor lehet mindkét leggyakrabban elõforduló byte-ot 1 biten tárolni, ha a karakterkészlet mérete 2. :)

Na jó. Szélsõséges voltam. :ds_icon_cheesygrin:
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2008.November.19. 18:53:30
de egyszerűen lehetne írni olyan programot vagy bővítőt, amely a file-t EP-n kicsomagolja.
Az alábbi bővítő az első ilyen jellegű próbálkozás :) A használata:
  uncompress file1 file2
Kicsomagolja "file1"-et "file2"-be.
  uncompress file
Ugyanaz, csak nem új file-t hoz létre, hanem az eredetit írja felül.
  uncompress /L file1 file2
Kicsomagolás után automatikusan betölti "file2"-t EXOS modul betöltés (29) hívással.
  uncompress /L file
Ez is betölti a kicsomagolt file-t, de a kimeneti file név 'uncomp__.tmp'.
  uncompress /T file1 file2 file3 ...
Az összes megadott nevű file-t teszteli, de nem ír semmit a lemezre.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2008.November.19. 19:47:38
A programokból önkicsomagoló, önállóan futtatható file-t készít, szintén 5-ös fejléccel, és a bemeneti file mérete legfeljebb 63.25K lehet

Egyéb adatfile-t fejléc nélüli, "nyers" formátumba tömörít
A THELYRA2.COM kifogott a rendszeren :-) Lehetne egy olyan paraméter, amivel fejléctõl függetlenül meg lehet mondani, hogy "nyers" formátumot csináljon?
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2008.November.19. 21:08:42
A THELYRA2.COM kifogott a rendszeren :-) Lehetne egy olyan paraméter, amivel fejléctõl függetlenül meg lehet mondani, hogy "nyers" formátumot csináljon?
Új verzió feltöltve :) A -raw paraméter használatakor figyelmen kívül hagyja az EXOS fejlécet. Ezen kívül a csomag tartalmazza a Z80-as kicsomagoló minden változatát, és az előbbi "uncompress" bővítést is (.ext és .rom).
A Lyra 2 tömörítve:
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2008.November.20. 14:06:47
A Lyra 2 tömörítve:
Összehasonlítás néhány más tömörítővel, és kicsomagolási idők EP-n (384K-ra bővített memóriával):

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)
Title: Re: Fájltömörítés Enterprise-on
Post by: MrPrise on 2008.November.20. 15:00:33
Úgy látom már a 7z-vel is felveszi a versenyt, ami szép teljesítmény! Gratulálok!
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2008.November.20. 15:31:51
Úgy látom már a 7z-vel is felveszi a versenyt, ami szép teljesítmény! Gratulálok!
A 7z-vel nem igazán, mert több, mint 10% a különbség, de a például a RAR file méretével közel azonos lett. Ez azonban a file típusától is függ, más adatokkal nem biztos, hogy ugyanennyire jól működne. De a zlib-et használó programokkal (pl. gzip, Info-ZIP) általában rosszabb esetben is kb. hasonló méretet ér el.
Title: Re: Fájltömörítés Enterprise-on
Post by: Povi 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?
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV 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 (http://enterpriseforever.com/dlattach.html;topic=358.0;attach=1835) 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 (http://enterpriseforever.com/szoftver/fajltoemoerites_enterpriseon-t404.0.html;msg11715#msg11715) 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.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV 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ó:
Title: Re: Fájltömörítés Enterprise-on
Post by: Povi 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.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV 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 :)
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV 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.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV 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.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV 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)

Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft 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 :-)
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV 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 ?
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft 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.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV 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:

[attachurl=#]
[attachurl=#]

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

[attachurl=#]
[attachurl=#]
[attachurl=#]
[attachurl=#]
[attachurl=#]
[attachurl=#]
[attachurl=#]
[attachurl=#]
[attachurl=#]
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft 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:
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV 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.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.May.08. 12:19:52
"Darabolt" file készítéséhez a -V paramétert kell használni, például 720K-s floppyhoz "-V 712".
Ez tetszõleges érték lehet?
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.May.08. 12:29:39
Ez tetszõleges érték lehet?
4K egész számú többszöröseit lehet használni, más értékeket felfelé kerekít (pl. -V 349 helyett 352 lesz).
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.May.09. 13:53:40
ep128emu_roms.bin file készítése:
  epcompress -a -m2 -9 @rom_list.txt ep128emu_roms.bin
* rom_list.txt (http://enterpriseforever.com/dlattach.html;topic=443.0;attach=3507)
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.August.08. 21:34:16
És saját programba hogy lehet ilyet csinálni?
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.August.10. 12:03:51
Nem tudom, hogy érdemes lenne-e, de talán a wiki-t ki lehetne egészíteni az EPcompress/UNCOMPRESS leírásával. Esetleg még az EPsndconv/SNDPLAY-el is, bár azok is hamar feledésbe merültek :)
Title: Re: Fájltömörítés Enterprise-on
Post by: szipucsu on 2009.August.10. 13:05:08
Nem tudom, hogy érdemes lenne-e, de talán a wiki-t ki lehetne egészíteni az EPcompress/UNCOMPRESS leírásával. Esetleg még az EPsndconv/SNDPLAY-el is, bár azok is hamar feledésbe merültek :)

Majd igyexem akciózni a wikin...
Mondjuk ha Te hozzájutsz, az talán még jobb, "kicsit" jobban értesz a témához. :D

Én nem felejtettem el az EPsndconv és Sndplay-t. Sztem a többiek sem. ;) Csak enyhe inaktivitásba vonultunk a témával a fórumon.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.August.11. 19:54:45

További újdonság, hogy tömörített program készítésekor a bemeneti file-ok darabolhatók, pl.:
  dtf -cp -lz MAGICBAL.BIN Magicbal.com BALL1::0x08DC,0x0D5B,0x28A3,0x0482,0x0406,0x0480,0x4FBC,0x1811,0x085F
Itt a Magicbal.com és a BALL1 a két bemeneti file, és a BALL1-et 9 részre darabolva (a betöltésnek megfelelõen) tárolja. Az -lz paraméter nélkül a program "normál" DTF file-t készítene.
Ez most akkor mûködik bármilyen programra? Vagy módosítani kell az eredeti betöltõt hozzá?
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.August.11. 20:08:35
Ez most akkor mûködik bármilyen programra? Vagy módosítani kell az eredeti betöltõt hozzá?

A programokat a DTF készítéshez hasonlóan kell módosítani, azaz az EXOS 6 hívások helyére RST 28H-t kell írni. Például a Magicbal.com-nál ezekre a módosításokra van szükség:
Code: Diff
  1. --- mball_old.s 2009-08-11 20:02:45.000000000 +0200
  2. +++ mball_new.s 2009-08-11 20:01:23.000000000 +0200
  3. @@ -98,13 +98,19 @@
  4.  .   0177  D3 B2        OUT   (B2), A
  5.  .   0179  3C           INC   A
  6.  .   017A  D3 B3        OUT   (B3), A
  7.  .   017C  DD 21 3F 01  LD    IX, 013F
  8. -.   0180  3E 02        LD    A, 02
  9. -.   0182  F7 03        EXOS  03
  10. -.   0184  3E 02        LD    A, 02
  11. -.   0186  11 D8 01     LD    DE, 01D8
  12. -.   0189  F7 01        EXOS  01
  13. +.   0180  00           NOP
  14. +.   0181  00           NOP
  15. +.   0182  00           NOP
  16. +.   0183  00           NOP
  17. +.   0184  00           NOP
  18. +.   0185  00           NOP
  19. +.   0186  00           NOP
  20. +.   0187  00           NOP
  21. +.   0188  00           NOP
  22. +.   0189  00           NOP
  23. +.   018A  00           NOP
  24.  .   018B  DD 7E 04     LD    A, (IX+04)
  25.  .   018E  B7           OR    A
  26.  .   018F  28 6D        JR    Z, 01FE
  27.  .   0191  DD 6E 00     LD    L, (IX)
  28. @@ -115,16 +121,17 @@
  29.  .   019D  D3 B2        OUT   (B2), A
  30.  .   019F  CB F4        SET   6, H
  31.  .   01A1  CB BC        RES   7, H
  32.  .   01A3  EB           EX    DE, HL
  33. -.   01A4  3E 02        LD    A, 02
  34. +.   01A4  3E 01        LD    A, 01
  35.  .   01A6  DD 4E 02     LD    C, (IX+02)
  36.  .   01A9  DD 46 03     LD    B, (IX+03)
  37.  .   01AC  D5           PUSH  DE
  38.  .   01AD  C5           PUSH  BC
  39.  .   01AE  00           NOP
  40.  .   01AF  00           NOP
  41. -.   01B0  F7 06        EXOS  06
  42. +.   01B0  EF           RST   28
  43. +.   01B1  00           NOP
  44.  .   01B2  06 03        LD    B, 03
  45.  .   01B4  CD D0 02     CALL  02D0
  46.  .   01B7  C1           POP   BC
  47.  .   01B8  E1           POP   HL
  48. @@ -174,9 +181,9 @@
  49.  .   01F8  38 38        JR    C, 0232
  50.  .   01FA  2F           CPL
  51.  .   01FB  31 39 32     LD    SP, 3239
  52.  .   01FE  F3           DI  
  53. -.   01FF  3E 02        LD    A, 02
  54. +.   01FF  3E 01        LD    A, 01
  55.  .   0201  F7 03        EXOS  03
  56.  .   0203  C2 31 01     JP    NZ, 0131
  57.  .   0206  F3           DI  
  58.  .   0207  3E FD        LD    A, FD
  59. @@ -197,9 +204,9 @@
  60.  .   022A  11 00 F0     LD    DE, F000
  61.  .   022D  01 E8 08     LD    BC, 08E8
  62.  .   0230  ED B0        LDIR
  63.  .   0232  3A 66 00     LD    A, (0066)
  64. -.   0235  B7           OR    A
  65. +.   0235  AF           XOR   A
  66.  .   0236  28 08        JR    Z, 0240
  67.  .   0238  3A AE 02     LD    A, (02AE)
  68.  .   023B  CB BF        RES   7, A
  69.  .   023D  32 AE 02     LD    (02AE), A
  70.  
Itt az EXOS hívások átírása mellett a csatornaszámot is változtatni kellett, és egy (valószínűleg) másolásvédelem is okozott kisebb problémát (a 0066h címen található byte ellenőrzése).

A már meglevő DTF formátumú programok azonban sok esetben egyszerűen konvertálhatók, ha nincs a betöltésnél valamilyen kompatibilitási probléma (pl. nem RST 28H, hanem CALL 006xh hívást használ, felülírja a betöltőt, stb.).
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.August.12. 20:19:08
Attus "puredtf" csomagja konvertálva (a cargador.dtf, fullthro.dtf, gyroscop.dtf, orbix.dtf, és plot.dtf kivételével, amelyeket nem tudtam kicsomagolni):
    [attachurl=#]
A file-ok mérete összesen 5544951 byte lett (ebből 224*16, azaz 3584 byte EXOS fejléc :)). Eredetileg 7599981 byte volt, illetve a DTF.EXE-vel normál DTF formátumban újratömörítve 7566626 byte.
Azonban a programok egy része nem működik a DL2-vel a fent leírt problémák miatt.
Title: Re: Fájltömörítés Enterprise-on
Post by: Lacika on 2009.August.12. 21:30:15
Nem mondom ezek a programok megint durván összementek! Ha így folytatod, elfogynak az Ep-programok...  :ds_icon_cheesygrin:
Megfontolandó lenne viszont, hogy más kiterjesztést adni az új DTF-nek a kavarodások elkerülése végett!
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.August.12. 23:27:06
Megfontolandó lenne viszont, hogy más kiterjesztést adni az új DTF-nek a kavarodások elkerülése végett!

A .dtf kiterjesztés csak azért maradt, mert a konvertálást végző scriptben nem változtattam a file nevet :oops: Egyébként bármilyen más kiterjesztés is megfelel, és a formátumot az EXOS fejléc alapján is fel lehet ismerni.
De ennek túl nagy jelentősége nincsen, mert nem valószínű, hogy elterjedne a használata - jelenleg az eredeti DTF-ekkel kapcsolatban is elsősorban csak a file-ok kicsomagolása a téma :)
Title: Re: Fájltömörítés Enterprise-on
Post by: szipucsu on 2009.August.13. 13:11:27
bármilyen más kiterjesztés is megfelel, és a formátumot az EXOS fejléc alapján is fel lehet ismerni.

Ha esetleg tényleg változtatásra kerül sor, én pl. a TTF ("triplán tömörített file") vagy az ITF (István-féle tömörített file) kiterjesztést javaslom.
Felmerülhet, hogy ezek magyar szavak rövidítései (nem pedig angol), de ennyi talán a külföldieknek is kell. :D

Quote
De ennek túl nagy jelentõsége nincsen, mert nem valószínû, hogy elterjedne a használata
Ezt nem tudni, lehet, hogy kiderül, a PC teljesen használhatatlan az egyre több vírussal meg mindennel szemben, és globálisan egy régi számgéphez fognak visszatérni. :D
Title: Re: Write-Only
Post by: IstvanV on 2009.August.13. 13:26:04
Ha esetleg tényleg változtatásra kerül sor, én pl. a TTF ("triplán tömörített file") vagy az ITF (István-féle tömörített file) kiterjesztést javaslom.
Felmerülhet, hogy ezek magyar szavak rövidítései (nem pedig angol), de ennyi talán a külföldieknek is kell. :D

A DTF is magyar szavak rövidítése (Duplán Tömörített File). Ez a formátum azonban nincs triplán tömörítve, tehát a .TTF (ami egyébként TrueType Font is) nem lenne jó; valójában még duplán sincs igazán, legalábbis nem abban az értelemben, mint a DTF.

Quote
Ezt nem tudni, lehet, hogy kiderül, a PC teljesen használhatatlan az egyre több vírussal meg mindennel szemben, és globálisan egy régi számgéphez fognak visszatérni. :D

Maradhat a PC is, csak más operációs rendszerrel :twisted:
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.August.13. 13:35:36
Lehet TMF mint TöMörített file :-)
Title: Re: Fájltömörítés Enterprise-on
Post by: Lacika on 2009.August.13. 19:33:11
Feltöltöttem egy új "DTF (http://enterpriseforever.com/dlattach.html;topic=358.0;attach=3566)" verziót, amely a hagyományos DTF formátum mellet egy új, EXOS 64h ('d') fejlécet használó formátumot is támogat. Ez a formátum jobb tömörítési hatásfokot és gyorsabb betöltést tesz lehetővé.

Nekem nem akar hagyományos DTF-t betölteni  :(
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.August.13. 20:15:17
Nekem nem akar hagyományos DTF-t betölteni  :(

A "hagyományos" DTF formátumot a DL2 nem támogatja (bár később még talán be lehet építeni azt is :)), igaz, ez a program mérete alapján meglepő is lenne :) Erre a célra a már jól ismert DTF&TOM töltő, ATTUS.LDR, vagy :DL parancs (ZozoTools) használható.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.August.13. 20:18:07
Néhány újabb példa (remélhetőleg nem rontottam el egyiket sem :) :oops:):
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.August.14. 18:33:38
Nekem nem akar hagyományos DTF-t betölteni  :(

Hamarosan elkészül a DL2 új verziója, amellyel a hagyományos Attus DTF formátumot, annak a DTF.EXE által a -p 1 5 paraméterrel létrehozható továbbfejlesztett változatát, és az új formátumot is be lehet tölteni.

A fenti file-ok közül néhány DTF lefagy a jelenlegi DTF töltőkkel :oops:, de a frissített DL2-vel azok is használhatók lesznek. A .bin file-ok mind működnek, igaz, a paccity.bin-nél a keretszín nem fekete játék közben - ezt a hibát is kijavítom.
Title: Re: Fájltömörítés Enterprise-on (write-only)
Post by: IstvanV on 2009.August.15. 19:11:10
Hamarosan elkészül a DL2 új verziója, amellyel a hagyományos Attus DTF formátumot, annak a DTF.EXE által a -p 1 5 paraméterrel létrehozható továbbfejlesztett változatát, és az új formátumot is be lehet tölteni.

Elkészült, és fel is töltöttem (bár nagyon valószínűtlen, hogy bárkit is érdekelne :)).

Egy rövid összehasonlítás a különböző betöltőkről:

EXOLON.DTF      35243 byte      DTF&TOM töltő   20.844 s
EXOLON.DTF      35243 byte      :DL (ZozoTools) 21.373 s
EXOLON.DTF      35243 byte      ATTUS.LDR       12.225 s
EXOLON.DTF      35243 byte      DL2.COM          9.724 s
EXOLON.BIN      24292 byte      DL2.COM          3.255 s

WRIGGLER.DTF    39845 byte      DTF&TOM töltő   26.203 s
WRIGGLER.DTF    39845 byte      :DL (VAR 141,1) 24.698 s
WRIGGLER.DTF    39845 byte      ATTUS.LDR       14.766 s
WRIGGLER.DTF    39845 byte      DL2.COM         11.824 s
WRIGGLER.BIN    27826 byte      DL2.COM          4.478 s
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.August.15. 19:30:32
Ha jól nézem érdemes lenne a ZT-ban lecserélni a tiédre  :oops:
Title: Re: Fájltömörítés Enterprise-on (write-only)
Post by: Lacika on 2009.August.15. 21:07:18
Elkészült, és fel is töltöttem (bár nagyon valószínűtlen, hogy bárkit is érdekelne :)).

Azért én beraktam az Util programcsokorba (http://ep128.hu/Ep_Util/Util.htm).
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.August.15. 21:24:59
Ha jól nézem érdemes lenne a ZT-ban lecserélni a tiédre  :oops:

Azért van hátránya is :oops: A hagyományos DTF formátumnál csak 256 byte méretű puffert használ (a :DL egy egész szegmenst le tud foglalni erre a célra), hasonlóan a DTF&TOM töltőhöz és ATTUS.LDR-hez, ami igazi gépen floppyval lassulást eredményez; az új formátumnál azonban a tömörített adatblokkokat egészben betölti a memóriába, és ott helyben kicsomagolja :)
Title: Re: Fájltömörítés Enterprise-on (write-only)
Post by: IstvanV on 2009.August.15. 21:26:48
Azért én beraktam az Util programcsokorba (http://ep128.hu/Ep_Util/Util.htm).

Köszönöm :)
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.August.15. 21:31:12
Egy rövid összehasonlítás a különböző betöltőkről:

A fenti - időközben véletlenül törölt és visszaállított :oops: - hozzászólásban átírtam az időket pontosabb értékekre, amelyeket ennek a scriptnek a segítségével mértem:
    [attachurl=#]
Ez az 1-es csatorna megnyitása és bezárása közötti időt számolja a DAVE 1 kHz-es megszakításának a figyelésével.
Egyébként a tesztet (emulált) IDE lemezen végeztem.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.August.16. 17:20:43
Köszi, megpróbálkozok vele.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.August.19. 17:28:16
Egy rövid összehasonlítás a különböző betöltőkről:

EXOLON.DTF      35243 byte      DL2.COM          9.724 s
WRIGGLER.DTF    39845 byte      DL2.COM         11.824 s


Ez az új verzió DTF formátumnál valamivel gyorsabb lett, és a betöltő kód mérete is csökkent 470-ről 463 byte-ra (az új formátumnál nincs változtatás, de az eddig sem volt lassú :)):

EXOLON.DTF       8.958 s
WRIGGLER.DTF    10.920 s

Érdemes lenne igazi gépen is kipróbálni, hogy mekkora hátrányt jelent a kis bemeneti puffer használata floppy esetén.

[attachurl=#]
[attachurl=#]
[attachurl=#]
[attachurl=#]
[attachurl=#]
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.August.19. 22:29:28
EXOLON.DTF       8.958 s
WRIGGLER.DTF    10.920 s
Az EXOLON.DTF az a Attus puredtf-ben lévõ 35243 bájtos fájl?
WRIGGLER.DTF-em viszont nincs :-(
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.August.19. 22:35:11
Az EXOLON.DTF az a Attus puredtf-ben lévõ 35243 bájtos fájl?

Igen.

Quote
WRIGGLER.DTF-em viszont nincs :-(

Az itt (http://enterpriseforever.com/szoftver/fajltoemoerites_enterpriseon-t404.0.html;msg15417#msg15417) található :), néhány másik játékkal együtt, "hagyományos" és új formátumban is.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.August.20. 09:27:29

EXOLON.DTF       8.958 s
WRIGGLER.DTF    10.920 s

Érdemes lenne igazi gépen is kipróbálni, hogy mekkora hátrányt jelent a kis bemeneti puffer használata floppy esetén.
Floppyról 2x ennyi ideig tölt, viszont még így is gyorsabb 50%-al a DL-nél!  :smt038
Így akkor egyértelmûen lecserélendõ az a elavult vacak  :oops:
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.August.21. 18:07:30
Azért én beraktam az Util programcsokorba (http://ep128.hu/Ep_Util/Util.htm).

Időközben már készült egy újabb változat (lásd fent), ha a különbség nem is túl jelentős :oops:

Floppyról 2x ennyi ideig tölt, viszont még így is gyorsabb 50%-al a DL-nél!  :smt038
Így akkor egyértelmûen lecserélendõ az a elavult vacak  :oops:

Azt hiszem, valamivel kisebb is, mint a DL, bár ez elsősorban a help hiánya miatt van :oops:, és azért, mert a DL-ben a betöltő kód rendszerszegmensre másolt része áthelyezhető, és az ehhez használt táblázat is növeli a méretet. Én az EXOS verem - remélhetőleg - nem használt részére másoltam, ami nem tudom, hogy okozhat-e problémát egyes programoknál.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.August.21. 18:23:33
Utántöltõs programok (pl Laser Squad :) ) számára lehetne valami egyszerûen beépíthetõ verziót csinálni?
Úgy képzelem el, hogy lenne egy kis forráskódocska amit hozzácsapna az ember a programjához, és aztán a betöltõ EXOS 6-ok helyett CALL KITOMORIT és kész. Lusta programozók számára konyhakészen  :oops:
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.August.21. 18:44:55
Utántöltõs programok (pl Laser Squad :) ) számára lehetne valami egyszerûen beépíthetõ verziót csinálni?
Úgy képzelem el, hogy lenne egy kis forráskódocska amit hozzácsapna az ember a programjához, és aztán a betöltõ EXOS 6-ok helyett CALL KITOMORIT és kész. Lusta programozók számára konyhakészen  :oops:

A DTF éppen így működik :) Az EXOS 6 hívások helyett RST 28H-t kell használni; ez csak a DE regisztert veszi figyelembe, a csatornaszám mindig 1, a méretet pedig a file-ból olvassa. A betöltőt, azaz a 0. lapra és (csak az Attus DTF formátumnál) a rendszerszegmensre másolt kódot be lehet építeni a .com file-ba is, és akkor nem kell külön segédprogramot használni a betöltéshez.

A file-okat ezzel a paranccsal lehet tömöríteni (ez új formátumot készít):
  dtf.exe -cp -lz TOMORITETT_FILE FILE1 FILE2 ...
A "DTF" aktuális verziója feltételezi, hogy az első bemeneti file .com formátumú, tehát ha EXOS 5 fejlécet talál (az első két byte 00h és 05h), akkor azt levágja, és csak a fejlécben tárolt méretű byte-ot tömöríti. Ha nem 00h 05h van a file elején, akkor az egészet tárolja. Az adat mérete azonban egyik esetben sem lehet több, mint 3F00h byte. Ezt a korlátozást egyszerűen el lehetne távolítani (esetleg egy "nyers" módot engedélyező paraméterrel, amely a 16 byte-os EXOS fejlécet is letiltja).
A második, harmadik, stb. file bármilyen bináris adat lehet 1 és 65535 byte közötti méretben. Mindegyik file egy RST 28H hívásnak felel meg.

A betöltő kód (az RST-ket CALL-ra átírva más címre is kerülhet):

Code: ZiLOG Z80 Assembler
  1. decompCode1Begin:
  2.  
  3.         phase 00008h
  4.  
  5. readBit:                                ; RST 08H:
  6.         srl   c                         ; read a compressed bit to carry
  7.         ret   nz
  8.         rst   010h                      ; read next byte to shift register
  9.         rra
  10.         ld    c, a
  11.         ret
  12.  
  13. ; -----------------------------------------------------------------------------
  14.  
  15.     if $ < 00010h
  16.         block 00010h - $, 000h
  17.     endif
  18.  
  19. readByte:                               ; RST 10H:
  20.         exx                             ; read a compressed byte to A
  21.         ld    a, b
  22.         ld    b, c                      ; use a 2-byte buffer
  23.         dec   hl
  24.         ld    c, (hl)
  25.         exx
  26.     if NO_BORDER_FX == 0
  27.         out   (081h), a
  28.     endif
  29.         ret
  30.  
  31. decompressData_1:
  32.         sbc   hl, de                    ; calculate and store
  33.         ld    (readLength.l1 + 1), hl   ; 2's complement of start address
  34.         jr    decompressData_2
  35.  
  36. ; -----------------------------------------------------------------------------
  37.  
  38.     if $ < 00020h
  39.         block 00020h - $, 000h
  40.     endif
  41.  
  42. readLength:                             ; RST 20H: read and decode length value
  43.                                         ; NOTE: B should be set to zero
  44. .l1:    ld    hl, 00000h                ; * 2's complement of start address
  45.         add   hl, de                    ; check write address:
  46.         jr    c, readLength_.l2
  47.         jr    decompressDone            ; all data has been decompressed
  48.  
  49. ; -----------------------------------------------------------------------------
  50.  
  51.     if $ < 00028h
  52.         block 00028h - $, 000h
  53.     endif
  54.  
  55. decompressData:                         ; RST 28H: load compressed data to DE
  56.         call  readWordFromFile          ; get compressed data size
  57.         xor   a
  58.         ld    l, a
  59.         ld    h, a
  60.         jr    decompressData_1
  61.  
  62.         dephase
  63.  
  64. decompCode1End:
  65.  
  66. ; -----------------------------------------------------------------------------
  67.  
  68. decompCode2Begin:
  69.  
  70.         phase 00060h
  71.  
  72. readLength_:
  73. .l1:    inc   b                         ; read prefix
  74. .l2:    rst   008h
  75.         jr    c, .l1
  76.  
  77. readBits_:
  78.         dec   b                         ; read B (can be 0) bits to HL, and
  79. .l1:    ld    hl, 1                     ; add a leading '1' bit
  80.         inc   b                         ; (e.g. B=7 would read 1xxxxxxxb)
  81.         ret   z
  82.  
  83. readBits:
  84. .l1:    rst   008h                      ; shift B (must be > 0) bits to HL
  85.         adc   hl, hl                    ; HL is expected to be initialized
  86. .l2:    djnz  .l1                       ; to 0 or 1
  87.         ret
  88.  
  89. decompressDone:
  90.         pop   de                        ; pop return address of readLength
  91.         pop   de
  92. .l1:    ld    l, e                      ; DE = HL = last write address + 1
  93.         ld    h, d
  94.         xor   a                         ; A = 0 (no error)
  95.         ld    c, a                      ; BC = 0 (all data has been loaded)
  96.     if NO_BORDER_FX == 0
  97.         out   (081h), a                 ; reset border color
  98.     endif
  99.         ei
  100.         ret
  101.  
  102. decompressData_2:
  103.         inc   a                         ; A = 1 (input file channel number)
  104.         exos  6                         ; read compressed data
  105.         call  readWordFromFile          ; get uncompressedSize - compressedSize
  106.         ld    a, c
  107.         or    b
  108.         jr    z, decompressDone.l1      ; uncompressed data ?
  109.         di
  110.         push  de
  111.         exx
  112.         pop   hl                        ; HL' = compressed data read addr. + 1
  113.         exx
  114.         ex    de, hl
  115.         add   hl, bc
  116.         push  hl
  117.         dec   hl
  118.         ex    de, hl                    ; DE = decompressed data write address
  119.         ld    bc, 00001h                ; initialize shift register
  120.         rst   010h                      ; fill input buffer (2 bytes)
  121.         rst   010h
  122. .l1:    rst   020h                      ; read literal sequence length
  123. .l2:    rst   010h                      ; copy literal data
  124.         ld    (de), a
  125.         dec   de
  126.         dec   hl
  127.         ld    a, l
  128.         or    h
  129.         jr    nz, .l2
  130. .l3:    rst   020h                      ; get match length - 1
  131.         push  hl
  132.         ld    a, l
  133.         ld    l, b
  134.         ld    b, 4
  135.         dec   a
  136.         or    h
  137.         jr    z, .l5                    ; match length = 2 bytes ?
  138.         call  readBits                  ; read offset prefix (4 bits)
  139.         ld    b, l
  140.         call  readBits_                 ; read offset bits
  141. .l4:    add   hl, de                    ; calculate source address
  142.         ld    a, c                      ; save shift register
  143.         ldd
  144.         pop   bc                        ; BC = match length - 1
  145.         lddr                            ; expand match
  146.         ld    c, a
  147.         rst   008h                      ; read flag bit:
  148.         jr    nc, .l1                   ; 0: literal sequence
  149.         jr    .l3                       ; 1: LZ77 match
  150. .l5:    call  readBits.l2               ; special case for 2-byte matches:
  151.         ld    b, l                      ; prefix length = 3 bits,
  152.         call  readBits_.l1              ; encoding is 12345678, max offset: 510
  153.         dec   hl
  154.         jr    .l4
  155.  
  156. readWordFromFile:                       ; read a 16-bit LSB first word
  157.         call  .l1                       ; from the input file to BC
  158.         ld    l, b
  159. .l1:    push  de
  160.         ld    a, 1
  161.         exos  5
  162.         pop   de
  163.         ld    c, l
  164.         ret
  165.  
  166.         dephase
  167.  
  168. decompCode2End:
  169.  
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.August.21. 20:56:12
Még egy lehetséges megoldás, ezt talán a legegyszerűbb használni: az egész játék DTF legyen, és a .com file pedig a DL2.COM egyszerűsített változata, amely fixen tartalmazza a betöltendő file nevét (pl. CHAOS.PRG). :) Így magában a játékban csak az EXOS 6 hívásokat kell lecserélni RST 28H-ra, illetve a file megnyitást és esetleges EXOS resetet törölni. A PRG pedig külön is betölthető a DL2-vel.

DL2.COM forráskód fix filenévvel (a DL2_FILE.BIN-t kell átírni a végén), 900 byte:
  [attachurl=#]
Ugyanez csak az új formátum támogatásával, 363 byte:
  [attachurl=#]

Hatékonyabb tömörítést is el lehet érni az epcompress használatával, de azt bonyolultabb betölteni, vagy az egész programnak egy .com file-nak kell lennie.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.August.22. 17:17:52
esetleg egy "nyers" módot engedélyező paraméterrel, amely a 16 byte-os EXOS fejlécet is letiltja

Feltöltöttem egy új DTF (http://enterpriseforever.com/dlattach.html;topic=358.0;attach=3690) verziót, amely (a továbbfejlesztett DL2 mellett) már tartalmazza ezt a funkciót: a '-cp' helyett '-cr'-t kell használni, illetve kicsomagolásnál az '-x' helyett '-xr'-t (ilyenkor az '-lz'-t is meg kell adni, mert nem tudja a fejléc alapján felismerni a formátumot).

A fenti betöltő kódot is átírtam, hogy tetszőleges assemblerrel is le lehessen fordítani, ne fix (RST) címen legyen, hanem CALL utasítással lehessen hívni, és a csatornaszám is megadható az A regiszterben. Hibakezelést is tartalmaz, de csak az EXOS hívások visszatérési értékét ellenőrzi, azt nem, hogy a tömörített adat esetleg hibás-e. A méret viszont 164 byte-ra nőtt.

Code: ZiLOG Z80 Assembler
  1. KITOMORIT:      LD    H, A
  2.                 CALL  KITOMORIT15
  3.                 RET   NZ
  4.                 LD    L, A
  5.                 LD    A, H
  6.                 LD    H, L
  7.                 SBC   HL, DE
  8.                 LD    (KITOMORIT07+1), HL
  9.                 LD    H, A
  10.                 EXOS  6
  11.                 OR    A
  12.                 RET   NZ
  13.                 CALL  KITOMORIT15
  14.                 RET   NZ
  15.                 LD    A, C
  16.                 OR    B
  17.                 JR    Z, KITOMORIT08
  18.                 DI
  19.                 PUSH  DE
  20.                 EXX
  21.                 POP   HL
  22.                 EXX
  23.                 EX    DE, HL
  24.                 ADD   HL, BC
  25.                 PUSH  HL
  26.                 DEC   HL
  27.                 EX    DE, HL
  28.                 LD    BC, 1001H
  29.                 CALL  KITOMORIT13
  30. KITOMORIT01:    CALL  KITOMORIT07
  31. KITOMORIT02:    EXX
  32.                 LD    A, B
  33.                 LD    B, C
  34.                 DEC   HL
  35.                 LD    C, (HL)
  36.                 EXX
  37.                 OUT   (81H), A
  38.                 JR    NC, KITOMORIT03
  39.                 RRA
  40.                 LD    C, A
  41.                 RET
  42. KITOMORIT03:    LD    (DE), A
  43.                 DEC   DE
  44.                 DEC   HL
  45.                 LD    A, L
  46.                 OR    H
  47.                 JR    NZ, KITOMORIT02
  48. KITOMORIT04:    CALL  KITOMORIT07
  49.                 PUSH  HL
  50.                 LD    A, L
  51.                 LD    L, B
  52.                 LD    B, 4
  53.                 DEC   A
  54.                 OR    H
  55.                 JR    Z, KITOMORIT06
  56.                 CALL  KITOMORIT13
  57.                 LD    B, L
  58.                 CALL  KITOMORIT11
  59. KITOMORIT05:    ADD   HL, DE
  60.                 LD    A, C
  61.                 LDD
  62.                 POP   BC
  63.                 LDDR
  64.                 LD    C, A
  65.                 SRL   C
  66.                 CALL  Z, KITOMORIT02
  67.                 JR    NC, KITOMORIT01
  68.                 JR    KITOMORIT04
  69. KITOMORIT06:    CALL  KITOMORIT14
  70.                 LD    B, L
  71.                 CALL  KITOMORIT12
  72.                 DEC   HL
  73.                 JR    KITOMORIT05
  74. KITOMORIT07:    LD    HL, 0
  75.                 ADD   HL, DE
  76.                 JR    C, KITOMORIT10
  77.                 POP   DE
  78.                 POP   DE
  79. KITOMORIT08:    LD    L, E
  80.                 LD    H, D
  81.                 XOR   A
  82.                 LD    C, A
  83.                 OUT   (81H), A
  84.                 EI
  85.                 RET
  86. KITOMORIT09:    INC   B
  87. KITOMORIT10:    SRL   C
  88.                 CALL  Z, KITOMORIT02
  89.                 JR    C, KITOMORIT09
  90. KITOMORIT11:    DEC   B
  91. KITOMORIT12:    LD    HL, 1
  92.                 INC   B
  93.                 RET   Z
  94. KITOMORIT13:    SRL   C
  95.                 CALL  Z, KITOMORIT02
  96.                 ADC   HL, HL
  97. KITOMORIT14:    DJNZ  KITOMORIT13
  98.                 RET
  99. KITOMORIT15:    CALL  KITOMORIT16
  100.                 RET   NZ
  101.                 LD    L, B
  102. KITOMORIT16:    PUSH  DE
  103.                 LD    A, H
  104.                 EXOS  5
  105.                 POP   DE
  106.                 LD    C, L
  107.                 OR    A
  108.                 RET
  109.  
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.August.23. 23:28:17
Utántöltõs programok (pl Laser Squad :) ) számára lehetne valami egyszerûen beépíthetõ verziót csinálni?

Példa a fenti betöltő használatára (a B00h-BA4h területre került, amelyet remélhetőleg nem használ semmi):
[attachurl=#]
Title: Re: Fájltömörítés Enterprise-on
Post by: Lacika on 2009.August.24. 13:19:01
Így látatlanban jól sejtem, hogy így viszont a normál (tömörítetlen) pályákat nem tudja beolvasni a program?
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.August.24. 13:46:21
Így látatlanban jól sejtem, hogy így viszont a normál (tömörítetlen) pályákat nem tudja beolvasni a program?

Igen :oops:, de ez a probléma valójában elkerülhető, mert ha jól látom, minden pálya első két byte-ja olyan érték, ami tömörített pálya esetén nem fordulhatna elő, és így felismerhető a formátum:

[attachurl=#]
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.August.24. 13:52:22
Akkor most már meg is oldottad?
Mindenesetre itt a betöltõ forrása, hátha így kényelmesebb a bütykölés :-)
Title: Re: Fájltömörítés Enterprise-on
Post by: Lacika on 2009.August.24. 14:02:12
Akkor a honlapon ki is cserélhetem délután az új verziót?
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.August.24. 14:03:38
a B00h-BA4h területre került, amelyet remélhetõleg nem használ semmi
EP64 módban lehet gond, ha nem módosult az EXOS határ meg az LPT létrehozás.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.August.24. 14:49:54
EP64 módban lehet gond, ha nem módosult az EXOS határ meg az LPT létrehozás.

Akkor úgy látszik, mégis érdemesebb a forráskódot módosítani :) :oops: A tömörítetlen pályákat arról ismeri fel, hogy a file elején a 16 bites érték, amely egyébként a tömörített adat mérete lenne, nagyobb, mint 32767. Ez nem tudom biztosan, hogy minden pályánál így van-e, mert nem ismerem a formátumot.

[attachurl=#]
[attachurl=#]

A változtatások:

Code: Diff
  1. @@ -97,12 +97,12 @@
  2.                  LD DE,NEV1
  3.                  EXOS 1
  4.                  JP NZ,HIBA
  5.                  LD DE,4000H
  6. -                LD BC,6912
  7. -                EXOS 6
  8. +              ; LD BC,6912
  9. +                CALL KITOMORIT
  10.                  JP NZ,HIBA
  11. -                EXOS 3
  12. +              ; EXOS 3
  13.                  DI
  14.                ; CALL KONVERTAL
  15.                  XOR A
  16.                  LD DE,(VIDCIM2)
  17. @@ -118,16 +118,16 @@
  18.                  RRD
  19.                  LD (LPTH),A
  20.                  OUT (83H),A
  21.                  LD (VIDCIM2),DE
  22. -                XOR A
  23. -                LD DE,NEV2
  24. -                EXOS 1
  25. -                JP NZ,HIBA
  26. +              ; XOR A
  27. +              ; LD DE,NEV2
  28. +              ; EXOS 1
  29. +              ; JP NZ,HIBA
  30.                  LD DE,24104
  31. -                LD BC,22521
  32. -PRGLOAD         XOR A
  33. -                EXOS 6
  34. +              ; LD BC,22521
  35. +PRGLOAD       ; XOR A
  36. +                CALL KITOMORIT
  37.                  JP NZ,HIBA
  38.                  EXOS 3
  39.                  LD HL,CIMKE
  40.                  LD DE,100H
  41. @@ -967,10 +967,9 @@
  42.  SAVEST          DB "  Press 0-9 or A-Z to select save file  "
  43.  LOADST          DB "Press 0-9 or A-Z to select scenario file"
  44.  VOL             DBL "VOL"
  45.  EXDOSSTR        DBL "EXDOS"
  46. -NEV1            DBL "LSQ.SCR"
  47. -NEV2            DBL "LSQ.PRG"
  48. +NEV1            DBL "LSQ.PRG"
  49.  NEV3            DB 6,"LSQ."
  50.  TYPE            DB "L"
  51.  LEVEL           DB "0"
  52.  SPECLPT:        LD A,(LPTL)
  53. @@ -1057,10 +1056,9 @@
  54.                  LD DE,NEV3
  55.                  EXOS 1
  56.                  POP BC
  57.                  POP DE
  58. -                JR NZ,LOADHIBA1
  59. -                EXOS 6
  60. +                CALL Z,KITOMORIT
  61.  LOADHIBA1       PUSH AF
  62.                  PUSH BC
  63.                  PUSH DE
  64.                  XOR A
  65. @@ -1124,8 +1122,127 @@
  66.                  POP AF
  67.                  JR NZ,LOADHIBA
  68.                  SCF
  69.                  RET
  70. +KITOMORIT:      CALL KITOMORIT15
  71. +                RET NZ
  72. +                BIT 7,H
  73. +                JR Z,KITOMORIT17
  74. +                EX DE,HL
  75. +                LD (HL),E
  76. +                INC HL
  77. +                LD (HL),D
  78. +                INC HL
  79. +                EX DE,HL
  80. +                DEC BC
  81. +                DEC BC
  82. +                EXOS 6
  83. +                RET
  84. +KITOMORIT17:    LD C, L
  85. +                LD B, H
  86. +                LD L, A
  87. +                LD H, A
  88. +                SBC HL,DE
  89. +                LD (KITOMORIT07+1),HL
  90. +                EXOS 6
  91. +                OR A
  92. +                RET NZ
  93. +                CALL KITOMORIT15
  94. +                RET NZ
  95. +                LD A,L
  96. +                OR H
  97. +                JR Z,KITOMORIT08
  98. +                DI
  99. +                PUSH DE
  100. +                EXX
  101. +                POP HL
  102. +                EXX
  103. +                ADD HL,DE
  104. +                PUSH HL
  105. +                DEC HL
  106. +                EX DE,HL
  107. +                LD BC,1001H
  108. +                CALL KITOMORIT13
  109. +KITOMORIT01:    CALL KITOMORIT07
  110. +KITOMORIT02:    EXX
  111. +                LD A,B
  112. +                LD B,C
  113. +                DEC HL
  114. +                LD C,(HL)
  115. +                EXX
  116. +                OUT (81H),A
  117. +                JR NC,KITOMORIT03
  118. +                RRA
  119. +                LD C,A
  120. +                RET
  121. +KITOMORIT03:    LD (DE),A
  122. +                DEC DE
  123. +                DEC HL
  124. +                LD A,L
  125. +                OR H
  126. +                JR NZ,KITOMORIT02
  127. +KITOMORIT04:    CALL KITOMORIT07
  128. +                PUSH HL
  129. +                LD A,L
  130. +                LD L,B
  131. +                LD B,4
  132. +                DEC A
  133. +                OR H
  134. +                JR Z,KITOMORIT06
  135. +                CALL KITOMORIT13
  136. +                LD B,L
  137. +                CALL KITOMORIT11
  138. +KITOMORIT05:    ADD HL,DE
  139. +                LD A,C
  140. +                LDD
  141. +                POP BC
  142. +                LDDR
  143. +                LD C,A
  144. +                SRL C
  145. +                CALL Z,KITOMORIT02
  146. +                JR NC,KITOMORIT01
  147. +                JR KITOMORIT04
  148. +KITOMORIT06:    CALL KITOMORIT14
  149. +                LD B,L
  150. +                CALL KITOMORIT12
  151. +                DEC HL
  152. +                JR KITOMORIT05
  153. +KITOMORIT07:    LD HL,0
  154. +                ADD HL,DE
  155. +                JR C,KITOMORIT10
  156. +                POP DE
  157. +                POP DE
  158. +KITOMORIT08:    XOR A
  159. +                LD C,A
  160. +                LD B,A
  161. +                OUT (81H),A
  162. +                EI
  163. +                RET
  164. +KITOMORIT09:    INC B
  165. +KITOMORIT10:    SRL C
  166. +                CALL Z,KITOMORIT02
  167. +                JR C,KITOMORIT09
  168. +KITOMORIT11:    DEC B
  169. +KITOMORIT12:    LD HL,1
  170. +                INC B
  171. +                RET Z
  172. +KITOMORIT13:    SRL C
  173. +                CALL Z,KITOMORIT02
  174. +                ADC HL,HL
  175. +KITOMORIT14:    DJNZ KITOMORIT13
  176. +                RET
  177. +KITOMORIT15:    CALL KITOMORIT16
  178. +                RET NZ
  179. +                LD L,H
  180. +KITOMORIT16:    PUSH BC
  181. +                PUSH DE
  182. +                XOR A
  183. +                EXOS 5
  184. +                POP DE
  185. +                LD H,B
  186. +                POP BC
  187. +                OR A
  188. +                RET
  189.  VEGE             DB 0
  190.                  .PRINTX #$
  191.                  END
  192.  
  193.  
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.August.24. 15:21:13
Ez nem tudom biztosan, hogy minden pályánál így van-e, mert nem ismerem a formátumot.
A pálya elején egy Z80-as ugrótábla van, így C3H-val kezdõdik mind.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.August.24. 15:38:33
A pálya elején egy Z80-as ugrótábla van, így C3H-val kezdõdik mind.

Valóban, de C3H az lehet a tömörített adat elején is, ha a méret alsó byte-ja véletlenül éppen C3H. Az ep128.hu-n található csomagban a 19 pályán az első cím mindig B894H és B8D3H között van, ezért itt működik az általam használt megoldás (tehát hogy a második byte kisebb-e, mint 128), de lehet, hogy más pályáknál ez nem lenne megbízható.
Title: Re: Fájltömörítés Enterprise-on
Post by: szipucsu on 2009.August.27. 19:19:38
Most már talán szinte teljesen profi szinten lehet Enterprise programokat ki-be tömöríteni.  :smt041
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.August.27. 19:34:45
"Attus kompatibilis" memória lapozást állítanak be, azaz az 1.-3. lapra FD, FA, FB szegmensek kerülnek.
De ugye szabályosan elkéri ezeket az EXOS-tól?
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.August.28. 00:42:23
De ugye szabályosan elkéri ezeket az EXOS-tól?

Nem, igaz nem is ír ezekre a szegmensekre semmit (a betöltendő program első része elfér a 0. lapon). Csak azért lapozom be, mert a DTF&TOM töltőnél is ezek a szegmensek láthatók a tömörített program indításakor, és néhány (hibás ?) játék, például a Hit Squad ezt a konfigurációt tételezi fel, egyébként lefagy. Természetesen a Spectrum átiratok többsége indításkor azonnal "lefoglalja" a szegmenseket EXOS 25 hívással :lol:
Title: Re: Fájltömörítés Enterprise-on
Post by: Lacika on 2009.August.29. 10:59:05
Vannak őrogramok, meleket nem lehet becsomagolni, pontosabban be lehet, csak nem működik.
Ilyen a pl. Desolator és a Drakkar.
Title: Re: Fájltömörítés Enterprise-on
Post by: Attus on 2009.August.30. 12:33:04
Igen érdeklõdve olvasgatom, hogy milyen klassz dolgokat mûveltek.  :)
Mivel, most csak az ep128emu-2.0.7 linuxosításával, foglalkozom, csak arra lettemm figyelmes, hogy a hozzá csatolt zozotools DL -je nem minden régen betömörített DTF progimat képes kitömöríteni, valamint lassabb az én öreg attus.ldr betöltõmhöz képest. Remélem, ezeket is helyre kerülnek egyszer.
Isván tömörítési hatásfok növelésétõl el vagyok képedve.  :shock:
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.August.30. 12:56:58
Igen érdeklõdve olvasgatom, hogy milyen klassz dolgokat mûveltek.  :)
Mivel, most csak az ep128emu-2.0.7 linuxosításával, foglalkozom, csak arra lettemm figyelmes, hogy a hozzá csatolt zozotools DL -je nem minden régen betömörített DTF progimat képes kitömöríteni, valamint lassabb az én öreg attus.ldr betöltõmhöz képest. Remélem, ezeket is helyre kerülnek egyszer.

A DL2-t próbáltad ? Az remélhetőleg gyorsabb, mint a DL, és talán a kompatibilitása is jobb. Zozosoft már ajánlotta, hogy beépíti a ZozoTools következő verziójába, de ha mégsem, akkor a "Multiplay" ROM-ba is kerülhet. A DL-nek egy előnye azért van, a 16K-s bemeneti puffer, de a DL2 meglepő módon még a "hagyományos" 256 byte-os pufferrel is gyorsabb lemezes igazi gépen, ha nem is annyira, mint emulátoron.

Quote
István tömörítési hatásfok növelésétõl el vagyok képedve.  :shock:

Valójában az új "DTF szerű" formátum hatásfoka nem annyira jó, mint az EPcompress-nek (kb. 5% a méretnövekedés, de ez a bemeneti file típusától is függ). Az optimalizált statisztikai tömörítést ugyanis "feláldoztam" azért, hogy az egész betöltő elférjen a 0. lap általában nem használt részein, és így csak 150 byte keret villogtatással, és nem használ memóriát változóknak, táblázatoknak, vagy puffereknek.
Title: Re: Fájltömörítés Enterprise-on
Post by: Attus on 2009.August.30. 14:48:30
A DL2-t próbáltad ? Az remélhetõleg gyorsabb, mint a DL, és talán a kompatibilitása is jobb. Zozosoft már ajánlotta, hogy beépíti a ZozoTools következõ verziójába, de ha mégsem, akkor a "Multiplay" ROM-ba is kerülhet. A DL-nek egy elõnye azért van, a 16K-s bemeneti puffer, de a DL2 meglepõ módon még a "hagyományos" 256 byte-os pufferrel is gyorsabb lemezes igazi gépen, ha nem is annyira, mint emulátoron.
Õt még nem. Csak a rövid idejû uhu pakk tesztelési fázisában a az alap ZozoTools DL -jét.
Ha végre egy kis lélegzetnyi idõm akad rá, akkor a dtf játékaim betöltésére nekem megteszi az öreg attus.ldr.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.August.30. 18:40:56
zozotools DL -je nem minden régen betömörített DTF progimat képes kitömöríteni
Ott lehet még játszani a rendszerváltozóval is, ami szabályozza a memóriafoglalást, ill. az István által is emlegetett kötött memóriakezelés miatt vannak programok amik csak 128-as módban mennek. Ekkor DL-ben le kell tiltani a gyorsító szegmenst, mert a játék felülirná, vagy pedig ha bõvített gépen EXOS 2.3-al csináltuk a 128-at, akkor megadhatunk egy létezõ de így nem beláncolt RAM szegmenst fixen a gyorsításhoz.
Quote
valamint lassabb az én öreg attus.ldr betöltõmhöz képest.
Igen, ezt irtam is múltkor, hogy ha anno közkézen lett volna az ATTUS.LDR, akkor nem álltam volna neki DL-nek meg Anti DTF-nek :)
Nekem csak DTF&TOM TÖLTÖ-m volt, abból is ki tudja mikori verzió, az nagyon lassú volt.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.August.30. 18:46:00
Ilyen a pl. Desolator és a Drakkar.

Desolator JP 0069H nélkül:
  [attachurl=#]

The Lyra 2:
  [attachurl=#]
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.August.31. 17:21:03
Small Demo:  :ds_icon_cheesygrin:
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
Title: Re: Fájltömörítés Enterprise-on
Post by: szipucsu on 2009.August.31. 18:46:25
A Big demót tömörítés nélkül kéne meghagyni, így a Big demo és Small demo címe a méretét is tükrözné. :D
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.August.31. 18:51:49
A Big demót tömörítés nélkül kéne meghagyni, így a Big demo és Small demo címe a méretét is tükrözné. :D

A Big Demo még így is jóval kisebb.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.September.01. 20:45:18
Big Demo (így már igazán nem illik rá a név :lol:):
  [attachurl=#]
Kisebb javítás az eredetihez képest, hogy beállítja a melegindítási címet, ezért resettel az Enterprise logóhoz lehet kilépni. De továbbra is felülírja az FA, FB, FC szegmenseket.

Scroll Demo (ezt nehezebb volt átalakítani, remélem, nem rontottam el :oops:):
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]

Javított PART-1 a Small Demóhoz:
  [attachurl=#]
Itt a hibát már az eredeti verzió is tartalmazta, a digitális hang egy rövid része hiányzott (igaz, ezt valószínűleg nehéz észrevenni).

  * duct (http://enterpriseforever.com/dlattach.html;topic=404.0;attach=3745) (25.35 KB - downloaded 3 times.)

Ez nincs az ep128.hu-n :oops:
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.September.01. 21:09:59
Ezek jól összementek :-)
A Small Demo-ban volt valami saját tömörítés is, legalábbis volt valami keretcsíkozós rész :-) ez is le lett cserélve?

A javított PART-1-bõl lehetne egy hagyományosat is kérni az archívum részére?
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.September.01. 21:21:24
Ezek jól összementek :-)
A Small Demo-ban volt valami saját tömörítés is, legalábbis volt valami keretcsíkozós rész :-) ez is le lett cserélve?

Igen, eredetileg TOM (vagy legalábbis azzal gyakorlatilag azonos) tömörítés volt. De azt töröltem, mert így valamivel kisebb méretet lehetett elérni, és a betöltés is gyorsult. Ezen kívül én nem daraboltam az adatokat szegmensekre, hanem csak két nagyobb részre (az első legfeljebb 63.5K méretű).

Quote
A javított PART-1-bõl lehetne egy hagyományosat is kérni az archívum részére?

Igen, bár a hibát éppen az eredeti TOM kicsomagoló rutin okozta, amely felülírta a még beolvasatlan tömörített adatot az egyik szegmens végén.
Ezen kívül több részben is egyes szegmensek végén az utolsó byte "szemét" - ezt nem tudtam javítani, de úgy látszik, egyébként sem okozott problémát, mert a demo működik :)
Title: Re: Fájltömörítés Enterprise-on
Post by: Lacika on 2009.September.01. 22:16:00
A Big Demoban a második részben (Cybernoid zene, scroll) a középső scroll "maszatos".
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.September.01. 22:24:52
A Big Demoban a második részben (Cybernoid zene, scroll) a középsõ scroll "maszatos".
Csináltál hideg resetet betöltés elõtt? Ha jól emlékszem ez is azon programok közé tartozik, amik nem nullázzák ki a felhasznált memóriát, hanem csak számítanak rá, hogy nulla van benne.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.September.01. 22:36:25
A Big Demoban a második részben (Cybernoid zene, scroll) a középső scroll "maszatos".

Nekem ugyanolyannak tűnik, mint az eredeti (azaz ott is "maszatos" néhány scroll).

Csináltál hideg resetet betöltés elõtt? Ha jól emlékszem ez is azon programok közé tartozik, amik nem nullázzák ki a felhasznált memóriát, hanem csak számítanak rá, hogy nulla van benne.

Ha valóban ez a probléma, akkor a törlést be is lehetne építeni a programba :)

Itt a hibát már az eredeti verzió is tartalmazta, a digitális hang egy rövid része hiányzott (igaz, ezt valószínűleg nehéz észrevenni).

Ez az eltérés az eredeti
  [attachurl=#]
és a javított
  [attachurl=#]
változat között.
Title: Re: Fájltömörítés Enterprise-on
Post by: Lacika on 2009.September.02. 08:14:49
Ez nincs az ep128.hu-n :oops:

Be tudodnád tömöríteni az t a változatot ami nálam van kint?
Abban már nem kell SINCLAIR és KEMPSTON feliratú csatlakozókat keresgélni gépünkön...
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.September.02. 18:49:48
Be tudodnád tömöríteni az t a változatot ami nálam van kint?
Abban már nem kell SINCLAIR és KEMPSTON feliratú csatlakozókat keresgélni gépünkön...

  [attachurl=#]

Ork Megademo 2:
  [attachurl=#]
Dizzy Lord:
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
Title: Re: Fájltömörítés Enterprise-on
Post by: Lacika on 2009.September.02. 19:12:55
Az Ork Demo 2 nekem nem indul el. Megjelenik a cím, tölt tovább, aztán nothing
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.September.02. 20:27:13
Az Ork Demo 2 nekem nem indul el. Megjelenik a cím, tölt tovább, aztán nothing

IDE-s konfiguráción nézted ? Ott problémát jelent, hogy nem marad elég hely a program számára a rendszerszegmensen, és az eredeti verzió is lefagy.
Azonban lehetséges, hogy az egyes részek összefűzése egyetlen nagy file-ba ront a helyzeten, mert így az 1-es csatorna mindig meg van nyitva a demo futása alatt, és az EXOS határ lejjebb kerül. De ha a legmagasabb címet az FFh szegmensen éppen file betöltéssel írja felül, akkor ennek nincs jelentősége. Mindenesetre megnézem, hogy a külön file-ok használata javítana-e valamit, és ha igen, akkor olyan verziót is feltöltök.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.September.02. 22:49:00
A legmagasabb cím, amit az Ork2 használ, az FF:1683h, és ezt betöltés közben írja felül. Tehát így érthető, miért nem működik IDE.ROM-os konfigurációval, és az összefűzött verzió elvileg nem rosszabb, mint az eredeti.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.September.02. 22:53:03
Ha RL NEW-el kiírtjuk, hogy csak WP,EXDOS,IDE maradjon, akkor se megy?
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.September.03. 10:46:04
Ha RL NEW-el kiírtjuk, hogy csak WP,EXDOS,IDE maradjon, akkor se megy?

Ha csak EXOS 2.1, EXDOS, IDE.ROM, és 128K RAM van a rendszerben, akkor az EXOS határ 159DH minden csatornát bezárva, és 1459H egy DISK: csatorna megnyitásával. Tehát még mindig nem elég, mert 1684H kellene :(

Kiegészítés: a fenti EXOS határ értékek 4 IDE partícióra érvényesek. Ha csak egy partíció van, az 48 byte megtakarítását jelenti, ami azonban nem sok, és nem is elég. EXDOS + BASIC konfigurációnál viszont 1CD4H/1B90H az EXOS határ.

Szerintem fel lehet tölteni a tömörített változatot, mert ez a demo egyszerűen nem fut IDE-s gépen, és az eredeti verzió memóriaigénye sem kisebb.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.September.03. 12:11:19
Ha kevesebb max particióra van fordítva az IDE.ROM, az tán segíthet...
De majd az lesz a megoldás, hogy 128K-nál több RAM esetén saját szegmenst foglal az IDE, így akkor nem veszik el az értékes hely a rendszerszegmensbõl.
Title: Re: Fájltömörítés Enterprise-on
Post by: Ep128 on 2009.September.03. 14:41:02
Ha kevesebb max particióra van fordítva az IDE.ROM, az tán segíthet...
De majd az lesz a megoldás, hogy 128K-nál több RAM esetén saját szegmenst foglal az IDE, így akkor nem veszik el az értékes hely a rendszerszegmensbõl.
Ez jól hangzik! :-)
Title: Re: Fájltömörítés Enterprise-on
Post by: Attus on 2009.September.05. 14:07:22
ha anno közkézen lett volna az ATTUS.LDR, akkor nem álltam volna neki DL-nek meg Anti DTF-nek :)
Nekem csak DTF&TOM TÖLTÖ-m volt, abból is ki tudja mikori verzió, az nagyon lassú volt.
Nagy vagy Zozo!
 :bow: :bow: :bow:
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.September.06. 18:29:23
Drakkar:
  [attachurl=#]
Impossible Mission 2:
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
Race Ace:
  [attachurl=#]
Robin of the Wood:
  [attachurl=#]
  [attachurl=#]
Enter Ball:
  [attachurl=#]
Title: Re: Fájltömörítés Enterprise-on
Post by: Lacika on 2009.September.06. 20:54:06
11 K-s Race Ace... Nagyon komoly... :ds_icon_cheesygrin:

IM-ben ez a Spectrum-os macskazene súlyos... Ebben (http://ep128.hu/Ep_Demo/Prg/NasaGuy.rar) a demóban viszont van Ep-s változat! nem lehetne átültetni? (Mondjuk ez meg elég alternatív, de csak jobb...)
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.September.11. 21:09:25
A DL2 legújabb .ext és .rom változatában nem működik az Attus DTF formátum betöltése :oops: Hamarosan javítom. De úgy látszik, ezt senki nem vette észre, talán mert senki nem használja :(
Title: Re: Fájltömörítés Enterprise-on
Post by: szipucsu on 2009.September.13. 19:10:09
Nem lenne érdemes a wikin összehozni valamit a használatáról?
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.September.13. 23:46:13
Az ep128.hu-n nincs ATTUS.LDR (és más programok a felhasznaloi.rar-ból), vagy csak nem találom ? :oops:

Az "Util programcsokor"-nál a DTF betöltési időket összehasonlító táblázathoz pontosabb értékek a legújabb DL2 verzióval:
    21.103
    19.882
    12.662
     9.360
     3.216

Érdekes, hogy a :DL lassabb (21.738s) emulátoron, ha lefoglal egy szegmenst a puffereléshez :shock:
A fenti időket dtftimer.lua (http://enterpriseforever.com/szoftver/fajltoemoerites_enterpriseon-t404.0.html;msg15454#msg15454) segítségével mértem, EXOS 2.1+BASIC+EXDOS 1.3+ZozoTools 1.8+128K RAM konfiguráción, floppyról töltve. Az emulált floppy olvasása kb. 0.8-2.2s-el növelte a betöltési időt a FILE: eszközhöz képest.
Title: Re: Fájltömörítés Enterprise-on
Post by: Lacika on 2009.September.14. 07:39:50
Otthon megnézem! Mely programokra gondolsz?
Az értékeket kijavítom.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.September.14. 11:33:43
Otthon megnézem! Mely programokra gondolsz?

Ezekre (http://enterpriseforever.com/szoftver/attus_programjai-t399.0.html;msg10540#msg10540):
  [attachurl=#]
Lehet, hogy valójában már fent vannak (a szoftveres Spectrum emulátor biztosan, a "Spectrum emulátorok (http://www.ep128.hu/Ep_Util/Spectrum_Emulator.htm)" között), csak nem találtam meg; az "Util"-t és az "Util programcsokor"-t néztem. :oops:

Elvileg a fenti .rar file itt is megtalálható a letöltések között, a puredtf.rar, tobbes-dtf.rar, és nemdtf.rar mellett, de mintha ezek a file-ok eltűntek volna, és az FTP-n sincsenek :(, vagy valahol a hozzászólások között vannak. Nekem a nemdtf.rar kivételével megvan mind (pedig a nemdtf.rar-ban található játékok csomagolásával megpróbálkoztam volna :)).
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.September.14. 11:52:26
Itt a nemdtf csomag:
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.September.14. 20:51:53
Itt a nemdtf csomag:

Köszönöm. Úgy látszik, a játékok között van olyan is, ami még nincs az ep128.hu-n :?: :)
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.September.17. 00:36:16
Wizard of Wor (a billentyűzet konfigurálásánál a Space kiírása javítva):
  [attachurl=#]
  [attachurl=#]
EPcompress verzió (kisebb, de lassabban töltődik be):
  [attachurl=#]
  [attachurl=#]

Két játék a nemdtf.zip-ből:
  [attachurl=#]
  [attachurl=#]
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.September.17. 11:28:47
Wizard of Wor (a billentyűzet konfigurálásánál a Space kiírása javítva):

A betöltőképet esetleg ki lehetne hagyni :?: Úgy látom, az ep128.hu-s csomagban nincsen, és a file nagy részét az teszi ki.
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2009.September.17. 11:50:58
A betöltőképet esetleg ki lehetne hagyni :?: Úgy látom, az ep128.hu-s csomagban nincsen, és a file nagy részét az teszi ki.

A betöltő kép maradhat, aki akarja, betölti, aki nem az nem, ha a WOW-ot indítod, akkor a betöltőkép kimarad, az maradt az eredeti 5-ös fejlécű betöltőprogram.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.September.17. 18:07:38
A betöltő kép maradhat, aki akarja, betölti, aki nem az nem, ha a WOW-ot indítod, akkor a betöltőkép kimarad, az maradt az eredeti 5-ös fejlécű betöltőprogram.

Betöltőkép külön:
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
A "wow" file a betöltőképpel indításkor valójában nem kell, és a Multiplay ROM :DL2 parancsa a wow2.prg-t közvetlenül is be tudja tölteni.

A Dizzy Lord újabb, remélhetőleg már végleges változata:
  [attachurl=#]
  [attachurl=#]
EPcompress tömörítésű formátum:
  [attachurl=#]
  [attachurl=#]
Indításkor az 1-9 billentyűkkel lehet csalást beállítani. Az 1-4-et választva lassabban fogy az energia (1: 75%, 2: 56.25%, 3: 37.5%, 4: 18.75%), az 5-nél a víz, mérges növények, és páncélok érintésekor nem ér véget a játék, a 6-9-el pedig ezen kívül az energia is lassabban fogy.

Néhány további "nemdtf.zip" játék:
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2009.September.17. 21:08:14

A "wow" file a betöltőképpel indításkor valójában nem kell, és a Multiplay ROM :DL2 parancsa a wow2.prg-t közvetlenül is be tudja tölteni.
Mindig alkotsz valami érdekeset. :)
Betetted a loadert (WOW) a betöltőképbe?
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.September.17. 21:43:32
Betetted a loadert (WOW) a betöltőképbe?

Nem, a WOW.PRG-ben van. De ez talán nem meglepő, mert egyébként nem működne a betöltőkép nélkül :)
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2009.September.17. 21:49:36
Nem, a WOW.PRG-ben van. De ez talán nem meglepő, mert egyébként nem működne a betöltőkép nélkül :)

Na most megkavartál.
A "wow" file a betöltőképpel indításkor valójában nem kell, és a Multiplay ROM :DL2 parancsa a wow2.prg-t közvetlenül is be tudja tölteni.
Ezek szerint az eredeti betöltő (wow) nincs is szükség, mert a WOW.PRG-be be lett építve ami kell, és az egy 5-ös fejlécű program?
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.September.17. 22:01:15
Na most megkavartál. Ezek szerint az eredeti betöltő (wow) nincs is szükség, mert a WOW.PRG-be be lett építve ami kell, és az egy 5-ös fejlécű program?

Az eredeti betöltő a WOW.PRG-be került, de az nem 5-ös fejlécű program, hanem 64h fejlécű tömörített file, amelyet a Multiplay ROM :DL2 parancsa tud betölteni. A WOW file valójában csak egy tömörített program betöltő, amit egyébként a WOW.COM is tartalmaz.
De meg lehetett volna oldani azt is, hogy az egész játék egy nagy .com file legyen, és az lett volna a jobb megoldás, csak a "DTF-szerű" file-ok készítése egyszerűbb :oops:
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2009.September.17. 22:02:52
Közben leesett, csak egy cigi kellett hozzá :D
A WOW2.PRG tartalmazza az eredeti WOW-ot, és a WOW.PRG-t csomagolva, az új WOW file pedig csak a kicsomagolós betöltő.
Na megyek is pihenni, mielőtt még kérdezek valami hülyeséget.  :oops:
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2009.September.17. 22:07:44
De meg lehetett volna oldani azt is, hogy az egész játék egy nagy .com file legyen, és az lett volna a jobb megoldás, csak a "DTF-szerű" file-ok készítése egyszerűbb :oops:
Részemről nem probléma ;), nekem szimpatikus ez a megoldás :), meg úgy az egész file-t előbb be kell tölteni, és csak utána jöhet a móka.
Title: Re: Fájltömörítés Enterprise-on
Post by: szipucsu on 2009.September.17. 22:35:37
Közben leesett, csak egy cigi kellett hozzá :D
Akkor az avatárodon az unicumos üveg helyett egy hamutálat kéne elképzelni?
Úgy tûnik, a programfejlesztésnek is van néha hardverigénye. Másik sajátos eset a Biciklipumpa teszt volt, ahhoz meg bögre kakaó kellett.
Bizonyos EP felhasználók gépén lehet, hogy hamutál, unicumos üveg és bögre kakaó is van, hogy minden létezõ feladathoz minden hardverigény meglegyen.
Azt hiszem, én is megyek pihenni. :D

UI.: Azt hiszem, a Biciklipumpa teszt után nem jó azonnal az Unicummal játszani, mert kakaóra Unicumot inni...
UI2.: Azt kellett volna odaírnom a témához, hogy Write only hozzászólás, de ez csak akkor jutott eszembe, amikor már kiléptem az internetbõl.
Title: Re: Fájltömörítés Enterprise-on
Post by: MrPrise on 2009.September.18. 02:24:35
Ha bulvár oldal lennénk, akkor most a főcímen ez szerepelhetne:
"WOW Enterprise-on!"
Tuti növelné a látogatottságot  :twisted:
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.September.18. 18:40:57
Betöltőkép külön:
  * wow.com (http://enterpriseforever.com/dlattach.html;topic=404.0;attach=3937) (28.4 KB - downloaded 4 times.)
  * wow (http://enterpriseforever.com/dlattach.html;topic=404.0;attach=3938) (0.64 KB. 123x2 - viewed 5 times.)
  * wow.prg (http://enterpriseforever.com/dlattach.html;topic=404.0;attach=3939) (17.34 KB - downloaded 4 times.)
A "wow" file a betöltőképpel indításkor valójában nem kell, és a Multiplay ROM :DL2 parancsa a wow2.prg-t közvetlenül is be tudja tölteni.

Úgy látszik, a betöltőképpel kár volt foglalkozni, mert az ep128.hu-s csomagba nem került be (az eredeti file sem) :oops:
Viszont itt a legújabb verzió csomagolva (a másik két file nem változott):
  [attachurl=#]

Újabb játékok (bár még a régebbiek sincsenek mind az ep128.hu-n :)):

Get Dexter:
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
Itt szintén hiányzott a betöltőkép, ami azonban ezúttal nagyobb probléma volt, mert ugyanaz a file a karaktetkészletet is tartalmazta. Mivel az eredeti file-t nem találtam sehol, újat készítettem az ep128.hu-n talált screenshotból (EPimgconv segítségével) és a CPC ROM karakterkészletéből. Kisebb változtatás az eredeti játékhoz képest, hogy a képet függőlegesen középre igazítottam.

Head Over Heels CPC átirat (nem sokkal lett kisebb):
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]

Ghouls 'n' Ghosts:
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.September.18. 18:44:42
Néhány csak .com file-ból álló játék (ezeket EPcompress-el nagyon egyszerűen lehetett tömöríteni):

Batman:
  [attachurl=#]
  [attachurl=#]
Batman (örökéletes):
  [attachurl=#]
  [attachurl=#]
Beach Head:
  [attachurl=#]
  [attachurl=#]
Nodes of Yesod:
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
Wizard's Lair:
  [attachurl=#]
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.September.18. 21:56:25
Itt szintén hiányzott a betöltőkép, ami azonban ezúttal nagyobb probléma volt, mert ugyanaz a file a karaktetkészletet is tartalmazta. Mivel az eredeti file-t nem találtam sehol, újat készítettem az ep128.hu-n talált screenshotból (EPimgconv segítségével) és a CPC ROM karakterkészletéből.

Ezt a file-t talán érdemes lenne a tömörítetlen változathoz is hozzáadni, mert akkor játék közben a képernyő alján láthatóvá válik a pontszám, energia, és egyéb információ, amelyeket egyébként karakterkészlet hiányában nem lehet elolvasni. :) A "dexter" kicsomagolása után a "dexter-01.prg"-t kell "2"-re átnevezni (egy "3" nevű file már van, a "2" eddig hiányzott).

Quote
  * dexter2.com (http://enterpriseforever.com/dlattach.html;topic=404.0;attach=3965) (0.64 KB. 126x2 - viewed 2 times.)
  * dexter.prg (http://enterpriseforever.com/dlattach.html;topic=404.0;attach=3966) (31.59 KB - downloaded 1 times.)

Ennek a valamivel kisebb méreten kívül ezúttal még egy előnye van: a betöltőkép kirajzolódása közben nincs szemét a képernyőn.
Title: Re: Fájltömörítés Enterprise-on
Post by: Lacika on 2009.September.23. 19:42:04
Tettem egy próbát:
Wriggler (eredeti) kazetta betöltési idő: 5:43
Wriggler (tömörített), TPT alapértelmezett turbóval: 1:47 (!)
És ez még visszaolvasható TPT nélkül is! Ez a betöltési idő már Commodore floppy-ról sem rossz... :twisted:
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.September.23. 20:25:57
És ez még visszaolvasható TPT nélkül is! Ez a betöltési idő már Commodore floppy-ról sem rossz... :twisted:

Valójában jobb is, mint az 1541 tömörítés nélkül, mert az kb. 300-400 byte/s sebességet tud. De természetesen ott is lehet tömöríteni, illetve vannak gyorstöltők, amelyekkel 10-szeres sebességet lehet elérni.
Magnónál talán megéri a bonyolultabb és lassabban kicsomagolható formátumok használata is, mert a magnó elég lassú lehet ahhoz, hogy a rövidebb betöltéssel megtakarított idő több legyen, mint a kitömörítés lassulása.
Title: Re: Fájltömörítés Enterprise-on
Post by: szipucsu on 2009.September.23. 22:03:34
Wriggler (tömörített), TPT alapértelmezett turbóval: 1:47 (!)
És ha úgy turbósítunk, hogy turbó tape betöltõ is kell hozzá, akkor elbírja még a gép a hosszabb programoknál is, hogy a kitömörítõ és a turbóbetöltõ is a memóriában legyen egyszerre?
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.September.24. 01:03:31
És ha úgy turbósítunk, hogy turbó tape betöltõ is kell hozzá, akkor elbírja még a gép a hosszabb programoknál is, hogy a kitömörítõ és a turbóbetöltõ is a memóriában legyen egyszerre?

Szerintem igen, probléma valószínűleg csak akkor van, ha a TPT és a tömörített program betöltő is .ext formátumban van, külön file-ban. De a TPT betöltéshez a TPT valójában csak a legnagyobb sebességek vagy a TPT tömörítés (amelynek azonban egy már tömörített programnál nem sok értelme van, mert csak kis mértékben növeli a méretet) használatakor kell.
Title: Re: Fájltömörítés Enterprise-on
Post by: Lacika on 2009.September.24. 07:11:20
(amelynek azonban egy már tömörített programnál nem sok értelme van, mert csak kis mértékben növeli a méretet)

A fenti érték kikapcsolt TPT-s tömörítéssel értendő. Ezt elfelejtettem odaírni...
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.September.25. 13:46:45
A fenti érték kikapcsolt TPT-s tömörítéssel értendő. Ezt elfelejtettem odaírni...

De ki lehetett találni abból, hogy a játék TPT nélkül is betölthető :)
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.September.25. 14:10:01
készítettem egy részletesebb leírást a tömörített program betöltõ legegyszerûbb változatához
Köszönjük!!!!! :smt038 :smt038 :smt038
Title: Re: Fájltömörítés Enterprise-on
Post by: Lacika on 2009.September.25. 14:26:00
Én ugyan sokat nem értek belőle, de érdekel!

Kiegészítsem vele az Enterpress-ben megjelent, a "Tömörített programokról" című cikket? most hirtelenjében az jutott eszembe, de máshova is szívesen beraknám.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.September.25. 14:26:18
A csatornaszám mindig 1
Miért pont 1? Ha nulla lenne, akkor lehetne pár bájtot még spórolni :-)
Title: Re: Fájltömörítés Enterprise-on
Post by: szipucsu on 2009.September.25. 14:31:12
készítettem egy részletesebb leírást a tömörített program betöltõ legegyszerûbb változatához.
Azt hiszem, ez az eddigi leghosszabb hozzászólás a fórumon, ráadásul kõkemény Enterprise-os témáról.  :smt041
A legjobb lenne új Enterpress számokban megjelentetni a Spectrum programok átírásának és a tömörített programokról szóló írásnak a folytatását. :D
Title: Re: Fájltömörítés Enterprise-on
Post by: endi on 2009.September.25. 21:03:50
Remélem nem túl offtopik, de annak idején sokat nézegettem hex editorral a kedvenc szöveges játékomat a Mordons Questet. Jó kis szöveg tömörítõ lehet benne, mert teljes pályaleírások vagy üzenetek nem nagyon találhatóak meg benne, csak szavak. Annak idején írtam is basicben valami hasonló tömörítõt, ami szöveget tömörített a szóismétlések alapján. Aztán a szavakat lecserélte olyan karakterre amelyet amúgy szövegben nem használunk. Úgy csináltam meg hogy data sorban is használható legyen az így kapott string, azaz hogy basicbõl használható legyen a kitömörítés.
Persze ez a program is elveszett...
Mondjuk a Mordon szövegeire kíváncsi lennék, bár végigvittem, de biztos van pár üzenet amit nem találtam meg.
Title: Re: Fájltömörítés Enterprise-on
Post by: szipucsu 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.
Title: Re: Fájltömörítés Enterprise-on
Post by: Attus 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:
Title: Re: Fájltömörítés Enterprise-on
Post by: Povi on 2009.September.26. 20:20:11
esetleg gyorsabban kirajzolná a pályát.
Gyorsabb biztos nem lenne. Pláne BASIC-ben... :-)
Title: Re: Fájltömörítés Enterprise-on
Post by: szipucsu 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.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft 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!!!
Title: Re: Fájltömörítés Enterprise-on
Post by: Attus 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
Title: Re: Fájltömörítés Enterprise-on
Post by: Attus 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.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft 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:
Title: Re: Fájltömörítés Enterprise-on
Post by: Attus 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:
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft 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?

Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.October.26. 17:05:03
WEC Le Mans (CPC átirat):
  [attachurl=#]
  [attachurl=#]

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.
Title: Re: Fájltömörítés Enterprise-on
Post by: geco 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
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.October.26. 22:14:26
Joystick javítva: :mrgreen:
  [attachurl=#]
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):
  [attachurl=#]

Nekem egyébként volt betöltőkép EP64-en (magnó+FileIO konfiguráció).
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV 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.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.December.17. 19:17:22
Sorcery+:
  [attachurl=#]
  [attachurl=#]

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:
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.December.17. 19:40:56
István! A Subacuaticban ezt a tömörítõt használják: aPack (http://www.ibsensoftware.com/products_aPACK.html)
Itt van a hozzátartozó Z80 kicsomagoló is.
Ez mit tud? Érdemes lenne inkább lecserélni Epcompressre?
Ez a kupac screen van tömörítve vele.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.December.17. 19:52:09
UI: a reset ebben a verzióban nem mûködik :oops:
És a hiscore második lapja is kicsit szétesik  :oops:
[attachthumb=1]
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.December.17. 20:15:22
És a hiscore második lapja is kicsit szétesik

Akkor úgy látszik, valóban célszerű lesz lecserélni egy javított változatra. :oops: Azt is megnézem majd, miért volt tömöríthetetlen az adat nagy része.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.December.17. 20:36:37
István! A Subacuaticban ezt a tömörítõt használják: aPack (http://www.ibsensoftware.com/products_aPACK.html)
Itt van a hozzátartozó Z80 kicsomagoló is.
Ez mit tud? Érdemes lenne inkább lecserélni Epcompressre?
Ez a kupac screen van tömörítve vele.

Ránézésre nem tűnik rossznak, de még nem próbáltam ki. Mindenesetre nem valószínű, hogy nagyon sokat lehetne javítani rajta.
Title: Re: Fájltömörítés Enterprise-on
Post by: Lacika on 2009.December.17. 20:56:48
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.

Wow!!!
Ezt a képet rakjuk bele a tömörítetlen változatba is!
Légyszi, légyszi, légysziii...  :lol:
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2009.December.18. 08:52:03
Sorcery+:
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:

A játék eredetileg titkosítva volt, egy egyszerű kivonós xorolós megoldással, a tömörítést már én hajtottam végre rajta, hogy az főkód kivételével mindent be lehessen tölteni a +64K-ba, belefért 48k-ba :D, és a DTF -LZ-thasználtam, nagyon jó :) A Kódot és a betöltőképet nem tömörítettem, azon a pár kb-n nem múlik már semmi, becsomagoltam ZIP-pel és csak 8k-val lett kisebb :D
A fájltömörítés azért nem műxik, mert a hiba rutin 0090h-ra került, és a megszakításkiegészítés meg 0028h-ra
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.December.18. 13:00:57
A játék eredetileg titkosítva volt, egy egyszerű kivonós xorolós megoldással, a tömörítést már én hajtottam végre rajta, hogy az főkód kivételével mindent be lehessen tölteni a +64K-ba

A titkosítást megszüntetted ?

Quote
A fájltömörítés azért nem műxik, mert a hiba rutin 0090h-ra került, és a megszakításkiegészítés meg 0028h-ra

Ezt észre is vettem, és a RESET rutint áthelyeztem 00DCh-ra, ami közvetlenül a tömörített program betöltő után van. A probléma csak az volt, hogy ott viszont a játék írja felül :) A megoldás az, ha áthelyezem 18H-1FH-ra, oda ugyanis a betöltő és a játék sem ír. A reset kód nagy részét egyébként a rendszerszegmens elvileg nem használt részére másoltam, ezért maradt a 0. lapon csak 8 byte. :)
A 28H-s megszakítás kód nem probléma, mert amikor az oda kerül, már az egész program betöltődött, tehát az RST 28H felülírása nem okoz hibát.

A Zozosoft által jelzett eredménylista hibát viszont nem értem, mert a RESET rutinon kívül elvileg nincs más ütközés a memória használatban (a felülírt byte-ok térképét egy Lua scripttel készítettem).
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2009.December.18. 14:17:55
meg, az volt az első dolgom a file-ok kinyerése után.
Jaja, én is 00a0h -n kezdtem, aztán kénytelen voltam lejjebb menni, és a 0090h lett a vége, a játék aktívan használja a vermet :D
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.December.18. 17:36:36
Érdekes, hogy a RAM3.BIN még bír tovább tömörödni, mivel az a apackkal tömörített screenek összefûzve.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.December.18. 17:44:02
Érdekes, hogy a RAM3.BIN még bír tovább tömörödni, mivel az a apackkal tömörített screenek összefûzve.

Talán a képek közötti hasonlóság miatt, például ha ugyanaz a kép angol és spanyol szöveggel is előfordul.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.December.18. 18:47:26
Hamár szóba került a szövegek tömörítése: el tudnád magyarázni, hogy pontosan mit is csináltak az Intelligent Softwares fiúk?
Bónusz kérés: esetleg tudnál gyártani olyan utilityt amivel ilyen adat kupacokat lehet ki-be tömöríteni?

Pl az EXDOS 1.0-ban C082h-n lévû rutin végzi a kicsomagolást, HL mutat a tömörített adatokra (C1ACh), A-ban a kicsomagolandó szöveg száma. EXDOS 1.2/2.0-ban: C0B5h/D063h, 0.3-ban D05Dh/D07Ah
Gondolom valami hasonló van elrejte az EXOS meg a BASIC ROM-ban is, mert simán nem lehet megtalálni a hibaüzeneteket.

Meg is találtam EXOS 2.1-ben: 1-es szegmens E3D5h, az adat FE72h
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.December.19. 16:07:58
Gondolom valami hasonló van elrejte az EXOS meg a BASIC ROM-ban is, mert simán nem lehet megtalálni a hibaüzeneteket.

Meg is találtam EXOS 2.1-ben: 1-es szegmens E3D5h, az adat FE72h

Az EXOS-t megnéztem: ez egyszerű statisztikai tömörítést használ, és egy 31 kifejezésből álló szótárat.
A statisztikai tömörítés így kódolja az egyes karaktereket:
 - 0000b (4 bit): üzenet vége
 - 0001b - 1101b (4 bit): az E3F2h-E3FEh területen tárolt 13 karakter (ha szóköz, akkor kisbetű módba kapcsol)
 - 11100000b - 11101111b (8 bit): az E3FFh-E40Eh területen tárolt 16 karakter
 - 111100000b (9 bit): nagybetű mód bekapcsolása (az üzenet elején a kisbetű mód az alapértelmezés)
 - 111100001b - 111111111b (9 bit): az E2AFh területen tárolt 31 kifejezés (ezek ugyanilyen kódolással szintén tömörítve vannak, tehát az algoritmus rekurzív)

Itt egy Lua script az összes EXOS üzenet és a szótárban található 31 kifejezés kiíratására:

Code: Lua
  1. -- 01h:E3F2h: 0001b - 1101b
  2. charTabl1 = "EONRTAISCLDU "
  3. -- 01h:E3FFh: 11100000b - 11101111b
  4. charTabl2 = "PKFBVYWMGHQXZ$-/"
  5.  
  6. readPos = 0x000000
  7. shiftReg = 0x80
  8.  
  9. function readBits(n)
  10.   local r = 0
  11.   while n > 0 do
  12.     n = n - 1
  13.     r = r + r
  14.     if shiftReg == 0x80 then
  15.       shiftReg = readMemoryRaw(readPos)
  16.       readPos = AND(readPos + 1, 0x3FFFFF)
  17.       r = r + SHR(AND(shiftReg, 0x80), 7)
  18.       shiftReg = AND(shiftReg, 0x7F) * 2 + 1
  19.     else
  20.       r = r + SHR(AND(shiftReg, 0x80), 7)
  21.       shiftReg = AND(shiftReg, 0x7F) * 2
  22.     end
  23.   end
  24.   return r
  25. end
  26.  
  27. function decodeMessage(addr, n)
  28.   local savedReadPos = readPos
  29.   local savedShiftReg = shiftReg
  30.   readPos = addr
  31.   shiftReg = 0x80
  32.   while n > 0 do
  33.     n = n - 1
  34.     while true do
  35.       local tmp = readBits(4)
  36.       if tmp == 0 then
  37.         break
  38.       elseif tmp == 14 then
  39.         readBits(4)
  40.       elseif tmp == 15 then
  41.         readBits(5)
  42.       end
  43.     end
  44.   end
  45.   local orValue = 0x20
  46.   local s = ""
  47.   while true do
  48.     local tmp = readBits(4)
  49.     if tmp == 0 then
  50.       break
  51.     elseif tmp < 14 then
  52.       if string.byte(charTabl1, tmp) == 0x20 then
  53.         orValue = 0x20
  54.       end
  55.       s = s..string.char(OR(string.byte(charTabl1, tmp), orValue))
  56.     elseif tmp == 14 then
  57.       s = s..string.char(OR(string.byte(charTabl2, readBits(4) + 1), orValue))
  58.     else
  59.       tmp = readBits(5)
  60.       if tmp == 0 then
  61.         orValue = 0x00
  62.       else
  63.         s = s..decodeMessage(0x0062AF, tmp - 1)
  64.       end
  65.     end
  66.   end
  67.   readPos = savedReadPos
  68.   shiftReg = savedShiftReg
  69.   return s
  70. end
  71.  
  72. for i = 1, 31 do
  73.   mprint("Word ", i, ": ", decodeMessage(0x0062AF, i - 1))
  74. end
  75.  
  76. mprint("")
  77.  
  78. for i = 0, 47 do
  79.   mprint(i, ": *** ", decodeMessage(0x007E72, i))
  80. end
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2009.December.19. 16:27:07
Köszi, ez komplexebb mint gondoltam! Az, hogy a betûket, hogyan kell csoportosítani vajon õk találták ki, vagy ez már egy régóta ismert módszer volt akkoriban?
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.December.19. 16:30:32
Köszi, ez komplexebb mint gondoltam! Az, hogy a betûket, hogyan kell csoportosítani vajon õk találták ki, vagy ez már egy régóta ismert módszer volt akkoriban?

A gyakran előforduló betűk (pl. A, E, T, szóköz) kerültek az első (4 bites) csoportba, a ritkábbak (pl. W, Q, X) pedig a 8 bitesbe. :)
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.December.19. 17:38:46
Subacuatic:
  [attachurl=#]
  [attachurl=#]
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2009.December.20. 20:21:55
Sorcery+, ezúttal remélhetőleg nem elrontva: :)
  [attachurl=#]
  [attachurl=#]
A hiscore hibát egyébként egyszerűen az okozta, hogy a játék nem találta a "HI" file-t. Ez a verzió már tartalmazza azt is.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2010.January.31. 20:46:32
WHB, javított (nem ciripelő :)) és sztereó hanggal:
  [attachurl=#]
  [attachurl=#]
Hibák előfordulhatnak, illetve egy biztosan van: a melegindítás nem működik EP64-en.

UI.: már újabb verzió is van itt (http://enterpriseforever.com/konvertalas/whb_spectrum-t534.0.html;msg18143#msg18143).
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2010.February.22. 13:14:44
Nem egészen ebbe a topicba tartozik, de ide írom :D
Nemrég belefutottam egy olyan Spectrum programba, aminek egy része a TRD disk image-en tömörítve volt 4 file-ban, először az volt gyanús, hogy a kiterjesztése RAR volt, de nem akartam elhinni, hogy ilyen létezik, ezért a disk image-ből kivágtam a file-t, majd Windows Commader alatt nyomtam egy entert, és meghökkentem, kiadta a file-listát, tehát valóban RAR file-t találtam a TRD image-en, és a program menet közben ki is csomagolta, amire szüksége volt.
Nem hagyott nyugodni a dolog, és ma meg is találtam a RAR 0.32, és UNRAR 0.60-s programokat, amik Alone Coder nevéhez fűződnek.

World of Spectrum RAR 0.32 (http://www.worldofspectrum.org/infoseekid.cgi?id=0021337)
Virtual TR-DOS (http://trd.speccy.cz/) System füle alatt van egy raklap érdekes Util, köztük a RAR, és UNRAR
http://zxsoft.zxby.org/ (http://zxsoft.zxby.org/)
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2010.February.22. 13:50:02
Nem egészen ebbe a topicba tartozik, de ide írom :D
Nemrég belefutottam egy olyan Spectrum programba, aminek egy része a TRD disk image-en tömörítve volt 4 file-ban, először az volt gyanús, hogy a kiterjesztése RAR volt, de nem akartam elhinni, hogy ilyen létezik, ezért a disk image-ből kivágtam a file-t, majd Windows Commader alatt nyomtam egy entert, és meghökkentem, kiadta a file-listát, tehát valóban RAR file-t találtam a TRD image-en, és a program menet közben ki is csomagolta, amire szüksége volt.
Nem hagyott nyugodni a dolog, és ma meg is találtam a RAR 0.32, és UNRAR 0.60-s programokat, amik Alone Coder nevéhez fűződnek.

Valóban lehet használható RAR kitömörítőt írni Z80-ra, bár feltételezem, hogy a formátum nem minden lehetőségét támogatja, azaz valószínűleg csak -md64 -mc- paraméterekkel létrehozott file-t tud kicsomagolni (normál LZ77+Huffman algoritmus 64K szótár mérettel, ami nem sokban tér el a ZIP-től, illetve az EPcompress -m0-al tömörített .com file-októl). Esetleg át lehetne írni Spectrumról EP-re is :)
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2010.February.22. 19:21:19
Valóban lehet használható RAR kitömörítőt írni Z80-ra, bár feltételezem, hogy a formátum nem minden lehetőségét támogatja, azaz valószínűleg csak -md64 -mc- paraméterekkel létrehozott file-t tud kicsomagolni (normál LZ77+Huffman algoritmus 64K szótár mérettel, ami nem sokban tér el a ZIP-től, illetve az EPcompress -m0-al tömörített .com file-októl). Esetleg át lehetne írni Spectrumról EP-re is :)

Nem értek én hozzá kérem szépen :) ,csak leesett az állam, amikor ezt megláttam :), aztán mégjobban, amikor a kitömörített fájlokat betömörítettem DTF -lz opcióval, és 5 kbyte-tal nagyobb lett a mérete (a becsomagolt fájl 211kb volt).
Ja, és találkoztam spectrumos PKZIP-pel is keresgélés közben.

Nem rossz ötlet, igaz én szeretem a DTF-et ;), a most átírás alatt lévő programban is azt fogom használni, ez most nem a N&S, visszatértem egy régebben elkezdett programhoz
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2010.February.22. 20:30:10
Nem értek én hozzá kérem szépen

Az átíráshoz nem kell feltétlenül érteni, hogyan működik a tömörítés :)

Quote
:) ,csak leesett az állam, amikor ezt megláttam :), aztán mégjobban, amikor a kitömörített fájlokat betömörítettem DTF -lz opcióval, és 5 kbyte-tal nagyobb lett a mérete (a becsomagolt fájl 211kb volt).

A "dtf -lz" formátum jóval egyszerűbb, mint a RAR, így talán nem meglepő, hogy valamivel nagyobb. Bár nem tudom, hogy aminél 5KB-al nagyobb lett, az Spectrum vagy PC RAR-al készült, illetve hogy azok között mekkora eltérés van. Mindenesetre a RAR-hoz legközelebbi bonyolultságú formátum EP-n az "epcompress -m0".
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2010.February.22. 21:51:41
Az EPcompress-t egyébként szintén lehet EP-s programokban használni, az epcompress.7z-ben található decompress_simple.s (az -m2 formátumhoz) és decompress_sfx_m0.s (-m0-hoz) file-okban van olyan "decompressData" rutin, amely a HL címto"l kezdo"do" tömörített adatot a DE-to"l kezdve elo"re haladva kicsomagolja (a DTF -lz-nél ez fordított irányú).
Azonban a memóriaigény nagyobb, az -m2-höz verem nélkül kb. 440-450 byte kell, az -m0-hoz pedig kb. 1350 byte, és az utóbbi lassabb is.
 
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2010.February.23. 08:43:33
Az EPcompress-t egyébként szintén lehet EP-s programokban használni, az epcompress.7z-ben található decompress_simple.s (az -m2 formátumhoz) és decompress_sfx_m0.s (-m0-hoz) file-okban van olyan "decompressData" rutin, amely a HL címto"l kezdo"do" tömörített adatot a DE-to"l kezdve elo"re haladva kicsomagolja (a DTF -lz-nél ez fordított irányú).
Azonban a memóriaigény nagyobb, az -m2-höz verem nélkül kb. 440-450 byte kell, az -m0-hoz pedig kb. 1350 byte, és az utóbbi lassabb is.
 
Azt nem tudtam, hogy az DTF -lz mennyire bonyolult, nekem szimpi volt, mert néha verte a ZIP-et :) , meg könnyen kibueheráltam a kitömörítő rutint a forrásból. :D Mennyivel hatékonyabb az EPcompress -m2, mint a DTF -lz, és mennyivel az -m0, csak azért kérdem, mert  a -lz kicsomagoló rutinja nagyon rövid, a -m2 még szimpi hosszra, és gondolom a sebesség is nagyon jó, az -m0 nagynak tűnik, és kéne nem tudom mennyire sínylené meg a program sebessége a kitömörítőét. Mondjuk a hatékonyságot könnyen ki tudom deríteni egy kicsi csomagolással :)
Azt nem tudom, hogy a RAR PC-n készült-e, viszont ha PC-n készült is túl bonyolult algoritmust nem használhattak, csak olyat, amit még Z80-on ki lehet csomni, nem?
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2010.February.23. 09:47:36
Megvan a teszteredmény:
Gratula István, az EPcompress nagyon odavert a RAR-nak  :smt041


w.m09           196˙872    epcompress -m0 -9
w.m0            200˙684    epcompress -m0
w.m29           205˙176    epcompress -m2 -9
w.m2            207˙562    epcompress -m2
w.rar           220˙597    best compress
W.rar           227˙079    eredeti
w.lz            235˙458    DTF -lz
w.c             282˙872    DTF -ca
w.cr            286˙883    DTF -cr


EPcompress által kötegelt fájlok tömörítéséből ki lehet a fájlokat egyesével nyerni?
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2010.February.23. 10:01:48
Az átíráshoz nem kell feltétlenül érteni, hogyan működik a tömörítés :)
Ezt tudom, a -lz kitömörítőjét is úgy sikerült kiszedni a forrásból, hogy nem értettem hozzá :D
Ezt a tömörítő algoritmus bonyolultságára írtam :)
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2010.February.23. 15:28:58
Azt nem tudom, hogy a RAR PC-n készült-e, viszont ha PC-n készült is túl bonyolult algoritmust nem használhattak, csak olyat, amit még Z80-on ki lehet csomni, nem?

A RAR PC-s verzióját (parancssorban) az "-md64 -mc-" paraméterekkel lehet "lebutítani", hogy ne használjon 64K-nál nagyobb szótár méretet és speciális algoritmusokat.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2010.February.23. 15:38:46
EPcompress által kötegelt fájlok tömörítéséből ki lehet a fájlokat egyesével nyerni?

Az EPcompress az -a paraméter használatával tud több file-t tömöríteni, ilyenkor a tömörített adat elején egy táblázat található a file-ok nevével és méretével. De ezt programokban talán kissé nehézkes lenne használni (viszont az EP-s :uncompress /a parancs kicsomagolja, igaz, az -m0-t nem tudja). A -raw pedig egyszerre csak egy file-t tömörít, és a kimenet a decompressData rutinokkal feldolgozható adat (tehát több file esetén azokat össze kellene fűzni, és a betöltőnek tudnia kell az egyes blokkok méretét).

De már van olyan DTF verzióm, amit még ma feltöltök, és az új -lz2 és -lz0 paraméterekkel az EPcompress algoritmusait is támogatja, azaz minden parancsnál, ahol eddig -lz használható volt, most lehet -lz2 is (az -1..-9 pedig itt is a tömörítés mértékét állítja). Több file/blokk esetén a -cr -lz2 kimenetében minden blokk előtt egy két byte-os érték található, ami a tömörített adat mérete, ezt követi a decompressData segítségével kicsomagolható adat.
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2010.February.24. 09:00:58
Az EPcompress az -a paraméter használatával tud több file-t tömöríteni, ilyenkor a tömörített adat elején egy táblázat található a file-ok nevével és méretével. De ezt programokban talán kissé nehézkes lenne használni (viszont az EP-s :uncompress /a parancs kicsomagolja, igaz, az -m0-t nem tudja). A -raw pedig egyszerre csak egy file-t tömörít, és a kimenet a decompressData rutinokkal feldolgozható adat (tehát több file esetén azokat össze kellene fűzni, és a betöltőnek tudnia kell az egyes blokkok méretét).

De már van olyan DTF verzióm, amit még ma feltöltök, és az új -lz2 és -lz0 paraméterekkel az EPcompress algoritmusait is támogatja, azaz minden parancsnál, ahol eddig -lz használható volt, most lehet -lz2 is (az -1..-9 pedig itt is a tömörítés mértékét állítja). Több file/blokk esetén a -cr -lz2 kimenetében minden blokk előtt egy két byte-os érték található, ami a tömörített adat mérete, ezt követi a decompressData segítségével kicsomagolható adat.


Köszi szépen, már le is töltöttem :)
jaja, -a-val csomagoltam, csak a tömörített állományban nem láttam a file-ok neveit, ezért kérdeztem, hogy ki lehet-e őket csomni egyesével is.
Akkor nagyjából úgy néz ki, mint a régi -lz, csak az ATTUS.LDR marad le a file-ok elejéről, meg a compressed data végéről két byte, amire már nem emlélszem, hogy mi is, de kellett a kicsomagoláshoz.
Ha eljutok oda, akkor meglesem, hogy meliyket lesz a legcélszerűbb használni:)
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2010.February.24. 23:10:49
Köszi szépen, már le is töltöttem :)

Találtam egy hibát :oops: A "dtf -cl -lz2" nem mu"ködött. Javított verziót töltöttem fel.

Quote
jaja, -a-val csomagoltam, csak a tömörített állományban nem láttam a file-ok neveit

Mert azok is tömörítve vannak :) De az "epcompress -a" formátumnál valóban csak az egészet egyszerre lehet kitömöríteni (hasonlóan a RAR-hoz "solid" módban).

Quote
Akkor nagyjából úgy néz ki, mint a régi -lz, csak az ATTUS.LDR marad le a file-ok elejéro"l, meg a compressed data végéro"l két byte, amire már nem emlélszem, hogy mi is, de kellett a kicsomagoláshoz.

A "dtf -cr -lz2" kimenete annyiban tér el az "epcompress -raw -m2"-to"l, hogy több file-t is lehet csomagolni (illetve file-t darabolva tárolni), és minden egyes tömörített file/adatblokk elo"tt van két byte, amely az adat méretét tárolja.
"dtf -cr -lz" esetén az adat végén található két byte azt adja meg, hogy kicsomagolás után mennyivel lesz nagyobb a méret.
De ha a program nem utántölto"s, hanem az összes tömörített adatot a memóriában tárolja (pl. Sorcery+), akkor például az is megoldás lehet, hogy minden egyes file külön tömörítve legyen "epcompress -raw -m2 -9"-el, és aztán azokat INCBIN direktívákkal a programba lehet fordítani, és a programkód címkék alapján tudhatja, hogy az egyes tömörített adatblokkok hol kezdo"dnek és milyen hosszúak.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2010.February.25. 09:25:59
http://zxsoft.zxby.org/ (http://zxsoft.zxby.org/)
Itt van az a HRUST nevû cucc is, amibe én futottam bele egy készülõ átiratnál. Ez önkicsomagoló modulokat készít, betöltés után meg kell hívni a cucc elejét, aztán kicsomagolja magát az eredeti címtõl kezdve.
Még nem teszteltem hatékonyságra, de úgyis az fog kijönni, hogy epcompressel érdemes majd az átiratot újracsomagolni  :ds_icon_cheesygrin:
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2010.February.25. 10:07:57
"dtf -cr -lz" esetén az adat végén található két byte azt adja meg, hogy kicsomagolás után mennyivel lesz nagyobb a méret.
De ha a program nem utántölto"s, hanem az összes tömörített adatot a memóriában tárolja (pl. Sorcery+), akkor például az is megoldás lehet, hogy minden egyes file külön tömörítve legyen "epcompress -raw -m2 -9"-el, és aztán azokat INCBIN direktívákkal a programba lehet fordítani, és a programkód címkék alapján tudhatja, hogy az egyes tömörített adatblokkok hol kezdo"dnek és milyen hosszúak.

Köszi, és jól rémlik, hogy azért kell a különbséget eltárolni, mert a kicsomagolás az eredeti adatblokk végéről kezdődik?
Azért gondoltam a kötegelt megoldásra, mert úgy gondoltam, hogy így a fájl mérete kisebb lesz,mintha külön-külön csomagolnám be a 28 file-t.
Jaja, nagyjából így csináltam a Sorcery+-nál is, csak az INCBIN nem jutott eszembe :D, helyette írtam egy kis assembly rutint, ami egymás mögé másolta őket, lehet mindig meg kéne kérdeznem téged, ha valamire kódot szeretnék írni, egy csomó időt megspórolnék ;)
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2010.March.01. 19:53:09
Jó kis teszt! A BF= a memóriavárakozás beállítása?
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2010.March.02. 08:53:45
Fasza a teszt, köfi szépen. Le is mentettem magamnak a teszteredményeket, és a forrásokat is :)
Nem is lassabb sokkal az -m2, mint a többi kitömörítő, és több file esetén ezzel lehet a legtöbb helyet megspórolni.
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2010.March.02. 14:20:36
Talán érdemes lenne az EPcompress csomagot frissíteni az új, 22 (vagy akár 33 ha SIZE_OPTIMIZED módban van fordítva) byte-al kisebb önkicsomagoló kóddal. Esetleg a "dtf -lz" algoritmust is be lehetne építeni -m3 módnak.
Szerintem ez egy nagyon jó ötlet. Nagy meló lenne a DTF-et és az EPCompresst összegyúrni egy programmá?
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2010.March.03. 08:47:41
Valószínűleg megoldható, bár egyelőre talán csak az -m2 kitömörítő rutint cserélem le az újabbra. :oops:
Nekem jó így is :), csak eszembe jutott, ha már az EPCompress tudja a -lz-t, akkor megoldható-e, hogy a többi formátumot is az kezelje.
Fasza a gyorsulás, 2-3 tized mp (kivéve a Beach Head-nél), lassan lenyomja a DTF -lz-t is :D
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2010.March.21. 20:53:08
Olyan EPcompress változat már van, ami a dtf -lz algoritmust is tudja használni, és természetesen tartalmazza az új, optimalizált betöltő kódokat is. Csak le kell fordítani, és feltölteni.
Időközben arra is rájöttem, miért működött hibásan az aPack kitömörítő: 32768 byte-nál nagyobb file esetén fordul elő hiba, amit kb. 5 byte-al nagyobb Z80 kóddal, vagy a tömörítő (amiből már van saját, az eredetinél kis mértékben hatékonyabb változatom is) kisebb módosításával lehetne elkerülni.
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2010.March.22. 19:40:16
Olyan EPcompress változat már van, ami a dtf -lz algoritmust is tudja használni, és természetesen tartalmazza az új, optimalizált betöltő kódokat is. Csak le kell fordítani, és feltölteni.
Időközben arra is rájöttem, miért működött hibásan az aPack kitömörítő: 32768 byte-nál nagyobb file esetén fordul elő hiba, amit kb. 5 byte-al nagyobb Z80 kóddal, vagy a tömörítő (amiből már van saját, az eredetinél kis mértékben hatékonyabb változatom is) kisebb módosításával lehetne elkerülni.

:smt041 :smt041 :smt041

Lassan több tömörítő program lesz EP-re, mint PC-re  :smt040
Na jó, most semmi új tömörítő algoritmus nem került be a csomagba, de ami van, az tökéletesedik :)

Már azt hittem eltűnt az oldal, pár napja nem sikerül elérni, gondoltam megpróbálom az enterpriseforever.com-t, s lőn világosság :D
Tuti már megint nem olvastam el valamit  :oops:
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2010.March.24. 08:40:15
Feltöltöttem az új verziót:
  - a "dtf -lz" formátumot az -m3 paraméterrel lehet választani; ez csak legfeljebb 65535 byte méretű adatot támogat, és figyelmen kívül hagyja az -1..-9, -minlen, -maxoffs, és -blocksize paramétereket
  - az -m2 formátumú .com file-ok alapértelmezett beállításokkal (-borderfx -nocleanup) 30 byte-al kisebbek lettek, az .ext file-ok mérete pedig 36 byte-al csökkent; a betöltés gyorsult is valamennyit, elsősorban a .com file-oknál (.ext-nél engedélyezett a SIZE_OPTIMIZED)
  - -m3 formátumot választva .com file-t a 100H-FFFFH területre lehet tölteni, .ext-et pedig C00AH-FF83H-ra
  - -m2-nél a használható terület 100H-FE3EH (korábban 100H-FE22H volt), illetve C00AH-FE6AH (C00AH-FE46H volt)
  - a csomag tartalmaz programokban használható Z80 "decompressData" rutint (sjasm-hez) az -m0, -m2, és -m3 formátumhoz is

Szuper, már le is töltöttem, remélem hétvégén lesz időm, és eljutok odáig, hogy a file-okat tömöríthetem.
Title: Re: Fájltömörítés Enterprise-on
Post by: Lacika on 2010.October.10. 22:05:18
Ezt logikailag ide (http://ep128.hu/Ep_Konyv/Enterpress_Cikkek.htm#4b) valahova érdemes beszúrni?
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2010.October.11. 10:08:17
Lehet, hogy valójában nem is érdekel senkit :)
Engem érdekel, ezek a komolyabb tömörítõs dolgok mindig misztikumok voltak számomra  :oops: az írásaid alapján kezdem kapisgálni a dolgokat!
Title: Re: Fájltömörítés Enterprise-on
Post by: Attus on 2010.October.14. 23:18:13
Ezen kívül fordítottam 64 bites Linux verziót is, bár ennek valószínûleg nem sok jelentõsége van.
Lefordítottam én is magamnak (UHU 2.2, most 32 bit) a forrásbéli dtf.cpp -t. Ennek sincs túl sok jelentõsége. A létrejött futtatható mérete nálam 372,3 Kb. Úgy néz ki, hogy fut.
A te kész dtf-linux binárisod mérete meg 739,5 Kb.

Az enyim hibás, vagy csak egyszerûen jobban tömörített a fordítóm?
 ;-)
Title: Re: Fájltömörítés Enterprise-on
Post by: Attus on 2010.October.14. 23:37:26
Én csak egyszerű, minden paraméterek nélkül, g++ -al fordítottam. 4.4.2 verzió.
Most a te parancssoroddal a mérete már csak 156516 bájtos.

A tömörítő tömörítése fokozódik.  :)
Title: Re: Fájltömörítés Enterprise-on
Post by: Attus on 2010.October.15. 00:05:00
Ez gondolom 32 bites ? Az nekem is hasonló méretû (157780 byte), de a 64 bites verzióval az -lz2 tömörítés több, mint 30 százalékkal gyorsabb.

Kiváncsiságból megnézem a gentoo 64-en a sebességét.
Habár az UHU -t jobban kedvelem, de a 64 bites változatához nem tudok nvidia drájvert rakni, ezért használom 32 bites módban.
Title: Re: Fájltömörítés Enterprise-on
Post by: Mayer Gábor on 2010.October.15. 01:05:42
Nekem a formátumból nem érthető a működés, ha van kedved írd le légyszi, hogyan működik ez az algoritmus?
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2010.October.15. 20:34:19
Köszönjük a részletes leírást!
Plusz kérdés: a PC-s Zip és társai mennyivel bonyolultabbak még ennél?
Title: Re: Fájltömörítés Enterprise-on
Post by: Mayer Gábor on 2010.October.15. 23:24:13
Köszi, a {szöveges} részig tudtam követni :) Nagyjából hogyan működik a tömörítő azon része ami az ismétléseket megkeresi?
Title: Re: Fájltömörítés Enterprise-on
Post by: Povi on 2013.April.11. 19:41:17
nem találom sehol se az epcompress-t... :-( a fórumban csak halott linkek vannak
Title: Re: Fájltömörítés Enterprise-on
Post by: Povi on 2013.April.12. 18:07:53
köszi ezeket is
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2014.May.17. 11:57:46
István! IS-DOS.SYS tömörítésre milyen beállításokat javasolnál? Az EXDOS 1.4-be tömörítve raknám be, hogy minél több szabad ROM hely maradjon egyéb dolgokra.
A méret mellett fontos a sebesség is, mert a nagyobb programok futtatása után újratölti magát, az ideális az lenne, ha ez nem lenne hosszabb idő mint ha lemezről töltené.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2014.May.17. 16:06:39
ROM-ba fordításnál problémát jelenthet még az önmódosító kód. A decompress_m3.s-ben egy helyen találtam ilyet, de ez könnyen javítható lenne. A decompress_m2_new.s-ben talán nincsen, ez azonban egy 156 byte-os RAM táblázatot használ, amely nem keresztezhet 256 byte-os határt, és a kód módosítása nélkül fix (fordítás előtt állítható) kezdőcímű. A decompress_m0.s valószínűleg nem lenne jó választás a mérete és lassúsága, és a nagy méretű RAM táblázatok miatt.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2014.May.17. 16:26:35
Quote from: IstvanV
ROM-ba fordításnál problémát jelenthet még az önmódosító kód. A decompress_m3.s-ben egy helyen találtam ilyet, de ez könnyen javítható lenne.
Ez az, igaz?
ld    (readLength.l1 + 1), hl

Tehát ha jól értem az m3 módszer a leggyorsabb (ez szerepel itt a korább oldalakon látható tesztekben lz néven), és a kicsomagoló kódot is hozzátéve nincs jelentős méretbeli eltérés ez esetben.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2016.November.04. 09:38:31
Érdekes olvasmány! Még egy kicsit emésztenem kell, hogy teljesen felfogjam :oops:
Title: Re: Fájltömörítés Enterprise-on
Post by: szipucsu on 2016.November.05. 17:29:01
Érdekes olvasmány! Még egy kicsit emésztenem kell, hogy teljesen felfogjam :oops:
Én csak az elejét értettem. :D De az jó!
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2016.November.06. 10:38:53
Nekem is akadnak benne sötét foltok :) ,valamit értek, valamit nem tudtam befogadni, de hasznos, köszi szépen :)
Title: Re: Fájltömörítés Enterprise-on
Post by: ergoGnomik on 2016.November.06. 14:27:18
Pontosan mi az, ami nem érthető? A leírás ugyan valószínűleg meglehetősen rossz :oops:, de talán lehetne javítani rajta.
Lehet, hogy ha adnál valami pszeudokódot is a magyarázathoz, akkor könnyebben megfogható lenne programozói szemponból.
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2016.November.07. 11:18:47
Nekem a "Bonyolítja azonban a helyzetet," rész kavar be, ahol bejön az E tömb, vagy az csak szemléltetés a táblázatok felépítéséhez, amire a kódolt tömörítő hosszúság(L) mutat?
Amúgy azt láttam korábban, hogy tömörített adatot vett már kitömörített részről (a kiinduló adatok mellet ) a kicsomagolás folyamán, azt nem tudtam, hogy hogyan határozza meg a helyet, ahonnan vennie kell.
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2016.November.07. 13:41:58
Húúú, ez tök jó leírás, csak kell egy kis nyugalom, hogy végig kövessem az egészet bitről-bitre saját magam is vezetve.
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2016.November.08. 08:31:36
Ez a leírás annyira jó volt, hogy megértettem :) Köszi :)
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2016.November.24. 18:46:55
A saját programba betehető M3 kicsomagoló is változott?
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2017.January.12. 21:24:47
epcompress teszt a programba építhető rutinokkal az aktuális GitHub forráskód alapján:
Már pont gondoltam rá, hogy kéne ilyen teszt! :smt038

Azt valahogy össze tudnád foglalni, hogy az egyes algoritmusoknak mi a lényege, miben különböznek?
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2017.January.13. 13:14:08
Még egy teszt a gunzip (https://enterpriseforever.com/programming/unzip-deflate-tool-for-z80-machines-any-interests/msg50670/#msg50670) módosított változatával, ez egy sebességre optimalizált de meglehetősen nagy méretű (4287 byte kód + ~6000 byte adat) Deflate/zlib kicsomagoló rutin
Akkor ehhez a sima ZLib méretek tartoznak?
Így ránézésre nem igen éri meg, mert amit nyerünk a plusz tömörítésen, azt elveszítjük a kicsomagoló kód méretén. Nagyon nagy program esetén lehet értelme, ahol sok fájlhoz csak egy kicsomagoló van tárolva.
Title: Re: Fájltömörítés Enterprise-on
Post by: Povi on 2017.January.13. 13:20:24
az epcompress honnét tölthető le (nem a forrás, hanem a futtatható)?
nekem még valami ősrégi változat van meg
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2017.January.13. 13:22:26
az epcompress honnét tölthető le (nem a forrás, hanem a futtatható)?
nekem még valami ősrégi változat van meg
Az ep128emu csomagban benne van, szóval ha felraktad a legfrissebb emut, akkor ott van a könyvtárában :-)
Title: Re: Fájltömörítés Enterprise-on
Post by: Povi on 2017.January.13. 13:39:46
Az ep128emu csomagban benne van, szóval ha felraktad a legfrissebb emut, akkor ott van a könyvtárában :-)
á, és tényleg :-D
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2017.January.13. 21:08:49
A fenti táblázatot kiegészítettem a gunzip és IPLAY rutinok eredményeivel. Az utóbbi meglehetősen régi, talán jobban is meg lehetett volna írni. :oops:
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2017.February.14. 21:36:35
Raid Over Moscow főprogramja nem működik önkicsomagolósan -m0 és -m2 módban, csak -m3-ban.
Nem tudom, hogy ez epcompress bug vagy a Raidnak van valami trükkös dolga :oops:
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2017.February.14. 21:54:25
Egyelőre csak a RAID2.PRG-t néztem, a program EXOS veremmutatót (B2xxh) tételez fel az indulásakor, -cleanup paraméterrel kell tömöríteni (+11 byte).
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2017.February.14. 22:13:31
Egyelőre csak a RAID2.PRG-t néztem, a program EXOS veremmutatót (B2xxh) tételez fel az indulásakor, -cleanup paraméterrel kell tömöríteni (+11 byte).
Köszi!
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.April.02. 15:15:00
István!

A decompress_m0.s-t hogyan kell fordítani? :oops:

Erre a sorra:  assert  (huffmanDecode1 & 0ff00h) == (read9Bits & 0ff00h)
Mindig azt mondja, hogy assertion failed.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2018.April.02. 15:37:19
A huffmanDecode1 és read9Bits rutinok közötti kód nem léphet át 256 byte-os határt. Tehát valamit mozgatni kell, hogy a feltétel teljesüljön. Az alapértelmezett kezdőcímnél elég a decompressData-t áthelyezni a decompressAllDataBlocks elé, így megtakarítható egy JP is. Ha nem probléma legfeljebb 62 byte pazarlása, akkor a huffmanDecode1 előtt használható ilyen kód a cím igazítására:

Code: ZiLOG Z80 Assembler
  1.     if ($ & 00ffh) >= 00c2h
  2.         align 256
  3.     endif
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.April.02. 15:45:15
Köszi, sikerült!
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2018.April.03. 18:43:01
Ha a rutin ROM-ban fut, akkor még problémát okozhat az is, hogy néhány helyen önmódosító kódot használ.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.April.03. 19:00:26
Ha a rutin ROM-ban fut, akkor még problémát okozhat az is, hogy néhány helyen önmódosító kódot használ.
Ez megoldódott RAM-ba másolással.

TVC-sek csináltak egy nagy EPROM-os (kapcsolóval lapozható) cartridge-et, és felmerült, hogy a gyári ROM-okon kívül több játékot is be kéne rakni. Mivel ott csak 16K a cartridge terület, így nem árt a tömörítés :-) Elsőként m3-ast csináltam nekik, de pl a TV BALL (ENTERBALL testvére) pont nem fért be, de az m0-val végül sikerült bepréselni.
Itt még kellett egy kis plusz trükközés, mert a kicsomagolt program 32K-s gépen felülírta volna a kicsomagoló kódot, így 32K-s gépen a videó memória kerül a 2. lapra, és oda kerül a kicsomagoló kód.

(Tvc64emu-ban az 01-es szegmensre kell rakni a cartokat, ha valaki ki akarja próbálni őket.)
Title: Re: Fájltömörítés Enterprise-on
Post by: szipucsu on 2018.April.04. 13:17:18
TVC-sek csináltak egy nagy EPROM-os (kapcsolóval lapozható) cartridge-et, és felmerült, hogy a gyári ROM-okon kívül több játékot is be kéne rakni.
TVC-hez is használható az EP tömörítő? Nem semmi!
Ennél már csak az jobb, hogy EP emulátorral és midivel is lehet már C64 zenéket készíteni (bővített midiplay). Más kérdés, hogy nem sokat készítettünk eddig, mert az EP-s Dave világa közelebb áll hozzánk.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.April.04. 13:49:07
TVC-hez is használható az EP tömörítő?
Bármihez jó amiben Z80 van :-)
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2018.April.04. 14:31:03
Bármihez jó amiben Z80 van :-)

Vagy akár 6502 (https://github.com/istvan-v/plus4emu/tree/master/util/compress). De az emulátor is használja PC-n, ilyen formátumú az ep128emu_roms.bin és a tömörített snapshotok is.

A Plus/4-es változatban van egyébként "-m1" mód is, ami a TV BALL-t elfogadhatóan tömöríti (valamivel nagyobb a kimeneti file, mint az M0-s, de a kicsomagoló rutin is egyszerűbb), bár csak ezért nem érné meg átírni Z80-ra.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.April.04. 22:49:37
Áhá szóval ott bújkál a sorból hiányzó m1 :-)
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.April.15. 18:14:07
Ezek szerint csináltál Z80-as m1-et? :smt038 Lesz frissített epcompress csomag?
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2018.April.16. 09:08:11
Nem tudom, érdemes-e beépíteni, mindenesetre a formátumon talán lehetne egy keveset fejleszteni, mivel valószínűleg nem lényeges a Plus/4-es változattal való kompatibilitás.
Szerintem igen :)
A Plus4-gyel való kompatibilitás szerintem se lényeges, ha nagyon kell valami Plus4-ről, akkor azt ki lehet csomagolni a megfelelő változattal.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.April.16. 20:20:06
1000 bájt azért már jelentős!
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2018.April.17. 08:38:13
Az fcontact és a ball1 akkor m1-gyel tömörítve az m0 közelében volt, vagy még jobb is egy picit, gondolom itt is voltak táblázatok :)
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2018.April.17. 11:11:13
A BALL1 az lehet, hogy csak a XOR-olós titkosítás miatt lett jobb, ha jól emlékszem, a program egyszerű növekvő sorozatot használ erre a célra. Talán célszerűbb lett volna a "javított" verziót tesztelni. A First Contact valószínűleg valóban táblázatokat tartalmaz, demókban fontos a sebesség.
Title: Re: Fájltömörítés Enterprise-on
Post by: szipucsu on 2018.April.17. 11:51:43
A BALL1 az lehet, hogy csak a XOR-olós titkosítás miatt lett jobb, ha jól emlékszem, a program egyszerű növekvő sorozatot használ erre a célra.
Ha még ez is számít, akkor akár lehetne a tömörítési folyamat része is a xor-olós "titkosítás", ha így jobban össze lehet tömöreríteni a programot.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.April.19. 08:33:25
Én csak ámulok, hogyan tudod még tovább optimalizálni a dolgokat! :smt038
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2018.April.19. 08:46:28
Nagyon durva a gyorsítás, és az m2 méretcsökkenése is, lehet ha nem is csak a tömörítés hatékonysága miatt, de a kitömörítő rutin kis mérete miatt is érdemes lehetne m4-ezni.
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2018.April.20. 09:10:48
Már van ilyen (https://github.com/istvan-v/ep128emu/blob/master/util/epcompress/z80_asm/decompress_m4.s), de még változhat. Ez jelenleg 212-218 byte méretű a beállításoktól függően, lehet nem önmódosító és akkor használja az IX regisztert, egyébként csak az AF, BC, DE és HL-t.
Szuper, le is töltöttem :) , látom az EPCOMPRESS forrása is megváltozott, van befordított winfosos verzió is?
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.April.20. 11:51:05
Most már van
Köszi!
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2018.April.20. 13:23:44
Most már van (64 bites):
(Attachment Link)

m1 rutin (még fejlesztés alatt, ez a régi decompress_m2_new.s módosított változata):
(Attachment Link)

:smt041 :smt041 :smt041
Köszi szépen :)
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2018.April.22. 19:34:59
További méretcsökkenés (https://github.com/istvan-v/ep128emu/blob/master/util/epcompress/z80_asm/decompress_m4.s), most 209 byte a legnagyobb m4 rutin (önmódosító, nem IX-es, keretcsíkozással). Még tesztelni kell, és talán lehetőség lehet további optimializálásra is. Néhány byte könnyen megtakarítható lenne kisebb lassulás árán. Az m1-es rutint is valószínűleg érdemes lenne átírni erre a megoldásra.
Cool :) ,úgy látom az M1 is módosult, le is töltöttem azt is :)
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.April.28. 21:17:16
Hasznos lehet nagyon kis programokban, ahol az m3-as rutin is túl bonyolult és nagy méretű.
Ez jól hangzik! :smt038
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2018.April.30. 13:14:18
Nagyon jól hangzik, legtöbb esetben a tömörített fájl is kisebb, na de a tömörítő mérete mindent visz :)
Most látom, de lehet meg vagyok csúszva :oops: , hogy az emulátor forrása már 2.0.11.2-es , kérhetnék belőle egy winfos installert is? Abban gondolom akkor már az új epcompress is lenne :)
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2018.April.30. 17:07:39
Köszi szépen a leírást is, le is mentettem :)
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.November.15. 11:58:13
István!
Az m3-as kicsomagoló rutint lehetne úgy módosítani, hogy a ki és bemenetnél egyaránt figyeljen a lapozásra? Azaz olyan működés, hogy ha a forrás vagy cél szegmensből kifut, akkor vegye a következőt.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.November.15. 14:37:20
Jó lehet másik verzió is, ami lényeges lenne, hogy ROM-ból is fusson (ne legyen önmódosító), és ha lehet ne kelljen címre igazítva elhelyezni.
Az egyik cél az SD cartridge lenne, itt most nincs ISDOS, mert az alap 7-es szegmensbe már nem fért be, de ott vannak még a plusz lapozható 8K részek. (A normál EXDOS 1.4+ISDOS ROM-ban most m3-al van csomagolva, de simán átcsomagolható más formátumra.)
A másik a ROM-ba írható játékok témája, itt egy EXOS device-ről megy töltés, az USR_Px változókban megadott szegmensekre, egymást követő ROM szegmensekről.
 
Quote
támogat normál irányú adatfolyamot.
Ez azt jelenti, hogy úgy hívható, mint egy egy normál EXOS fájl olvasás, tetszőleges bájtot/blokkot kérve?
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.November.15. 16:07:23
De ha jól értem, ez valójában mind eredetileg 5-ös fejlécű program lenne?
Nem mind. Az elsők valóban ilyenek voltak (egy fájlos 5-ös fejléc, Nodes, Raid és társai, ezek végül önkicsomagoló tömörített formában kerültek be), aztán lettek normál több fájlosak, ahol az eredeti pár száz bájtos betöltőt másolja az indító parancs 100h-ra. A betöltőben meg módosítva lett a fájlnév, hogy a ROM-ban lévő EXOS device-ről töltsön. (Itt viszont most csak akkor van tömörítés, ha a játék gyárilag tömörített fájlokat használ.)
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.November.15. 19:47:00
Igen valami ilyesmi.
Quote
egyszerűen szegmens szám + 1
Igen.

Lehet csatorna RAM-ot is kérni, ahol eltárolhatóak változók, vagy akár a kód (egy része) is átmásolható. Ezt az 1-es lapon adja át az EXOS, IX-el címezve.
És akkor a 3. lapon lapozgatni a forrást, a 0.-on meg a célt.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.November.20. 19:51:10
Köszi!
A sebesség annyira nem számít. Az lenne jó, ha átlag 32K-ba beférne egy játék, így kettő is mehetne egy cartridge-be.

A mostani kód is elég lassú, bájtonként nézi a lapozást :oops:

Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.November.21. 15:18:52
Ötlet: mivel az EXOS 1 paraméterei meg vannak, így opcionálisan módosíthatná a csomagoló program a fájlneveket. Hibát jelezve ha az adott címen nem találja az eredeti fájlnevet (a program futás közben generálja, vagy átmozgatta magát a memóriában, stb), ez esetben kézzel kell módosítani.

(Ez az adathalmaz egy TAP/WAV készítő proginak is jól jöhet, kitalálni a fájlok sorrendjét.)
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.November.21. 21:37:40
Ez pedig a konvertáló Lua script, még fejlesztés alatt:
Sikerült futtatni :ds_icon_cheesygrin:
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.November.21. 21:54:28
Próbáltam az Alien Highway-t, de nem nagyon tömörödött :oops: de egy rahedli FF lett a vége. (Simán epcompressezve olyan 21k lesz a PRG).
Bug vagy én rontottam el valamit?
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2018.November.21. 22:06:22
A sok FFh az nem probléma, a script feltölti a file végét szegmens méretűre, azaz a lefordított romfsdev.asm és a romfiles.bin együtt pontosan 48K lesz. Viszont úgy látom, a játék sok adatot tölt be karakterenként EXOS 5 hívásokkal, ez rossz hatásfokú, mert az ilyen adat tömörítetlen marad, és minden karakter 2 byte méretű lesz. :oops:
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.November.21. 22:28:17
Viszont úgy látom, a játék sok adatot tölt be karakterenként EXOS 5 hívásokkal
Igen ez a képernyő effekt időzítése :oops: Persze ki lehetne írtani :-)
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2018.November.21. 23:15:38
Az időzítés HALT utasítást használ, tehát elvileg működik ilyen módosítással, de ez nem biztos, hogy hibátlan:
[attachurl=1]
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2018.November.22. 12:38:35
Nehezen ugyan, de elfért 3 játék 64K területen (elvileg lehetne azonban nagyobb is): :)
[attachurl=1]

A ROM tartalma:
EATITUP.COM
EAT.DAT
HW2.COM  (módosított)
WAY2.PRG
BATMAN.COM
BATMAN
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.November.22. 13:21:35
Ügyes! :smt038

Esetleg a Star Sabre-ra tudnál egy pillantást vetni? Mondjuk erősen az a gyanúm, hogy Geco már eleve tömörített (bár a prg fájl végén van olvasható szöveg is), ezért nem megy nagyon össze... Esetleg ha a betöltő képet kihagynánk?
Ezt konkrétan a Cambridge-i számítógép múzeumból kérnék (http://www.computinghistory.org.uk/). (Játék cartridgekkel rakják ki a gépeket, hogy tudjanak játszani a látogatók.)
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2018.November.22. 18:25:55
A Star Sabre kb. 75000 byte lett az egészet újracsomagolva, a ROM kóddal együtt. Úgy látom, a második blokk a betöltőkép, ez 13597 byte tömörítve. Ha fontos a 64K alatti méret, akkor esetleg lehetne egyszerűbb (pl. CPC-ről konvertált) kép?
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.November.22. 18:27:49
Ha fontos a 64K alatti méret
Ez lenne a cél, hogy egy sima cartridge-be beférjen. Szerintem elfogadható kép nélkül is :-)
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2018.November.22. 20:49:35
Egyelőre a rossz minőségű betöltőképpel (a ROM végén még marad 279 byte szabad hely):
[attachurl=1]
[attachurl=2]

Forráskód, és az eredeti változat visszafejtve:
[attachurl=3]
[attachurl=4]
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2018.November.22. 21:42:37
Ez egyébként még mindig tartalmaz tömörített adatot (valószínűleg a pályákat) kevésbé hatékony formátumban, de azt már nehezebb lenne átalakítani, mert a PRG visszafejtésére és módosítására is szükség lenne. Kifejezetten ROM-hoz készült verzió elvileg akár a pályákat is egyszerűen file-ként tölthetné be futás közben, így a RAM igénye is csökkenne.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.November.22. 21:53:17
Reméljük Geco benéz ide :-)

De végül is ha a 64K-ba belefért, akkor már elértük a célt.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2018.November.22. 22:00:38
De végül is ha a 64K-ba belefért, akkor már elértük a célt.

Valóban, csak a betöltőkép miatt lenne hasznos több hely. :) A jelenlegihez képest minimális dither használata is látványos javulást eredményezne, soronként változó paletta nélkül is, de 3-4 KB méretnövekedés árán.
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2018.November.23. 17:40:51
Ez szép, ha hazaérek, csatolom a forrást, vagy legkésőbb holnap
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2018.November.23. 20:38:46
Itt az összes forrás, úgy rémlik, hogy van benne tömörített adat, talán M3, de lehet keverem a Sub Hunterrel.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.November.24. 20:10:59
A legjobb lenne azonban a :DIR parancshoz hasonló funkció, bár az több helyet foglalna.
Nem tudom mennyi helyet foglalna, ha lenne egy lista készítve az 5-ös fejlécű fájlokról, amiből egy indító menü készülne, pl:
1 NODES
2 BATMAN
3 EATITUP
A kiválasztottat indítaná, illetve, ha csak egy program van, akkor egyből indulna az a egy, mindez mondjuk :ROM parancsra, ill. opcionálisan autostartos verzióban 1-es akciókódra.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2018.November.24. 20:39:46
Nem tudom mennyi helyet foglalna, ha lenne egy lista készítve az 5-ös fejlécű fájlokról, amiből egy indító menü készülne, pl:

"Grafikus" menü, vagy csak egyszerű file lista kiírás és karakter olvasás az alapértelmezett (remélhetőleg már megnyitott EDITOR:) csatornán? Komolyabb file választó lehetne külön programként is az első file a ROM "lemezen", bár ennek a megoldásnak hátránya, hogy a listát vagy a programba kell építeni, vagy a memóriában megtalálni.

Nagyobb file rendszernél (pl. 512K flash ROM) mindenesetre hasznos lenne, ha a felhasználónak nem kellene ismernie a file listát. :)
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.November.24. 20:53:41
Csak valami sima karakteres. Csatornát nyitni kéne, ha az 1-es akciókódos lehetőségre is gondolunk.
Esetleg statussorban váltakozó kiírás? Ha jól emlékszem átírataidban volt ilyen megoldással cheat menü.

Igen, egy ROMDIR azért hasznos lenne :-)
Title: Re: Fájltömörítés Enterprise-on
Post by: gflorez on 2018.November.25. 01:58:32
Menü helyett automatikus indítás és reset vektor a következő játékra (ciklikusan). Ez nagyon takarékos lehet tárhelyben.

----------------------

Instead of a menu, an automatic start and a reset vector pointing to the next game(cycling). This can be very cheap in space.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.November.25. 10:47:24
Szerintem ez nem túl komfortos megoldás, pl ha 10 játék van egy 512-es ROM-ban, és az utolsóval szeretnél játszani.

I think it is not a too comfortable solution, for example 10 games in a 512K ROM, and you want to play with the last...
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2018.November.25. 13:26:42
Egyelőre ezeket próbálom beépíteni:
- EXOS speciális funkcióval lekérdezhető a file táblázat kezdőcíme, C=szegmens, DE=cím, ez csak néhány byte kód és hasznos lehet START program készítésénél
- file lista kiírása az alapértelmezett csatornán, nem tudom, hogy ezt parancsként vagy HELP funkcióként lenne-e hatékonyabb megoldani
- hidegindításkor (1-es akciókód) ha valamelyik billentyű (azt még el kell dönteni, melyik) le van nyomva, akkor automatikusan betölti EXOS 29 hívással az első file-t. Ez viszonylag bonyolultabbnak tűnik, különösen ha hibakezelésre (reset rutin, stb.) is szükség van
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.November.25. 17:29:28
Ez jól hangzik!
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2018.November.25. 17:32:33
Melyik billentyűvel lehessen az első programot indítani az EP logónál? Célszerű lenne olyat választani, amit nem használ valamilyen más ROM (pl. ZozoTools). :)
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.November.25. 18:13:36
Pl 1-es.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2018.November.25. 23:21:11
Problémát okozhatnak még azok a programok, amelyek az EXOS 6-nak a BC-ben a ténylegesen olvashatónál nagyobb blokk méretet adnak meg. Ilyen esetben a romload.lua jelenleg a megadott méretű adatot csomagolja és menti a memóriából. :oops: Célszerű lenne legalább egy figyelmeztetést kiírni.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.November.26. 07:32:49
Igen, vannak ilyen rendetlen programok :-(
Eredetileg még durvábbak is voltak, ahol szimplán csak FFFFh volt, de ezek floppyról nem mentek, az EXDOS Overlay 64K hibát dobott. (Ezek javítva lettek.)
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.November.26. 22:53:56
Egy ROM-ot már sikerült fordítani :ds_icon_cheesygrin:
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2018.November.26. 23:54:12
Igen, vannak ilyen rendetlen programok :-(

Ezt még megpróbálom javítani, hogy ne legyen nagyobb a tárolt file, és a ROM helyesen kezelje az EOF hibát.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.November.27. 07:01:22
Akkor még nem kezdem nagyüzemben :-)

Esetleg még egy opcionális (helyhiány esetén kivehető) HELP szöveg?
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.November.27. 15:01:40
Valami rövid összefoglalása a funkcióknak:
ROM   version 1.0
:ROMDIR list files
LOAD "ROM:*" start first file
LOAD "ROM:filename" start specified file
Press 1 at EP logo screen start first file

(Ami feltételes funkció, az persze itt is feltételes sor)
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.November.27. 22:57:02
Szuper, köszi!

Ha pár bájton múlik, akkor úgyis lehet játszani az opciókkal. A Star Sabre befért m6 és Exos 11 tiltással (ez utóbbinak úgyis több programos csomagok esetén lesz szerepe).
Title: Re: Fájltömörítés Enterprise-on
Post by: szipucsu on 2018.November.28. 20:49:12
Ez igen! Látom, romokban állnak a játékok már!
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2018.December.02. 17:36:58
Ezek közül a Star Sabre betöltőképek közül melyik a használhatóbb? Az alsó több helyet foglal, de talán még elfér.

[attachthumb=1]

[attachthumb=2]
Title: Re: Fájltömörítés Enterprise-on
Post by: szipucsu on 2018.December.02. 18:54:35
Ezek közül a Star Sabre betöltőképek közül melyik a használhatóbb? Az alsó több helyet foglal, de talán még elfér.
Mindkettő jó, de a felső jobb, mert kevésbé szemcsés.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.December.02. 20:39:08
Mindkettő jó, de a felső jobb, mert kevésbé szemcsés.
Szerintem is.
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2018.December.02. 21:09:17
Szerintem is a felső jobb, most a dither egy picit rosszabbá teszi a képet.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2018.December.05. 20:26:30
dtf -d rickdng2.prg rick2.com rom_rick2.prg

Ha már említettem a Rick Dangerous 2-t, akkor ebből is próbáltam 64K-s cartridge változatot készíteni, ami nem bizonyult egyszerűnek: :)
[attachurl=1]

A feltételesen fordítható ROM funkciók tiltása mellett gyakorlatilag az egészet újra kellett csomagolni, hogy elférjen. Ez rossz minőségű betöltőkép és lassú pálya töltés árán sikerült, mivel egy pálya helyett mindig az összeset kicsomagolja. Viszont most 128K-s gépen is EXOS kompatibilis.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.December.05. 21:38:46
Ügyes! :smt038
Bolder Dash-okból is tudnál alkotni valamit? Jó sok pálya beférne, csak a FILE-s kiválasztás helyett kéne valami rom-os :oops:
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2018.December.06. 21:03:34
Boulder Dash cartridge verzió, egyelőre csak a pályák egy részéből készült ROM:
[attachurl=1]
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.December.06. 22:45:04
Szuper! Köszi!
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2018.December.08. 20:01:39
Ez a ROM változat az eredeti játékokat tartalmazza betöltőképpel és külön karakterkészlettel, ezen kívül még 14 további pálya file is elfért:
[attachurl=2]

BDASH_CC.COM - pálya választó, ez az első (alapértelmezett, "1" billentyűvel indítható) program, .lvl helyett .com file is választható, amit betölt és futtat
BOULDASH.COM - Boulder Dash 1 CPC grafikával
BD_1.COM, BD_2.COM, BD_3.COM - Boulder Dash 1-3 C64 pályákkal és karakterkészletekkel
BD2SCR.COM, BD3SCR.COM - betöltőképek

Optimalizált ROM file választó, 62 byte méretcsökkenés:
[attachurl=1]
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2018.December.09. 10:44:39
Ezek helyett érdemesebb lenne mást beépíteni. :oops:
Az valóban praktikusabb lenne :-)
Title: Re: Fájltömörítés Enterprise-on
Post by: szipucsu on 2018.December.09. 19:11:59
Találtam még megoldhatatlan pályákat is, amelyeknek nincs kijárata
Most lebuktunk, hogy nem játszottunk sokat ezzel a játékkal. Én mondjuk mindig csak az első néhány pályáig bírtam.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2018.December.09. 21:27:41
bd2cc_e7 és bd2cc_e8 javítva, bd1cc_a1, bd1cc_a2 (Boulder Dash 1 és 3 másolatai) és bd2cc_e6 (hibás pálya) törölve. A három törölt file helyére került a bd1cc_b1, bd1cc_b2 és bd2cc_d8, de az ideális megoldás a legjobb pályák válogatása lenne. :) Így már csak az egér támogatás tiltásával fért el minden.

[attachurl=1]
Title: Re: Fájltömörítés Enterprise-on
Post by: Judge on 2019.March.01. 18:02:58
Ezekből lehetséges lenne romverziót csinálni? :)

ALIEN 8
SWAP
ATOMIX
EXORCIST
QUADRILLION
SKRAMBLE
XORGAME (háttérkép nélkül ill. egyszínű háttérrel)
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2019.March.01. 19:59:30
A Swap az eredeti változat legyen, vagy az EnterMice-os? A Quadrillion is lehet a 4K-s, a Crillion (https://enterpriseforever.com/konvertalas/quadrillion/msg72230/#msg72230) (C64-es pályák), vagy a digitális zenét tartalmazó verzió (nagy méretű).
Title: Re: Fájltömörítés Enterprise-on
Post by: Judge on 2019.March.01. 20:14:52
A Swap az eredeti változat legyen, vagy az EnterMice-os? A Quadrillion is lehet a 4K-s, a Crillion (https://enterpriseforever.com/konvertalas/quadrillion/msg72230/#msg72230) (C64-es pályák), vagy a digitális zenét tartalmazó verzió (nagy méretű).

A SWAP szerintem az egér támogatással az igazi. A Quadrillion "nagyméretű" belefér egy 64K epromba?
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2019.March.01. 20:22:47
A SWAP szerintem az egér támogatással az igazi. A Qudrillion "nagyméretű" belefér egy 64K epromba?

Ha csak a Quadrillion kerül a ROM-ba, akkor igen, akár a Quadrillion és Crillion is együtt. Akkor előnyös a digitális hang hiánya, ha az a cél, hogy a legtöbb játék férjen el egy ROM-ban.
Title: Re: Fájltömörítés Enterprise-on
Post by: Judge on 2019.March.01. 21:51:50
Ha csak a Quadrillion kerül a ROM-ba, akkor igen, akár a Quadrillion és Crillion is együtt. Akkor előnyös a digitális hang hiánya, ha az a cél, hogy a legtöbb játék férjen el egy ROM-ban.

Nem célom , hogy sok játék férjen el. Inkább minél jobb minőség legyen, akár 64K is egy játék, mint a BoulderDash vagy a Tcave. Van elég epromom... :)
Title: Re: Fájltömörítés Enterprise-on
Post by: Povi on 2019.March.02. 10:59:44
Ezekből lehetséges lenne romverziót csinálni? :)
ATOMIX

Az Atomix forrása meg van, ha úgy könnyebb a ROM verzió!
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2019.March.02. 13:44:19
Egyelőre a Xorgame készült el:
[attachurl=1]
Ha magnós gépen látszólag lefagy, akkor a xorgame.cfg-t próbálja megnyitni, ez Stop billentyűvel megszakítható.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2019.March.02. 17:12:16
Klubban egyből kipróbálva:
[attach=1]
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2019.March.02. 18:40:29
Még néhány programot átalakítottam: Alien 8, Atomix, Crillion, Quadrillion 4K, Skramble, Swap. További teendő a Bricky Prise (talán betöltőkép nélkül elfér), Exorcist és Quadrillion Full.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2019.March.02. 19:31:03
Ha még lehet kérni :oops:
Nodes of Yesod és Arc of Yesod be tudna férni 64K-ba? Esetleg betöltő képek nélkül?
Title: Re: Fájltömörítés Enterprise-on
Post by: Judge on 2019.March.02. 21:36:47
Még néhány programot átalakítottam: Alien 8, Atomix, Crillion, Quadrillion 4K, Skramble, Swap. További teendő a Bricky Prise (talán betöltőkép nélkül elfér), Exorcist és Quadrillion Full.

Köszönjük István!  :bow: :smt041

Itt a hardwer amihez készülnek és az eddigi muníció...

[attach=1]

és belülről:

[attach=2]
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2019.March.03. 22:39:40
Az Exorcist és a Nodes of Yesod is konvertálva, illetve az Arc of Yesod is, de ez és a Nodes nem fér el együtt 64K-n, szerintem még a betöltőképek nélkül sem. :oops: A Bricky Prise-t és a Quadrillion Full-t még holnap megnézem, és a konvertált programokból ROM-okat készítek.

C16 átiratok egy ROM-ban, Exorcist és Skramble: :)
[attachurl=1]
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2019.March.04. 11:42:38
A Bricky Prise ROM első próbálkozásra 71309 byte méretű lett. :oops: A pályák teljes újracsomagolásával talán elférne, bár ez nem tűnik könnyen megoldhatónak, vagy ilyen betöltőképpel biztosan:
[attachthumb=1]
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2019.March.04. 12:56:33
Szerintem a betöltőkép szükség esetén feláldozható/egyszerűsíthető, ha ezen múlik.

Egyébként felmerült bennem egy hardverötlet: 512K-s ROM mellé kb 4 db 74xxx IC kéne, és akkor lehetne olyan, hogy az 4-5-6 szegmens fix (gyorsteszt, Basic, ROMFS), a 7-re meg lehetne lapozni a ROM bármely lapját, így akkor 464K helyre lehetne játékokat rakni.
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2019.March.04. 13:52:08
A Bricky Prise ROM első próbálkozásra 71309 byte méretű lett. :oops: A pályák teljes újracsomagolásával talán elférne, bár ez nem tűnik könnyen megoldhatónak, vagy ilyen betöltőképpel biztosan:
(Attachment Link)
Szerintem, ha már ROM, akkor vagy a full betöltőkép ( a zene szólhat a fekete képernyő alatt is :D ), vagy akár az első digi zene is áldozható, elküldjem a forrást?
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2019.March.04. 14:46:57
Egyébként felmerült bennem egy hardverötlet: 512K-s ROM mellé kb 4 db 74xxx IC kéne, és akkor lehetne olyan, hogy az 4-5-6 szegmens fix (gyorsteszt, Basic, ROMFS), a 7-re meg lehetne lapozni a ROM bármely lapját, így akkor 464K helyre lehetne játékokat rakni.

Ez pontosan hogyan lenne lapozható?

elküldjem a forrást?

Köszönöm, a forrás valóban segítség lehet nagyobb átalakításnál, bár a betöltőkép nélküli verzió már kész van. De talán sikerülhetne helyet felszabadítani legalább egy rosszabb minőségű kép számára. Esetleg problémát jelenthet még, hogy az itt (https://enterpriseforever.com/enterprise-devcompo-1-37/enterprise-program-bricky-prise/msg59772/#msg59772) található egeresített változatot használtam.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2019.March.04. 15:13:22
Ez pontosan hogyan lenne lapozható?
A 6-os szegmens végére (3. lapon Fxxxh) írt érték menne egy lapozó regiszterbe, ami adná az A18-A14 címvezetékeket 7-es szegmens használata esetén a ROM IC-nek. Vagyis 00-1Fh értékekkel lehetne elérni a teljes 512K-t, ebből 00-02 lapok a hagyományos 04-06 szegmensek tartalma, a többi lenne használható ROMFS számára.
(Lehetséges lenne 512K Flash ROM IC helyett 1M EPROM (27C080) használatára is, ami picit drágább, és csak külső programozóval írható, viszont akkor 976K (03-3F lapok) állna rendelkezésre)

Szoftver szempontjából csak annyi eltérés lenne, hogy a 7-es szegmenst egyszer belapozni, az utána következőket meg már nem a Dave portjain, hanem a fentebb említett címen lehetne lapozni.

Quote
egeresített változatot használtam.
Ezt jól tetted, a Bricky prímán játszható egérrel!
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2019.March.04. 23:07:57
Néhány újabb játék:

[attachurl=1]    (Alien 8, Nodes of Yesod)
[attachurl=2]    (Bricky Prise, egyelőre betöltőkép nélkül)
[attachurl=3]    (Quadrillion 4K, Quadrillion Full, Crillion, Crillion 2, Crillion 93, Treasure Cave 4K, Atomix)

A Quadrillion Full a START programmal indítva valamiért gyakran lefagy, nem tudom, ez a START hibája-e, vagy EXOS bug az 5-ös fejlécű modul betöltésénél, régebben is volt hasonló véletlenszerű fagyás EXOS 0 hívásoknál. :oops: A 100h címet mindenesetre már nem éri el. Ezt még javítani kellene. A forrás csomag tartalmazza a Bricky Prise betöltőképes változatát is BRICKSCR.PRG néven, ami még hasznos lehet 64K-nál nagyobb ROM készítésekor.

Szerk.: a Crillion hibás, csak 291 soros az LPT, ezt holnap javítom.
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2019.March.05. 09:00:25
Köszönöm, a forrás valóban segítség lehet nagyobb átalakításnál, bár a betöltőkép nélküli verzió már kész van. De talán sikerülhetne helyet felszabadítani legalább egy rosszabb minőségű kép számára. Esetleg problémát jelenthet még, hogy az itt (https://enterpriseforever.com/enterprise-devcompo-1-37/enterprise-program-bricky-prise/msg59772/#msg59772) található egeresített változatot használtam.
Este csatolom :)
Szerk.: a Crillion hibás, csak 291 soros az LPT, ezt holnap javítom.
A Midis változat? Ha igen, akkor javítom a forrásom én is.
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2019.March.05. 11:02:17
Igen. Egyébként a Nodes of Yesod is 301 soros, ez nem tudom, probléma-e.
Érdekes, nekem a Nodes anno egyik tévén se futott.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2019.March.05. 11:19:06
Így már 312 soros, bár a függőleges pozíción talán még lehetne igazítani:
Code: Diff
  1. @@ -2148,13 +2148,13 @@
  2.          xor     01h
  3.          ld      (f1prs+1),a
  4.  set_game_screen
  5.          ld      bc,screenw32
  6. -        ld      de,0fee8h
  7. +        ld      de,0fee6h
  8.  
  9.          jr      nz,scrwfnd
  10.          ld      bc,screenw40
  11. -        ld      de,0eef8h
  12. +        ld      de,0eef6h
  13.  scrwfnd
  14.  toggle_screen
  15.          call    wait_update_LPT
  16.          push    bc
  17. @@ -3476,9 +3476,9 @@
  18.          djnz    clrtxt
  19.          ld      hl,lpt_pix16+17*8*10h+1
  20.          ld      bc,22h+38h*100h
  21.          call    update_LPT
  22. -        ld      de,0eef8h
  23. +        ld      de,0eef6h
  24.          call    wait_update_LPT
  25.          di
  26.          ld      hl,menu_quadcol
  27.          ld      de,lpt_pix16+17*8*10h+9
  28. @@ -4524,15 +4524,15 @@
  29.  txtlpb  db      0ffh,08h,0fh,6fh,00h,00h,00h,00h    ;video lpb       4*8 32
  30.          db      000h,02h,00h,00h,00h,00h,00h,00h
  31.  vlpb    db      0ffh,42h,0bh,33h,00h,00h,00h,00h    ;video lpb       192
  32.          db      000h,00h,00h,00h,03h,00h,00h,00h
  33. -vsync   db      0eeh,1eh,3fh,20h,00h,00h,00h,00h    ;               2
  34. +vsync   db      0feh,1eh,3fh,20h,00h,00h,00h,00h    ;               2
  35.          db      040h,40h,51h,50h,61h,60h,70h,70h
  36.          db      0f8h,1eh,1ah,24h,090h,00h,00h,00h   ;lores 2 ep txt 8
  37.          db      00h,0ffh,00h,00h,00h,00h,00h,00h
  38.          db      0feh,42h,1ah,24h,0e0h,00h,00h,00h   ;ep line        2
  39.          db      00h,0ffh,49h,0d9h,0dbh,0a2h,0a6h,5dh
  40. -        db      0f8h,02h,3fh,00h,00h,00h,00h,00h    ;sync           24
  41. +        db      0e5h,02h,3fh,00h,00h,00h,00h,00h    ;sync           24
  42.          db      000h,00h,00h,00h,00h,00h,00h,00h
  43.          db      0fdh,00h,3fh,00h,00h,00h,00h,00h    ;               3
  44.          db      000h,00h,00h,00h,00h,00h,00h,00h
  45.          db      0feh,00h,06h,3fh,00h,00h,00h,00h    ;               2
  46. @@ -4540,9 +4540,9 @@
  47.          db      0ffh,00h,3fh,20h,00h,00h,00h,00h    ;               1
  48.          db      000h,00h,00h,00h,00h,00h,00h,00h
  49.          db      0efh,02h,06h,3fh,06h,00h,00h,00h    ;               17
  50.          db      000h,00h,00h,00h,00h,00h,00h,00h
  51. -        db      0e3h,03h,3fh,00h,00h,00h,00h,00h    ;f7-->c7        29
  52. +        db      0e6h,03h,3fh,00h,00h,00h,00h,00h    ;f7-->c7        29
  53.          db      000h,00h,00h,00h,00h,00h,00h,00h
  54.          db      110,99,53,155,155,27,27,14,26,110    ;ep felirat
  55.          db      34,18,36,136,136,136,136,132,34,34
  56.          db      32,34,4,8,8,136,136,132,32,32
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2019.March.05. 11:24:02
Igen. Egyébként a Nodes of Yesod is 301 soros, ez nem tudom, probléma-e.
A klubban egyszer volt egy monitor, amin a Nodes képe el volt csúszva függőlegesen, miközben más programok jók voltak. Lehet, hogy ezért.
Ha ki lehet javítani, akkor a sima betölthető változatban is meg tudnád csinálni?
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2019.March.05. 17:57:21
Javított verziók:
[attachurl=1]    (Nodes of Yesod 312 soros LPT-vel)
[attachurl=2]    (Crillion 312 soros LPT-vel)
Esetleg még a keretcsíkozást lehetett volna tiltani, a Crillion pontszámtáblájánál zavaró lehet.

Készült még Arc of Yesod, Swap és Paszians (kicsomagolt és ROM kompatibilis változatok), de ezekkel nem lehet 64K-s ROM-ot jól kihasználni, kellene más játék a hely kitöltésére. :)
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2019.March.05. 18:22:32
Wall.src a program, Wallload.src a betoltő
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2019.March.05. 20:52:07
start.asm EXOS 29 fagyás elleni védelemmel
Ezt a :FILE-be is érdemes lenne beletenni?
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2019.March.05. 22:16:23
Ezt a :FILE-be is érdemes lenne beletenni?

Nem tudom biztosan, talán nem minden modul típus betöltésénél jó ötlet.
Title: Re: Fájltömörítés Enterprise-on
Post by: Judge on 2019.March.13. 17:22:29
Még néhány programot átalakítottam: Alien 8, Atomix, Crillion, Quadrillion 4K, Skramble, Swap. További teendő a Bricky Prise (talán betöltőkép nélkül elfér), Exorcist és Quadrillion Full.

Kedves István!

Az ATOMIX rom verzióját fel tudnád tenni? Annak egyébként van TRN verziója? (mondjuk időmérés kikapcsolás :)  )
Title: Re: Fájltömörítés Enterprise-on
Post by: Povi on 2019.March.13. 18:50:25
EXOS 2.0 alatt automatikus örökélet van benne :-) Ugyanis az időmérő rutin felhasználói megszakításból megy, ami EXOS 2.0 alatt még nem létezik :-)
De egyébként 0x08c4 címre 0x0000-át írsz, és máris örökélet :-)
LD HL, 077D helyett LD HL, 0000
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2019.March.13. 18:53:34
Az ATOMIX rom verzióját fel tudnád tenni?

A korábban feltöltött Quadrillion ROM már tartalmazza. :) Másik témában található Bricky Prise ROM is, bár abból még készülhet kissé javított változat.
Title: Re: Fájltömörítés Enterprise-on
Post by: Judge on 2019.March.13. 19:12:10
Mindenkinek: Köszi! :smt041
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2019.March.15. 16:36:03
Néhány további korábban kért program "ROM kompatibilis" változata, ezek külön nem használnák ki a 64K területet, egynél több pedig nem férne el:

Arc of Yesod:
[attachurl=1]
[attachurl=2]
[attachurl=3]
[attachurl=4]

Pasziansz:
[attachurl=5]
[attachurl=6]
[attachurl=7]

Swap:
[attachurl=8]
[attachurl=9]
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2019.March.19. 14:19:04
A GitHub-on frissítettem a különböző Z80 kicsomagoló rutinokat a mostanában feltöltöttekre
Köszönjük!

Quote
A teljesség kedvéért összegyűjtöttem a ROM készítésnél használt egyéb programokat:
Ezt is!
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2019.April.13. 13:21:25
Rövid epcompress leírás (https://wiki.enterpriseforever.com/index.php?title=EPcompress_le%C3%ADr%C3%A1s) a wiki-n, bár nem valószínű, hogy volt rá igény. :)
De, van rá igény! Köszi!
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2019.April.14. 12:51:36
Köszi szépen, le is töltöttem :)
Title: Re: Fájltömörítés Enterprise-on
Post by: Povi on 2019.April.15. 13:17:03
Nem töltöttem fel új verziót. :) Csak a wiki-t szerkesztettem, bár nem tűnik valószínűnek, hogy sokan olvassák.
Én szoktam :-) Jó, hogy össze vannak gyűjtve egy helyre a dolgok, mert a fórumban előbb-utóbb elsüllyednek.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2019.April.15. 14:26:16
Esetleg még a ROMFS rendszer leírását is érdemes lenne felrakni, szintén, hogy ne süllyedjen el a fórum mélyén.
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2019.April.15. 14:46:12
Nem töltöttem fel új verziót. :) Csak a wiki-t szerkesztettem, bár nem tűnik valószínűnek, hogy sokan olvassák.
Azt töltöttem le :D
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2019.April.21. 18:54:07
ROM: eszköz átalakítva m3 használatára:

[attachurl=1]
[attachurl=2]

[attachurl=3]
[attachurl=4]
[attachurl=5]
[attachurl=6]
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2019.April.21. 19:50:24
Rövid epcompress leírás (https://wiki.enterpriseforever.com/index.php?title=EPcompress_le%C3%ADr%C3%A1s) a wiki-n
Nem találom :-(
Title: Re: Fájltömörítés Enterprise-on
Post by: ergoGnomik on 2019.April.21. 20:00:40
Nem találom :-(
History fülön keresztül még elérhető. Rá kell kattintani az utolsó előtti változat dátumára, és akkor megnyílik.
Title: Re: Fájltömörítés Enterprise-on
Post by: Zozosoft on 2019.April.21. 20:39:37
History fülön keresztül még elérhető. Rá kell kattintani az utolsó előtti változat dátumára, és akkor megnyílik.
Köszi! Gyorsan elmentettem.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2019.April.21. 22:10:40
Itt megtalálható (https://wiki.enterpriseforever.com/index.php?title=EPcompress_le%C3%ADr%C3%A1s) a frissített változat a végleges 2.0.11.2 (https://github.com/istvan-v/ep128emu/releases/tag/2.0.11.2) verzióhoz. Az "egzotikus" formátumok és paraméterek törlése miatt sokat egyszerűsödött, gyakorlatilag csak m2-t (lebutítva, csak kompatibilitás céljára) és m3-at tud, és az utóbbi alapértelmezett is lett, de a többit rajtam kívül egyébként sem igazán használta senki. Így a kész leírás is lényegesen rövidebb.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2019.April.26. 15:56:41
Az UNCOMPRESS bővítést használja valaki? Ha nem (ami valószínűnek tűnik), akkor az IVIEW.ROM-ban a helyére kerülhetne például a MIDI lejátszó egyszerű, kijelzés nélküli változata. Így az .epm file-ok EXOS modulként betöltve is lejátszhatók lennének.
Title: Re: Fájltömörítés Enterprise-on
Post by: geco on 2019.April.26. 16:01:48
Én nem :oops:
Title: Re: Fájltömörítés Enterprise-on
Post by: szipucsu on 2019.April.26. 16:35:06
az IVIEW.ROM-ban a helyére kerülhetne például a MIDI lejátszó egyszerű, kijelzés nélküli változata.
Ahol teljesen fekete a képernyő? Végülis lehet az is, de nem lehetne valami minimális vizualizáció? Vagy akár olyasmi, hogy megmarad a betöltés előtti képernyő, és a zenéből kilépéskor "ok" üzenettel visszadob oda. Netalán a háttérben szólhat a zene pl. basicben programozgatás közben, esetleg lejátszási listákat is kezelne.
Title: Re: Fájltömörítés Enterprise-on
Post by: IstvanV on 2019.April.26. 16:39:52
Ahol teljesen fekete a képernyő?

Ez a változat fér el. :oops: A mididisp.com-hoz még mást is törölni kellene.
Title: Re: Fájltömörítés Enterprise-on
Post by: szipucsu on 2019.April.26. 19:49:58
Ez a változat fér el. :oops: A mididisp.com-hoz még mást is törölni kellene.
Nem tudom, ki mennyit hallgat midiket EP-n. De végülis jó lehet akár a sötét képernyős változat is, ha elfér.