Welcome, Guest. Please login or register.


Author Topic: Plus4emu (Read 17815 times)

Offline balagesz

  • EP user
  • *
  • Posts: 265
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re: Plus4emu
« Reply #45 on: 2017.June.06. 22:50:42 »
A lua-s sorszámlálót köszönöm, még nem próbáltam, de szerintem ki fogja elégíteni az igényem! :)

Az hasznos funkció lenne, ha .d64 kiterjesztésű nem létező file megadása esetén automatikusan létrehozna egy üres lemezt?

Eddig én ezt úgy csináltam, hogy - nem röhögni! - fogtam egy használatban levő .d64 fájt, lemásoltam más néven, majd a másolatot megformáztam az emulátorral! :cool: Ehhez képest minden segítség hasznosabb, de úgy érzem, ez erősen rétegigény. Az ötlet amúgy jó, de mehetne akkor a .d81 is ugyanígy. ;) Az ID random gondolom egyszerű, a lemeznévnek meg jó a "NEW DISK". ("DAEMON-FORMAT"? :ds_icon_cheesygrin: )

Erre a célra is használható újdonság a Git forrásban a megjegyzések támogatása, ; vagy # karakter után a sor további részét figyelmen kívül hagyja.

Ez a megoldás így a "non-plusz-ultra", jobb is mint az én verzióm. Köszönet!

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re: Plus4emu
« Reply #46 on: 2017.June.07. 14:35:14 »
Az ID random gondolom egyszerű, a lemeznévnek meg jó a "NEW DISK". ("DAEMON-FORMAT"? :ds_icon_cheesygrin: )

Úgy oldottam meg, hogy a lemez nevét és az azonosítót is a file neve alapján generálja.

Még egy lehetséges ötlet a .zip formátumú (például P4W-ről letöltött) file-ok megnyitása, ilyenkor az emulátor automatikusan kicsomagolná az első megfelelő kiterjesztésű file-t egy átmeneti file létrehozásával, amely kilépéskor törlődik. Nem tudom, ez hasznos-e, bár régebben említette valaki.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re: Plus4emu
« Reply #47 on: 2017.June.08. 11:49:10 »
Az üres D64/D81 lemez készítése már működik, és többé-kevésbé a .zip file támogatás is (csomagolt .d64, .d81 és .tap nyitható meg ilyen módon, de csak az első file az archívumban, és nem írható).

Még egy korábbi ötlet a monitor emuláció fejlesztése (több effektus, stb.), ezzel kapcsolatban talán hasznos lenne a külső file-ból betölthető shader, jelenleg például ezeket használja (a forráskódba építve) az emulátor:
* pal.glsl (1.24 kB - downloaded 72 times.)
* ntsc.glsl (0.97 kB - downloaded 76 times.)
A felhasználó által módosíthatóvá téve tetszőleges effektusok valósíthatók meg, vagy javítható a meglevő (régi GPU-hoz készült) szűrők minősége. Bár előfordulhat, hogy rajtam kívül nem érdekelne senkit ez a lehetőség, ezért nem biztos hogy érdemes beépíteni.

Szerk.: frissítettem a Git forrást, ennek a hibának a javításával is próbálkoztam, de még nem biztos, hogy nem sikerült mást elrontani. :oops:
« Last Edit: 2017.June.08. 20:13:43 by IstvanV »

Offline balagesz

  • EP user
  • *
  • Posts: 265
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re: Plus4emu
« Reply #48 on: 2017.June.09. 22:32:35 »
Az üres D64/D81 lemez készítése már működik, és többé-kevésbé a .zip file támogatás is (csomagolt .d64, .d81 és .tap nyitható meg ilyen módon, de csak az első file az archívumban, és nem írható).

Remek, köszi! :)

A felhasználó által módosíthatóvá téve tetszőleges effektusok valósíthatók meg, vagy javítható a meglevő (régi GPU-hoz készült) szűrők minősége. Bár előfordulhat, hogy rajtam kívül nem érdekelne senkit ez a lehetőség, ezért nem biztos hogy érdemes beépíteni.

Az ilyen feature mindig jó, nem gondolnám hogy csak téged érdekel... ;) Én mondjuk kifejezetten élvezem, hogy végre négyzet az a pixel, nem egy elmosódott paca, de ha nem szöveget néz direkt az ember, azért az eredeti CRT-k "pöttyei" tényleg inkább hozzáadnak, mint elvesznek az élményből.

Szerk.: frissítettem a Git forrást, ennek a hibának a javításával is próbálkoztam, de még nem biztos, hogy nem sikerült mást elrontani. :oops:

Ezzel amúgy lehet valamit kezdeni? Én - a tesztek alapján - inkább azt mondanám, hogy ezt a "ficsőrt" jobb ha a kedves programozó urak nem forszírozzák, mivel nem minden megjelenítő reagál ugyanúgy erre. Az ősrégi monitoroknál valószínűleg nincs nagyobb különbség, de a kicsit is modernebbek (még sima CRT-k) is reagálhatnak már máshogy. Persze IMHO. :-D (A jó öreg CVBS jel szépségei... Még jó, hogy ez az EP-t, meg az ep128emu-t nem érinti. :-D )

Amúgy lassan majd lehetne ebből forgatott binárist (részemről Linux/x86_64) kérni? :oops: Köszönet!

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re: Plus4emu
« Reply #49 on: 2017.June.09. 22:58:55 »
Amúgy lassan majd lehetne ebből forgatott binárist (részemről Linux/x86_64) kérni? :oops: Köszönet!

Linux bináris csomag az aktuális forráskódból:
* plus4emu_20170609-x86_64.7z (1318.06 kB - downloaded 76 times.)

Offline balagesz

  • EP user
  • *
  • Posts: 265
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re: Plus4emu
« Reply #50 on: 2017.June.10. 00:36:53 »
Köszi! Most csak CentOS7-en volt időm kipróbálni, de itt hiányolja a "libmvec.so.1"-et. (2.17-es a glibc.) Az eddigi verzióknak nem kellett. :\ Holnap ránézek az aktuális Fedora alatt is.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re: Plus4emu
« Reply #51 on: 2017.June.10. 10:47:42 »
Ezzel amúgy lehet valamit kezdeni? Én - a tesztek alapján - inkább azt mondanám, hogy ezt a "ficsőrt" jobb ha a kedves programozó urak nem forszírozzák, mivel nem minden megjelenítő reagál ugyanúgy erre.

A hiba valójában nem ezzel a - már régebbi verziókban is emulált - effektussal kapcsolatos, hanem a "bad line" engedélyezését/tiltását megvalósító logika tűnik bugosnak. Ezzel az egyszerű programmal tesztelhető a probléma:

* tedtest1.prg (0.03 kB - downloaded 75 times.)
G 2000
M 2100 2157
M 2200 2257

Szerk.: még egy teszt:
* tedtest2.prg (0.03 kB - downloaded 74 times.)

De a fenti bináris verzió sem jó, már módosítottam a forráskódot.

Quote
(A jó öreg CVBS jel szépségei... Még jó, hogy ez az EP-t, meg az ep128emu-t nem érinti. :-D )

EP-re is van kompozit és S-video kimenet, az emulátor "quality=4" módja valójában az utóbbi alapján készült. Tehát itt is van külön szűrő a világosság- és színjelhez, illetve emulált a soronként váltakozó fázishiba. A NICK működése miatt azonban nem lehet "inverz" színeket előállítani.
« Last Edit: 2017.June.10. 10:59:00 by IstvanV »

Offline balagesz

  • EP user
  • *
  • Posts: 265
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re: Plus4emu
« Reply #52 on: 2017.June.11. 18:36:45 »
Fedora alatt a bináris elindul, bár tesztelni egyelőre nem volt időm. De ahogy olvasom, rá is ér még... :) (Ez a lib-hiány mitől lehet? A régebbi verziók régebbi környezetben fordultak, vagy ott statikusan van ez linkelve? Csak azér' érdeklődök, hogy ha lesz belőle rendes rilíz, akkor mire számítsak. :oops: )

A hiba valójában nem ezzel a - már régebbi verziókban is emulált - effektussal kapcsolatos, hanem a "bad line" engedélyezését/tiltását megvalósító logika tűnik bugosnak.

Fura, mert az sok helyen okozna gondot, nem? A tesztet megnézem mindjárt.

EP-re is van kompozit és S-video kimenet, az emulátor "quality=4" módja valójában az utóbbi alapján készült.

Nyilvánvalóan van, mivel az RF jel is ebből áll elő, csak nem fejtettem ki bővebben. A kompozit videó enkóder csip ezt a fázist talán pont a NICK H/2 kimenetéről veszi, de "furcsa is lenne", ha ennek bármi összefüggése is lenne az éppen aktuálisan a képernyőre pakolt sor számával. Mivel - ha jól sejtem - a NICK-en belül direkt rasztersorszámláló, mint olyan, (ami azt számolja, hogy a képszinkron óta hányadik rasztersor rakódik ki éppen,) nincs is. :mrgreen:

Szerk: Kipróbáltam a két tesztprogramot. Az első lefut, a megnézendő memóriákra a vízszintes / függőleges pozícióregiszter van kimásolva. Mivel a teszt nem órajelre pontosan indítja a kiolvasást, így több végeredmény is lehet:

#1
#2
#3

Ez a 3 kép 3 különböző gépen is készült! :) A második tesztprogramot is elindítottam mindhárom gépen. Tulajdonképpen ezért a tesztért próbáltam ki több gépen, mivel mindháromnál elborult a tesztprogram! Ráadásul olyan memóriacímeken, ahova a CPU-nak oda se szabadna keveredni... :\ De az is változik. Szép kis bugot sikerült triggerelni a hardverben! :) (Vagy mi. :oops: )
« Last Edit: 2017.June.11. 19:13:49 by balagesz »

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re: Plus4emu
« Reply #53 on: 2017.June.11. 20:42:28 »
Fedora alatt a bináris elindul, bár tesztelni egyelőre nem volt időm. De ahogy olvasom, rá is ér még... :) (Ez a lib-hiány mitől lehet? A régebbi verziók régebbi környezetben fordultak, vagy ott statikusan van ez linkelve? Csak azér' érdeklődök, hogy ha lesz belőle rendes rilíz, akkor mire számítsak. :oops: )

Újabb a disztribúció. A glibc, libstdc++ és egyéb "rendszer" libek nem statikusak, csak az FLTK, PortAudio, libsndfile, SDL, Lua és cURL.

Quote
Fura, mert az sok helyen okozna gondot, nem?

Ez csak az alsó kereten, a képernyő "szabálytalan" lezárásakor (azaz ha a $CB és $CC sorok nem futnak le rendesen) előforduló időzítési probléma.

Quote
Szerk: Kipróbáltam a két tesztprogramot. Az első lefut, a megnézendő memóriákra a vízszintes / függőleges pozícióregiszter van kimásolva. Mivel a teszt nem órajelre pontosan indítja a kiolvasást, így több végeredmény is lehet:

Köszönöm a teszteredményeket, az valójában előny, hogy több különböző időzítéssel is futott a program. A Git verzió majdnem jó, de a $CC sorban van egy ciklus eltérés:
18055-0

18057-1

18059-2

Quote
A második tesztprogramot is elindítottam mindhárom gépen. Tulajdonképpen ezért a tesztért próbáltam ki több gépen, mivel mindháromnál elborult a tesztprogram! Ráadásul olyan memóriacímeken, ahova a CPU-nak oda se szabadna keveredni... :\ De az is változik. Szép kis bugot sikerült triggerelni a hardverben! :) (Vagy mi. :oops: )

Ez viszont meglepő, a program látszólag nem tartalmaz "veszélyes" műveletet:
18061-3
Szerk.: az történhet, hogy a CPU és a TED egyszerre próbál hozzáférni a memóriához.
« Last Edit: 2017.June.11. 20:54:08 by IstvanV »

Offline balagesz

  • EP user
  • *
  • Posts: 265
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re: Plus4emu
« Reply #54 on: 2017.June.11. 22:03:12 »
Újabb a disztribúció. A glibc, libstdc++ és egyéb "rendszer" libek nem statikusak, csak az FLTK, PortAudio, libsndfile, SDL, Lua és cURL.

Ehm... Akkor az előre fordított binárist itt, CentOS alatt nem fogom tudni használni. :-| Mindegy, Fedora alatt megy! :)

Ez viszont meglepő, a program látszólag nem tartalmaz "veszélyes" műveletet:
(Attachment Link)
Szerk.: az történhet, hogy a CPU és a TED egyszerre próbál hozzáférni a memóriához.

Hát ez az, én se láttam benne semmi veszélyeset. Én is ilyenre tippelek; a TED "elveszi" a CPU buszát akkor, amikor az feccselné a következő utasítást? A memóriatartalom (így első ránézésre) nem sérült, legalábbis a futó kód jó maradt. Ezért is pislogtam a fura BREAK címek miatt, (nem is mindig úgy / ugyanott száll el, ) illetve néztem meg 3 gépen. Láttam már furákat, de ilyennel eddig még nem futottam össze...

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re: Plus4emu
« Reply #55 on: 2017.June.11. 23:24:26 »
A második teszt képen is gyanús, hogy a $2200 címre 0 került $CC helyett, tehát már itt is valamilyen szabálytalan busz hozzáférés történhetett. Ezért is lehet egy ciklus eltérés az emulátorhoz képest, például mert a CPU kétszeres sebességű módban marad amikor nem kellene.

Hát ez az, én se láttam benne semmi veszélyeset.

Az $FF1D-re $CB írás okozhatja, amit a flickrxo.prg is használ, $CA-val lehet megbízhatóan az alsó keret elé ugrani.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re: Plus4emu
« Reply #56 on: 2017.June.13. 15:39:59 »
18066-0

18067-1

Offline ergoGnomik

  • EP lover
  • *
  • Posts: 840
  • Country: hu
  • Stray cat from Commodore alley
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 53.0 Firefox 53.0
    • View Profile
Re: Plus4emu
« Reply #57 on: 2017.June.13. 20:50:43 »
:ds_icon_cheesygrin: :smt023 :smt041

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re: Plus4emu
« Reply #58 on: 2017.June.13. 22:36:59 »
Már a Git verzió is lehetővé teszi ezeket az effektusokat, bár jelenleg nincs GUI a shader file választásához, csak a display.shaderSourcePAL és display.shaderSourceNTSC paraméterekkel állítható. Az eredeti (emulátorba épített) PAL shader és a módosított változatok:
* pal.glsl (1.24 kB - downloaded 71 times.)
* pal_dist.glsl (1.64 kB - downloaded 74 times.)
* pal_dc.glsl (1.46 kB - downloaded 74 times.)

Offline geco

  • EP addict
  • *
  • Posts: 5430
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re: Plus4emu
« Reply #59 on: 2017.June.14. 08:33:25 »
Fasza ez a tv effekt :smt023