
Open-source hardware PlayStation GL renderer – alpha version - libretro
http://www.libretro.com/index.php/mednafenbeetle-psx-hw-alpha-version/
======
hardwaresofton
I'm eagerly awaiting the surely-incoming emscripten port so I can play PSX
games in my browser.

~~~
klodolph
We'll see. It uses OpenGL 3.3, which is roughly equivalent to WebGL 2, which
is not really available yet. You can enable WebGL 2 in Firefox or Chrome but
it is disabled by default in both browsers.

~~~
libretro
I'd like to have codepaths for GL2+ (assuming FBO support and GLSL
shaders)/GLES2 eventually too, but hopefully it won't involve too many
sacrifices.

------
Mizza
Looks very crisp - I wonder if they could apply HQ2X or similar on certain
textures to try to improve the look of text and other sprites?

------
ParadisoShlee
There is an upscaled PSX emulator that works on ARM - PCSX ReARMed... worth a
look for running great looking full speed PSX games on low powered ARM
devices.

Video of the Enhanced Graphics on OpenPandora Handheld
[https://www.youtube.com/watch?v=3ydxoaHfymU](https://www.youtube.com/watch?v=3ydxoaHfymU)

------
Mithaldu
That page seems to not mention at all: Why is this being made? Why should i
care, as an end user?

~~~
mmebane
Sounds like existing renderers for PSX emulators are either closed-source, or
based on legacy graphics APIs and therefore hacky.

From about halfway down the page:

> This is probably the first OpenGL renderer for PSX that is not based on
> outdated fixed-function OpenGL code and which is, actually, well, open-
> source. Because we can assume shaders will be there, we can get reasonably
> close to emulating texture windows accurately (with Pete’s OGL1 GPU plugin,
> there were codepaths for doing it with paletted textures – the hacky
> approach – and the pixel shader approach). Therefore, the renderer is still
> kept pretty simple and easy to understand.

~~~
astrange
There are perfectly fine and compatible CPU-based renderers for Playstation 1
in Mednafen or pSX. People don't want compatibility, though, they want their
graphics to be better than the original.

So emulator devs make these GPU-based HLE renderers that are always going to
be hacky no matter what.

------
pcwalton
Out of curiosity, why did the project move from Rust to C++?

~~~
libretro
It did not move from Rust to C++. Simias worked together with us to port it
back to a C++-based emulator, and we also managed to improve several things in
the process.

We are still keeping the two codebases moderately the same so that it's easy
to backport stuff back and forth inbetween the Rust/C++ versions.

Mednafen/Beetle PSX right now is a more fleshed out PlayStation emulator that
has seen more years in development and therefore is more mature, while
Rustation is still a relatively new emulator with lots of parts
(CDROM/SPU/etc) still not implemented. Backporting the renderer as a pseudo
plugin to a more mature emulator has the benefit that the GPU part can be
nearly finalized so that most of the hard work should be done by the time
Rustation gets to the stage where the other elements of the emulation are
mostly complete.

In short, it helps out both projects and we work closely together with the
author. The port to C++ was mostly a team effort between him, us and several
other guys.

~~~
diamondlovesyou
But why not just export a C interface from Rust, and use that from PSX?

~~~
libretro
What you just described has already been there for months, before the C++ port
happened, however, we still needed a C++ port so that we can draw in some
experienced devs who were mainly at home in C/C++ land to do the Vulkan part,
and also because it is easier to compile for both our buildbot and other
users.

Anyway, you can use the external Rust renderer through this C-based API, or
the C++ integrated renderer. The main point is to keep both codebases more or
less in sync with each other.

Libretro as a project generally favors C/C++ codebases. There is one or two
Rust-based cores, though, which happen to be done by the same author, simias
(same guy the renderer here comes from).

------
iamcreasy
Can anyone tell me what is it?

~~~
Sophistifunk
Don't know why the downvotes, seems like a legit question to me. The title
says "open source hardware" and it appears to be just a rendering update to
some PSX emulator software.

~~~
Qwertious
I think it's '[open-source] [hardware rendering]', not '[open-source hardware]
[rendering]' \- the key tidbit being the distinction between "software
rendering" and "hardware rendering" \- the former is shorthand for rendering
purely on the CPU, while the latter uses the graphics card for faster
rendering speed.

