Giving The NES An Optical Data Storage Add-On

The introduction of optical media in the form of CDs meant a revolution in the world of gaming consoles, escaping the restrictions of a few dozen MB of storage and instead offering a theoretically infinite amount of storage through the miracle and tedium of swapping discs. After the SNES narrowly escaped getting a CD add-on and the N64 doubled down on cartridges, we can now at least get an impression of what it’d be like if the Nintendo Entertainment System had been gifted a CD add-on back in the 1980s, courtesy of a project by [Throaty Mumbo].

The NES future we could have had. (Credit: Throaty Mumbo, YouTube)
The NES future we could have had.

There’s also an accompanying video containing typical hijinks and a demonstration of this system. Initially [Throaty Mumbo] was going to make a SNES CD add-on to match that console’s initial prototype, but doing it for the NES seemed more fun. Obviously, since the NES is quite limited hardware-wise it was always going to be a struggle, even if the original front-loading NES conveniently has a mostly unused expansion slot.

On the custom PCB there is an RP2350B microcontroller that mediates between an Everdrive N8 Pro cartridge and an IDE CD drive, along with a PCM5102 audio DAC. The expansion port is hereby used to receive the audio samples on its audio mix input pin, along with power. After boot the game ROM is read off the CD by the MCU and streamed over USB to the Everdrive.

Combined with the previous work [Throaty Mumbo] did to revive the long-defunct Japanese online service for the NES, it’s an exciting time for fans of the iconic console.

Continue reading “Giving The NES An Optical Data Storage Add-On”

Why The NES Put Out A Wobbly Picture

The NTSC television standard is a masterpiece of mid-century engineering, to pack a color image into the transmission bandwidth of a monochrome one, and to do so while maintaining backward compatibility with earlier monochrome TV sets. In terms of its timings and choice of sync and carrier frequencies it’s elegantly thought out for maximum quality on a 1950s round-CRT color TV set.

The trouble is, that while the standards are exacting, the receivers are quite forgiving, and will display adequately even with substantially off-spec video. [Nicole Express] is here with an in-depth examination of a time when that was pushed just a little bit too far, explaining why the Nintendo Entertainment System (NES) displayed wobbly color images.

We’re treated to a run-through of the NTSC standard itself, and a look at how some of the other consoles and home computers of that era either had similar problems, or managed to avoid them. The key lies in the exacting timing required to achieve perfect interlacing, and the NES’s use of a single crystal to provide all the clocks. The dot clock on adjacent frames was almost right, but not quite, leading to a side-to-side wobble that while barely perceptible, was exacerbated by some graphics. It’s a fascinating read.

We’ve looked at composite video in detail in the past.


NES image: JCD1981NL, CC BY 3.0.

Documented Source Code For Elite On The C64, BBC Micro And Others

If you ever wanted to dive into the source code for the 1980s space game Elite, but didn’t want to invest many hours reverse-engineering the 6502 assembly code, then [Mark Moxon]’s annotated code has you covered. The systems referenced range from the BBC Micro and Commodore 64 to the NES and Apple II, with some of these versions based on the officially released source code. For other systems the available source code was used together with decompiled game binaries to determine the changes and to produce functional, fully commented source code.

The cutting-edge gameplay of Elite on the 8502.
The cutting-edge gameplay of Elite on the 8502.

This particular game is fascinating for being one of the first to use wire-frame 3D graphics with hidden-line removal and a sprawling universe in which to trade and deal with less than friendly parties using a variety of weapons. After this initial entry it would go on to spawn many sequels and inspired countless games that’d follow a similar formula.

On the respective GitHub project page for each version, you can find instructions on how to build the code for yourself, such as for the Commodore 64. Of note here is the license, which precludes anyone from doing more than forking and reading the code. If this is no concern, then building the game is as simple as using the assembler (BeebAsm) and the c1541 disk image utility from the VICE project.

Running UNIX On A Nintendo Entertainment System

Who wouldn’t want to run a UNIX-like operating system on their NES or Famicom? Although there’s arguably no practical reason for doing so, [decrazyo] has cobbled together a working port of Little Unix (LUnix), which was originally written for the Commodore 64 and 128 by [Daniel Dallmann]. The impetus for this project was initially curiosity, but when [decrazyo] saw that someone had already written a UNIX-like OS for the 6502 processor, it seemed apparent that the NES was too similar to the C64 to not port it.

Much of this is relatively straightforward, as the 6502 MPU in the C64 is nearly identical to the Ricoh 2A03 in the NES, with the latter missing the binary-coded decimal support, which is not a crucial feature. The only significant roadblock was the lack of RAM in the NES. The console has a mere 2 KB of RAM and 2 KB of VRAM, which made it look anemic even next to the C64. Here, a Japan-only accessory came to the rescue: the Famicom Disk System (FDS), which is a proprietary floppy disk-based system that slots into the bottom of the Famicom and was used for games as well as storing saves back in the day.

By using a Famicom with FDS, it was possible to gain an additional 32 kB provided by the FDS, making the userspace utilities available in the shell. The fruits of this labor work well enough that he could also pop it up on an EverDrive cartridge that supports FDS ROMs and boot it up on an unmodified NES. Whether this is cooler than the NES-OS, which we covered previously, is up for debate.

Incidentally, [Maciej Witkowiak] seems to have resumed development on LUnix, with a new release in 2023, so maybe UNIX-on-6502 may see a revival after a few decades of little happening.

Continue reading “Running UNIX On A Nintendo Entertainment System”

Real NES Plays Frame-Perfect For You On Twitch

Have you ever wanted to be the best Super Mario Brothers speedrunner, but you just couldn’t do the frame-perfect inputs? Fear not, because [Gregory Strike] is here to save the day with his automatic NES controller!

In his previous video, [Greg] already made an automatic controller that plays a sequence of inputs at the perfect time, but it still failed some of the frame-perfect tricks. So what gives? Deviation in the timing of the NES itself gives, as he shows how the NES doesn’t sample inputs at exactly the same time every frame. To account for this, he used the latch signal, which starts the controller reading process as a time reference, and replaced his digital “mixtape” with a more time-flexible Arduino. After the modification, he shows it pulling off frame-perfect inputs every time he plays Super Mario Brothers.

But if you have a controller that can do frame-perfect inputs and it can be connected to a computer, you can connect the controller to the internet! That’s right, [Greg] created a Twitch bot that tells the Arduino exactly what inputs to send, which then relays it to the NES. It accepts simple sequences of inputs via chat, and you can try it out right now on [Greg]’s Twitch stream.

This project shows promising results, and we think it’s possible to do much more with its internet connection. We’re certainly looking forward to what [Greg] decides to make next.

Video after the break.
Continue reading “Real NES Plays Frame-Perfect For You On Twitch”

A Guided Tour Of The NES

No matter your age or background, there’s an excellent chance you’ll recognize the Nintendo Entertainment System (NES) at first glance. The iconic 8-bit system not only revitalized the gaming industry, but helped to establish the “blueprint” of console gaming for decades to come. It’s a machine so legendary and transformative that even today, it enjoys a considerable following. Some appreciate the more austere approach to gaming from a bygone era, while others are fascinated with the functional aspects of console.

The NesHacker YouTube channel is an excellent example of that latter group. Host [Ryan] explores the ins and outs of the NES as a platform, with a leaning towards the software techniques used to push the system’s 6502 processor to the limits. Even if you aren’t terribly interested in gaming, the videos on assembly programming and optimization are well worth a watch for anyone writing code for vintage hardware.

Continue reading “A Guided Tour Of The NES”

Mega Man 4 Free of Charge ROM Hack Pexels Anete Lusina

Mega Man Hack Drops Charge Shot, Adds Classic Style

When it comes to the six original Mega Man games there is a clear dividing line between the first three and the last. Mega Man 4 introduced the charging shot mechanic that allowed players to hold down the fire button in order to power-up a single blast from Mega Man’s arm cannon. The aptly named, “Mega Man 4: Free of Charge” ROM hack by [Peter] seeks to bring cohesion with the first trilogy of Mega Man games by removing the charge shot mechanic completely. To compensate for the change, enemy health bars were also adjusted so that enemies aren’t as bullet-spongy.

The Mega Man 4: Free of Charge download comes as an IPS patch file. There are free utilities out there like Floating IPS that can apply the patch file to a clean dump of a NES cartridge. This ROM hack is playable on original Nintendo Entertainment System hardware via a flashcart device, or it can be played by any common NES emulator like FCEUX or Nestopia.

One of the most annoying parts of Mega Man 4 (minus the difficulty) was the constant whir of the charge shot drowning out the brilliant soundtrack. With a patch like [Peter]’s this is no longer a going concern, and players are able to give their thumbs a bit of a break by not needing to continually hold down fire throughout a run. All welcomed changes aside, it still won’t change the fact that the Japanese TV commercial for the game is cooler than the print ads in the US.

Continue reading “Mega Man Hack Drops Charge Shot, Adds Classic Style”