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
30 class MAIN : public DEVICE
33 DEVICE *d_maincpu, *d_subcpu, *d_fdc;
35 uint8_t* rbank[32]; // 64KB / 2KB
41 uint8_t common[0x800];
42 uint8_t basic[0x8000];
50 bool intfd, int0, int1, int2, int3, int4;
53 bool motor, drq, index;
61 MAIN(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
63 intfd = int0 = int1 = int2 = int3 = int4 = false;
65 set_device_name(_T("Memory Bus(MAIN)"));
72 void write_data8(uint32_t addr, uint32_t data);
73 uint32_t read_data8(uint32_t addr);
74 uint32_t fetch_op(uint32_t addr, int *wait);
75 void write_io8(uint32_t addr, uint32_t data);
76 uint32_t read_io8(uint32_t addr);
77 void write_signal(int id, uint32_t data, uint32_t mask);
78 bool process_state(FILEIO* state_fio, bool loading);
81 void set_context_maincpu(DEVICE* device)
85 void set_context_subcpu(DEVICE* device)
89 void set_context_fdc(DEVICE* device)