bool _SINGLE_MODE_DMA;
public:
- UPD71071(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ UPD71071(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
+ // TIP: if((DEVICE::prev_device == NULL) || (DEVICE::this_device_id == 0)) DEVICE must be DUMMY.
+ // And, at this device, should not be FIRST DEVICE. 20170613 Ohta.
+ DEVICE *__dev = this;
+ while((__dev->prev_device != NULL) && (__dev->this_device_id > 0)) {
+ __dev = __dev->prev_device;
+ }
for(int i = 0; i < 4; i++) {
//dma[i].dev = vm->dummy;
- dma[i].dev = NULL;
+ dma[i].dev = __dev;
}
+ d_mem = __dev;
//#ifdef SINGLE_MODE_DMA
d_dma = NULL;
//#endif
uint32_t read_io8(uint32_t addr);
void write_signal(int id, uint32_t data, uint32_t mask);
void do_dma();
- void save_state(FILEIO* state_fio);
- bool load_state(FILEIO* state_fio);
+ bool process_state(FILEIO* state_fio, bool loading);
// unique functions
void set_context_memory(DEVICE* device)
{