Over the decades since the original NES was released various groups have released a number of emulators focused on both providing the most accurate game experience possible (truly accurate emulation can be quite expensive, relative to the age of the platform being emulated) and, in some cases, on improving the visuals of the games in question. But Daniel Prilik, a third-year software engineering student, has come up with a unique way of improving NES visuals by expanding what you can see on screen at any given moment.
The viewport on standard NES titles is 256×240. It doesn’t matter if you’re playing on an iPhone SE or an 80-inch television, 256×240 is the number of pixels you’ll be seeing stretched across your display. But with wideNES, the viewport can be expanded to include additional visual information normally kept out of sight.
You can see several GIFs of how wideNES works on Prilik’s website (bandwidth restrictions prevent me from uploading them as images here, unfortunately). The interesting thing about wideNES is that you can’t just play the game this way by default. Instead, the emulator maps the data presented to the player in real time, allowing the viewport to be larger in subsequent levels. The reason this isn’t handled by simply dumping level data from the NES ROMs themselves is because there’s no standard format for how that information is stored within the ROM file, each game developer tended to do things their own way, and every title is therefore unique. Building out the map based on what the player has seen is a much simpler (and practically possible) solution, though it does come with a limitation. The NES PPU (Picture Processing Unit) has two rendering layers — a sprite layer and a background layer. The NES uses hardware scrolling to change the viewport, which means the PPU is always tracking what area of the game is visible and what it should display.
What wideNES does is simple. Instead of painting over each old frame with a complete new frame, it paints new frames as overlapping the current frame offset by the current screen scroll position. This allows the field of play to be expanded. The downside to this approach is that it only covers the background image (remember, sprites and background are on two separate rendering layers). This means enemies will “pop” back into frame when they enter the original 256×240 viewport and vanish again when they leave it.
All of this is very much a work in progress, but that’s part of what makes the project cool. Prilik has documented all of his work, including showing GIFs of how the emulator didn’t work at various points in the process. He’s also written his own emulator, ANESE, to showcase how wideNES works and what it can do. Both, he says, are “far from production ready,” but it’s an intriguing look at how we can use modern graphics horsepower to expand games in ways their creators simply didn’t have access to at the time — and, for those of you who find this sort of thing interesting, a primer on how games used to be built when the hardware they ran on offered a fraction of modern performance, with an unbelievably tiny amount of RAM. To put this in perspective, the NES had 2KB of work RAM. The L1 cache of the CPU you’re reading this story with is probably 8x – 16x larger than that.
Feature image by Daniel Prilik.
The 20 Best Free PC Games
There are loads of free PC games out there, but many of them aren't worth your time. These will have you hooked for hours.
ET Deals Roundup: $270 off Dell 1080p Gaming Laptop, $40 off Two Echo Spots, and more
The big game is very, very soon – is your TV big enough? If you’re looking to upgrade your set for a big party, today’s deals are outstanding. You can also snag an affordable gaming laptop, pre-order a Nintendo Labo, and even pick up an awesome LEGO kit.Featured Deals49-inch Samsung QN49Q6F 4K Ultra HD Smart…
Best PS4 Pro Games For $20 or Less
A surprisingly wide selection of titles received excellent PS4 Pro patches. From relatively small indies to beloved Sony exclusives and third-party best sellers, there's plenty of high-res enjoyment to be had for little cash.
Buying a Pre-Built Gaming PC Is Now Smarter Than Building Your Own
With component prices skyrocketing, you may actually be further ahead to purchase a pre-built gaming computer even if it's not exactly what you want.