Stories
Slash Boxes
Comments

SoylentNews is people

posted by chromas on Thursday April 18 2019, @04:20AM   Printer-friendly
from the harder-better-faster-stronger...sharper? dept.

Submitted via IRC for AzumaHazuki

HD emulation mod makes "Mode 7" SNES games look like new

Gamers of a certain age probably remember being wowed by the quick, smooth scaling and rotation effects of the Super Nintendo's much-ballyhooed "Mode 7" graphics. Looking back, though, those gamers might also notice how chunky and pixelated those background transformations could end up looking, especially when viewed on today's high-end screens.

Emulation to the rescue. A modder going by the handle DerKoun has released an "HD Mode 7" patch for the accuracy-focused SNES emulator bsnes. In their own words, the patch "performs Mode 7 transformations... at up to 4 times the horizontal and vertical resolution" of the original hardware.

[...] Games that made use of the SNES "Graphics Mode 7" used backgrounds that were coded in the SNES memory as a 128x128 grid of 256-color, 8x8 pixel tiles. That made for a 1024×1024 "map" that could be manipulated en masse by basic linear algebra affine transforms to rotate, scale, shear, and translate the entire screen quickly.

Some Mode 7 games also made use of an additional HDMA mode (Horizontal-blanking Direct Memory Access) to fake a "3D" plane that stretches off into the horizon. These games would essentially draw every horizontal scanline in a single SDTV frame at a different scale, making pieces lower in the image appear "closer" than ones far away.

It's a clever effect but one that can make the underlying map data look especially smeary and blob-like, especially for parts of the map that are "far away." This smearing is exacerbated by the SNES' matrix math implementation, which uses trigonometric lookup tables and rounding to cut down on the time needed to perform all that linear algebra on '90s-era consumer hardware. Translating those transformation results back to SNES-scale tiles and a 420p SD screen leads to some problems on the edges of objects, which can look lumpy and "off" by a pixel or two at certain points on the screen.

The HD Mode 7 mod fixes this problem by making use of modern computer hardware to perform its matrix math "at the output resolution," upscaling the original tiles before any transformations are done. This provides more accurate underlying "sub-pixel" data, which lets the emulator effectively use the HD display and fill in some of the spaces between those "boxy" scaled-up pixels.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 0) by Anonymous Coward on Thursday April 18 2019, @10:41PM

    by Anonymous Coward on Thursday April 18 2019, @10:41PM (#831928)

    Oh, I get that it was there on a technical level. I'm talking from the phenomenological perspective. I remember how low detail the graphics were, and that was (in some respects) made worse by the CRT televisions, which smeared and introduced other artifacts on its own.

    Of course, there are also some examples where my memory looks more like the new "version" because my brain extrapolated the necessary detail, which is helped by the way CRTs softened images. In those cases, I can't understand how the graphics looked so bad!