2 Skelton for retropc emulator
4 Author : Takeda.Toshiya
17 #define SIG_MC6820_PORT_A 0
18 #define SIG_MC6820_PORT_B 1
19 #define SIG_MC6820_C1_A 2
20 #define SIG_MC6820_C1_B 3
21 #define SIG_MC6820_C2_A 4
22 #define SIG_MC6820_C2_B 5
24 class MC6820 : public DEVICE
36 outputs_t outputs_irq;
40 MC6820(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
42 for(int i = 0; i < 2; i++) {
43 init_output_signals(&port[i].outputs);
44 init_output_signals(&port[i].outputs_irq);
45 port[i].wreg = port[i].rreg = 0;//0xff;
52 void write_io8(uint32 addr, uint32 data);
53 uint32 read_io8(uint32 addr);
54 void write_signal(int id, uint32 data, uint32 mask);
55 void save_state(FILEIO* state_fio);
56 bool load_state(FILEIO* state_fio);
59 void set_context_port_a(DEVICE* device, int id, uint32 mask, int shift)
61 register_output_signal(&port[0].outputs, device, id, mask, shift);
63 void set_context_port_b(DEVICE* device, int id, uint32 mask, int shift)
65 register_output_signal(&port[1].outputs, device, id, mask, shift);
67 void set_context_irq_a(DEVICE* device, int id, uint32 mask)
69 register_output_signal(&port[0].outputs_irq, device, id, mask);
71 void set_context_irq_b(DEVICE* device, int id, uint32 mask)
73 register_output_signal(&port[1].outputs_irq, device, id, mask);