
Sega Mega Drive / Genesis Hardware Notes - Audiophilip
https://docs.google.com/document/d/1ST9GbFfPnIjLT5loytFCm3pB0kWQ1Oe34DCBBV8saY8/pub
======
jix
I'm one of the coders who worked on the Overdrive 2 demo (although not on the
reverse engineering that resulted in this document). We're going to release
more follow-ups about the development of the demo.

I'm currently working on a write-up of the polygon to tile drawing routine
used for the fullscreen 3D scenes.

I'm not sure about the time frame yet, but they will be posted at
[http://www.pouet.net/prod.php?which=69648](http://www.pouet.net/prod.php?which=69648)
and/or
[http://www.pouet.net/topic.php?which=11035](http://www.pouet.net/topic.php?which=11035).

~~~
danbolt
That's really exciting to hear! The fullscreen 3D bits were some of the ones
that really caught my attention.

I know with X on the Game Boy [1], lookup tables were used to speed up the
arithmetic. I'd be curious to see if the Genesis used similar techniques, or
if specific things were done with the hardware.

[1]
[https://www.youtube.com/watch?v=pbtmBQIKTh8](https://www.youtube.com/watch?v=pbtmBQIKTh8)

------
slacka
Context from ShonumiGBE+ at /r/emulation :

Might help to explain some context for people who don't know what Overdrive 2
is, or why it's important.

TiTAN is a pretty prominent group in the demo scene. They do a lot of crazy
demos, basically coding consoles to their limit while making cool audio-visual
presentations. Overdrive 2 is the follow up to the original Overdrive demo[1],
and once again TiTAN have pulled off a bunch of insane effects on the Mega
Drive.

Overdrive 2 is relevant to /r/emulation because it can't be emulated (yet).
From what I understand, it's doing a bunch of tricks (described in the write-
up on Google Docs) that emulators currently can't handle. That's right, even
in 2017, Genesis/MD emulation has a ways to go, which is kind of exciting to
me. I'd love to see emulators like Blastem, Exodus, and higan step up to the
plate. Then maybe the demo scene can come up with even more torture tests ;)

Anyway, you guys can catch Overdrive 2 over on YouTube.[2] This stuff is sick.

[1]
[http://www.pouet.net/prod.php?which=61724](http://www.pouet.net/prod.php?which=61724)

[2]
[https://www.youtube.com/watch?v=OeGdJk5zb6c](https://www.youtube.com/watch?v=OeGdJk5zb6c)

~~~
LeoPanthera
I was surprised to discover that MAME can emulate the Genesis, because a small
number of arcade games actually used Genesis hardware internally.

It's my understanding (which could easily be wrong) that MAME uses near-
circuit-level emulation of hardware in order to be as accurate as possible.
This is why it is so resource intensive.

Could the MAME Genesis emulator run this demo?

~~~
patresi
MAME nowadays is a general machine emulator, so everything from arcades,
calculators, consoles, fruit machines, computers, etc. are within the scope of
the project.

This happened when MAME and MESS merged a few years ago.

------
niftich
What a fantastic demo! Thanks for sharing your in-depth notes about reverse-
engineering the hardware's behavior.

I admit, previously I didn't understand why some emulators promoted so heavily
the fact that they did more hardware-accurate emulation.

My relationship with old consoles is one of casual nostalgia, and a crash-free
experience was all I asked for, one devoid of glaring visual glitches or
inopportune jerkiness as you're being attacked by a boss.

That's a decent goal too, but just like the demoscene attempts to push the
hardware and software to the ultimate edge of the envelope, I now better
appreciate the developers who have taken extra care to mimic the exact
operating quirks of the original. Resources like these help build the body of
knowledge for new and existing developers, and help raise the bar of what the
community desires as well.

------
giovannibajo1
Love it! I've written a hopefully accurate Genesis emulator
([https://github.com/rasky/genemu](https://github.com/rasky/genemu)) and
Overdrive is one of the holy grails of perfect emulation :)

~~~
faragon
I've found a video of Overdrive 2 demo running on an emulator [1]. It is
curious/interesting how different/broken is in the emulation vs the real
hardware.

[1] [https://www.youtube.com/watch?v=WJ3AsZp-
yTA](https://www.youtube.com/watch?v=WJ3AsZp-yTA)

~~~
Audiophilip
For reference, here's a capture from an actual Genesis:
[https://www.youtube.com/watch?v=gWVmPtr9O0g](https://www.youtube.com/watch?v=gWVmPtr9O0g)

And a live capture from the demoparty it premiered at:
[https://www.twitch.tv/videos/135854774?t=03h45m11s](https://www.twitch.tv/videos/135854774?t=03h45m11s)
It's interesting to hear the crowd's live reactions.

~~~
deelowe
Thank you for the links. Simply amazing.

------
lostgame
This is a phenomenal demo.

Do the 3D bits implement the additional SVP chip used in (AFAIK only) Virtua
Racing?

I used to do some interesting stuff with the MD / Genesis back in the day
(like when I was 10-12 years old) - first with ROM hacking and moving into
small bits of 68k ASM before getting into GBA and DS homebrew development,
which was loads of fun (especially with an R4! screw commercial ROMs, this was
a dream come true for me for homebrew! :D)

I was really involved in the Sonic Homebrew and fangaming scene and ended up
sticking around on Sonic Retro (formerly SWS2B) since 2001 but haven't been
active in ages...this makes me miss it! (I mostly do VR stuff these days :3)

~~~
jix
No. Apart from the mapper chip used to address 8MB of ROM this demo requires
no additional chips on the cartridge. Everything is done by the 68k CPU
(running the effects) and the z80 CPU (running the sound engine).

------
jaimex2
I was hoping it would go into detail about the Blast processing tricks.

~~~
Cephlin
Was the blast processing marketting only in America? Since I had never heard
of blast processing until I got on the web years later.

~~~
kikimaru
It was coined by Sega of America's marketing team, according to this wikia:
[https://segaretro.org/Blast_processing](https://segaretro.org/Blast_processing)

------
Keyframe
I guess I'll have to get that everdrive flash cart after all!

~~~
jix
Not all everdrive flash carts support the mapper/rom size our demo uses (the
SSF2 mapper with an 8MB rom). The included nfo file lists some supported flash
carts.

~~~
Keyframe
I didn't know that. Thanks for info. I had set up a sweet broadcast CRT and
Mega Drive with RGB, along with a 50/60Hz switch on it. Looking forward to
enjoying demo on real hardware. I'm looking into Mega EverDrive X7.

