Slashdot Mirror


HD Emulation Mod Makes 'Mode 7' SNES Games Look Like New (arstechnica.com)

An anonymous reader quotes a report from Ars Technica: 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.

The results, as you can see in the above gallery and the below YouTube video, are practically miraculous. Pieces of Mode 7 maps that used to be boxy smears of color far in the distance are now sharp, straight lines with distinct borders and distinguishable features. It's like looking at a brand-new game. Perhaps the most impressive thing about these effects is that they take place on original SNES ROM and graphics files; DerKoun has said that "no artwork has been modified" in the games since the project was just a proof of concept a month ago. That makes this project different from upscaling emulation efforts for the N64 and other retro consoles, which often require hand-drawn HD texture packs to make old art look good at higher resolutions.

20 of 44 comments (clear)

  1. Been done before by Stormwatch · · Score: 1

    ZSNES has the option to do something like that, although not as high-res. (And by modern standards it is a very inaccurate emulator.)

    1. Re:Been done before by Anonymous Coward · · Score: 1

      IIRC, older versions of snes9x had it too. But as you say not nearly as high-res nor AFAIK with all the efforts to potentially correct for 3D distortion. If you've got some actual screenshot comparisons, though, I'd love to see them. Also note that this is being developed for bsnes. So, it's very much the polar opposites of accuracy.

  2. ZSNES did this as well by HalAtWork · · Score: 1

    ZSNES was one of the first good SNES emulators along with snes9x. ZSNES had a high resolution mode 7 setting as well nearly 20 years ago in v0.915

    https://zsnes.zophar.net/shrin...

  3. Video by Kunedog · · Score: 1

    The YT video mentioned in the summary:
    https://www.youtube.com/watch?...

    1. Re:Video by drew_kime · · Score: 1

      After watching that, all I can think is how pissed off the artists must have been who actually created decent maps and sprites, only to have them completely butchered by the rendering system.

      --
      Nope, no sig
    2. Re:Video by aitikin · · Score: 1

      I bet they were impressed with what could be done at that point in time...

      --
      "Don't meddle in the affairs of a patent dragon, for thou art tasty and good with ketchup." ~ohcrapitssteve
    3. Re:Video by Stormwatch · · Score: 5, Insightful

      Keep in mind, those artists worked with old TVs and coaxial cable in mind. Their intention was not the sharp pixels we see in emulators, but this.

    4. Re:Video by drew_kime · · Score: 1

      Keep in mind, those artists worked with old TVs and coaxial cable in mind. Their intention was not the sharp pixels we see in emulators, but this.

      That makes sense. Looking at the video above I didn't remember things looking that bad, but I've seen so many "lo-fi indie" games that I've probably forgotten what things really looked like. Has anyone come up with a mod that also emulates the display characteristics of 80s-era TVs?

      --
      Nope, no sig
  4. What about Low DPI mode? by jellomizer · · Score: 4, Informative

    One thing I saw when I upgraded my Amstrad CPC 1512 to a 486 with a SVGA Display 320x200 16 color games just didn't look as good any more. Mainly the high resolution high DPI monitor made these pixel nice little squares. Where the Amstrad had a low DPI where each pixel were a bit rounded and a little grainy. This made dithered 16 color graphics look much more realistic, when the EGA dithered the colors, it felt like a 128 color display.
    So now with 4k displays, We should be able to emulated the old low DPI displays and see the games much closer to to how we use to see them.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    1. Re:What about Low DPI mode? by AmiMoJo · · Score: 3, Informative

      Can confirm the fake CRT effect looks good on 4k.

      This is an impressive hack. The effect being enhanced is actually a hack on the SNES. Mode 7 only does rotation and scaling, to get the ground plane effect you have to adjust the parameters on a scanline by scanline basis using CPU interrupts.

      So for the emulator to do this it must be more than just hacking the mode 7 code. It must interpolate the parameters between scanlines too.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    2. Re:What about Low DPI mode? by AC-x · · Score: 1

      I assume you're the original AC here, mode 7 only supports linear 2D matrix transformations so on its own it can't do perspective.

      To show perspective effects in mode 7 the SNES uses its HDMA to modify the matrix transform every scanline to create a psudo-3D effect.

      That HDMA corresponds to the ~224 emulated SNES scanlines, not highres PC scanlines. So while the rotation and scaling is trivial to upscale, the "perspective" would still have a stepped appearance without using some extra tricks.

  5. Mode 7 was really impressive at that time! by Parker+Lewis · · Score: 4, Informative

    I was a Segamaniac on that time, but I was really impressed that Nintendo could get mode 7 and zoom using a processor with a clock a way lower than Genesis. To add those 2 features on SegaCD, Sega engineers said they required to add an additional M6800 processor. Anyway, I've wrote a (alert: very fanboy and passionate) history about SNES here: https://raelcunha.com/snes-his...

    1. Re:Mode 7 was really impressive at that time! by _merlin · · Score: 2

      The CPU doesn't do it on the SNES - the graphics chip itself can do rotate/zoom effects on a single tilemap layer. It can't do it on sprites. Super Mario World (ab)uses it in boss fights by making the boss a tilemap layer so the bosses can do backflips and appear to move towards/away from the screen.

      The MegaCD rotate/zoom works differently. You have to do it on individual tiles and then upload them to the VDP, which is fairly expensive. The bandwidth constraints mean you can't upload enough tiles for a full-resolution layer every frame, which is why you can't rotate/zoom an entire full-screen layer (or play full-screen video) with the MegaCD. However, it allows you to rotate/zoom individual sprites independently which the SNES can't do.

      The SNES and Mega Drive CPU clock speeds aren't really comparable, as the SNES 65816 can do more per clock than the Mega Drive 68000. But the SNES was designed around having a weaker CPU and more powerful graphics chip, and allowing powerful add-on chips in cartridges. The SuperFX can DMA an entire 15-bit planar RGB layer every frame. The SNES actually can support an add-on providing full-screen FMV.

  6. F-Zero is BEATIFUL! by cfalcon · · Score: 1

    Oh yea, this is great.

    I'm absolutely pumped to play F-Zero with this mod. Good grief that Mute City is so pretty! This stuff looks like a lost generation of games now.

  7. Re:Cool project by mark-t · · Score: 1

    That won't stop Nintendo from trying to litigate in any jurisdiction that they can. They *HATE* emulators.

  8. Re:what happened? by cheesybagel · · Score: 1

    There have been several lawsuits against emulators and they always fail.
    Now distributing ROMs that's another thing.

  9. It was done elsewhere by HalAtWork · · Score: 1

    With clever programming, the Sega Genesis/Mega Drive does not need extra processing power to pull off these effects. Here is someone pulling off the same effects as F-Zero on the Genesis.

    G-Zero: https://m.youtube.com/watch?v=...

    The road on the SNES uses mode 7 to add perspective to a bitmap plane and shift/rotate it to simulate a road. The effect is replicated on the Genesis/Mega Drive in software.

    Other games like Mega Turrican, Gunstar Heroes, and Red Zone demonstrate these effects in actual gameplay.

    The Sega CD's added hardware allowed the system to go far beyond what the SNES could acheive. In the game AH3 Thunderstrike, the Segs CD can use the same effects to scale and rotate multiple objects, but the SNES is limited to using this effect on a single bitmap plane at a time.

    Thunderstrike: https://m.youtube.com/watch?v=...

    However some developers did great things with the SNES hardware. Rare's Donkey Kong Country 2 is a great example, where multiple parallax levels and clever raster effects as well as transparencies are used copiously and beyond what I've seen in other games around the time.

    1. Re:It was done elsewhere by HalAtWork · · Score: 1

      Very impressive considering the Genesis is much earlier hardware with no specific acceleration for such tasks. Whether it was done 30 years later or not has nothing to do with whether it's possible on the raw hardware.

      But this road-like effect isn't the only thing mode 7 was used for, it was used to scale and rotate objects such as characters in the game like in Mario World. In the other games I pointed out you see the Genesis pulling this off smoothly on multiple objects at a time, something the SNES could not do.

      If you look at Gunstar Heroes you'll see multiple full screen backgrounds and objects rotating simultaneously, in Mega Turrican multiple enemies will be rotating and scaling at the same time.

      Yes, F-Zero does not use any additional hardware, just the built-in VDP acceleration of the SNES. From what I understand Mario Kart might have been done without the DSP but they were using it to track the various sprites on the tracks, such as roadside objects as well as the other characters racing around. F-Zero only had four cars on the track, MK had 8 as well as other objects.

      Personally I'd think if they could cut a piece of hardware in favor of software optimization they'd do that. This was the company that was paying engineers for each component they were able to omit from hardware designs in order to optimize and save money in production.

  10. Remarkable Achiement. by corezz · · Score: 1

    Nicely done. As a kid when this came out i cringed at the aliasing effects of this fake-3D rotations on the SNES. Always fascinating to see old hardware/software being updated to bring it up to modern times. Brings back memories. I miss my Amiga computer.

  11. Re:They are not SUPPOSED to "look as new"... by Anonymous Coward · · Score: 1

    Old news, everyone in the emulation scene already knows that those games are meant to be played on CRT with a correct aspect ratio. Since these CRTs aren't really being produced anymore, these filters are meant to try making them look good on LCDs and filter out the moire that's more likely to impact artisitc vision compared to the CRT blur.

    Also, you don't speak for the authors of said works.