2 FUJITSU FMR-30 Emulator 'eFMR-30'
4 Author : Takeda.Toshiya
12 void CMOS::initialize()
15 memset(cmos, 0xff, sizeof(cmos));
18 FILEIO* fio = new FILEIO();
19 if(fio->Fopen(create_local_path(_T("CMOS.BIN")), FILEIO_READ_BINARY)) {
20 fio->Fread(cmos, sizeof(cmos), 1);
29 FILEIO* fio = new FILEIO();
30 if(fio->Fopen(create_local_path(_T("CMOS.BIN")), FILEIO_WRITE_BINARY)) {
31 fio->Fwrite(cmos, sizeof(cmos), 1);
38 void CMOS::write_io8(uint32_t addr, uint32_t data)
40 if(cmos[addr & 0x1fff] != data) {
41 cmos[addr & 0x1fff] = data;
46 uint32_t CMOS::read_io8(uint32_t addr)
48 return cmos[addr & 0x1fff];
51 #define STATE_VERSION 1
53 void CMOS::save_state(FILEIO* state_fio)
55 state_fio->FputUint32(STATE_VERSION);
56 state_fio->FputInt32(this_device_id);
58 state_fio->Fwrite(cmos, sizeof(cmos), 1);
59 state_fio->FputBool(modified);
62 bool CMOS::load_state(FILEIO* state_fio)
64 if(state_fio->FgetUint32() != STATE_VERSION) {
67 if(state_fio->FgetInt32() != this_device_id) {
70 state_fio->Fread(cmos, sizeof(cmos), 1);
71 modified = state_fio->FgetBool();