2 SHARP X1 Emulator 'eX1'
3 SHARP X1twin Emulator 'eX1twin'
4 SHARP X1turbo Emulator 'eX1turbo'
5 SHARP X1turboZ Emulator 'eX1turboZ'
7 Author : Takeda.Toshiya
17 #include "../../emu.h"
18 #include "../device.h"
20 #define SIG_IOBUS_MODE 0
22 class IOBUS : public DEVICE
25 DEVICE *d_cpu, *d_display, *d_io;
28 #ifdef _X1TURBO_FEATURE
29 uint8_t vram[0x18000];
33 bool vram_mode, signal;
41 uint32_t prev_clock, vram_wait_index;
43 #ifdef _X1TURBO_FEATURE
44 uint8_t crtc_regs[18];
52 void write_port8(uint32_t addr, uint32_t data, bool is_dma, int* wait);
53 uint32_t read_port8(uint32_t addr, bool is_dma, int* wait);
57 IOBUS(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
59 set_device_name(_T("I/O Bus"));
66 void write_signal(int id, uint32_t data, uint32_t mask);
67 void write_io8w(uint32_t addr, uint32_t data, int* wait);
68 uint32_t read_io8w(uint32_t addr, int* wait);
69 void write_dma_io8w(uint32_t addr, uint32_t data, int* wait);
70 uint32_t read_dma_io8w(uint32_t addr, int* wait);
71 void save_state(FILEIO* state_fio);
72 bool load_state(FILEIO* state_fio);
75 void set_context_cpu(DEVICE* device)
79 void set_context_display(DEVICE* device)
83 void set_context_io(DEVICE* device)