Welcome, Guest. Please login or register.


Author Topic: PC -> EP képkonverzió (Read 342470 times)

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: PC -> EP képkonverzió
« Reply #345 on: 2008.December.27. 16:47:07 »
Na, próbálta valaki? Újabb felfedezett hibák?
Nálam az IVIEW hibátlannak találtatott.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Ep128

  • EP addict
  • *
  • Posts: 1849
  • Country: hu
    • Honlapom
Re: PC -> EP képkonverzió
« Reply #346 on: 2008.December.27. 18:16:34 »
Na, próbálta valaki? Újabb felfedezett hibák?
Nekem az ez elõttiben sem volt hiba, ill. nem vettem észre...  ;-)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: PC -> EP képkonverzió
« Reply #347 on: 2008.December.28. 12:37:36 »
Na, próbálta valaki? Újabb felfedezett hibák?

Két újabb hiba, a változatosság kedvéért megint a nagy méretű, fix palettát használó képek esetén:

Code: ZiLOG Z80 Assembler
  1. l0309:  dec   hl
  2.         ld    a, h
  3.         or    a
  4. ;       ld    a, l
  5.         ld    hl, 00001h
  6.         jr    z, l0316
  7. ;       or    a
  8. ;       jr    z, l0316
  9.         inc   hl
  10.  

Itt szerintem azokat a sorokat, amelyeket megjegyzésekké alakítottam át, törölni kellene, mert egyébként hibásan működik 257 sor magasságú képeknél.

Code: ZiLOG Z80 Assembler
  1.         xor   a
  2. l053e:  sub   (ix+006h)
  3.         ld    (hl), a
  4.         push  de
  5.         ldir
  6.  

Ennél a résznél a "xor a" eredetileg hiányzik, és ezért hibás LPT-t generált a program (futott a kép).

Bár ez már valószínűleg csak szőrszálhasogatás :), de a kép nehány sorral el van csúszva felfelé. Igaz, ez lehet az emulátor hibája is, és igazi TV-ken és monitorokon egyébként is mindenhol más a kép pozíciója, de például az én TV kártyámmal még az emulátornál is jobban el van tolódva felfelé a kép. Ez a kiegészítés (természetesen a címkék és változónevek az IVIEW forrásában mások) az emulátoron pontosan középre igazítja a képet:

Code: ZiLOG Z80 Assembler
  1.         ld    b, 4
  2.         ld    hl, lptTBorder
  3.         ld    de, lptBBorder
  4. l1:     ld    a, (de)
  5.         inc   a
  6.         jr    z, l2
  7.         ld    (de), a
  8.         dec   (hl)
  9.         djnz  l1
  10. l2:
  11.  

Ezen kívül még hiányzik a tömörített formátumú képek betöltésének a lehetősége. Ez ugyan talán nem annyira fontos, és növelné a program méretét, de ha mégis tervezed a megvalósítását, akkor lehet, hogy tudnék segíteni az esetleges problémák megoldásában. Nekem már sikerült egy - nagyon kezdetleges, és forráskód nélkül nem túl elegánsan megoldott - verziót készítenem amely tudja ezt is.

Mindenesetre az emulátor ROM csomagjában hamarosan lecserélem az iview.rom-ot az új verzióra (és ezzel együtt az EPDOS 1.7z frissítését, és a nagy méretű lemezeket támogató EXDOS-t is be lehetne építeni).

Online Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: PC -> EP képkonverzió
« Reply #348 on: 2008.December.28. 14:17:00 »
Két újabb hiba, a változatosság kedvéért megint a nagy méretû, fix palettát használó képek esetén:
:oops: javítva.

Quote
Bár ez már valószínûleg csak szõrszálhasogatás :), de a kép nehány sorral el van csúszva felfelé.
Ez már nekem is feltünt, csak még nem foglalkoztam vele  :oops:
Quote
Ez a kiegészítés (természetesen a címkék és változónevek az IVIEW forrásában mások) az emulátoron pontosan középre igazítja a képet
Köszi az ötletet, beépítettem! (Remélem nem rontottam el :) )
Esetleg az eltolás mértékét lehetne majd paraméterezhetõvé tenni?
Quote
Ezen kívül még hiányzik a tömörített formátumú képek betöltésének a lehetõsége. Ez ugyan talán nem annyira fontos, és növelné a program méretét, de ha mégis tervezed a megvalósítását
Tervezem, csak elõbb a normál mûködés legyen hibátlan :)
Quote
akkor lehet, hogy tudnék segíteni az esetleges problémák megoldásában
Egy kis segítség jól jöhet :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: PC -> EP képkonverzió
« Reply #349 on: 2008.December.28. 17:47:24 »
Esetleg az eltolás mértékét lehetne majd paraméterezhetõvé tenni?
Lehetne az is, hogy a kép pozíciója a beépített joystick segítségével állítható legyen, és több kép megjelenítésekor a többi is automatikusan a módosított beállítást használja.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: PC -> EP képkonverzió
« Reply #350 on: 2008.December.28. 18:24:06 »
Egy kis segítség jól jöhet :)

A módosított iview.ext file:

Ez a tömörített formátum támogatásán, az előbbi kisebb javításokon, és a függőleges pozíció változtatásán kívül a margók számításánál páratlan karakter szélességnél a képet nem balra, hanem jobbra igazítja (mert igazi gépen általában kissé balra van eltolódva a kép).

A tömörített formátumnál a már dekódolt részek láthatóak a file betöltése közben is, kivéve akkor, ha EP64-en a kicsomagolt kép vége felülírná a rendszert, mert akkor először az egészet betölti a memóriába, és ott csomagolja ki. Ilyenkor a kép megjelenítése után (billentyűlenyomáskor) hidegindítás történik, mert a felülírt rendszer miatt nem lehet visszatérni vagy új képet betölteni (sőt, még az aktuális file-t bezárni sem, erre külön figyelni kellett :)).

Problémák:
 - a "modul betöltés" (LOAD parancs) funkciónál EXOS reset hívást tettem a kód elejére, hogy a bővítőből ilyenkor is alkalmazás legyen, és külön vermet lehessen használni a 0. lapon (a kitömörítő ugyanis megváltoztatja a 2. lapon levő szegmenst); ez jelenleg talán nem probléma, mert az IVIEW egyébként sem tér vissza a modulbetöltést hívó alkalmazáshoz (pl. BASIC), és a 0. lapon található programot vagy adatokat elrontja
 - a rendszerszegmens mentéséhez külön szegmenst foglaltam le, és nem a nullás lapon levő szabad területet használtam fel, mert a kitömörítő az első kivételével minden szegmenst az elejétől kezdve használ fel; ezen kívül a mentés/visszaállítás mindig az egész lefoglalt szegmenst cseréli a rendszerszegmenssel, tömörített formátumnál még akkor is, ha a kép vége nem éri el az EXOS határt. Ez elvileg elkerülhető lenne, csak így egyszerűbb volt megoldani :oops: Viszont legalább egyszerűbb lett a tömörítetlen formátumot betölző rész :)
 - EP64 gépeken az iview.ext általában az FD szegmensre töltődik be, ami problémákat okoz, ha a kép nem fér el a nullás lapon (és ha nem nagyon kis méretű, akkor többnyire nem fér el). Átmeneti megoldásként ilyenkor egyszerűen felülírom ezt a szegmenst (mint ahogy az eredeti verzió is), de a kilépés helyett ilyenkor is hidegindítás van
 - ha a rendszer nem fér el az FF szegmensen, hanem például az FE szegmens a megosztott, akkor valószínűleg nem működik
« Last Edit: 2008.December.28. 22:39:15 by IstvanV »

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: PC -> EP képkonverzió
« Reply #351 on: 2008.December.28. 18:35:22 »
Köszi az ötletet, beépítettem! (Remélem nem rontottam el :) )
Jónak tűnik :)

Illetve nem egészen: :oops:
Code: ZiLOG Z80 Assembler
  1.   03E8  3A D8 08     LD    A, (08D8)
  2.   03EB  8B           ADC   A, E
  3.   03EC  57           LD    D, A
  4.   03ED  3A 18 09     LD    A, (0918)
  5.   03F0  83           ADD   A, E
  6.   03F1  06 04        LD    B, 04
  7.   03F3  14           INC   D
  8.   03F4  28 03        JR    Z, 03F9
  9.   03F6  3D           DEC   A
  10.   03F7  10 FA        DJNZ  03F3
  11.   03F9  32 18 09     LD    (0918), A
  12.   03FC  7A           LD    A, D
  13.   03FD  32 D8 08     LD    (08D8), A
  14.  
Itt nagyon magas (pl. 300 soros) képnél a D túlcsordul, de az LPT-ben ilyenkor nem a 0 értéket kellene tárolni (mert akkor 256 sor lesz a keret és "fut" a kép), hanem a növelés előtti 255-öt.
« Last Edit: 2008.December.29. 00:02:32 by IstvanV »

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: PC -> EP képkonverzió
« Reply #352 on: 2008.December.29. 11:23:20 »
Még egy apróság: "The converter program writed by IstvanV" - itt a 'writed' helyett 'written'-t kellene írni :)

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: PC -> EP képkonverzió
« Reply #353 on: 2008.December.29. 12:06:20 »
Még egy apróság: "The converter program writed by IstvanV" - itt a 'writed' helyett 'written'-t kellene írni :)
De akár el is hagyható: Converter program by IstvanV (Így több hely marad majd az esetleges késõbbi kitömörítõ rész számára.  :ds_icon_cheesygrin: Sok kicsi sokra megy. Még az is lehet, hogy ezen fog múlni egyszer, hogy egy pár bájttal nagyobb kép elférjen a memóriában.)
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: PC -> EP képkonverzió
« Reply #354 on: 2008.December.29. 13:53:01 »
A módosított iview.ext file:
Ezt megnézte valaki :?:


Online Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: PC -> EP képkonverzió
« Reply #355 on: 2008.December.30. 13:21:40 »
- EP64 gépeken az iview.ext általában az FD szegmensre töltõdik be
Ezért is ajánlott oda a .COM vagy a ROM verzió :-)
felülírom ezt a szegmenst (mint ahogy az eredeti verzió is)[/quote]
Ez viszont egy csúnya bug az eredetiben  :oops: elvileg le van kérdezve, hogy melyik videószegmens használható, de benne maradt még a memória nem kezelõs idõkbõl, hogy a változók alapértéke az FC,FD,FE,FF  :oops: ezért történhetett a felülírás. Viszont még nincs foglalkozva a "lukas" videómemória problémájával, így jelenleg a nem használható szegmens helyén úgyanúgy szemét jelenik meg a képen, mint az FF nem felülírható részén nagyon nagy kép esetén.
A lukkal az a baj, hogy nem biztos, hogy pont képsor határra esik a szegmens határ. Talán úgy lesz a legegyszerübb, ha ilyenkor a csonka sort már az új szegmens elején kezdjük.

Ami még hátra van memória ügyileg: jelenleg a rendszerbõvítõ változat gyakorlatilag egy az egyben telepíti a COM változatot 100H-ra. Ezt akarom úgy módosítani, hogy csak a változók, és az önmódosító rutinok kerüljenek át a nulláslapra, így ezesetben több szabad hely maradna ott.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: PC -> EP képkonverzió
« Reply #356 on: 2009.January.05. 13:20:41 »
A lukkal az a baj, hogy nem biztos, hogy pont képsor határra esik a szegmens határ. Talán úgy lesz a legegyszerübb, ha ilyenkor a csonka sort már az új szegmens elején kezdjük.
Az is egy lehetséges megoldás, hogy az egész kép kezdőcíme változzon az FC szegmensben, hogy a szegmenshatár pont egy sor végére essen, így nem lesz a kép adat "lyukas", ami a tömörített formátumnál fontos. Igaz, ez a megoldás nem működne, ha kétszer kellene szegmens(eke)t átugrani, de az az eset egyébként sem fordulhat elő, mert csak 4 video szegmens van :)
Ezen kívül még ha az FD szegmensen van a bővítő EP64-en, akkor a szegmens nagy részét felül lehetne írni a képpel, mert csak az első 2-3 KB tartalmaz hasznos adatot, de ez bonyolultabbá tenné a betöltést. és nem működne tömörített képeknél.

Online Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: PC -> EP képkonverzió
« Reply #357 on: 2009.January.05. 13:30:18 »
Az is egy lehetséges megoldás, hogy az egész kép kezdõcíme változzon az FC szegmensben, hogy a szegmenshatár pont egy sor végére essen, így nem lesz a kép adat "lyukas", ami a tömörített formátumnál fontos.
Nem rossz ötlet, szerintem ez lesz. Nem csak tömörítettnél fontos, hiszen egy LPT sor közben nem tudunk új címre ugrani :-)
Quote
Ezen kívül még ha az FD szegmensen van a bõvítõ EP64-en, akkor a szegmens nagy részét felül lehetne írni a képpel
Erre már gondoltam én is :-) Tulajdonképpen a luk eleje-vége videocímeket kell összegyûjteni, LPT készítéskor ugrani, no meg betöltéskor is.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: PC -> EP képkonverzió
« Reply #358 on: 2009.January.09. 12:17:38 »
A módosított iview.ext file:
Az IVIEW leírását a wikin kiegészítettem egy linkkel erre a változatra.

Online Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: PC -> EP képkonverzió
« Reply #359 on: 2009.January.09. 19:00:29 »
Itt nagyon magas (pl. 300 soros) képnél a D túlcsordul, de az LPT-ben ilyenkor nem a 0 értéket kellene tárolni (mert akkor 256 sor lesz a keret és "fut" a kép), hanem a növelés elõtti 255-öt.
Ez javítva, remélhetõleg más hibát nem okozva :-)
Ezenkívül belekerült, hogy a ROM/EXT verzió nem a teljes programot másolja át a nulláslapra, így ott több hely marad, ami fõleg 64K-n érdekes.
És nem írja már felül a foglalt videószegmenst, a lukkal foglalkozás még hátra van  :oops:

Aktuális forrás is mellékelve, kéretik nem nagyon szörnyülködni  :oops: így hátha könnyebb Istvánnak belebarkácsolni a tömörített kezelést :)

Meg lehetne közös IVIEW-IPLAY ROM-ot fordítani, a szegmensben úgyis bõven van hely!