2 NEC PC-9801 Emulator 'ePC-9801'
3 NEC PC-9801E/F/M Emulator 'ePC-9801E'
4 NEC PC-9801U Emulator 'ePC-9801U'
5 NEC PC-9801VF Emulator 'ePC-9801VF'
6 NEC PC-9801VM Emulator 'ePC-9801VM'
7 NEC PC-9801VX Emulator 'ePC-9801VX'
8 NEC PC-9801RA Emulator 'ePC-9801RA'
9 NEC PC-98XA Emulator 'ePC-98XA'
10 NEC PC-98XL Emulator 'ePC-98XL'
11 NEC PC-98RL Emulator 'ePC-98RL'
12 NEC PC-98DO Emulator 'ePC-98DO'
14 Author : Takeda.Toshiya
25 #ifdef SUPPORT_PC98_OPNA
32 void FMSOUND::write_io8(uint32_t addr, uint32_t data)
36 d_opn->write_io8(0, data);
39 d_opn->write_io8(1, data);
41 #ifdef SUPPORT_PC98_OPNA
44 d_opn->write_io8(2, data);
49 d_opn->write_io8(3, data);
59 uint32_t FMSOUND::read_io8(uint32_t addr)
63 return d_opn->read_io8(0);
65 return d_opn->read_io8(1);
66 #ifdef SUPPORT_PC98_OPNA
69 return d_opn->read_io8(2);
74 return d_opn->read_io8(3);
78 return BOARD_ID | (mask & 3);
84 #ifdef SUPPORT_PC98_OPNA
85 #define STATE_VERSION 1
87 #include "../statesub.h"
89 void FMSOUND::decl_state()
91 enter_decl_state(STATE_VERSION);
93 DECL_STATE_ENTRY_UINT8(mask);
98 void FMSOUND::save_state(FILEIO* state_fio)
100 if(state_entry != NULL) {
101 state_entry->save_state(state_fio);
103 // state_fio->FputUint32(STATE_VERSION);
104 // state_fio->FputInt32(this_device_id);
106 // state_fio->FputUint8(mask);
109 bool FMSOUND::load_state(FILEIO* state_fio)
112 if(state_entry != NULL) {
113 mb = state_entry->load_state(state_fio);
115 if(!mb) return false;
116 // if(state_fio->FgetUint32() != STATE_VERSION) {
119 // if(state_fio->FgetInt32() != this_device_id) {
122 // mask = state_fio->FgetUint8();