2 Skelton for retropc emulator
4 Author : Takeda.Toshiya
16 #include "fmgen/opm.h"
19 #define SUPPORT_MAME_FM_DLL
20 #include "fmdll/fmdll.h"
23 #define SIG_YM2151_MUTE 0
25 class YM2151 : public DEVICE
29 outputs_t outputs_irq;
32 #ifdef SUPPORT_MAME_FM_DLL
55 void update_interrupt();
58 YM2151(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
60 init_output_signals(&outputs_irq);
68 void write_io8(uint32 addr, uint32 data);
69 uint32 read_io8(uint32 addr);
70 void write_signal(int id, uint32 data, uint32 mask);
71 void event_vline(int v, int clock);
72 void event_callback(int event_id, int error);
73 void mix(int32* buffer, int cnt);
74 void update_timing(int new_clocks, double new_frames_per_sec, int new_lines_per_frame);
75 void save_state(FILEIO* state_fio);
76 bool load_state(FILEIO* state_fio);
79 void set_context_irq(DEVICE* device, int id, uint32 mask)
81 register_output_signal(&outputs_irq, device, id, mask);
83 void init(int rate, int clock, int samples, int vol);
84 void SetReg(uint addr, uint data); // for patch