The Android version of Saturn emulator Yaba Sanshiro was updated over the weekend, bringing a major rewrite of how the VDP2 graphics chip is emulated. It comes just a few weeks after developer Shinya “DevMiyax” Miyamoto rewrote emulation of the VDP1 graphics chip.
The free Android version is here while the paid “Pro” version, which adds some extra features for US$5, is here. It’s the lead platform for DevMiyax’s efforts, so other platforms typically lag behind the Android rendition. The iOS versions haven’t been updated since early January. The Windows version was updated last month.

Version 1.20.16 adds an experimental VDP2 background rendering engine that can be toggled on in the settings to reproduce background layering and translucency more accurately. It also supports mosaic, special color calculation, the color calculation window and special priority for bitmap screens, improving accuracy in games that use those VDP2 features.
AI likely assisted in the update’s creation. Miymoto wrote in a social media post in March that he’d begun using AI for emulator development.
In a lengthy blog posted May 31, DevMiyax described how he rewrote Yaba Sanshiro’s VDP2 emulation to bring it closer to how real hardware works.
“Until now, Yabasanshiro emulated each of VDP2’s background layers (NBG0–3, RBG0) by ‘pasting textures onto polygons and drawing them,'” he wrote in the blog. He said it was the most common way for GPUs to render graphics in 2013, around the time DevMiyax began developing his Android-focused fork of Yabause, an emulator that’s no longer actively worked on.
But that becomes a problem when trying to reproduce the Saturn’s transparencies. VDP2 often calculates transparencies between two layers, while more modern GPUs use alpha blending to stack many translucent layers, causing too many layers to be see-through.


Right: That problem is fixed in the new version of Yaba Sanshiro using the experimental VDP2 background rendering setting.
That’s unless a game is using the Saturn’s “extended color calculation” feature to composite color among several layers. Or if it’s using VDP2’s “special priority” feature to set priorities for each pixel to determine whether it’s transparent and in what order it should be rendered on top of other layers.


Right: By running extended color calculation in the correct order, the colors render correctly in the newest Yaba Sanshiro.
As DevMiyax explained in the blog: “The only thing a GPU’s blend can reference is the value already written to the framebuffer. VDP2, however, computes using the value of the next-priority image — not the value already written. That makes it hard to map directly onto the GPU model.”
In short, the GPUs of a decade ago render graphics by writing color to the framebuffer in memory. But VDP2 works in the opposite direction: It reads memory to determine pixels’ priorities before calculating the colors to render to the screen.


Right: The new Yaba Sanshiro resolves the problem thanks to being able to handle special priority correctly on a per-pixel basis.
Modern GPUs solve old problems
So how did DevMiyax solve the issues Yaba Sanshiro’s had since the beginning? It’s thanks to the power of modern GPUs that are capable of doing more than ever before.
“The new VDP2 emulation is based on scanline processing, so that operations happen in an order as close to the real hardware as possible,” DevMiyax wrote in his blog.
He’s now able to give each VDP2 layer its own buffer, read their priorities and sort each pixel by their priority before outputting the correctly colored graphics.

“The old method followed a GPU-friendly order: ‘sort by polygon depth, then compute color per layer,’” DevMiyax wrote. “The new method follows VDP2’s native flow: ‘read every layer per pixel, sort by priority, then run color calculation in real-hardware order.’”
The new rendering method is more hardware-intensive than the old one, but based on DevMiyax’s testing, it only averages about 8 percent more overhead. On an AYN Thor, an Android-based handheld gaming system, Yaba Sanshiro still was capable of hundreds of frames per second.
“This VDP2 rebuild is a major step toward bringing Yabasanshiro’s graphics closer to the real hardware,” DevMiyax wrote. “Now, in 2026, with features like MRT and G-buffers available as a matter of course even on mobile, it has become possible to reproduce VDP2’s native ‘read-and-composite’ processing per pixel, in the same order as the real hardware.”

Be the first to comment