2 SHARP MZ-5500 Emulator 'EmuZ-5500'
4 Author : Takeda.Toshiya
12 void SYSPORT::initialize()
15 register_frame_event(this);
18 void SYSPORT::write_io8(uint32 addr, uint32 data)
20 switch(addr & 0x3f0) {
26 #if defined(_MZ6500) || defined(_MZ6550)
33 d_ctc->notify_intr_reti();
39 uint32 SYSPORT::read_io8(uint32 addr)
41 switch(addr & 0x3ff) {
44 #if defined(_MZ6500) || defined(_MZ6550)
45 return 0xfc | (rst ? 0 : 2) | (highden ? 1 : 0);
47 return 0xfd | (rst ? 0 : 2);
51 return d_ctc->get_intr_ack();
54 return d_sio->get_intr_ack();
62 void SYSPORT::event_frame()
69 #define STATE_VERSION 1
71 void SYSPORT::save_state(FILEIO* state_fio)
73 state_fio->FputUint32(STATE_VERSION);
74 state_fio->FputInt32(this_device_id);
76 state_fio->FputInt32(rst);
77 state_fio->FputInt32(highden);
80 bool SYSPORT::load_state(FILEIO* state_fio)
82 if(state_fio->FgetUint32() != STATE_VERSION) {
85 if(state_fio->FgetInt32() != this_device_id) {
88 rst = state_fio->FgetInt32();
89 highden = state_fio->FgetInt32();