2 TOSHIBA PASOPIA Emulator 'EmuPIA'
4 Author : Takeda.Toshiya
11 #include "../upd765a.h"
12 #include "../../fileio.h"
14 void FLOPPY::initialize()
19 void FLOPPY::write_io8(uint32 addr, uint32 data)
22 // OA-BASIC without floppy drives
29 d_fdc->write_signal(SIG_UPD765A_TC, 0, 1);
33 d_fdc->write_signal(SIG_UPD765A_TC, 1, 1);
37 d_fdc->write_io8(addr, data);
45 d_fdc->write_signal(SIG_UPD765A_MOTOR, data, 0x40);
50 uint32 FLOPPY::read_io8(uint32 addr)
53 // OA-BASIC without floppy drives
60 return d_fdc->read_io8(addr);
63 return intr ? 0x80 : 0;
68 void FLOPPY::write_signal(int id, uint32 data, uint32 mask)
70 if(id == SIG_FLOPPY_INTR) {
71 intr = ((data & mask) != 0);
75 #define STATE_VERSION 1
77 void FLOPPY::save_state(FILEIO* state_fio)
79 state_fio->FputUint32(STATE_VERSION);
80 state_fio->FputInt32(this_device_id);
82 state_fio->FputBool(intr);
83 state_fio->FputBool(supported);
86 bool FLOPPY::load_state(FILEIO* state_fio)
88 if(state_fio->FgetUint32() != STATE_VERSION) {
91 if(state_fio->FgetInt32() != this_device_id) {
94 intr = state_fio->FgetBool();
95 supported = state_fio->FgetBool();