Welcome, Guest. Please login or register.


Author Topic: EP128emu (Read 404125 times)

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: EP128emu
« Reply #615 on: 2016.September.05. 10:33:00 »
szerintem te nem érted ezt a filtert...

Akkor magyarazd el kerlek :) En a forraskodot is megneztem stb. Ez persze nem jelenti azt, hogy meg is ertettem, es helyesen, az is igaz :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: EP128emu
« Reply #616 on: 2016.September.05. 19:10:48 »
Van ott egy exe, meg egy beta exe...
De egy szép install verzió kéne, hogy megszűnjön az a sok éves helyzet, hogy töltsd le a 2.0.9-et, aztán töltsd le friss exe-t, és írd felül a telepített verzióban...

A GitHub emulátor verziók az itt leírt módon fordítva:
[ Guests cannot view attachments ]
[ Guests cannot view attachments ]
Ez azonban meglehetősen elavult MinGW csomaggal készült. :oops:
Szerk.: egy hibát már találtam: a hang újra engedélyezése (pl. Alt+W után) az emulátor elszállását eredményezi. :( Talán a régi PortAudio DLL file használatával ez nem fordul elő?

Ep128emu-ban lehet - passzolom - mivel OpenGL ha hasznalva van ...

Ilyen filtert ugyan az emulátor nem tartalmaz, van azonban TV emuláció, bár a shaderen lehetne javítani, mivel régi GPU-khoz készült.
« Last Edit: 2016.September.05. 19:54:14 by IstvanV »

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: EP128emu
« Reply #617 on: 2016.September.05. 19:24:29 »
Akkor magyarazd el kerlek :) En a forraskodot is megneztem stb. Ez persze nem jelenti azt, hogy meg is ertettem, es helyesen, az is igaz :)

Mondjuk amit az RGB komponensekrol irtam az tenyleg baromsag, azt nem tudom hogy sikerult oda kevernem, bocs. De a tobbi igaz, az algoritmus alapvetoen egy matrix szeru valamit csinal, ahol minden 1x1 (azaz 1) pixelbol csinal 2x2-ot (azaz 4-et) a kornyezo pixelek figyelembevetelevel, ha jol ertem. A gond ott van, hogy EP-n lehetseges, hogy nem egyseges a pixelsurruseg, ugymond, pl a kepernyo fele ilyen felbontasu, a masik olyan. Oke, mondhatod, hogy ez nem gond, mivel azert persze egesz szamu tobbszoros, es az emu altal "lerenderelve" oda jutna, hogy vegulis lehet, egy 4 colour pixel dupla szeles (tehat 'valojaban' 2 pixelnek fele meg), stb. A gond az, hogy hacsak nem akarod az egesz max felbontasra a scale2x-et (amikor viszont az eredmeny kisse nagy lenne, az en monitoromra ra sem ferne pl ... ezert mondtam hogy utana meg az egeszet downscale-elni kene pl linearis interpolacioval vagy barmi massal), akkor tegyuk ra csak oda, ahol a kepernyo adott reszen az LPB szerint az adott scanline-okra alacsonyabb a felbontas. Itt viszont elojon az a gond, amirol irnak, hogy a kep szelet maskepp kell kezelni. Es ugye az algoritmus szempontjabol, ha csak egy "csirka" alkalmazod (ahol pl az LPB szerint alacsonyabb a felbontas) akkor annak "felso" es "also" hataran az neki a "kep szele" lene voltakeppen, ezert itt erdekes effekt lephetne fel _VAGY_ ott a kornyezo pixelnel figyelmbe kene venni a max (hires) felbontasut atmappelve kozeletiessel valahogy. Lehet, nem epp erthetoen tudom kifejezni magam ... Szoval, amikor azt irtad, hogy hires-re nem kell alkalmazni, minden masra viszont miert ne, erre celoztam, hogy EP-n nincs globalis videomod, mi van, ha a kepernyo egy resze van mas felbontasban?

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9960
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: EP128emu
« Reply #618 on: 2016.September.06. 00:03:11 »
A gond ott van, hogy EP-n lehetseges, hogy nem egyseges a pixelsurruseg, ugymond, pl a kepernyo fele ilyen felbontasu, a masik olyan.
A téma "szakértőjeként" :D hozzászólok. Ha arra gondolsz, hogy több, eltérő felbontású videolap is van a képernyőn: azok általában nem érintkeznek egymással. Nem tudom, a játékok, demo programok stb. mit használnak, használnak-e ilyen képernyőket. Kivéve az Iview képeket, de ott is a paletta változhat soronként, ott sincs olyan tudtommal, hogy a kép egy része attribútum módú, másik része 4 szín módú, harmadik része 2 szín módú.
Nem tudom, ez a probléma konkrétan milyen programoknál jelentkezne.

UI.: Miért jó, hogy van külön EP128emu és külön EP128emu 2.0.9 topik?
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: EP128emu
« Reply #619 on: 2016.September.06. 00:33:32 »
A téma "szakértőjeként" :D hozzászólok. Ha arra gondolsz, hogy több, eltérő felbontású videolap is van a képernyőn: azok általában nem érintkeznek egymással. Nem tudom, a játékok, demo programok stb. mit használnak, használnak-e ilyen képernyőket. Kivéve az Iview képeket, de ott is a paletta változhat soronként, ott sincs olyan tudtommal, hogy a kép egy része attribútum módú, másik része 4 szín módú, harmadik része 2 szín módú.
Nem tudom, ez a probléma konkrétan milyen programoknál jelentkezne.

Na igen, de erre mondtam, hogy az altalanos algoritmus EP-n kicsit bonyibb vagy egysegesen a "renderelt emu screen-re" kene alkalmazni es nem tulbonyolitani.

Amugy van annak azert letjogosultsaga amit Endi emleget itt, csak altalanos emulnal - en szemely szerint - kicsit furcsalom (ott meg csak-csak ahol amugy az emulalt gep felbontasa tenyleg "picike" mar eleve). Viszont lehetne belole jo jatekkonverziokat csinalni nativ platformra jobb grafikaval :-P

Quote
UI.: Miért jó, hogy van külön EP128emu és külön EP128emu 2.0.9 topik?

Passz :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: EP128emu
« Reply #620 on: 2016.September.06. 10:25:15 »
Szerk.: egy hibát már találtam: a hang újra engedélyezése (pl. Alt+W után) az emulátor elszállását eredményezi. :( Talán a régi PortAudio DLL file használatával ez nem fordul elő?

Wine alatt viszont nincs ilyen hiba, legalábbis az alapértelmezett MME kimenetet használva (a WASAPI elszáll, de ez lehet Wine bug is). Talán azért, mert a Wine nem támogat minden audio API-t (pl. nincs WDM-KS), és a PortAudio hiba a hiányzók közül érinti valamelyiket. A legjobb lenne új PortAudio DLL-t fordítani az aktuális forrásból, illetve ideális esetben a teljes MinGW csomagot frissíteni. :oops:

További probléma Windows 7 alatti tesztelésnél, hogy az installert csak adminisztrátorként lehet futtatni, azonban utána normál felhasználóként nincsenek ikonok a start menüben, és az emulátor indításakor a hiányzó konfiguráció miatt a (hibásan konzol módúra fordított :oops:) makecfg jelenik meg, ahol az adat file-ok helyét a "Program Files (x86)" alatt manuálisan kell megadni.

Szerk.: az itt található PortAudio csomagból (portaudio-r1891-build.zip) a portaudio-r1891-build/lib/Win32/ReleaseMinDependency/portaudio_x86.dll file működik, átnevezve portaudio.dll.0.0.19-re. Egyelőre csak Wine alatt teszteltem, de ott javítja a WASAPI hibát.
« Last Edit: 2016.September.06. 11:04:19 by IstvanV »

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: EP128emu
« Reply #621 on: 2016.September.06. 12:48:42 »
Néhány további lehetséges ötlet a fejlesztésre:

* a dotconf beépítése az emulátor forráskódjába, mivel több éve nem változott, talán nem valószínű, hogy új verziók miatt elavulna, és kevesebb lenne a függőség

* a különböző segédprogramok hozzáadása a csomaghoz, hasonlóan a plus4emu-hoz, például (nem tudom, ezek közül melyik lenne hasznos):
- epimgconv
- epcompress
- dtf
- epsndconv
- epvideoconv
- cpccolor

* Win64 verzió fordítása

* Lua 5.3 használata: nem biztos, hogy teljesen kompatibilis az eddigi 5.1-el, viszont hasznos újdonságokat is tartalmaz, például a bináris műveleteket (AND, OR, XOR, stb.) a nyelv részeként tartalmazza, azaz például az AND(a, b) helyett a & b lenne használható, ami nem csak elegánsabb, de gyorsabb is. Azonban a LuaJIT csak az 5.1-et támogatja
« Last Edit: 2016.September.06. 13:09:51 by IstvanV »

Online Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14743
  • Country: hu
    • http://enterprise.iko.hu/
Re: EP128emu
« Reply #622 on: 2016.September.06. 13:15:14 »
LUA-nál be lehetne tenni olyan memória írás parancsot ami a ROM-ba is tud írni? Ezzel egyszerűen megoldódna a Spectrum ROM lapozási kérdésem :-)

Offline ergoGnomik

  • EP addict
  • *
  • Posts: 1299
  • Country: hu
  • Stray cat from Commodore alley
Re: EP128emu
« Reply #623 on: 2016.September.06. 13:19:01 »
Na igen, de erre mondtam, hogy az altalanos algoritmus EP-n kicsit bonyibb vagy egysegesen a "renderelt emu screen-re" kene alkalmazni es nem tulbonyolitani.

Amugy van annak azert letjogosultsaga amit Endi emleget itt, csak altalanos emulnal - en szemely szerint - kicsit furcsalom (ott meg csak-csak ahol amugy az emulalt gep felbontasa tenyleg "picike" mar eleve). Viszont lehetne belole jo jatekkonverziokat csinalni nativ platformra jobb grafikaval :-P
Szerintem opcióként be lehetne építeni, legfeljebb ritkán vagy sose lesz használva. Viszont abból a szempontból, hogy "na, ilyet is csináltam már" lehetne érdemes foglalkozni vele annak akit érdekel. Természetesen csak egyszerű módon, a maximális EP felbontású emulátor képernyő pufferen kellene futtatni, akkora erőfeszítést valószínűleg nem ér meg, hogy felbontástól függően adaptívra legyen továbbfejlesztve.

Na, meg lassan kopogtat a "4k forradalom" ;) is, manapság már kezdenek az emészthető ársáv közelébe ereszkedni a QHD monitorok, és ha valakinek 4k, 5k, vagy neadj' isten 8k képernyőre is futja, az futtathassa már simított skálázással az EP emulátorokat. :D

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: EP128emu
« Reply #624 on: 2016.September.06. 13:27:06 »
Szerintem opcióként be lehetne építeni, legfeljebb ritkán vagy sose lesz használva. Viszont abból a szempontból, hogy "na, ilyet is csináltam már" lehetne érdemes foglalkozni vele annak akit érdekel. Természetesen csak egyszerű módon, a maximális EP felbontású emulátor képernyő pufferen kellene futtatni, akkora erőfeszítést valószínűleg nem ér meg, hogy felbontástól függően adaptívra legyen továbbfejlesztve.

Na, meg lassan kopogtat a "4k forradalom" ;) is, manapság már kezdenek az emészthető ársáv közelébe ereszkedni a QHD monitorok, és ha valakinek 4k, 5k, vagy neadj' isten 8k képernyőre is futja, az futtathassa már simított skálázással az EP emulátorokat. :D

:) :) Jo, mondjuk ebben az esetben mar tenyleg lehet benne racio :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: EP128emu
« Reply #625 on: 2016.September.06. 16:35:14 »
LUA-nál be lehetne tenni olyan memória írás parancsot ami a ROM-ba is tud írni? Ezzel egyszerűen megoldódna a Spectrum ROM lapozási kérdésem :-)

Elvileg megoldható, bár egyszerűbb lenne egy loadROMSegment() függvényt (ROM file betöltése a megadott szegmensre) megvalósítani, ezt ugyanis az emulátor már tartalmazza, csak nincs Lua változata. Az is könnyen megoldható lenne, hogy a writeMemoryRaw() írni tudjon ROM szegmensekbe is, de ez elronthatna scripteket amelyek feltételezik, hogy a ROM nem írható.

Online Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14743
  • Country: hu
    • http://enterprise.iko.hu/
Re: EP128emu
« Reply #626 on: 2016.September.06. 16:42:15 »
Elvileg megoldható, bár egyszerűbb lenne egy loadROMSegment() függvényt (ROM file betöltése a megadott szegmensre) megvalósítani, ezt ugyanis az emulátor már tartalmazza, csak nincs Lua változata.
Ez jó lenne, ebben az esetben nem is kéne LUA tömbökkel bajlódni.

Quote
Az is könnyen megoldható lenne, hogy a writeMemoryRaw() írni tudjon ROM szegmensekbe is, de ez elronthatna scripteket amelyek feltételezik, hogy a ROM nem írható.
Valami más néven berakni a módosított verziót? Ezzel különböző illesztőket lehetne emulálni (pl SpeccyDOS), amik memórián keresztül végzik az I/O-t.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9960
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: EP128emu
« Reply #627 on: 2016.September.06. 17:42:00 »
* a különböző segédprogramok hozzáadása a csomaghoz
Ez jó ötlet. Így könnyebb lenne megtalálni mindet. Nekem összevissza kallódnak pl. az epimgconv, ide is letöltöttem, oda is, és sose találom. Jó lenne mind egy helyen, nagy helyet úgyse foglalnak.
A cpccolor micsoda? Lehet, arról lemaradtam.

:) :) Jo, mondjuk ebben az esetben mar tenyleg lehet benne racio :)
Lehet, nem lenne rossz, de érdemesebb a fontosabb fejlesztésekre koncentrálni szerintem. Bár kinek mi fontos. :D (Mármint a pixelesség simítós kütyüre gondoltam.)
« Last Edit: 2016.September.06. 17:46:23 by szipucsu »
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: EP128emu
« Reply #628 on: 2016.September.06. 18:25:25 »
Lehet, nem lenne rossz, de érdemesebb a fontosabb fejlesztésekre koncentrálni szerintem. Bár kinek mi fontos. :D (Mármint a pixelesség simítós kütyüre gondoltam.)

Ja, az talan meg JSep-nel volt, hogy browser alapbol vmi simitast csinalt a canvas-oknal. Aztan Zozo mondta - ha nem o volt bocs - hogy neki inkabb legyen pixeles es latszodjon h mi hogy merre. Mas meg ugye inkabb azt szeretne, hogy menjenek a pixelek a fenebe :) Szoval nehez igazsagot tenni ...

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: EP128emu
« Reply #629 on: 2016.September.06. 19:07:01 »
Ez jó lenne, ebben az esetben nem is kéne LUA tömbökkel bajlódni.
Valami más néven berakni a módosított verziót? Ezzel különböző illesztőket lehetne emulálni (pl SpeccyDOS), amik memórián keresztül végzik az I/O-t.

Mindkét megoldás már megtalálható a GitHub verzióban:
- writeROM(), writeWordROM() - ezek hasonlóak a "Raw" függvényekhez (22 bites cím), de bármilyen típusú memóriába tudnak írni ha a szegmens érvényes; a nevek talán lehetnének jobbak is
- loadROMSegment(segment, fname, offset) - ROM file betöltése a megadott szegmensre, ha a név üres, akkor törli a szegmenst

A Shift+F11 hasznos lehet az eredeti konfiguráció újratöltésére az emulált rendszer esetleges elrontása után. :)