2 NEC PC-98LT Emulator 'ePC-98LT'
3 NEC PC-98HA Emulator 'eHANDY98'
5 Author : Takeda.Toshiya
12 #include "../upd765a.h"
20 void FLOPPY::write_io8(uint32 addr, uint32 data)
22 switch(addr & 0xffff) {
24 d_fdc->write_io8(1, data);
27 if(!(ctrlreg & 0x80) && (data & 0x80)) {
30 d_fdc->write_signal(SIG_UPD765A_FREADY, data, 0x40);
31 d_fdc->write_signal(SIG_UPD765A_MOTOR, data, 0x08);
40 uint32 FLOPPY::read_io8(uint32 addr)
42 switch(addr & 0xffff) {
44 return d_fdc->read_io8(0);
46 return d_fdc->read_io8(1);
48 return (d_fdc->is_disk_inserted() ? 0x10 : 0) | 0x64;
50 return (modereg & 0x03) | 0x08;
55 #define STATE_VERSION 1
57 void FLOPPY::save_state(FILEIO* state_fio)
59 state_fio->FputUint32(STATE_VERSION);
60 state_fio->FputInt32(this_device_id);
62 state_fio->FputUint8(ctrlreg);
63 state_fio->FputUint8(modereg);
66 bool FLOPPY::load_state(FILEIO* state_fio)
68 if(state_fio->FgetUint32() != STATE_VERSION) {
71 if(state_fio->FgetInt32() != this_device_id) {
74 ctrlreg = state_fio->FgetUint8();
75 modereg = state_fio->FgetUint8();