2 TOSHIBA PASOPIA Emulator 'EmuPIA'
4 Author : Takeda.Toshiya
11 #include "../upd765a.h"
13 void FLOPPY::initialize()
18 void FLOPPY::write_io8(uint32 addr, uint32 data)
21 // OA-BASIC without floppy drives
28 d_fdc->write_signal(SIG_UPD765A_TC, 0, 1);
32 d_fdc->write_signal(SIG_UPD765A_TC, 1, 1);
36 d_fdc->write_io8(addr, data);
44 d_fdc->write_signal(SIG_UPD765A_MOTOR, data, 0x40);
49 uint32 FLOPPY::read_io8(uint32 addr)
52 // OA-BASIC without floppy drives
59 return d_fdc->read_io8(addr);
62 return intr ? 0x80 : 0;
67 void FLOPPY::write_signal(int id, uint32 data, uint32 mask)
69 if(id == SIG_FLOPPY_INTR) {
70 intr = ((data & mask) != 0);
74 #define STATE_VERSION 1
76 void FLOPPY::save_state(FILEIO* state_fio)
78 state_fio->FputUint32(STATE_VERSION);
79 state_fio->FputInt32(this_device_id);
81 state_fio->FputBool(intr);
82 state_fio->FputBool(supported);
85 bool FLOPPY::load_state(FILEIO* state_fio)
87 if(state_fio->FgetUint32() != STATE_VERSION) {
90 if(state_fio->FgetInt32() != this_device_id) {
93 intr = state_fio->FgetBool();
94 supported = state_fio->FgetBool();