Welcome, Guest. Please login or register.


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

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: PC -> EP képkonverzió
« Reply #570 on: 2016.October.25. 19:42:22 »
Az segítene, ha a FILE-ben másik csatornára raknánk a nullásról?

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: PC -> EP képkonverzió
« Reply #571 on: 2016.October.25. 22:03:19 »
Az 1-es csatornával nem lenne probléma, a :LOAD parancs is azt használja.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: PC -> EP képkonverzió
« Reply #572 on: 2016.October.25. 22:27:39 »
[ Guests cannot view attachments ]

A már említett javításokon kívül a FILE-t is módosítottam az 1. csatorna használatára modul betöltésekor.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: PC -> EP képkonverzió
« Reply #573 on: 2016.October.25. 22:29:16 »
a :LOAD parancs is azt használja.
Pontosabban az első szabadot amit talál, BASIC alatt mivel a 0-ás az EDITOR, így lesz ez az 1-es.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: PC -> EP képkonverzió
« Reply #574 on: 2016.December.11. 17:15:54 »
Nem tudom mennyire nagy munka lenne :oops: Esetleg lehetne TVC-s kimenet opciót is berakni?
Itt a formátumuk:
Code: [Select]
*.KEP

        0. bájt: 'K'
        1. bájt: 'E'
        2. bájt: 'P'
        3. bájt: kép típusa:
                    7..4 bit: 0000b (fenntartott)
                    3..2 bit: tömörítés (00b- fenntartott  01b- RLE tömörített  10b- tömörítetlen  11b- fenntartott)
                    1..0 bit: videó mód (00b- 2 színű  01b- 4 színű  10b- 16 színű  11b- interlaced)
        4. bájt: paletta[0]
        5. bájt: paletta[1]
        6. bájt: paletta[2]
        7. bájt: paletta[3]
        8. bájt: X méret pixelben (alsó bájt)
        9. bájt: X méret pixelben (felső bájt)
       10. bájt: Y méret pixelben (alsó bájt)
       11. bájt: Y méret pixelben (felső bájt)
       12. bájt: 0 (fenntartott)
       13. bájt: 0 (fenntartott)
       14. bájt: 0 (fenntartott)
       15. bájt: 0 (fenntartott)

      16.. képadatok:
           - tömörítetlen mód esetén: soronként tárolt képbájtok
                vízszintes bájtszám = [(pixelben adott X méret)/(bájtonkénti pixelszám)] felkerekítve bájthatárra
                függőleges bájtszám = Y méret
               
                adatbájtok száma = vízszintes bájtszám * függőleges bájtszám
       
           - RLE (futási hossz) tömörítésnél a tömörített adatblokk a sor végéig tart (bájhatárra felkerekítve), majd új tömörített blokk kezdődik
               0. bájt: számláló értéke, ha a 7..6 bit = maszk , egyébként közvetlen képbájt
               1. bájt: ismétlendő képbájt, ha az előző bájt számlálóértéket tartalmazott
               
               induláskor maszk=0, majd maszk növelése 64-el, ha a számláló érték=1
               
               pl.:  tömörítetlen képbájtok:  KKKKLLLLLCDGVKAACCCCCC
                     RLE tömörített:          4*K 5*L CDGVK 2*A 6*C
És a képnéző forráskódja, a KEPLIB van használva az SD-s demókban is.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: PC -> EP képkonverzió
« Reply #575 on: 2016.December.11. 20:27:20 »
Nem tudom mennyire nagy munka lenne :oops: Esetleg lehetne TVC-s kimenet opciót is berakni?

Megoldhatónak tűnik, de természetesen nem lenne soronként változó paletta, és a színek is eltérnek az EP-től. A formátum leírása és a forráskód között vannak kisebb különbségek, az utóbbiban nem látom az interlace módot (az egyébként a színek számát növelné villogtatással, és nem a felbontást?), a tömörítésnél pedig a fenntartott bit a formázott módot állítja, azaz hogy a fejléc tartalmazza-e a kép méretét. Viszont ha lehetséges a képnéző program bővítése, akkor könnyen lehetne az epcompress által támogatott tömörítésekkel is menteni.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: PC -> EP képkonverzió
« Reply #576 on: 2016.December.11. 21:00:31 »
Megoldhatónak tűnik, de természetesen nem lenne soronként változó paletta, és a színek is eltérnek az EP-től.
Ez nyilvánvaló. Egyébként a TVC-s színeknek mely EP-s színek felelnek meg legjobban?

Quote
az utóbbiban nem látom az interlace módot (az egyébként a színek számát növelné villogtatással, és nem a felbontást?)
Lehet, hogy csak tervezett, de még meg nem valósult funkció? Mindenesetre ez gondolom 64+ gépen menne, ahol több videólap van.

Quote
, a tömörítésnél pedig a fenntartott bit a formázott módot állítja, azaz hogy a fejléc tartalmazza-e a kép méretét.
Utána kérdezek, hogy van-e frissebb leírás/forrás mint ami a neten volt, ill. mi a helyzet a kérdéses pontok ügyében.

Quote
Viszont ha lehetséges a képnéző program bővítése, akkor könnyen lehetne az epcompress által támogatott tömörítésekkel is menteni.
Ennek gondolom semmi akadálya, csak tisztázandó, hogy az előbb emlegetett fenntartott bitekből mit lehetne felhasználni ezek jelzésére.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: PC -> EP képkonverzió
« Reply #577 on: 2016.December.11. 21:14:18 »
Ez nyilvánvaló. Egyébként a TVC-s színeknek mely EP-s színek felelnek meg legjobban?

Ha jól értelmezem a kapcsolási rajzot, akkor a normál és a fényes színek fényerejének az aránya 4/7 (azaz az LM1886 bemeneteire 100b vagy 111b kerül), de ezen még változtathatnak a különböző analóg áramkörök is. A 4/7-et feltételezve EP-n a fényes színek használhatják az első 8 paletta színt, a BIAS pedig 0.

Quote
Ennek gondolom semmi akadálya, csak tisztázandó, hogy az előbb emlegetett fenntartott bitekből mit lehetne felhasználni ezek jelzésére.

A leírás és a forráskód szerint a felső 4 bit nem használt.

Megfelelő időzítéssel elvileg lehetne soronként változó paletta is, a sorok közötti 72 ciklus elég 4 I/O port írására.
« Last Edit: 2016.December.11. 21:25:42 by IstvanV »

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: PC -> EP képkonverzió
« Reply #578 on: 2016.December.11. 21:37:06 »
EP-n a fényes színek használhatják az első 8 paletta színt, a BIAS pedig 0.
És a sorrend egybeesik, nincs olyan kavarás, mint a Spectrum színekkel?

Quote
A leírás és a forráskód szerint a felső 4 bit nem használt.
Hacsak azóta nem használták fel :-) Rákérdezek biztos ami biztos.

Quote
Megfelelő időzítéssel elvileg lehetne soronként változó paletta is, a sorok közötti 72 ciklus elég 4 I/O port írására.
Na ez azt hiszem nagy durranás lenne TVC-n!

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: PC -> EP képkonverzió
« Reply #579 on: 2016.December.11. 23:46:40 »
És a sorrend egybeesik, nincs olyan kavarás, mint a Spectrum színekkel?

A színek sorrendje a Spectrumhoz hasonló TVC-n is (IGRB), de nincs a színek között megosztott fényesség bit.

Soronként változó 4 színű paletta (csak véletlenszerű adattal, de így is látható hogy működik, legalábbis az emulátoron):
[ Guests cannot view attachments ]

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: PC -> EP képkonverzió
« Reply #580 on: 2016.December.12. 02:17:08 »
Lassan mar kene egy altalanos koverter, ami aztan tud EP-re (kulonbozo modokban), TVC, C64-re tudomisenmire konvertalni :) mert ugye az elso lepes, a kep analizalasa, dither cuccok, kvantalas miegymas az vegulis hasonlo, csak a "profil" mas, hogy mire kell aztan az eredmenyt kihozni :-D

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: PC -> EP képkonverzió
« Reply #581 on: 2016.December.12. 09:11:41 »
Lassan mar kene egy altalanos koverter, ami aztan tud EP-re (kulonbozo modokban), TVC, C64-re tudomisenmire konvertalni :) mert ugye az elso lepes, a kep analizalasa, dither cuccok, kvantalas miegymas az vegulis hasonlo, csak a "profil" mas, hogy mire kell aztan az eredmenyt kihozni :-D

és karakteres módokra is, különösen gracha módra :)
Vigyázat! Szektás vagyok! :)

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: PC -> EP képkonverzió
« Reply #582 on: 2016.December.12. 15:53:03 »
amúgy van a c64-nek a petscii grafikái, ami olyan mint az ascii grafika csak színes. attr módban ki lehetne ezeket rajzolni ep-n
vannak szépek:

https://www.google.hu/search?q=petscii&client=opera&hs=tNU&source=lnms&tbm=isch&sa=X&ved=0ahUKEwifi73p8-7QAhULCCwKHcWpA6MQ_AUICCgB&biw=1297&bih=866
Vigyázat! Szektás vagyok! :)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: PC -> EP képkonverzió
« Reply #583 on: 2016.December.12. 19:16:07 »
formátum leírása és a forráskód között vannak kisebb különbségek, az utóbbiban nem látom az interlace módot (az egyébként a színek számát növelné villogtatással, és nem a felbontást?)
Az interlaced formátum kísérleti stádiumban maradt. Alapvetően 4-színű grafikus mód lenne, páratlan és páros sorokra különböző palettával. A képek Floyd-Steinberg dithering algoritmussal készülnek / készültek volna. A pcxkonv.exe beállítások párbeszéd-ablakában kell beikszelni az interlaced-módot. Ilyenkor látszólag 8-színű palettával dolgozna az algoritmus. Mivel mindkét palettában a 0. fekete és 3. fehér színt fixre vettem (ezek mindenképp kellenek az algoritmusnak az intenzitás kiegyenlítéséhez), lényegében csak 2x2 szín változtatható. Ez a 4 szín kerül a KEP fájl palettainformációs bájtjaiba. Ilyen beállítással a 4-színű konverzió során interlacelt kép jön létre.
Mivel a trükk nem hozta a várt minőségi javulást ezért a TVC-s megjelenítő részt már el se készítettem, vagy a videólejátszó fejlesztése miatt nem foglalkoztam vele. De alapvetően két féle módon lehetne TVC-n megjeleníteni: SW-es úton soronként átkapcsolni a paletta megfelelő bájtjait (ez eléggé lefoglalná a processzort, gyakorlatilag nem is tudna közben más kódot futtatni, mert szinkronban kell maradnia mindenképp a képmegjelenítéssel).
 
A másik lehetőség a HW-es interlace, ahogy írtad, minden második TV kép előtt átkapcsolni a palettát. A 6845-ös HW-esen ismeri az interlace módot, tehát ha bármikor pl. egy POKE utasítással átállítod a megfelelő regiszter adott bitjét akkor két fél képet fogsz látni a képernyőn egymás alatt. Ilyenkor a CRTC csak minden második sort rajzolja ki és a kép felénél eléri a videómemória végét és újra az elejénél kezdi, ezért lesz a két félkép. Persze programban a TV kép méretét 128 sorosra kell venni és nem lesz ez a zavaró mellékhatás. Ez be is határolja a hagyományos TVC-n az elérhető interlacelt kép méretét: 256 soros lesz, de az a 256 sor olyan magas mint alapesetben a 128 sor lenne.:)
Ha 64k+ os géppel dolgoznánk, akkor persze lehetne a teljes kép 512 soros, és a paletta átkapcsolása mellett a megjelenített videólapot is át kellene kapcsolni. Érdekes lenne kipróbálni...
Egy gyíksága van még a TVC-s a HW-es interlace-nek: a kép szinkronjelek nem tartalmazzák a kiegyenlítő jeleket. Így elméletileg a TV nem tudja, hogy melyik kép a páros és melyik a páratlan félkép. Tehát rossz esetben felcserélődhetnek az egymás alatti sorok. De igazából még ezt sem teszteltem, lévén nem kielégítő a minőségi javulás interlacelt képeken...




Quote
, a tömörítésnél pedig a fenntartott bit a formázott módot állítja, azaz hogy a fejléc tartalmazza-e a kép méretét.
A nem formázott képek kategória alapvetően a korabeli TVC-s programok betöltő képei. Pl. az Áttörés űrhajós képe vagy a Póklakoma virágkehelyből késsel/ villával/ kanállal falatozó méhecskét ábrázoló képe.:) Ezek eredetileg semmilyen fejlécet sem tartalmaznak, csak a 15-16kB-nyi képernyőbájtot. Szövegszerkesztővel anno eléjük írtam 8 bájtot (KEP + grafikus mód + paletta), és így lett némi fejlécük. Mivel az újabb KEP fájlokat csak a pcxkonv.exe -vel lehet létrehozni, azok mindig teljes formázott fejlécet tartalmaznak. A formázatlan képek a "legacy" kategória, nem fognak újabbak készülni, és nem is terveztem a támogatásukat, ezért nem is kerültek bele a hivatalos dokumentációba. Ettől függetlenül talán a keplib.asm és a pcxkonv.exe is lekezeli őket.


Quote
Viszont ha lehetséges a képnéző program bővítése
Lehet, csak adjunk neki valami új nevet, PLUS vagy V2 vagy valami, hogy ne legyen keveredés :-) Az a felső 4 bit felhasználható.
[/color]

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: PC -> EP képkonverzió
« Reply #584 on: 2016.December.12. 20:44:51 »
epimgconv paraméterek:
Code: [Select]
-mode:
   7: TVC, 2 szín
   8: TVC, 4 szín
   9: TVC, 16 szín
  17: TVC, 2 szín, interlace
  18: TVC, 4 szín, interlace
  19: TVC, 16 szín, interlace

-outfmt:
  50: TVC, tömörítetlen
  51, 56: TVC, epcompress -m2 (51: gyors, 56: max. tömörítés)
  52, 57: TVC, epcompress -m0
  53, 58: TVC, epcompress -m3
  54, 59: TVC, epcompress -mz
  55: TVC, RLE (eredeti formátum)

Formátum byte:
Code: [Select]
; Formazasi es tomoritesi kodok (3..2 bit a tipusbajtban)

KEPTYPE_NFORM   .equ    000h            ; nem formazott kep tipuskodja
KEPTYPE_FORM    .equ    008h            ; formazott kep tipuskodja
KEPTYPE_RLE     .equ    004h            ; RLE tomoritett formazott kep
KEPTYPE_FMASK   .equ    0FCh            ; maszk a formatumkodhoz

KEPTYPE_V2_MASK .equ    0F0h

KEPTYPE_V2              .equ    080h
KEPTYPE_INTERLACE       .equ    040h
KEPTYPE_PALRES_1        .equ    020h
KEPTYPE_EPCOMPRESS      .equ    010h
KEPTYPE_EPCOMPRESS_M2   .equ    010h
KEPTYPE_EPCOMPRESS_M0   .equ    014h
KEPTYPE_EPCOMPRESS_M3   .equ    018h
KEPTYPE_EPCOMPRESS_MZ   .equ    01Ch

De ez még változhat, a külön bit használata a "V2" jelzésére (így a bővített formátumnál mindig negatív a byte) pazarlás lehet, és a sok tömörített formátum sem igazán hasznos, csak egyszerű megoldani a mentésüket a konvertáló programban. :) Az sem egyértelmű még, hogy a soronként változó palettájú és az interlace képeket pontosan hogyan érdemes tárolni.