2 SHARP MZ-3500 Emulator 'EmuZ-3500'
\r
4 Author : Takeda.Toshiya
\r
14 #include "../../emu.h"
\r
15 #include "../device.h"
\r
17 #define SIG_MAIN_SACK 0
\r
18 #define SIG_MAIN_SRDY 1
\r
19 #define SIG_MAIN_INTFD 2
\r
20 #define SIG_MAIN_INT0 3
\r
21 #define SIG_MAIN_INT1 4
\r
22 #define SIG_MAIN_INT2 5
\r
23 #define SIG_MAIN_INT3 6
\r
24 #define SIG_MAIN_INT4 7
\r
25 #define SIG_MAIN_DRQ 8
\r
26 #define SIG_MAIN_INDEX 9
\r
28 class MAIN : public DEVICE
\r
31 DEVICE *d_cpu, *d_subcpu, *d_fdc;
\r
33 uint8* rbank[32]; // 64KB / 2KB
\r
39 uint8 common[0x800];
\r
40 uint8 basic[0x8000];
\r
48 bool intfd, int0, int1, int2, int3, int4;
\r
51 bool motor, drq, index;
\r
57 MAIN(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
\r
59 intfd = int0 = int1 = int2 = int3 = int4 = false;
\r
67 void write_data8(uint32 addr, uint32 data);
\r
68 uint32 read_data8(uint32 addr);
\r
69 void write_io8(uint32 addr, uint32 data);
\r
70 uint32 read_io8(uint32 addr);
\r
71 void write_signal(int id, uint32 data, uint32 mask);
\r
74 void set_context_cpu(DEVICE* device)
\r
78 void set_context_subcpu(DEVICE* device)
\r
82 void set_context_fdc(DEVICE* device)
\r