• Stars
    star
    219
  • Rank 181,133 (Top 4 %)
  • Language
    C
  • License
    GNU Lesser Genera...
  • Created over 7 years ago
  • Updated over 1 year ago

Reviews

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

Repository Details

Cycle-accurate Yamaha YM3438(YM2612) emulator

Nuked-OPN2

High accuracy Yamaha YM3438(OPN2) emulator.

The YM3438 is a CMOS variant of the YM2612 used in Sega MegaDrive(Genesis) and FM Towns.

Genesis Plus GX fork with this core integrated is available here: https://github.com/nukeykt/Genesis-Plus-GX

Features:

  • Based on YM3438 die shot reverse engineering and thus provides very high emulation accuracy.

  • Cycle-accurate.

  • Undocumented registers/features emulation.

  • SSG-EG, CSM mode emulation.

  • Compatible with the YM2612.

API documention

void OPN2_Reset(ym3438_t *chip) - Reset emulated chip
void OPN2_Clock(ym3438_t *chip, Bit32s *buffer) - Advances emulated chip state by 1 internal clock(6 master clocks). Writes signed 9-bit MOL, MOR pin states to buffer. 
void OPN2_Write(ym3438_t *chip, Bit32u port, Bit8u data) - Write 8-bit data to port.
void OPN2_SetTestPin(ym3438_t *chip, Bit32u value) - Set TEST pin value.
Bit32u OPN2_ReadTestPin(ym3438_t *chip) - Read TEST pin value.
Bit32u OPN2_ReadIRQPin(ym3438_t *chip) - Read IRQ pin value.
Bit8u OPN2_Read(ym3438_t *chip, Bit32u port) - Read chip status.

Samples

Sonic the Hedgehog: https://youtu.be/ImmKy_-pJ8g

Sega CD BIOS v1.10: https://youtu.be/s-8ASMbtojQ

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-MD-FPGA

Mega Drive/Genesis core written in Verilog
Verilog
299
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