• Stars
    star
    299
  • Rank 139,269 (Top 3 %)
  • Language Verilog
  • License
    GNU General Publi...
  • Created over 1 year ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Mega Drive/Genesis core written in Verilog

Nuked-MD-FPGA

nukedmd_logo

by @nukeykt, @ogamespec and @andkorzh, special thanks to @HardWrMan

Cycle accurate Mega Drive emulator. Verilog version of Nuked MD. The goal of this project is to emulate Sega Mega Drive chipset accurately as possible using decapped chips photos.

Mega Drive chipset

Sega Mega Drive chipset consist of 6 integrated circuits + RAM chips:

  • Motorola 68000 (Main CPU)
  • Zilog Z80 (Sound CPU)
  • Yamaha YM7101 (VDP)
  • Yamaha YM2612/YM3438 (FM)
  • Yamaha YM6045 (Arbiter)
  • Yamaha YM6046 (IO)
  • TMSS (later revisions)

There are number of variations of chipsets across mega drive revisions. For example early revisions use NMOS 68k and Z80 chips, while later models switched to CMOS versions. Yamaha later integrated their chips into one big chip named FC1004.

Nuked-MD-FPGA currently targets NMOS 68k, NMOS Z80 and FC1004. No real mega drive used such combination, but Model 1 VA7 would be closest (CMOS 68k, NMOS Z80 and FC1004). Other variants possibly will be emulated in the future.

image

Progress

image

See Progress.md

Audio samples

https://drive.google.com/drive/folders/1RtqB4Rn1jMeVNzONG2wVgWdD4ZHzARxy?usp=sharing

References

Credits

  • nukeykt - RE, verilog implementation
  • org(ogamespec) - FC1004 decap, RE, useful tools, etc.
  • andkorzh - RE
  • HardWareMan - YM2612 decap pics, RE

More Repositories

1

NBlood

Reverse-engineered ports of Build games using EDuke32 engine technology and development principles (NBlood/Rednukem/PCExhumed)
C++
609
star
2

Nuked-SC55

Roland SC-55 series emulation
C++
415
star
3

Nuked-OPN2

Cycle-accurate Yamaha YM3438(YM2612) emulator
C
219
star
4

Nuked-OPL3

Highly accurate Yamaha OPL3 (YMF262, CT1747) emulator
C
167
star
5

Nuked-MD

Cycle accurate Mega Drive emulator
C
147
star
6

Nuked-OPM

Cycle accurate Yamaha YM2151 emulator
C
72
star
7

Nuked-OPLL

Cycle accurate Yamaha YM2413 and VRC7 emulator
C
71
star
8

Nuked-SMS-FPGA

Sega Master System emulator written in Verilog
Verilog
45
star
9

NRedneck

Redneck Rampage & Duke Nukem 3D port based on EDuke32
C++
44
star
10

PCDoom-v2

Doom port for DOS
C
42
star
11

Nuked-SMS

Sega Master System emulator (WIP)
C
31
star
12

YM2608-LLE

very low-level YM2608B/YM2610/YM2612 emulator
C
30
star
13

Nuked-PSG

Yamaha YM7101 PSG emulator
C
27
star
14

WinOPL3Driver

C++
26
star
15

LPC-Sound-Blaster

FPGA Sound Blaster over LPC bus experiments
Verilog
21
star
16

YMF262-LLE

very low-level YMF262 (OPL3) emulator
C
20
star
17

YM3812-LLE

very low-level YM3812(OPL2) emulator
C
18
star
18

YMF276-LLE

very low-level YMF276/YM3438 (OPN2) emulator
C
16
star
19

pcdoom

dos port
C
13
star
20

Nuked-OPN2-FPGA

YM3438 verilog
Verilog
13
star
21

Blood-RE

Blood source code reconstruction
C++
12
star
22

LPC-GUS

FPGA Gravis Ultrasound over LPC bus experiments
Verilog
10
star
23

VRC7dump

Konami/Yamaha VRC7 internal patch ROM dump
C++
10
star
24

Nuked-OPNB

YM2610 emulator(WIP)
C
10
star
25

raptor

C++
9
star
26

YM7101

YM7101 VDP (Mega Drive) research
C++
8
star
27

Redneck-Rampage-RE

Redneck Rampage source code reconstruction
C
6
star
28

mcuemu

sc55mkII emulator (wip)
C++
6
star
29

Doom32x-RE

Doom 32x source code reconstruction (WIP)
C
6
star
30

pcstrife

C
5
star
31

YM2610-logisim

YM2610/YM2612 logisim
4
star
32

YM2602-Logisim

Yamaha YM2602B (SMS VDP) in logisim-evo (WIP)
4
star
33

nukeykt

2
star
34

HMIPlay

HMI music playback code reverse-engineering for ETekWar/EWitchaven
C
1
star
35

Z80

Z80 emulator (WIP)
C++
1
star
36

samapedit

Blood MAPEDIT port using JFBuild
C
1
star