Next Generation Emulation banner

1 - 13 of 13 Posts

·
Registered
Joined
·
65 Posts
Discussion Starter #1
Why this guys from psx team didnt made editable setting when you play using automatization?

i dont know maybe they have some problem, but it could be realized like this:
When you call edit setting, emulator makes savestate and unload game from memory and you can edit seeting

'run' command means loading this state

Why its still not realized, there is 2020! Even Nestopia has better GUI and usability, what about playstation?
 

·
Not a Registered User
Joined
·
1,304 Posts
Why this guys from psx team didnt made editable setting when you play using automatization?

i dont know maybe they have some problem, but it could be realized like this:
When you call edit setting, emulator makes savestate and unload game from memory and you can edit seeting

'run' command means loading this state

Why its still not realized, there is 2020! Even Nestopia has better GUI and usability, what about playstation?
Mostly cause ePSXe was made in like 2001 and it's a plugin based emulator so other developers could code in emulation functions.
Sadly this design is still with ePSXe to this day, as to fix it would require a complete redesign and rewrite of the emulator, which would be nice as the plug in design is pretty much dead these days but so are ePSXe devs most likely.

The only way something majorly can change with ePSXe is if it's developers realese the source code to the public to tinker around with.
 

·
Registered
Joined
·
65 Posts
Discussion Starter #3
Firstly, epsxe is not needed now, pcsxr-pgxp PCSXR-PGXP much better cause it fixes 3d

pcsxr-pgxp is opened source so i dont know why people didnt fix it

But they are same - epsxe pcsxr whatever


as to fix it would require a complete redesign and rewrite of the emulator
Its false. I dont remember epsxe on android, but think it allows. And pcsxr-pgxp has 'shutdown' command, which closes game without closing emulator, so changing settings is active now

I say about trick, not rewriting. At least its possible to keept settings active, but

its like
if you press 'graphics' menu, then emulator
1.save state
2. shutdown game
3. open graphics
4. When you press 'run' it loads state and you can play
 

·
Not a Registered User
Joined
·
1,304 Posts
Firstly, epsxe is not needed now, pcsxr-pgxp PCSXR-PGXP much better cause it fixes 3d

pcsxr-pgxp is opened source so i dont know why people didnt fix it

But they are same - epsxe pcsxr whatever



Its false. I dont remember epsxe on android, but think it allows. And pcsxr-pgxp has 'shutdown' command, which closes game without closing emulator, so changing settings is active now

I say about trick, not rewriting. At least its possible to keept settings active, but

its like
if you press 'graphics' menu, then emulator
1.save state
2. shutdown game
3. open graphics
4. When you press 'run' it loads state and you can play
Yeah I have to disagree, pcsx-r is even more outdated than ePSXe not to mention you can only use old outdated plugins that still have plenty of issue like old Pete's opengl or sound plugins like dsound or eternal.
ePSXe is newer than pcsx-r and has newer and improved/better plugins with less issues.
PGXP is a very nice feature but as you mentioned it's more or less abonded mainly due to how complex it is I think and cause it isn't one fix all solution, it requires heavy testing per game as this function can break certain games.
Thou to be fair it's "memory only" option on beetles RetroArch is mostly safe and would be nice to have in ePSXe.

Edit.
Changing options on the fly in ePSXe is kinda pointless at least for me, one configuration works for most if not all games for me.
 

·
Registered
Joined
·
65 Posts
Discussion Starter #5
outdated of what :D ?

Why you guys speaks in forums so official? Even in games peoples have fun and relax, why its not possible to be relaxed on forum?

There is no 'outdated', software could be adequate or not, what about common sense? epsxe, retroarch and a lot of things has problem with common sense

By itself epsxe does not provide at least good original-like graphics, it needs good shader. Pete OpenGL2 shaders inside are very well

epsxe developer is crazy, he realized shaders support, but do not works with Petes shader

Just try to use my shader, I use 3 strengh in pete settings, but you can also sef offset manually

gpuPeteOGL2.slv
CSS:
uniform vec4 OGL2Param;
#define soffset 0.00031

void main()
{
    gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;

    gl_TexCoord[0]=gl_MultiTexCoord0.xyxy+vec4(-0.5,-0.5,-1.5,-1.5) * (OGL2Param.xyxy+soffset);
    gl_TexCoord[1]=gl_MultiTexCoord0.xyxy+vec4( 0.5,-0.5, 1.5,-1.5) * (OGL2Param.xyxy+soffset);
    gl_TexCoord[2]=gl_MultiTexCoord0.xyxy+vec4(-0.5, 0.5,-1.5, 1.5) * (OGL2Param.xyxy+soffset);
    gl_TexCoord[3]=gl_MultiTexCoord0.xyxy+vec4( 0.5, 0.5, 1.5, 1.5) * (OGL2Param.xyxy+soffset);
}

//(OGL2Param.xyxy+soffset)
gpuPeteOGL2.slf
CSS:
//patched by Danila Zabiaka - white black noise
#define white 236.0
#define black 10.0
#define noise 7.0
#define offset -25.0

float pseudoNoise(vec2 co)
{
return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453)*fract(sin(dot(co.xy ,vec2(12.9898,78.233)*2.0)) * 43758.5453); //pseudo random number generator
}

uniform sampler2D OGL2Texture;

const vec3 RGBtoY = vec3(0.299, 0.587, 0.114);
const vec3 RGBtoI = vec3(0.596,-0.275,-0.321);
const vec3 RGBtoQ = vec3(0.212,-0.523, 0.311);
const vec3 YIQtoR = vec3(1.0, 0.95568806036115671171, 0.61985809445637075388);
const vec3 YIQtoG = vec3(1.0,-0.27158179694405859326,-0.64687381613840131330);
const vec3 YIQtoB = vec3(1.0,-1.10817732668266195230, 1.70506455991918171490);

void main()
{
    vec3 c0, c1;

    c0 = (texture2D(OGL2Texture,gl_TexCoord[0].xy).rgb +
         (texture2D(OGL2Texture,gl_TexCoord[0].zy).rgb) * 0.25 +
         (texture2D(OGL2Texture,gl_TexCoord[0].xw).rgb) * 0.25 +
         texture2D(OGL2Texture,gl_TexCoord[1].xy).rgb +
         (texture2D(OGL2Texture,gl_TexCoord[1].zy).rgb) * 0.25 +
         (texture2D(OGL2Texture,gl_TexCoord[1].xw).rgb) * 0.25 +
         texture2D(OGL2Texture,gl_TexCoord[2].xy).rgb +
         (texture2D(OGL2Texture,gl_TexCoord[2].zy).rgb) * 0.25 +
         (texture2D(OGL2Texture,gl_TexCoord[2].xw).rgb) * 0.25 +
         texture2D(OGL2Texture,gl_TexCoord[3].xy).rgb +
         (texture2D(OGL2Texture,gl_TexCoord[3].zy).rgb) * 0.25 +
         (texture2D(OGL2Texture,gl_TexCoord[3].xw).rgb) * 0.25 ) / 6.0;

    c1 = vec3(pow(dot(c0, RGBtoY), 1.2), dot(c0, RGBtoI) * 1.2, dot(c0, RGBtoQ) * 1.2);

    gl_FragColor = vec4(dot(c1, YIQtoR), dot(c1, YIQtoG), dot(c1, YIQtoB), 0.0);
    gl_FragColor = gl_FragColor *white/255.0+black/255.0-gl_FragColor*black/255.0+(pseudoNoise(gl_TexCoord[0].xy)+offset/100.0)*noise/100.0;
}
Its original-pete's improvements-my shader







Petes methods are bad. CRT and another things like just filering are bad too. Shaders should be able to correct at least colors after rgb conversation, or graphic plugin, but they do not allow it

Its not outdated or not, its just stupid
 

·
Not a Registered User
Joined
·
1,304 Posts
outdated of what :D ?

Why you guys speaks in forums so official? Even in games peoples have fun and relax, why its not possible to be relaxed on forum?

There is no 'outdated', software could be adequate or not, what about common sense? epsxe, retroarch and a lot of things has problem with common sense

By itself epsxe does not provide at least good original-like graphics, it needs good shader. Pete OpenGL2 shaders inside are very well

epsxe developer is crazy, he realized shaders support, but do not works with Petes shader

Just try to use my shader, I use 3 strengh in pete settings, but you can also sef offset manually

gpuPeteOGL2.slv
CSS:
uniform vec4 OGL2Param;
#define soffset 0.00031

void main()
{
    gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;

    gl_TexCoord[0]=gl_MultiTexCoord0.xyxy+vec4(-0.5,-0.5,-1.5,-1.5) * (OGL2Param.xyxy+soffset);
    gl_TexCoord[1]=gl_MultiTexCoord0.xyxy+vec4( 0.5,-0.5, 1.5,-1.5) * (OGL2Param.xyxy+soffset);
    gl_TexCoord[2]=gl_MultiTexCoord0.xyxy+vec4(-0.5, 0.5,-1.5, 1.5) * (OGL2Param.xyxy+soffset);
    gl_TexCoord[3]=gl_MultiTexCoord0.xyxy+vec4( 0.5, 0.5, 1.5, 1.5) * (OGL2Param.xyxy+soffset);
}

//(OGL2Param.xyxy+soffset)
gpuPeteOGL2.slf
CSS:
//patched by Danila Zabiaka - white black noise
#define white 236.0
#define black 10.0
#define noise 7.0
#define offset -25.0

float pseudoNoise(vec2 co)
{
return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453)*fract(sin(dot(co.xy ,vec2(12.9898,78.233)*2.0)) * 43758.5453); //pseudo random number generator
}

uniform sampler2D OGL2Texture;

const vec3 RGBtoY = vec3(0.299, 0.587, 0.114);
const vec3 RGBtoI = vec3(0.596,-0.275,-0.321);
const vec3 RGBtoQ = vec3(0.212,-0.523, 0.311);
const vec3 YIQtoR = vec3(1.0, 0.95568806036115671171, 0.61985809445637075388);
const vec3 YIQtoG = vec3(1.0,-0.27158179694405859326,-0.64687381613840131330);
const vec3 YIQtoB = vec3(1.0,-1.10817732668266195230, 1.70506455991918171490);

void main()
{
    vec3 c0, c1;

    c0 = (texture2D(OGL2Texture,gl_TexCoord[0].xy).rgb +
         (texture2D(OGL2Texture,gl_TexCoord[0].zy).rgb) * 0.25 +
         (texture2D(OGL2Texture,gl_TexCoord[0].xw).rgb) * 0.25 +
         texture2D(OGL2Texture,gl_TexCoord[1].xy).rgb +
         (texture2D(OGL2Texture,gl_TexCoord[1].zy).rgb) * 0.25 +
         (texture2D(OGL2Texture,gl_TexCoord[1].xw).rgb) * 0.25 +
         texture2D(OGL2Texture,gl_TexCoord[2].xy).rgb +
         (texture2D(OGL2Texture,gl_TexCoord[2].zy).rgb) * 0.25 +
         (texture2D(OGL2Texture,gl_TexCoord[2].xw).rgb) * 0.25 +
         texture2D(OGL2Texture,gl_TexCoord[3].xy).rgb +
         (texture2D(OGL2Texture,gl_TexCoord[3].zy).rgb) * 0.25 +
         (texture2D(OGL2Texture,gl_TexCoord[3].xw).rgb) * 0.25 ) / 6.0;

    c1 = vec3(pow(dot(c0, RGBtoY), 1.2), dot(c0, RGBtoI) * 1.2, dot(c0, RGBtoQ) * 1.2);

    gl_FragColor = vec4(dot(c1, YIQtoR), dot(c1, YIQtoG), dot(c1, YIQtoB), 0.0);
    gl_FragColor = gl_FragColor *white/255.0+black/255.0-gl_FragColor*black/255.0+(pseudoNoise(gl_TexCoord[0].xy)+offset/100.0)*noise/100.0;
}
Its original-pete's improvements-my shader







Petes methods are bad. CRT and another things like just filering are bad too. Shaders should be able to correct at least colors after rgb conversation, or graphic plugin, but they do not allow it

Its not outdated or not, its just stupid
I say outdated becuase PCSXR like pSX fin were left broken with many issues that weren't fixed for a very long time now and never will be fixed, if you don't like the word "outdated" I may use broken or unfinished makes little difference.
As for the original look you'll never get that unless you use a CRT cause LCD panels cam't mimic the CRT look no matter what shaders you'll use, you have people with different preferences with different LCD panels, TN, IPS, OLED each with different RGB range and contrast differences.
Shaders are heavily preference dependent, I personally prefer no shaders, just pure slightly pixlated look.

Currently as it stands best PS1 emulator accuracy/compatibility wise is Beetle core in RetroArch then ePSXe and PCSX-R.

Edit.
I just noticed a complete lack of "scan lines" in your "original look" which for me would necessary for 1:1 look similar to interlacing.
 

·
Registered
Joined
·
65 Posts
Discussion Starter #7
CRT cause LCD panels cam't mimic the CRT look
Its not necessary, you can get better results. Anyway you have source PICTURE. And works with this like picture

Also, there is distance to tv and relative picture size for you eyes is important to. People played with TV on big distance

For modern users, relative size is much bigger. Its like 10'' display from 1 meter = 20" display from 2 meter

TV relative size was small. Now people are closer to display or display is bigger

To emulate feelings and may be make them better shader should have some mission:

1. Convert colors correctly
2. Stretch image well using blur, may be after blur apply filtering or how it colls like aa4
2. Make surfaces textured (noise)


It could be done using maths

Original

Pete images improvements corrupts image

My variant, look at this ^_^



There is some problem with noise shader cause there is no input for making random values at least like time :(
But anyway its much more better!
 

·
Not a Registered User
Joined
·
1,304 Posts
Again if that looks for you good for ya, for me the "original" would be playing on a 10inch blue and white TV, yes blue and white not black and white less than a meter away cause that what my childhood was, I had a weird TV in my room.
I was rarely able to play on my parents color 20inch TV.
 

·
Registered
Joined
·
65 Posts
Discussion Starter #9
It does not looks good for 'me', its from obejction reality

As a base, CRT+analog and different color model maked input picture more realistic

What is reality?

Real objects in the world are not filled with same color like '100-100-100' - by the way if you have 100-100-100 ground on low-res display, it will have some texture, on hires display you got just very synthetic view

So, if you add some noise on there objects, it will be better

And other things. For example, look in window, you will not see something like 255-255-255 or 0-0-0 of LCD . These colors dont exit, but emulators works with them

Its fixible with not very comples math
 

·
Registered
Joined
·
65 Posts
Discussion Starter #10
But it needs understanding and some time, may be discussion and

Its not the way of PS1 emulation team, where 1 person create only 1 thing and look only from technical side

What is the reason of '100+ shader pack' if there is no good one shader
 

·
Registered
Joined
·
30 Posts
To be honest, for me personally, all three look like garbage. First has no real effects applied (1:1 like a psx or?), 2nd is sliced and blurred to hell and the third got blurred/noise killed and sliced (yes, you can still see them somewhat, especially if you have the comparison). But, if I would need to choose, I would take the 3rd variant, yes. Good that I have more possibilities these days. ^^ If I want a 1:1 real PSX experience, I wouldn't use an emulator. There are many shaders for many needs, like your needs (natural CRT) or my needs (best, xBR). I want the games to be more than on original hardware, they get ported anyway through an emulator, equal what we think, they can't be the same as on real hardware. They were made for this hardware, which doesn't mean we always have to play them limited like that in 2020. Use your real hardware, buy an old CRT TV and you have your experience. ^^ But forget about all the candy you get through emulators, which the real hardware can't even dream about.
 

·
Registered
Joined
·
65 Posts
Discussion Starter #12
buy an old CRT TV and you have your experience
In russia people absolutely have no money and you just cant get them, everybody looses job. So, lets party on pc ^_^

Anyway, emulators are great too. I made it better

There are many shaders for many needs, like your needs (natural CRT) or my needs (best, xBR)
Its fake shaders

many shaders
Many shaders, but they do nothing, except my))

You dont need 'many' shaders actually, technically you can combine them in one as you need and its possible to create simple gui to activate features what you need, its quite simple for coders! They just didnt make it, may be they got money for this behaviour. But texture+natural colors+levels it just did not existed
 

·
Registered
Joined
·
65 Posts
Discussion Starter #13
its very fun, looks at 'retro'arch. It has EXTREEEEEEEMLY AAA interface, but its glitchy on PC and its not usable on it, expect PPSSPP - its really great
Emulation speed is very bad. It has a lot of 'heavy' shaders, vulkan pukan whaever support, but in the end you got nothing
Just typical stupid 'command collective work', its just from coders to coders, not to users
 
1 - 13 of 13 Posts
Top