SEGA Music To MODfile, (Semi)Automatically

One thing SEGA’s MegaDrive/Genesis and the Commodore Amiga had in common was–aside from the Motorola 68000 processor– being known for excellent music in games. As [reassembler] continues his quest to de-assemble Sonic: The Hedgehog and re-assemble the code to run on Amiga, getting the music right is a key challenge. Rather than pull MIDI info or recreate the sound by ear, [reassembler] has written a program called Sonic2MOD to automatically take the assembly file music from the MegaDrive cartridge and turn it into an Amiga-style MODfile. He’s also made a video about it that you’ll find embedded below.

Of course how music gets made differs widly on the two systems. Amiga, famously has Paula, a custom ASIC designed for sampling, allowing you to play four eight-bit voices. The Sega, of course, has that glorious FM-synthesis chip from Yamaha synthesizing five channels of CD-quality sound and one channel of sample. It’s not as well known, but the Sega also has a bonus TI-compatible programmable sound chip (PSG) that can handle 3 square-wave tone channels and one noise channel. That’s ten total channels to the Amiga’s four, and CD-quality to 8-bit voices. Knowing all that, we were very curious how close to SEGA’s original music [reassembler] could get on the Amiga.

Before he could show us, [reassembler] needed to decode the SMPS files used on Sonic: The Hedgehog and many other MegaDrive games. Presumably he could have gotten a MIDI file online somewhere– there are oodles– but the goal was to reverse engineer Sonic from its cartridge for the Amiga, not download a lot of resources from the web. SMPS is a sort of programing language for sound, telling the Yamaha and PSG chips what to do.

In some ways, it’s not unlike the Amiga’s MOD format, which programmatically specifies how to play the sampled voices also stored in the file. Translating from one to another is a matter of reading the SMPS files, extracting the timing, volume, vibrato, et cetera, and translate that into a form the MOD file can use. Then [reassembler] needed to generate samples, which was an added hiccup because the Amiga can only handle 3 octaves vs the seven of the SEGA’s FM synthesizer. He’s able to solve this simply by generating multiple samples to span the Yamaha chip’s range, though, again, at only 8-bit fidelity. It doesn’t sound half bad.

What about the four-channel limit? That’s where a bit of artistry comes in; the automated tool produces MOD files with more voices, which MOD trackers can handle at increased computational load. Computational load you don’t need when trying to play a game. Scaling down the soundtrack to the Amiga’s limits is something [reassembler] already has practice with from his famous OutRun port, though, so we’re sure he’ll get it done.

All of this effort just to match the Mega Drive makes us appreciate what a capable little computer the Sega console was; why, you can even check your stocks with it! We’ve already featured [reassembler]’s Sonic port once before, but this music tool was interesting enough we couldn’t help ourselves coming back to it. The ability to play MOD files were pretty impressive when the Amiga came out, but nowadays all you need is a ten-cent microcontroller.

Continue reading “SEGA Music To MODfile, (Semi)Automatically”

Sega Genesis Finally Gets Long-Awaited Stock Ticker App 37 Years After Launch

Until now, if you were seated at your Sega Genesis and wanted to check your stock portfolio, you were out of luck. You had to get a smartphone, or a computer, or maybe even a television to look up stock prices and understand your financial position. Thankfully, though, Sega’s neglect of its hero platform has finally been corrected. [Mike Wolak] has given the 16-bit console the real-time stock ticker it so desperately needed. 

The build runs on a MegaWiFi cartridge, which uses an ESP8266 or ESP32 microcontroller to add WiFi communication to the Sega Genesis (or Mega Drive). [Mike] wrote a custom program for the platform that would query the Finnhub HTTPS API and display live stock prices via the Genesis’s Video Display Processor. It does so via a clean console-like interface that would be familiar to users of other 16-bit machines from this era, though seeing so much textual output would have been uncommon.

By default, the stock ticker is set to show prices for major tech stocks, but you can set it up to display any major symbol available in the Finnhub data stream. You can configure up to eight custom stocks and input your holdings, and the software will calculate and display your net worth in real time.

All the files are available for those eager to monitor their portfolios on a Sega, as the financial gods intended. [Mike] notes it took a little work to get this project over the line, particularly as the ESP32-C3 doesn’t support HTTPs with stock firmware. A few other hacks were needed to keep the Genesis updating the screen during HTTP queries, too.

If you have a concentrated portfolio and a spare Sega Genesis, this could be a fun retro way to keep an eye on your holdings. Alternatively, you might prefer to go the classic paper tape route.

Continue reading “Sega Genesis Finally Gets Long-Awaited Stock Ticker App 37 Years After Launch”

Blue Hedgehog, Meet Boing Ball: Can Sonic Run On Amiga?

The Amiga was a great game system in its day, but there were some titles it was just never going to get. Sonic the Hedgehog was one of them– SEGA would never in a million years been willing to port its flagship platformer to another system. Well, SEGA might not in a million years, but [reassembler] has started that process after only thirty four.

Both the SEGA Mega Drive (that’s the Genesis for North Americans) and Amiga have Motorola 68k processors, but that doesn’t mean you can run code from one on the other: the memory maps don’t match, and the way graphics are handled is completely different. The SEGA console uses so-called “chunky” graphics, which is how we do it today. Amiga, on the other hand, is all about the bitplanes; that’s why it didn’t get a DOOM port back in the day, which may-or-may not be what killed the platform.

In this first video of what promises to be a series, [reassembler] takes us through his process of migrating code from the Mega Drive to Amiga, starting specifically with the SEGA loading screen animation, with a preview of the rest of the work to come. While watching someone wrestle with 68k assembler is always interesting, the automation he’s building up to do it with python is the real star here. Once this port is done, that toolkit should really grease the wheels of bringing other Mega Drive titles over.

It should be noted that since the Mega Drive was a 64 colour machine, [reassembler] is targeting the A1200 for his Sonic port, at least to start. He plans to reprocess the graphics for a smaller-palette A500 version once that’s done. That’s good, because it would be a bit odd to have a DOOM-clone for the A500 while being told a platformer like Sonic is too much to ask. If anyone can be trusted to pull this project off, it’s [reassembler], whose OutRun: Amiga Edition is legendary in the retro world, even if we seem to have missed covering it.

If only someone had given us a tip off, hint hint.

Continue reading “Blue Hedgehog, Meet Boing Ball: Can Sonic Run On Amiga?”

A Proper OS For The Sega Genesis/Megadrive

The console wars of the early 1990s had several players, but the battle that mattered was between Nintendo’s SNES and Sega’s Genesis, or Megadrive if you are European. They are both famous for their games, but in terms of software they can only run what’s on a cartridge. The Genesis has a Motorola 68000 on board though, which is capable of far more than just Sonic the Hedgehog. [EythorE] evidently thinks so, because here’s a port of Fusix, a UNIX-like OS, for the Sega platform.

As it stands, the OS is running on the BlastEm emulator, but given a Sega Saturn keyboard or a modified PC keyboard for the Sega, it could be run on real hardware. What you get is a basic UNIX-like OS with a working shell and the usual UNIX utilities. With 64k of memory to play with this will never be a powerhouse, but on the other hand we’d be curious to see it in a working cartridge.

Meanwhile, if the console interests you further, someone has been into its workings in great detail.


Header: Evan-Amos, CC BY-SA 3.0.

NHL 94 Sega Genesis ROM hack playing on LCD monitor.

NHL ’24 ROM Hack Reimagines Classic Game, Zamboni And All

Thirty years is a long time to keep a piece of software alive, but there aren’t many pieces of software like NHL ’94 for the Sega Genesis. Despite new annual iterations of publisher Electronic Arts’ NHL hockey video game some players never connected with it like quite like they did in 1994. For years now it’s been a tradition for members of the NHL ’94 forums to incorporate the hockey league’s current players into the Sega Genesis original, however, the work [Adam] contributed this season goes beyond a mere roster update. This NHL ’24 ROM hack is more like a complete overhaul. Everything that was old is new again. Continue reading NHL ’24 ROM Hack Reimagines Classic Game, Zamboni And All”

Mortal Kombat Stand Up Arcade machines

Mortal Kombat ROM Hack Kontinues Arcade Legacy

September 13th 1993, colloquially known as Mortal Monday, became a dividing line in the battle for 16-bit supremacy. The mega popular arcade game Mortal Kombat was ported to Super Nintendo and Sega Genesis consoles, and every fanboy and fangirl had an opinion on which version truly brought the hits.

Nintendo’s version opted to remove the blood and gore in an attempt to preserve the company’s family-friendly image, while Sega’s offering merely locked the game’s more violent content behind a cheat code that so many fans learned by heart: ABACABB. Nintendo’s decision to censor Mortal Kombat on their console pushed public opinion in favor of the Sega Genesis version being superior, though it was clear that corners were cut in order to squeeze it onto a cartridge. Recently a group of developers led by [Paulo] sought to restore the Genesis version to its full potential with a ROM hack they’re calling Mortal Kombat Arcade Edition.

Mortal Kombat Arcade Edition is the sort of ROM hack where every facet of the game has been retouched. All sorts of sound effects and animations that were omitted in the 1993 translation to the Genesis have now been restored in higher quality. Every fighter’s look was remastered to more closely match the arcade presentation complete with move timing tweaks. Secret characters like Reptile, Noob Saibot, and Ermac are all playable, plus all the character bios from the arcade game’s attract mode make an appearance. An SRAM save feature was implemented in order to save high scores, and for an additional dose of authenticity there’s even a “DIP switch” configuration screen where you can set it to free play.

This ROM hack comes as an IPS patch that can be applied to a legitimate dump of the user’s Sega Genesis or Mega Drive cartridge. The site hosting the Mortal Kombat Arcade Edition patch features an online IPS patching tool called Rom Patcher JS that makes the patching process more convenient for those attached to their browser. The patched ROM can then be enjoyed in the user’s favorite emulator of choice, though running it on original hardware via a ROM cart is also possible (even encouraged). Considering the limitations of the Sega Genesis’ color palette the revamped look of Mortal Kombat Arcade Edition is all the more impressive. It just goes to show you that Genesis still does!

Not ready to FINISH HIM? Check out this countertop arcade build featuring some Mortal Kombat II art, or marvel at the incredible effort that went into creating the Knights of the Round ROM hack known as Warlock’s Tower.

Continue reading Mortal Kombat ROM Hack Kontinues Arcade Legacy”

An Open Hardware Sega Genesis Cartridge Dumper

You might be wondering why anyone would build device to dump Sega Genesis and Mega Drive cartridges. Perhaps they want to play their well-worn copy of The Lost Vikings on their phone, or they want to keep their QVC Limited Edition Maximum Carnage box set in near mint condition. Maybe. But we’re betting that [tonyp7] was just looking for a challenge, and as an added bonus, the world gets another cool open hardware gadget in the process. Sounds like a good deal to us.

Based on the ATmega324PB, the GenDumper can take those dusty old Sega cartridges and back them up to an image file on your computer. Right now the hardware depends on a Windows program, but according to the documentation, [tonyp7] is working on a platform-agnostic Python script so everyone can play along. What you do with the image file after you’ve dumped it is your business, but presumably loading it up in an emulator would be the next step.

Considering how easy it is to find ROMs for these old games online, do you actually need a GenDumper of your own? Probably not. But it’s still an interesting piece of hardware, and if you look close enough, you just might learn a thing or two from the design. For example, [tonyp7] shows how a relatively easy to work with 12 pin USB-C connector can be used on your USB 2.0 projects to embrace the new physical connector without diving into a full USB 3.0 implementation. The keen-eyed reader might also note there’s a lesson to be learned about finalizing the name of your project before sending off your PCBs for manufacturing.

A perusal of the archive uncovered a similar project from 2012 that, believe it or not, was also tested on a copy of Madden 96. Whether that means the game is so beloved that hackers want to make sure its preserved for future generations, or so despised that they are secretly hoping the magic smoke leaks out during testing, we can’t say.