2 NEC PC-98LT Emulator 'ePC-98LT'
3 NEC PC-98HA Emulator 'eHANDY98'
5 Author : Takeda.Toshiya
12 #include "../upd765a.h"
13 #include "../../fileio.h"
21 void FLOPPY::write_io8(uint32 addr, uint32 data)
23 switch(addr & 0xffff) {
25 d_fdc->write_io8(1, data);
28 if(!(ctrlreg & 0x80) && (data & 0x80)) {
31 d_fdc->write_signal(SIG_UPD765A_FREADY, data, 0x40);
32 d_fdc->write_signal(SIG_UPD765A_MOTOR, data, 0x08);
41 uint32 FLOPPY::read_io8(uint32 addr)
43 switch(addr & 0xffff) {
45 return d_fdc->read_io8(0);
47 return d_fdc->read_io8(1);
49 return (d_fdc->disk_inserted() ? 0x10 : 0) | 0x64;
51 return (modereg & 0x03) | 0x08;
56 #define STATE_VERSION 1
58 void FLOPPY::save_state(FILEIO* state_fio)
60 state_fio->FputUint32(STATE_VERSION);
61 state_fio->FputInt32(this_device_id);
63 state_fio->FputUint8(ctrlreg);
64 state_fio->FputUint8(modereg);
67 bool FLOPPY::load_state(FILEIO* state_fio)
69 if(state_fio->FgetUint32() != STATE_VERSION) {
72 if(state_fio->FgetInt32() != this_device_id) {
75 ctrlreg = state_fio->FgetUint8();
76 modereg = state_fio->FgetUint8();