Then again, I did know that the Mega Drive's CPU loadout (68000 and Z80) is the same as the first Unix machine I ever used (a TRS-80 Model 16), so running some form of Unix on it was therefore, theoretically, possible...
Very cool to see, so pointless it just had to be done.
I was wondering how it was squeezed into 64KB of RAM but it uses the 4MB on the Everdrive cart. With that it makes sense, considering Linux can run on an N64 with 4MB of RAM.
I have such fond memories of my time back in the day owning a MegaDrive. It wasn't my first or last games console, but it was my formative one. It was a time in my life when I was into video games (Sonic 2 being the only game I ever played to completion). It pleases me to realise there's still a community around the MegaDrive and - as others has said - this is so crazy but wonderful to see!
> The lowly 68000 in the Sega doesn’t have a memory management unit required for the full Linux experience, so what’s really running here is a kernel compiled with the -nommu option.
Huh... I thought Linux actually required MMUs. I was under the impression it'd never run on these old consoles because of that. Learned something new today.
> A QEMU fork that emulates enough of the MegaDrive and the EverDrive to play with this without the real hardware is included.
There was no MMU in the Macintosh Classic/SE lineup which used the 68k as a CPU, but they still support the microcontroller targeted distros like uClinux. Unfortunately the tight integration with the ToolBox ROM makes it a fairly Herculean task. Microsoft bizarrely enough released Xenix for the Apple LISA as well, but that's more of a historic oddity.
Similarly, Basilisk II is a very worthy emulator for Mac 68k emulation so there's a lot to draw on for QEMU and the like.
Still got my Mega Drive, purchased circa 1994. Recently brought it back to life with a Level Hike (I know, apparently RAD2x is better, anyway works well enough for me) HDMI adapter (otherwise sadly it doesn't work with new digital-only TVs), the main unit and all my old games (Sonic 1 and 2, Columns, Alex Kidd in the Enchanted Castle, Wonder Boy in Monster World, Shining Force (needed new battery in cartridge for save state), Sword of Vermilion) still functioning perfectly after all these years (just needed some vigorous dusting of bottom of cartridges). Got my kids on it, they love it: "dad, so cool, boots up instantly, no lag, no ads" (unlike the rubbish apps on their other devices!).
Awesome to hear that Linux has arrived on Mega Drive. Just need it to boot up (how Sonic 1 boots up saying "seee-gaah") and to drone out "liii-nuux", hahaha.
If this inspires anyone to bust out an MD/ Genesis emu, I recommend "Subterrainia." I found it too hard in my youth, but I see now it has a near perfect learning curve. The more you play, the better you get. The controls seem impossible at first, but then you SLOWLY get comfortable with it. (Kind of like learning how to Rollerblade at age 50).
For my American friends who may not know this: The Sega MegaDrive console from the late 80's early 90's is what we call the Sega Genesis. When I saw this post, I assumed it was some kind of optical drive or the later released Sega CD (which the rest of the world called Mega-CD). We had a lot of good times playing Street Fighter II and Sonic on this system back in the day.
Yeah I had originally titled this as "Linux on the Sega Genesis" because I thought more people would be familiar with the Genesis, but then of course I was chastised for changing it and dang changed it back lol.
What a Wow, this brings back memories from my own Sega Mega Drive hacking days. About 35 years ago I built my own hardware development kit from scratch as a way to learn more about the hardware.
The 68000 isn't very fast to start with and: To get the code to fit into memory the kernel is compiled with -Os and GCC makes some poor inlining choices (keeping a call to a function that writes a value to an address in a register instead of just writing to the register, ~5 instructions vs 1), the Mega Drive only has vblank for interrupts, and so on.
27 comments
[ 2.9 ms ] story [ 55.3 ms ] threadAnd if I'm being pedantic (and I am) it's Sega Mega Drive.
Repo, which says Sega MegaDrive, is at: https://github.com/LinuxMD/linuxmd
Apt name
I've changed the title and URL to match https://github.com/LinuxMD/linuxmd and put the other URL in the toptext so people can look at it too.
Then again, I did know that the Mega Drive's CPU loadout (68000 and Z80) is the same as the first Unix machine I ever used (a TRS-80 Model 16), so running some form of Unix on it was therefore, theoretically, possible...
Bonus points if they also developed the blog on a MegaDrive.
I was wondering how it was squeezed into 64KB of RAM but it uses the 4MB on the Everdrive cart. With that it makes sense, considering Linux can run on an N64 with 4MB of RAM.
I remember fondly all the trips to the video rental store and flea market hoping to find games we could afford.
> The lowly 68000 in the Sega doesn’t have a memory management unit required for the full Linux experience, so what’s really running here is a kernel compiled with the -nommu option.
Huh... I thought Linux actually required MMUs. I was under the impression it'd never run on these old consoles because of that. Learned something new today.
> A QEMU fork that emulates enough of the MegaDrive and the EverDrive to play with this without the real hardware is included.
That's seriously impressive.
Similarly, Basilisk II is a very worthy emulator for Mac 68k emulation so there's a lot to draw on for QEMU and the like.
Awesome to hear that Linux has arrived on Mega Drive. Just need it to boot up (how Sonic 1 boots up saying "seee-gaah") and to drone out "liii-nuux", hahaha.
I documented the project here if anyone is curious: https://nestenius.se/hardware/how-i-built-my-own-sega-mega-d...
It's really fun to see Linux running on the Mega Drive. I never would have expected that back then.