2 Skelton for retropc emulator
\r
4 Author : Takeda.Toshiya
\r
10 #ifndef _UPD71071_H_
\r
11 #define _UPD71071_H_
\r
17 #define SIG_UPD71071_CH0 0
\r
18 #define SIG_UPD71071_CH1 1
\r
19 #define SIG_UPD71071_CH2 2
\r
20 #define SIG_UPD71071_CH3 3
\r
22 class UPD71071 : public DEVICE
\r
26 #ifdef SINGLE_MODE_DMA
\r
29 outputs_t outputs_tc;
\r
38 uint8 b16, selch, base;
\r
40 uint8 req, sreq, mask, tc;
\r
43 UPD71071(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
\r
45 for(int i = 0; i < 4; i++) {
\r
46 dma[i].dev = vm->dummy;
\r
48 #ifdef SINGLE_MODE_DMA
\r
51 init_output_signals(&outputs_tc);
\r
57 void write_io8(uint32 addr, uint32 data);
\r
58 uint32 read_io8(uint32 addr);
\r
59 void write_signal(int id, uint32 data, uint32 mask);
\r
61 void save_state(FILEIO* state_fio);
\r
62 bool load_state(FILEIO* state_fio);
\r
65 void set_context_memory(DEVICE* device)
\r
69 void set_context_ch0(DEVICE* device)
\r
71 dma[0].dev = device;
\r
73 void set_context_ch1(DEVICE* device)
\r
75 dma[1].dev = device;
\r
77 void set_context_ch2(DEVICE* device)
\r
79 dma[2].dev = device;
\r
81 void set_context_ch3(DEVICE* device)
\r
83 dma[3].dev = device;
\r
85 #ifdef SINGLE_MODE_DMA
\r
86 void set_context_child_dma(DEVICE* device)
\r
91 void set_context_tc(DEVICE* device, int id, uint32 mask)
\r
93 register_output_signal(&outputs_tc, device, id, mask);
\r