Next Generation Emulation banner

edgbla's gpuBladeSoft

137K views 282 replies 54 participants last post by  DanilaZabiaka  
#1 · (Edited)
Shameless cheap thread copy/paste. Official thread: HERE, or [Download].-

Code:
README - Translated by F1ReB4LL, R4kk00n.

I like PlayStation, its games an everything connected with it,
looks like I have some good memories left from childhood.
I didn't liked emulation precise and, in general, wanted to
do something by myself.

---------------------------------------
Target.
---------------------------------------

The target is to make a plugin, which emulates the PSX GPU
with maximum precision, and using of all the methods of
grapics improvement.

---------------------------------------
Realization.
---------------------------------------

Setup dialogue.

GUI is written on gtk, this, of course, requires installation
of gtk-runtime, I've seen lots of comments of this, I can
only say, that if you can download an updated version of
DirectX every month, so you can download GTK as well and use
the GUI, if only you want it. If not - i won't insist on it. :)

Why GTK? It's an easy question. :) Because the plugin is
cross-platform and I'm not going to write a GUI on a native API
for _every_ OS, I'd better use this time for emulation improvement.

Emulation.

You should already understood this by reading the Target section,
but I'll better write it directly: I don't care, how much
resources will be needed for emulation and that the plugin is
already slow enough.

People often ask, if the plugin will be faster.
I swear, that it will be slower. :D
For now only the geometry is rendered correctly, PSX GPU implements some exotic
blending algorithm and my research shows that we'll need noticeably more
operations per pixel as we approach the correct color rendering.

Precise rendering timings are not implemented either.
The calculations are available, but there is no appropriate interface in the emulator,
plus, if implemented, it would make rendering even slower.

Implemented, though disabled, a texture cache emulation.
There is no visible improvement, just an increase in CPU load. :)

Picture enhancement methods.

Internal resolution.
The most powerful method is an increase of the internal resolution.
This method allows you to increase the resolution of the image independently
in width and height by an arbitrary integer factor. In the manual I wrote that
the best in my opinion is the resolution of 2x2.
This does not mean that I cannot add larger factors, although it is somewhat inconvenient.
I believe that further increase in resolution degrades the image, as "soapy" textures
with perfect geometry leave a bad impression. Generally there is no restriction,
I can make it 8x8, which is equal to setting "Ultra / Ultra" (I guess)
in the hardware plugin OGL2 by Pete Bernert, but I doubt you can find a
computer capable of at least 3 fps in this resolution. :D

24-bit renderer.
Console has a 15-bit renderer, that's why Gouraud-shaded polygons have so
unpleasant colors. When you turn this mode, renderer goes into 24-bit mode
and the picture in this case is not only looks as good as on hardware plugins,
but also doesn't have their drawbacks, you should turn "Gouraud shaded primitives"
option for this. If you turn the "All primitives" mode, I'll tear your hands away :),
because in this case you'll see the artefacts similar to hardware plugins, like
various different colored borders around the picture.

Texture bilinear filtering.
The translators can't translate my text. :lol:

Filters.
Then goes filters, btw, very good ones: Super Eagle, Sal, Hq, Scale.
For those who like them, I don't. :)
But there are 'fans' of them, so I've decided to add them.
I should say, that they're also very hardware-dependant, especially while
working in pair with the increased internal resolution.

Shaders.
Realized a partial support for shaders written for gpuPeteOGL2,
Only glsl shaders are supported.

Issues.

Possible aspect ratio issues.
TV is something %), it's totally useless to test an output on some particular
TV, because every TV has a slightly (or totally) different picture (in terms
of aspect and picture position), due to different factory settings and custom
user settings, I've tried to make the picture "like on some average TV",
but I'm not sure in anything, some output measurements should also be redone.

Some interlacing issues,
because the counters are hidden from gpu, it's not possible to determine
some moments precisely, which may affect/affects the picture.
Updates after version 0.34

Stereo3D support

.
.
.
Work on bilinear filter (HW & SW) and alpha smoothing (SW only).
Screenshots order: Standard, HW+Bilinear, SW+Bi+Alpha




Also something about the config dialog...
-. Added ZN support, now it's possible to use the plugin with ZiNc and pSx MAME.


-. Added precise bilinear textures filtration, see the screenshots (ogl2 is on the left, mine is on the right)

Per game enhancement/hackfest (or so it seems)

Normal vs Enhanced


Enhanced video
 
#9 ·
I failed to locate the download link, it seems.
 
#12 · (Edited)
Yeah, the thread has no link that I know of. XD
I added a link to their download location on the top.
I'm getting errors that tell me "libgdk_pixbuf-2.0-0.dll is missing". I don't have Linux on here.
 
#15 ·
If I need the installer, how would using the config change the fact that it doesn't work without it?

I installed the GTK+ packaged but it now says "the procedure entry point deflateSetHeader could not be located in the dynamic link library zlib1.dll." WTF? If this plugin is gonna be such a pain in the a**, then I might as well just give up.
 
#17 ·
Perhaps a link to the plugin AND the required files would be nice *hint* *hint*
 
#18 ·
Here ya go. I've included everything in my ePSXe folders relevant to Blade Soft, including the required libs.

Just unzip and dump into your ePSXe folder.

If the Blade Soft GPU plugin has disappeared after updating to v0.34, then just navigate to the 'configs' folder and launch gpuBladeSoftGui.exe. You don't have to change anything. Just click "OK" and then relaunch ePSXe.
 
#19 ·
Here ya go. I've included everything in my ePSXe folders relevant to Blade Soft, including the required libs.

Just unzip and dump into your ePSXe folder.

If the Blade Soft GPU plugin has disappeared after updating to v0.34, then just navigate to the 'configs' folder and launch gpuBladeSoftGui.exe. You don't have to change anything. Just click "OK" and then relaunch ePSXe.

THANK you! :D Do I press alt+enter for full screen?
 
#20 ·
Hmm... Alt-Enter doesn't seem to do anything. Fullscreen mode can be set in the configuration panel though.

Also, when I tried to verify if Alt-Enter even works with this plugin, ePSXe reported that it couldn't find gpuBladeSoft. Seems that this version of the plugin likes to randomly hide.:rolleyes:
 
#22 ·
Hmm... Alt-Enter doesn't seem to do anything. Fullscreen mode can be set in the configuration panel though.

Also, when I tried to verify if Alt-Enter even works with this plugin, ePSXe reported that it couldn't find gpuBladeSoft. Seems that this version of the plugin likes to randomly hide.:rolleyes:
what do you expect a newly released plugin that hasnt matured yet
 
#23 ·
alt/enter works.. but it is the LEFT (Tab side of keyboard) alt button not the one on the right.. seems to run ok.. no speed issues.. has the same issue though as all the others (as well as anything dos related)I've tried on Win 7.. I have to disable desktop composition or I only get the top left corner of the screen....
 
#24 ·
Some of those enhancements (i.t.) come from using a later PCSX-reloaded SVN trick
http://pcsxr.codeplex.com/SourceControl/changeset/changes/68598


edgbla (Blade_Arma) changed the GTE to use more accurate math (real-world sense)
- I think this works at higher internal resolutions for his plugin


He's around here in the forums - maybe he can comment more. :)
I just tested this on the OGL plugin and is really, really good. =O
Geometry is a LOT more stable now.