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.
Dutch Intelligence Tipped off FBI, NSA on Russian Cyber Attacks
The US has been certain the Russians hacked the DNC and State Department, and now we know part of why. It was Dutch intelligence operatives that hacked into some of Russia's own institutions — including their closed-circuit television cameras.
Intelligence Officials Warn Against Buying Huawei and ZTE Phones, Without Justification
Multiple national security figures in the US have issued a direct warning that consumers should avoid devices from Chinese tech giants Huawei and ZTE. However, the warning lacks any specific claims of wrongdoing.
Mobile Photography Workflow: Pushing the Envelope With Lightroom and Pixel
It's been easy to dismiss smartphone photography as being only for casual shooters. But that's changing quickly. We take a look at what you can accomplish with a Pixel 2, Pixelbook, and Lightroom.
Audi’s Traffic Light Countdown App Now Works in Washington DC
Audi V2I feature gives drivers a countdown until the light turns green. At long lights, it reduces stress. With Washington, it's now in nine cities.