2 SHARP MZ-2500 Emulator 'EmuZ-2500'
4 Author : Takeda.Toshiya
11 #include "../z80sio.h"
18 void SERIAL::write_io8(uint32_t addr, uint32_t data)
26 d_sio->write_io8(addr, data);
34 d_sio->write_io8(addr, data);
38 addr_a0 = ((data & 0x80) == 0);
39 d_sio->set_tx_clock(0, (4000000.0 / 13.0) / (1 << ((data >> 3) & 7)));
40 d_sio->set_rx_clock(0, (4000000.0 / 13.0) / (1 << ((data >> 3) & 7)));
41 d_sio->set_tx_clock(1, (4000000.0 / 13.0) / (1 << ((data >> 0) & 7)));
42 d_sio->set_rx_clock(1, (4000000.0 / 13.0) / (1 << ((data >> 0) & 7)));
47 uint32_t SERIAL::read_io8(uint32_t addr)
55 return d_sio->read_io8(addr);
63 return d_sio->read_io8(addr);
70 #define STATE_VERSION 1
72 void SERIAL::save_state(FILEIO* state_fio)
74 state_fio->FputUint32(STATE_VERSION);
75 state_fio->FputInt32(this_device_id);
77 state_fio->FputBool(addr_a0);
80 bool SERIAL::load_state(FILEIO* state_fio)
82 if(state_fio->FgetUint32() != STATE_VERSION) {
85 if(state_fio->FgetInt32() != this_device_id) {
88 addr_a0 = state_fio->FgetBool();