About half of a year ago, LibRetro added Vulkan support to their Nintendo 64 renderer. This allowed them to do things like emulate the console’s hardware rasterization in software, and do so as an asynchronous shader, circumventing limitations in their OpenGL path trying to emulate the console’s offbeat GPU.
Image Credit: Universal Interactive via Wikipedia
They have now turned their sights (“for the lulz”) to the original PlayStation, creating a Vulkan back-end for emulators like Beetle PSX.
The fairly long blog post discusses how the PlayStation is designed in detail, making it an interesting read for anyone curious. One point that I found particularly interesting is how the video memory is configured as a single, 1MB, 2D array (1024x512x16-bit). At this time, texture resolution was quite small, and frame buffers were between 256×224 and 640×480, so that’s a lot of room to make a collage out of your frame and all textures in the scene, but it’s still odd to think about a console imposing such restrictions now that we’re spoiled by modern GPUs.
In terms of performance, the developer claims that modern GPUs can handle 8k resolutions with relative ease, and four-digit FPS at lower resolutions.
For filtering games with
For filtering games with pixel-specific art (i.e. 2D, or 3D with billboarding sprites) I generally prefer to render at native and apply a CRT-style filter than to scale internally and apply smoothing filters. proper filters, not this scanline nonsense that does naff-all.
Filters are generally a bad
Filters are generally a bad thing and shouldn’t be used. We used to buy better TVs to MINIMIZE scanlines and phosphor effects, but no TV at the time could offer a pixel-perfect experience free of distortion, noise, or interference. Now we have the capability to do things PERFECT and damn hipsters want vinyl and scanlines.
Member berries are a hell of a drug.