Difference between revisions of "Comparison of Sega Mega Drive emulators"

From Sega Retro

old>AamirM
m
 
(61 intermediate revisions by 13 users not shown)
Line 1: Line 1:
The following is a comparison of the most popular [[Sega Mega Drive/Genesis]] emulators:
+
The following is a comparison of the most popular [[Sega Mega Drive]] emulators:
  
 
==Emulation Capabilities==
 
==Emulation Capabilities==
{| class="wikitable" style="font-size: smaller; text-align: center; width: 100%; table-layout: fixed;"
+
Key for 68000:
 +
* S: Speed is (roughly) accurate
 +
* D: Supports all documented instructions.
 +
* F: Supports undocumented flag operations.
 +
* A: Supports Address Error.
 +
* M: Supports undocumented MOVEM read behavior.
 +
* V: Properly emulates DIVS/DIVU cycle timing.
 +
 
 +
Key for Z80:
 +
* S: Speed is (roughly) accurate
 +
* D: Supports all documented instructions.
 +
* U: Supports all undocumented instructions.
 +
* F: Supports undocumented flag operations.
 +
* R: Properly emulates the 'R' register.
 +
* T: Properly emulates all instruction cycle timing.
 +
 
 +
Key for VDP (In addition to numeral rating)
 +
* D: DMAs block Z80 68k bus access
 +
* C: CRAM dot emulation
 +
* S: DMA transfers with length=0 are correctly handled as length=65536.
 +
* T: Emulates the Sprite Address Table cache.
 +
* R: Emulates the $C0001C debug register.
 +
 
 +
Key for YM2612 (In addition to numeral rating):
 +
* S: Supports SSG-EG
 +
* C: Supports YM2612 debug registers $21 and $2C
 +
* V: Supports YM2612 variants(YM2612, discrete/asic YM3438)
 +
* D: Properly emulates [[User:Chimes/Low_volume_distortion|low volume distortion]]
 +
* T: Properly emulates IO timing
 +
* B: Properly emulates busy flag
 +
 
 +
Key for PSG:
 +
* R: Supports [http://www.smspower.org/Development/SN76489 undocumented register behavior].
 +
* L: Has proper Linear Feedback Shift Register emulation.
 +
 
 +
{| class="prettytable sortable" style="font-size: smaller; text-align: center; width: 100%; table-layout: fixed;"
 
|-
 
|-
 
! style="width:12em" | Emulator
 
! style="width:12em" | Emulator
Line 9: Line 44:
 
! [[VDP]]
 
! [[VDP]]
 
! [[YM2612]]
 
! [[YM2612]]
! [[PSG]]
+
! [[SN76489|PSG]]
! [[DAC]]
+
! Speed
! [[Speed]]
+
! Compatibility
! [[Compatibility]]
+
! Debugging Capabilities
! [[Overall]]
+
! Mappers Support
 +
! Overall
 +
|--
 +
! [[DGen]]/SDL
 +
| {{no|Incomplete}} <!-- 68K -->
 +
| {{partial| }} <!-- Z80 -->
 +
| {{no|0}} <!-- VDP -->
 +
| {{no|0}} <!-- YM2612 -->
 +
| {{partial| 2}} <!-- PSG -->
 +
| {{partial| 1}} <!-- Speed -->
 +
| {{partial| 2}} <!-- Compat -->
 +
| {{partial|DGen/SDL has a 68k debugger}} <!-- Debug -->
 +
| ?
 +
| {{no| 0}} <!-- Overall -->
 
|-
 
|-
! [[AGES]]
+
! [[Exodus]]
| ***
+
| {{yes|SDFAMV}} <!-- 68K -->
| ***
+
| {{yes|SDUFRT}} <!-- Z80 -->
| **
+
| {{partial|4 DCST}} <!-- VDP -->
| **
+
| {{partial|4 S}} <!-- YM2612 -->
| ***
+
| {{yes| 5}} <!-- PSG -->
| ****
+
| {{no|0}} <!-- Speed -->
| ****
+
| {{yes|5}} <!-- Compat -->
| ***
+
| {{yes|Yes, sophisticated}} <!-- Debug -->
| ***
+
| ?
|-
+
| {{yes|5}} <!-- Overall -->
! [[DebuGens]]
 
| ****
 
| ****
 
| ***
 
| ****
 
| ****
 
| ****
 
| *****
 
| ****
 
| ****
 
|-
 
! [[DGen]]
 
| ***
 
| ***
 
| ***
 
| ***
 
| ***
 
| **
 
| ****
 
| ***
 
| ***
 
|-
 
! [[GenaDrive]]
 
| **
 
| not present
 
| **
 
| *
 
| not present
 
| not present
 
| **
 
| *
 
| *
 
 
|-
 
|-
 
! [[Genecyst]]
 
! [[Genecyst]]
| **
+
| {{partial| }} <!-- 68K -->
| ***
+
| {{partial| }} <!-- Z80 -->
| ***
+
| {{partial| 3}} <!-- VDP -->
| ***
+
| {{partial| 1}} <!-- YM2612 -->
| **
+
| {{partial| 2}} <!-- PSG -->
| **
+
| {{yes| 5}} <!-- Speed -->
| *****
+
| {{partial| 3}} <!-- Compat -->
| ***
+
| {{partial|Partial}} <!-- Debug -->
| ***
+
| ?
 +
| {{partial| 2}} <!-- Overall -->
 
|-
 
|-
! [[GenEm]]
+
! [[Genesis Plus GX]]
| **
+
| {{partial| S}} <!-- 68K -->
| *
+
| {{partial| S}} <!-- Z80 -->
| **
+
| {{partial| 4 T}} <!-- VDP -->
| *
+
| {{yes| 4 S / 5 SCVDTB }} <!-- YM2612 -->
| not present
+
| {{yes| 5}} <!-- PSG -->
| *
+
| {{partial| 4}} <!-- Speed -->
| **
+
| {{yes| 5}} <!-- Compat -->
| **
+
| {{no|None}} <!-- Debug -->
| *
+
| Full
|-
+
| {{partial| 4}} <!-- Overall -->
! [[Generator]]
 
| ***
 
| ***
 
| ****
 
| ***
 
| ****
 
| ***
 
| **
 
| ***
 
| ***
 
|-
 
! [[Genesis Plus]]
 
| ****
 
| ****
 
| ****
 
| ****
 
| ***
 
| ***
 
| *
 
| ****
 
| ****
 
 
|-
 
|-
 
! [[Gens]]
 
! [[Gens]]
| ****
+
| {{partial| D}} <!-- 68K -->
| ****
+
| {{partial| DU}} <!-- Z80 -->
| ****
+
| {{partial| 2}} <!-- VDP -->
| ****
+
| {{partial| 2}} <!-- YM2612 -->
| ****
+
| {{partial| 3}} <!-- PSG -->
| ****
+
| {{partial| 4}} <!-- Speed -->
| *****
+
| {{partial| 4}} <!-- Compat -->
| ****
+
| {{partial|Limited; replaces emulation screen when debugging. See [[DebuGens]] and [[Gens KMod]] for better debugging.}} <!-- Debug -->
| ****
+
| ?
|-
+
| {{partial| 2}} <!-- Overall -->
! [[Gens Plus!]]
 
| ****
 
| ****
 
| ****
 
| ****
 
| ****
 
| ****
 
| ****
 
| ****
 
| ****
 
 
|-
 
|-
! [[Gens Movie Test]]
+
! [[Gens/GS]]
| ****
+
| {{partial| D}} <!-- 68K -->
| ****
+
| {{partial| DU}} <!-- Z80 -->
| ***
+
| {{partial| 3 S}} <!-- VDP -->
| ****
+
| {{partial| 2}} <!-- YM2612 -->
| ****
+
| {{partial| }} <!-- PSG -->
| ****
+
| {{partial| }} <!-- Speed -->
| *****
+
| {{partial| 4}} <!-- Compat -->
| ****
+
| {{partial|Limited; replaces emulation screen when debugging.}} <!-- Debug -->
| ****
+
| ?
 +
| {{partial| 3}} <!-- Overall -->
 
|-
 
|-
! [[HazeMD]]
+
! [[Gens/GS II]]
| *****
+
| {{partial| D}} <!-- 68K -->
| ****
+
| {{partial| SDUF}} <!-- Z80 -->
| *****
+
| {{partial| 3 ST}} <!-- VDP -->
| *****
+
| {{partial| 2}} <!-- YM2612 -->
| ****
+
| {{partial| RL; has aliasing}} <!-- PSG -->
| *****
+
| {{partial| 4}} <!-- Speed -->
| ****
+
| {{partial|4 }} <!-- Compat -->
| *****
+
| {{no|None}} <!-- Debug -->
| *****
+
| ?
 +
| {{partial| 3}} <!-- Overall -->
 
|-
 
|-
 
! [[Kega Fusion]]
 
! [[Kega Fusion]]
| *****
+
| {{partial| SD}} <!-- 68K -->
| ****
+
| {{partial| }} <!-- Z80 -->
| *****
+
| {{partial| 3 S}} <!-- VDP -->
| *****
+
| {{partial| 4 S *}} <!-- YM2612 -->
| ****
+
| {{partial| 4}} <!-- PSG -->
| *****
+
| {{yes| 5}} <!-- Speed -->
| *****
+
| {{yes| 5}} <!-- Compat -->
| *****
+
| {{no|None}} <!-- Debug -->
| *****
+
| ?
 +
| {{partial| 4}} <!-- Overall -->
 
|-
 
|-
! [[Megasis]]
+
! [[MESS]]
| ****
+
| {{partial| }} <!-- 68K -->
| ***
+
| {{partial| }} <!-- Z80 -->
| ***
+
| {{partial| 1 S}} <!-- VDP -->
| ****
+
| {{partial| 4 S}} <!-- YM2612 -->
| ***
+
| {{partial| 4}} <!-- PSG -->
| ****
+
| {{partial| 3}} <!-- Speed -->
| ***
+
| {{partial| 3}} <!-- Compat -->
| ***
+
| {{yes|Yes}} <!-- Debug -->
| ***
+
| Full
|-
+
| {{partial| 2}} <!-- Overall -->
! [[PSPGenesis]]
 
| not tested
 
| not tested
 
| not tested
 
| not tested
 
| not tested
 
| not tested
 
| not tested
 
| not tested
 
| not tested
 
 
|-
 
|-
 
! [[Regen]]
 
! [[Regen]]
| *****
+
| {{partial| S}} <!-- 68K -->
| *****
+
| {{partial| S}} <!-- Z80 -->
| *****
+
| {{partial| 4}} <!-- VDP -->
| *****
+
| {{partial| 4 S}} <!-- YM2612 -->
| *****
+
| {{yes| 5}} <!-- PSG -->
| *****
+
| {{partial| 3}} <!-- Speed -->
| ****
+
| {{partial| 4}} <!-- Compat -->
| *****
+
| {{partial|Yes, buggy}} <!-- Debug -->
| *****
+
| ?
 +
| {{partial| 4}} <!-- Overall -->
 
|-
 
|-
! [[retroDrive]]
 
| *****
 
| ****
 
| ****
 
| *****
 
| ****
 
| ***
 
| *****
 
| ****
 
| ****
 
|-
 
! [[Triton/Xega]]
 
| ****
 
| ****
 
| ***
 
| ****
 
| ***
 
| ****
 
| ****
 
| ****
 
| ****
 
 
|}
 
|}
  
[[Category:Emulation]]
+
* DAC / YM timers / Z80 speed emulation results in way too smooth playback, manifests as detuned samples in certain games. {{ref|https://web.archive.org/web/20240212122035/https://i.imgur.com/nyqNZaR.png}}
[[Category:Mega Drive Emulators| ]]
 
 
 
  
 
==Operating Platform==
 
==Operating Platform==
{| class="wikitable" style="font-size: smaller; text-align: center; width: 100%; table-layout: fixed;"
+
{| class="prettytable sortable" style="font-size: smaller; text-align: center; width: 100%; table-layout: fixed;"
 
|-
 
|-
 
! style="width:12em" | Emulator
 
! style="width:12em" | Emulator
Line 237: Line 194:
 
| {{no}}
 
| {{no}}
 
| {{yes}}
 
| {{yes}}
 +
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
Line 249: Line 207:
 
| {{no}}
 
| {{no}}
 
| {{yes}}
 
| {{yes}}
 +
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
Line 269: Line 228:
 
| {{no}}
 
| {{no}}
 
| {{yes}}
 
| {{yes}}
 +
| {{no}}
 
|-
 
|-
 
! [[Genecyst]]
 
! [[Genecyst]]
 
| {{yes}}
 
| {{yes}}
 +
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
Line 285: Line 246:
 
| {{yes}}
 
| {{yes}}
 
| {{yes}}
 
| {{yes}}
 +
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
Line 294: Line 256:
 
| {{no}}
 
| {{no}}
 
|-
 
|-
! [[Generator]]
+
! [[Generator (emulator)|Generator]]
 
| {{yes}}
 
| {{yes}}
 
| {{yes}}
 
| {{yes}}
Line 305: Line 267:
 
| {{no}}
 
| {{no}}
 
| {{yes}}
 
| {{yes}}
 +
| {{no}}
 
|-
 
|-
 
! [[Genesis Plus]]
 
! [[Genesis Plus]]
Line 329: Line 292:
 
| {{partial|1=As Gens-X, Gens_xport and Xenesis}}
 
| {{partial|1=As Gens-X, Gens_xport and Xenesis}}
 
| {{partial|1=As [[PGen]]}}
 
| {{partial|1=As [[PGen]]}}
 +
| {{no}}
 +
| {{no}}
 +
|-
 +
! [[Gens/GS]]
 +
| {{no}}
 +
| {{yes|Yes (r5 and later)}}
 +
| {{partial|Not officially supported}}
 +
| {{yes}}
 +
| {{partial|Not officially supported}}
 +
| {{no}}
 +
| {{no}}
 +
| {{no}}
 +
| {{no}}
 +
| {{no}}
 +
| {{no}}
 +
|-
 +
! [[Gens/GS II]]
 +
| {{no}}
 +
| {{yes}}
 +
| {{partial|Not officially supported}}
 +
| {{yes}}
 +
| {{partial|Not officially supported}}
 +
| {{no}}
 +
| {{no}}
 +
| {{no}}
 +
| {{no}}
 +
| {{no}}
 
| {{no}}
 
| {{no}}
 
|-
 
|-
Line 334: Line 324:
 
| {{no}}
 
| {{no}}
 
| {{yes}}
 
| {{yes}}
 +
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
Line 343: Line 334:
 
| {{no}}
 
| {{no}}
 
|-
 
|-
! [[Gens Movie Test]]
+
! [[Gens Rerecording]]
 
| {{no}}
 
| {{no}}
 
| {{yes}}
 
| {{yes}}
 +
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
Line 358: Line 350:
 
| {{yes}}
 
| {{yes}}
 
| {{yes}}
 
| {{yes}}
 +
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
Line 370: Line 363:
 
| {{no}}
 
| {{no}}
 
| {{yes}}
 
| {{yes}}
| {{no}}
+
| {{yes}}
 +
| {{yes}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
Line 382: Line 376:
 
| {{no}}
 
| {{no}}
 
| {{yes}}
 
| {{yes}}
 +
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
Line 402: Line 397:
 
| {{no}}
 
| {{no}}
 
| {{yes}}
 
| {{yes}}
 +
| {{no}}
 
|-
 
|-
 
! [[Regen]]
 
! [[Regen]]
Line 408: Line 404:
 
| {{no}}
 
| {{no}}
 
| {{yes}}
 
| {{yes}}
 +
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
Line 418: Line 415:
 
| {{no}}
 
| {{no}}
 
| {{yes}}
 
| {{yes}}
 +
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
Line 427: Line 425:
 
| {{no}}
 
| {{no}}
 
|-
 
|-
! [[Triton/Xega]]
+
! [[Triton (emulator)|Triton]]
 
| {{no}}
 
| {{no}}
 
| {{yes}}
 
| {{yes}}
 +
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
Line 441: Line 440:
  
 
==Emulation Support==
 
==Emulation Support==
{| class="wikitable" style="font-size: smaller; text-align: center; width: 100%; table-layout: fixed;"
+
{| class="prettytable sortable" style="font-size: smaller; text-align: center; width: 100%; table-layout: fixed;"
 
|-
 
|-
 
! style="width:12em" | Emulator
 
! style="width:12em" | Emulator
! [[Sega CD]]
+
! [[Mega-CD]]
 
! [[Sega 32X]]
 
! [[Sega 32X]]
 
! [[Sega Master System]]
 
! [[Sega Master System]]
Line 491: Line 490:
 
| {{no}}
 
| {{no}}
 
|-
 
|-
! [[Generator]]
+
! [[Generator (emulator)|Generator]]
 
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
Line 513: Line 512:
 
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
 +
| {{no}}
 +
|-
 +
! [[Gens/GS]]
 +
| {{yes}}
 +
| {{yes}}
 +
| {{no}}
 +
| {{no}}
 +
| {{no}}
 +
| {{no}}
 +
|-
 +
! [[Gens/GS II]]
 +
| {{yes}}
 +
| {{yes}}
 +
| {{no|No<br>(in progress)}}
 +
| {{no|No<br>(in progress)}}
 +
| {{no|No<br>(in progress)}}
 
| {{no}}
 
| {{no}}
 
|-
 
|-
Line 523: Line 538:
 
| {{no}}
 
| {{no}}
 
|-
 
|-
! [[Gens Movie Test]]
+
! [[Gens Rerecording]]
 
| {{yes}}
 
| {{yes}}
 
| {{yes}}
 
| {{yes}}
Line 566: Line 581:
 
| {{no}}
 
| {{no}}
 
| {{no}}
 
| {{no}}
| {{no}}
+
| {{yes}}
| {{no}}
+
| {{yes}}
| {{no}}
+
| {{yes}}
| {{no}}
+
| {{yes}}
 
|-
 
|-
 
! [[retroDrive]]
 
! [[retroDrive]]
Line 579: Line 594:
 
| {{no}}
 
| {{no}}
 
|-
 
|-
! [[Triton/Xega]]
+
! [[Triton (emulator)|Triton]]
 
| {{yes}}
 
| {{yes}}
 
| {{yes}}
 
| {{yes}}
Line 587: Line 602:
 
| {{no}}
 
| {{no}}
 
|}
 
|}
 +
 +
==References==
 +
<references/>
  
 
[[Category:Emulation]]
 
[[Category:Emulation]]
[[Category:Mega Drive Emulators| ]]
+
[[Category:Mega Drive emulators| ]]

Latest revision as of 08:27, 12 February 2024

The following is a comparison of the most popular Sega Mega Drive emulators:

Emulation Capabilities

Key for 68000:

  • S: Speed is (roughly) accurate
  • D: Supports all documented instructions.
  • F: Supports undocumented flag operations.
  • A: Supports Address Error.
  • M: Supports undocumented MOVEM read behavior.
  • V: Properly emulates DIVS/DIVU cycle timing.

Key for Z80:

  • S: Speed is (roughly) accurate
  • D: Supports all documented instructions.
  • U: Supports all undocumented instructions.
  • F: Supports undocumented flag operations.
  • R: Properly emulates the 'R' register.
  • T: Properly emulates all instruction cycle timing.

Key for VDP (In addition to numeral rating)

  • D: DMAs block Z80 68k bus access
  • C: CRAM dot emulation
  • S: DMA transfers with length=0 are correctly handled as length=65536.
  • T: Emulates the Sprite Address Table cache.
  • R: Emulates the $C0001C debug register.

Key for YM2612 (In addition to numeral rating):

  • S: Supports SSG-EG
  • C: Supports YM2612 debug registers $21 and $2C
  • V: Supports YM2612 variants(YM2612, discrete/asic YM3438)
  • D: Properly emulates low volume distortion
  • T: Properly emulates IO timing
  • B: Properly emulates busy flag

Key for PSG:

Emulator 68000 Z80 VDP YM2612 PSG Speed Compatibility Debugging Capabilities Mappers Support Overall
DGen/SDL Incomplete 0 0 2 1 2 DGen/SDL has a 68k debugger ? 0
Exodus SDFAMV SDUFRT 4 DCST 4 S 5 0 5 Yes, sophisticated ? 5
Genecyst 3 1 2 5 3 Partial ? 2
Genesis Plus GX S S 4 T 4 S / 5 SCVDTB 5 4 5 None Full 4
Gens D DU 2 2 3 4 4 Limited; replaces emulation screen when debugging. See DebuGens and Gens KMod for better debugging. ? 2
Gens/GS D DU 3 S 2 4 Limited; replaces emulation screen when debugging. ? 3
Gens/GS II D SDUF 3 ST 2 RL; has aliasing 4 4 None ? 3
Kega Fusion SD 3 S 4 S * 4 5 5 None ? 4
MESS 1 S 4 S 4 3 3 Yes Full 2
Regen S S 4 4 S 5 3 4 Yes, buggy ? 4
  • DAC / YM timers / Z80 speed emulation results in way too smooth playback, manifests as detuned samples in certain games. [1]

Operating Platform

Emulator DOS Windows Mac OS X GNU/Linux BSD BeOS Dreamcast Xbox PlayStation 2 PlayStation Portable GameCube/
Wii
AGES No Yes No No No No No No No No No
DebuGens No Yes No No No No No No No No No
DGen Yes (v.1.04a and lower) Yes Yes Yes Yes Yes No Yes No Yes No
Genecyst Yes No No No No No No No No No No
GenEm Yes Yes No No No No No No No No No
Generator Yes Yes Yes Yes Yes No Yes No No Yes No
Genesis Plus Yes Yes Yes No No No Yes No No As MEGADRIVE for PSP Yes
Gens Yes (v.1.05 and lower) Yes Yes Yes Yes Yes No As Gens-X, Gens_xport and Xenesis As PGen No No
Gens/GS No Yes (r5 and later) Not officially supported Yes Not officially supported No No No No No No
Gens/GS II No Yes Not officially supported Yes Not officially supported No No No No No No
Gens Plus! No Yes No No No No No No No No No
Gens Rerecording No Yes No No No No No No No No No
HazeMD Yes Yes No No No No No No No No No
Kega Fusion No Yes Yes Yes No No No No No No No
Megasis No Yes No No No No No No No No No
PSPGenesis No No No No No No No No No Yes No
Regen No Yes No Yes No No No No No No No
retroDrive No Yes No No No No No No No No No
Triton No Yes No No No No No No No No No

Emulation Support

Emulator Mega-CD Sega 32X Sega Master System Sega Game Gear SG-1000 SC-3000
AGES Yes Yes No No No No
DebuGens Yes Yes No No No No
DGen No No No No No No
Genecyst No No No No No No
GenEm No No No No No No
Generator No No No No No No
Genesis Plus No No No No No No
Gens Yes Yes No No No No
Gens/GS Yes Yes No No No No
Gens/GS II Yes Yes No
(in progress)
No
(in progress)
No
(in progress)
No
Gens Plus! Yes Yes Yes Yes No No
Gens Rerecording Yes Yes No No No No
HazeMD No No No No No No
Kega Fusion Yes Yes Yes Yes Yes Yes
Megasis No No No No No No
PSPGenesis No No No No No No
Regen No No Yes Yes Yes Yes
retroDrive No Yes No No No No
Triton Yes Yes Yes No No No

References

  1. https://i.imgur.com/nyqNZaR.png (Wayback Machine: 2024-02-12 12:20)