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.
These days, if you want to code a game for the original Nintendo Entertainment System, it’s about as easy as downloading an assembler, firing up Notepad, and running the ROMs you cook up in any one of a variety of emulators. In the 1980s none of those things existed, and the process was a little more complicated – as demonstrated by [Tyler Barnes] in the video embedded below.
[Tyler] has put together a 40-minute guide on what it takes to get to “Hello World” – or more accurately, a simple pink screen – on the NES, using period-correct hardware. He starts the process by formatting some floppy disks and whipping up some basic assembly code on an Apple IIe, which gets run through the Merlin assembler for the 6502. It’s particularly convenient as the Apple II line and the NES both run the same CPU. From there it’s a case of using a standalone EPROM programmer to verify some appropriately-datecoded chips are empty, before programming them in a special add-on card for the Apple II. From there, the EPROMs are loaded into a cart custom modified with chip sockets, where it can be inserted into a NES for testing.
It’s a tedious process, with just the programming side of things taking on the order of ten to twenty minutes with a few fiddly steps along the way. While there are likely some efficiency gains to be had that were used by studios back in the day, it remains clear that development in this era was a much slower process.
Rather than work with an original NES, [kevtris] chose to instead work with the NT Mini, an FPGA-based clone of his own design. Having picked up an EL640.480-AA1 screen, formerly from a DEK 265LT pick-and-place machine, he hunted down a data sheet and got to work. With the document outlining the required video input specifications, it was a simple matter of whipping up some Verilog and an adapter cable to get things working.
Mario, Kirby and friends can now run around, looking resplendent in the 9 colors of the red/green EL display. [kevtris] notes that the screen performs well with fast motion, and estimates the refresh rate to be in the vicinity of 60Hz. For those of you playing along at home, such screens are available online, though they’re not exactly cheap.
The Zelda series of games are known for their exciting gameplay, compelling story, but also their soundtracks. From fast-paced boss battles, to scenes of emotional turmoil, these tunes have been pumped out millions of Nintendo consoles over the years. [Tyler Barnes] has been a fan for a long time, and decided to produce a compilation of some of these tracks – delivering it on cartridge, of course.
The music was created using the Music Macro Language, and encoded into the NSF format ready to play on the Nintendo Entertainment System. [Tyler] has coded a menu system that allows the user to pick which tracks they wish to listen to. There’s some pretty parallax animations as well, along with an easter egg for those who know the games well enough to unlock it.
[Tyler] hopes to burn a few EEPROMs and send out some custom carts, either using donor carts or fresh builds. If you’re a fan of NES music but need your C64 fix as well, there’s a solution for that too. Video after the break.
The build uses a Spartan 6 from Xilinx, which [Jon] uses in the form of his own development board design. The NES core is courtesy of code by [Brian Bennett], sourced from Github. Games are loaded from an SD card by a Parallax Propeller, which passes the data to the FPGA over a serial connection. Display is on a sharp 800×480 LCD, with the 4:3 video output of the NES being displayed in a pillarboxed fashion.
The project is assembled on perfboard, with a pleasing handheld formfactor. Control is via tactile pushbuttons in the classic NES layout. Current draw is approximately 400 mA, giving a runtime of around 5 hours when running off four AA batteries.
Wheel of Fortune is a television game show, born in the distant year of 1975. Like many popular television properties of the era, it spawned a series of videogames on various platforms. Like many a hacker, [Chris] had been loading up the retro NES title on his Raspberry Pi when he realized that, due to the limitations of the cartridge format, he was playing the same puzzles over and over again. There was nothing for it, but to load a hex editor and get to work.
[Chris’s] initial investigation involved loading up the ROM in a hex editor and simply searching for ASCII strings of common puzzles in the game. Initial results were positive, turning up several scraps of plaintext. Eventually, it became apparent that the puzzles were stored in ASCII, but with certain most-significant-bits changed in order to mark the line breaks and ends of puzzles. [Chris] termed the format wheelscii, and developed an encoder that could turn new puzzles into the same format.
After some preliminary experimentation involving corrupting the puzzles and testing various edge cases, [Chris] decided to implement a complete fix. Puzzles were sourced from the Wheel of Fortune Puzzle Compendium, which should have plenty of fresh content for all but the most addicted viewers. A script was then created that would stuff 1000 fresh puzzles into the ROM at load time to minimize the chances of seeing duplicate puzzles.
Being relegated to player two used to be a mark of disgrace in the 8-bit era of videogames. Between never being to select a level and having to wait your turn to play, the second player experience was decidedly third rate. Super Mario Bros. on the Nintendo Entertainment System was no different in this regard as it offered no character selection option and also required players to alternate taking control upon failing stages. It made the two player mode more like playing in parallel than actually together. However, there is a new ROM Hack for the original Super Mario Bros. from [Corpse Grinder] that allows players to play as the Brothers Mario simultaneously. Finally, a true co-op experience.
It’s important to note that the level power-ups have not been doubled-up in the patch, so this will no doubt be some friendly competition. Also it would be in both players interest to play with someone around their same skill level as any player dying in a level will cause both to start back at the last checkpoint. Not to worry, [Corpse Grinder] appears to have yet another Super Mario Bros. co-op patch in the works with this video from their YouTube channel below.
Whether you dump your own NES cartridge or extract the ROM image of Super Mario from a Virtual Console download, the patch itself comes in the form of a XDelta file. In order to apply the patch to a ROM image of Super Mario Bros. you’ll need a program like xdelta UI. Make sure to backup a copy of the ROM image before applying the patch, because this process is a one-way street.