2 SHARP MZ-3500 Emulator 'EmuZ-3500'
4 Author : Takeda.Toshiya
14 #include "../../emu.h"
15 #include "../device.h"
17 #define SIG_MAIN_SACK 0
18 #define SIG_MAIN_SRDY 1
19 #define SIG_MAIN_INTFD 2
20 #define SIG_MAIN_INT0 3
21 #define SIG_MAIN_INT1 4
22 #define SIG_MAIN_INT2 5
23 #define SIG_MAIN_INT3 6
24 #define SIG_MAIN_INT4 7
25 #define SIG_MAIN_DRQ 8
26 #define SIG_MAIN_INDEX 9
28 class MAIN : public DEVICE
31 DEVICE *d_maincpu, *d_subcpu, *d_fdc;
33 uint8_t* rbank[32]; // 64KB / 2KB
39 uint8_t common[0x800];
40 uint8_t basic[0x8000];
48 bool intfd, int0, int1, int2, int3, int4;
51 bool motor, drq, index;
59 MAIN(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
61 intfd = int0 = int1 = int2 = int3 = int4 = false;
63 set_device_name(_T("Memory Bus(MAIN)"));
70 void write_data8(uint32_t addr, uint32_t data);
71 uint32_t read_data8(uint32_t addr);
72 uint32_t fetch_op(uint32_t addr, int *wait);
73 void write_io8(uint32_t addr, uint32_t data);
74 uint32_t read_io8(uint32_t addr);
75 void write_signal(int id, uint32_t data, uint32_t mask);
76 bool process_state(FILEIO* state_fio, bool loading);
79 void set_context_maincpu(DEVICE* device)
83 void set_context_subcpu(DEVICE* device)
87 void set_context_fdc(DEVICE* device)