2 Skelton for retropc emulator
\r
4 Author : Takeda.Toshiya
\r
7 [ uPD1990A / uPD4990A ]
\r
10 #ifndef _UPD1990A_H_
\r
11 #define _UPD1990A_H_
\r
13 #define SIG_UPD1990A_CLK 0
\r
14 #define SIG_UPD1990A_STB 1
\r
15 #define SIG_UPD1990A_CMD 2
\r
16 #define SIG_UPD1990A_C0 3
\r
17 #define SIG_UPD1990A_C1 4
\r
18 #define SIG_UPD1990A_C2 5
\r
19 #define SIG_UPD1990A_DIN 6
\r
25 class UPD1990A : public DEVICE
\r
29 outputs_t outputs_dout;
\r
30 outputs_t outputs_tp;
\r
32 cur_time_t cur_time;
\r
33 int register_id_1sec;
\r
35 uint8 cmd, mode, tpmode;
\r
37 bool clk, stb, din, hold, tp;
\r
47 UPD1990A(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
\r
49 init_output_signals(&outputs_dout);
\r
50 init_output_signals(&outputs_tp);
\r
51 cmd = mode = tpmode = 0;
\r
53 clk = stb = din = tp = true;
\r
56 dout_changed = false;
\r
65 void write_signal(int id, uint32 data, uint32 mask);
\r
66 uint32 read_signal(int ch)
\r
70 void event_callback(int event_id, int err);
\r
71 void save_state(FILEIO* state_fio);
\r
72 bool load_state(FILEIO* state_fio);
\r
75 void set_context_dout(DEVICE* device, int id, uint32 mask)
\r
77 register_output_signal(&outputs_dout, device, id, mask);
\r
79 void set_context_tp(DEVICE* device, int id, uint32 mask)
\r
81 register_output_signal(&outputs_tp, device, id, mask);
\r