Difference between revisions of "Comparison of Sega Mega Drive emulators"
From Sega Retro
GerbilSoft (talk | contribs) (→Emulation Capabilities: Improve VDP/S.) |
m |
||
(23 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
− | The following is a comparison of the most popular [[Sega Mega Drive | + | The following is a comparison of the most popular [[Sega Mega Drive]] emulators: |
==Emulation Capabilities== | ==Emulation Capabilities== | ||
Key for 68000: | Key for 68000: | ||
+ | * S: Speed is (roughly) accurate | ||
* D: Supports all documented instructions. | * D: Supports all documented instructions. | ||
* F: Supports undocumented flag operations. | * F: Supports undocumented flag operations. | ||
Line 10: | Line 11: | ||
Key for Z80: | Key for Z80: | ||
+ | * S: Speed is (roughly) accurate | ||
* D: Supports all documented instructions. | * D: Supports all documented instructions. | ||
* U: Supports all undocumented instructions. | * U: Supports all undocumented instructions. | ||
Line 20: | Line 22: | ||
* C: CRAM dot emulation | * C: CRAM dot emulation | ||
* S: DMA transfers with length=0 are correctly handled as length=65536. | * 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): | Key for YM2612 (In addition to numeral rating): | ||
* S: Supports SSG-EG | * S: Supports SSG-EG | ||
− | * C: Supports YM2612 | + | * 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: | Key for PSG: | ||
Line 29: | Line 37: | ||
* L: Has proper Linear Feedback Shift Register emulation. | * L: Has proper Linear Feedback Shift Register emulation. | ||
− | {| class=" | + | {| class="prettytable sortable" style="font-size: smaller; text-align: center; width: 100%; table-layout: fixed;" |
|- | |- | ||
! style="width:12em" | Emulator | ! style="width:12em" | Emulator | ||
Line 37: | Line 45: | ||
! [[YM2612]] | ! [[YM2612]] | ||
! [[SN76489|PSG]] | ! [[SN76489|PSG]] | ||
− | |||
! Speed | ! Speed | ||
! Compatibility | ! Compatibility | ||
! Debugging Capabilities | ! Debugging Capabilities | ||
+ | ! Mappers Support | ||
! Overall | ! 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| | + | | ? |
− | + | | {{no| 0}} <!-- Overall --> | |
|- | |- | ||
! [[Exodus]] | ! [[Exodus]] | ||
− | | {{yes| | + | | {{yes|SDFAMV}} <!-- 68K --> |
− | | {{yes| | + | | {{yes|SDUFRT}} <!-- Z80 --> |
− | | {{ | + | | {{partial|4 DCST}} <!-- VDP --> |
− | | {{partial|4 S}} | + | | {{partial|4 S}} <!-- YM2612 --> |
− | | {{yes|5}} | + | | {{yes| 5}} <!-- PSG --> |
− | + | | {{no|0}} <!-- Speed --> | |
− | | {{no|0}} | + | | {{yes|5}} <!-- Compat --> |
− | | {{yes|5}} | + | | {{yes|Yes, sophisticated}} <!-- Debug --> |
− | | {{yes|Yes, sophisticated}} | + | | ? |
− | | {{yes|5}} | + | | {{yes|5}} <!-- Overall --> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
! [[Genecyst]] | ! [[Genecyst]] | ||
− | | | + | | {{partial| }} <!-- 68K --> |
− | | | + | | {{partial| }} <!-- Z80 --> |
− | | | + | | {{partial| 3}} <!-- VDP --> |
− | | | + | | {{partial| 1}} <!-- YM2612 --> |
− | | | + | | {{partial| 2}} <!-- PSG --> |
− | | | + | | {{yes| 5}} <!-- Speed --> |
− | | {{yes|5}} | + | | {{partial| 3}} <!-- Compat --> |
− | | | + | | {{partial|Partial}} <!-- Debug --> |
− | | {{partial|Partial}} | + | | ? |
− | | | + | | {{partial| 2}} <!-- Overall --> |
|- | |- | ||
− | ! [[ | + | ! [[Genesis Plus GX]] |
− | | | + | | {{partial| S}} <!-- 68K --> |
− | | | + | | {{partial| S}} <!-- Z80 --> |
− | | | + | | {{partial| 4 T}} <!-- VDP --> |
− | | | + | | {{yes| 4 S / 5 SCVDTB }} <!-- YM2612 --> |
− | | | + | | {{yes| 5}} <!-- PSG --> |
− | | | + | | {{partial| 4}} <!-- Speed --> |
− | | | + | | {{yes| 5}} <!-- Compat --> |
− | | | + | | {{no|None}} <!-- Debug --> |
− | | {{ | + | | Full |
− | | | + | | {{partial| 4}} <!-- Overall --> |
− | |- | ||
− | |||
− | | | ||
− | | | ||
− | | | ||
− | | | ||
− | |||
− | | | ||
− | |||
− | |||
− | | {{ | ||
− | |||
|- | |- | ||
! [[Gens]] | ! [[Gens]] | ||
− | | {{partial|D}} | + | | {{partial| D}} <!-- 68K --> |
− | | {{partial|DU}} | + | | {{partial| DU}} <!-- Z80 --> |
− | | {{partial|2}} | + | | {{partial| 2}} <!-- VDP --> |
− | | {{partial|2}} | + | | {{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| | + | | ? |
− | | | + | | {{partial| 2}} <!-- Overall --> |
|- | |- | ||
! [[Gens/GS]] | ! [[Gens/GS]] | ||
− | | {{partial|D}} | + | | {{partial| D}} <!-- 68K --> |
− | | {{partial|DU}} | + | | {{partial| DU}} <!-- Z80 --> |
− | | {{partial|3 S}} | + | | {{partial| 3 S}} <!-- VDP --> |
− | | {{partial|2}} | + | | {{partial| 2}} <!-- YM2612 --> |
− | | | + | | {{partial| }} <!-- PSG --> |
− | | | + | | {{partial| }} <!-- Speed --> |
− | | {{ | + | | {{partial| 4}} <!-- Compat --> |
− | | | + | | {{partial|Limited; replaces emulation screen when debugging.}} <!-- Debug --> |
− | | {{ | + | | ? |
− | | | + | | {{partial| 3}} <!-- Overall --> |
|- | |- | ||
! [[Gens/GS II]] | ! [[Gens/GS II]] | ||
− | | {{partial|D}} | + | | {{partial| D}} <!-- 68K --> |
− | | {{partial| | + | | {{partial| SDUF}} <!-- Z80 --> |
− | | {{partial|3 | + | | {{partial| 3 ST}} <!-- VDP --> |
− | | {{partial|2}} | + | | {{partial| 2}} <!-- YM2612 --> |
− | | {{partial|RL; has aliasing | + | | {{partial| RL; has aliasing}} <!-- PSG --> |
− | + | | {{partial| 4}} <!-- Speed --> | |
− | + | | {{partial|4 }} <!-- Compat --> | |
− | + | | {{no|None}} <!-- Debug --> | |
− | + | | ? | |
− | + | | {{partial| 3}} <!-- Overall --> | |
− | |||
− | |||
− | | {{partial| }} | ||
− | | {{partial| }} | ||
− | | {{ | ||
− | |||
− | |||
− | |||
− | | | ||
− | | {{partial | ||
− | |||
− | |||
|- | |- | ||
! [[Kega Fusion]] | ! [[Kega Fusion]] | ||
− | | {{partial| | + | | {{partial| SD}} <!-- 68K --> |
− | | {{partial| }} | + | | {{partial| }} <!-- Z80 --> |
− | | {{partial|3 S}} | + | | {{partial| 3 S}} <!-- VDP --> |
− | | {{partial|4 S}} | + | | {{partial| 4 S *}} <!-- YM2612 --> |
− | | {{partial|4}} | + | | {{partial| 4}} <!-- PSG --> |
− | + | | {{yes| 5}} <!-- Speed --> | |
− | | {{yes|5}} | + | | {{yes| 5}} <!-- Compat --> |
− | | {{yes|5}} | + | | {{no|None}} <!-- Debug --> |
− | | {{no|None}} | + | | ? |
− | | {{partial|4}} | + | | {{partial| 4}} <!-- Overall --> |
|- | |- | ||
− | ! [[ | + | ! [[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 --> |
|- | |- | ||
! [[Regen]] | ! [[Regen]] | ||
− | | {{partial| }} | + | | {{partial| S}} <!-- 68K --> |
− | | {{partial| }} | + | | {{partial| S}} <!-- Z80 --> |
− | | {{partial|4}} | + | | {{partial| 4}} <!-- VDP --> |
− | | {{partial|4 S}} | + | | {{partial| 4 S}} <!-- YM2612 --> |
− | | {{yes|5}} | + | | {{yes| 5}} <!-- PSG --> |
− | + | | {{partial| 3}} <!-- Speed --> | |
− | | {{partial|3}} | + | | {{partial| 4}} <!-- Compat --> |
− | | {{ | + | | {{partial|Yes, buggy}} <!-- Debug --> |
− | | {{partial|Yes, buggy}} | + | | ? |
− | | {{partial|4}} | + | | {{partial| 4}} <!-- Overall --> |
|- | |- | ||
|} | |} | ||
− | * DAC / YM | + | * 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}} |
− | |||
− | |||
− | |||
==Operating Platform== | ==Operating Platform== | ||
− | {| class=" | + | {| class="prettytable sortable" style="font-size: smaller; text-align: center; width: 100%; table-layout: fixed;" |
|- | |- | ||
! style="width:12em" | Emulator | ! style="width:12em" | Emulator | ||
Line 299: | Line 256: | ||
| {{no}} | | {{no}} | ||
|- | |- | ||
− | ! [[Generator]] | + | ! [[Generator (emulator)|Generator]] |
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
Line 483: | Line 440: | ||
==Emulation Support== | ==Emulation Support== | ||
− | {| class=" | + | {| class="prettytable sortable" style="font-size: smaller; text-align: center; width: 100%; table-layout: fixed;" |
|- | |- | ||
! style="width:12em" | Emulator | ! style="width:12em" | Emulator | ||
− | ! [[Mega CD]] | + | ! [[Mega-CD]] |
! [[Sega 32X]] | ! [[Sega 32X]] | ||
! [[Sega Master System]] | ! [[Sega Master System]] | ||
Line 533: | Line 490: | ||
| {{no}} | | {{no}} | ||
|- | |- | ||
− | ! [[Generator]] | + | ! [[Generator (emulator)|Generator]] |
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
Line 645: | Line 602: | ||
| {{no}} | | {{no}} | ||
|} | |} | ||
+ | |||
+ | ==References== | ||
+ | <references/> | ||
[[Category:Emulation]] | [[Category:Emulation]] | ||
− | [[Category:Mega Drive | + | [[Category:Mega Drive emulators| ]] |
Latest revision as of 07: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:
- R: Supports undocumented register behavior.
- L: Has proper Linear Feedback Shift Register emulation.
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
- ↑ https://i.imgur.com/nyqNZaR.png (Wayback Machine: 2024-02-12 12:20)