2 EPSON HC-40 Emulator 'eHC-40'
4 Author : Takeda.Toshiya
14 #include "../../emu.h"
15 #include "../device.h"
24 class IO : public DEVICE
27 DEVICE *d_cpu, *d_mem, *d_tf20, *d_beep, *d_drec;
42 void send_to_7508(uint8_t val);
43 uint8_t rec_from_7508();
44 FIFO *cmd_buf, *rsp_buf;
46 dll_cur_time_t cur_time;
48 bool onesec_intr, onesec_intr_enb;
49 bool alarm_intr, alarm_intr_enb;
52 void update_key(int code);
55 bool kb_rep_enb, kb_caps;
56 uint8_t kb_rep_spd1, kb_rep_spd2;
59 uint8_t artsr, artdir;
65 bool res_z80, res_7508;
76 IO(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
78 set_device_name(_T("I/O Bus"));
87 void write_signal(int id, uint32_t data, uint32_t mask);
89 void event_callback(int event_id, int err);
90 void write_io8(uint32_t addr, uint32_t data);
91 uint32_t read_io8(uint32_t addr);
92 uint32_t get_intr_ack();
93 bool process_state(FILEIO* state_fio, bool loading);
96 void set_context_cpu(DEVICE* device)
100 void set_context_mem(DEVICE* device, uint8_t* ptr)
105 void set_context_tf20(DEVICE* device)
109 void set_context_beep(DEVICE* device)
113 void set_context_drec(DEVICE* device)
118 void key_down(int code);
119 void key_up(int code);