2 SHARP MZ-2500 Emulator 'EmuZ-2500'
4 Author : Takeda.Toshiya
14 #include "../../emu.h"
15 #include "../device.h"
17 #define SIG_INTERRUPT_CRTC 0
18 #define SIG_INTERRUPT_I8253 1
19 #define SIG_INTERRUPT_PRINTER 2
20 #define SIG_INTERRUPT_RP5C15 3
24 class INTERRUPT : public DEVICE
39 DEVICE *d_cpu, *d_child;
45 INTERRUPT(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
47 d_cpu = d_child = NULL;
48 set_device_name(_T("Interrupt"));
54 void write_io8(uint32_t addr, uint32_t data);
55 void write_signal(int id, uint32_t data, uint32_t mask);
56 bool process_state(FILEIO* state_fio, bool loading);
58 // interrupt common functions
59 void set_context_intr(DEVICE* device, uint32_t bit)
64 void set_context_child(DEVICE* device)
68 void set_intr_iei(bool val);
69 uint32_t get_intr_ack();
70 void notify_intr_reti();