A very interesting interview with M2, who was responsible of the recent 3DS adaptation of Sonic the Hedgehog MD, where they explain the difficulties they had with emulating the Mega Drive on the (relatively weak) 3DS hardware and how they ended designing a virtual VDP with extra features for 3D display
It is not common that we see companies sharing technical details so I thought it was worth mentionning here. I always felt that M2, much more than other companies who developped MD emulators in the past, were putting a lot of love and passion in their work and these interviews kind of confirm it...GigaDrive (aka Super MegaDrive) Specs, Draft v1.0.
In a fictional version of the early 1990s where 3D TVs have proliferated, M2 has finalized the specs for an imaginary 3D TV-compatible SEGA game console, the GigaDrive. The 3D MegaDrive, which will subsequently be released by SEGA, will conform to these imaginary hardware specs. While highly unlikely to ever see the light of day, in the off chance that it does, M2 has taken careful consideration to ensure backwards compatibility with MegaDrive cartridges. In this era, once 3D MegaDrive titles popped up, a fair selection of games were released for the GigaDrive.
Hey you!! Why not give SEGA’s new imaginary console a test drive with 3D Sonic?
* Please note the specs below are in draft form. There will be changes in subsequent revisions.
■ The GigaDrive supports backward compatibility with MegaDrive games (Unmodified MDROMs will run normally without modification)
・Expanded VDP register for controlling expanded functionality included
・Expanded VRAM included
・Four extra background layers included
・Z-values can be set for each extra background or raster line
・Every sprite has a Z-value setting.
・VDP and Expanded VDP registers are memory-mapped and accessible
・VRAM and Expanded VRAM are memory-mapped and accessible
/*
* Memory Map
*
* $c00000 r/w VDP DATA
* $c00002 r/w VDP DATA
* $c00004 r/w VDP STATUS(read)/CTRL(write)
* $c00006 r/w VDP STATUS(read)/CTRL(write)
* $c00100-$c0012f -/w VDP REGS(write only)
* $c00130-$c0015f -/w EXT VDP REGS(write only)
* $c00200-$c0024f r/w VSRAM
* $c00300-$c0030f r/w DIPSW
* $d00000-$d0ffff r/w 64KB VRAM
* $d10000-$d1ffff r/w 64KB EXT VRAM
――Detailed I/O Map spec omitted――