2 SHARP MZ-700 Emulator 'EmuZ-700'
3 SHARP MZ-800 Emulator 'EmuZ-800'
4 SHARP MZ-1500 Emulator 'EmuZ-1500'
6 Author : Takeda.Toshiya
14 #define DATA_SIZE 0x10000
15 #define ADDR_MASK (DATA_SIZE - 1)
19 void RAMFILE::initialize()
22 data_buffer = (uint8_t *)malloc(DATA_SIZE);
23 memset(data_buffer, 0, DATA_SIZE);
26 void RAMFILE::release()
37 void RAMFILE::write_io8(uint32_t addr, uint32_t data)
41 data_buffer[(data_addr++) & ADDR_MASK] = data;
44 data_addr = (addr & 0xff00) | data;
49 uint32_t RAMFILE::read_io8(uint32_t addr)
53 return data_buffer[(data_addr++) & ADDR_MASK];
58 #define STATE_VERSION 1
60 bool RAMFILE::process_state(FILEIO* state_fio, bool loading)
62 if(!state_fio->StateCheckUint32(STATE_VERSION)) {
65 if(!state_fio->StateCheckInt32(this_device_id)) {
68 state_fio->StateArray(data_buffer, DATA_SIZE, 1);
69 state_fio->StateValue(data_addr);