2 Skelton for retropc emulator
4 Origin : MAME TMS9928A Core
5 Author : Takeda.Toshiya
19 #define SIG_TMS9918A_SUPER_IMPOSE 0
21 class TMS9918A : public DEVICE
25 outputs_t outputs_irq;
27 uint8 vram[TMS9918A_VRAM_SIZE];
28 uint8 screen[192][256];
29 uint8 regs[8], status_reg, read_ahead, first_byte;
32 uint16 color_table, pattern_table, name_table;
33 uint16 sprite_pattern, sprite_attrib;
34 uint16 color_mask, pattern_mask;
35 #ifdef TMS9918A_SUPER_IMPOSE
36 bool now_super_impose;
39 void set_intstat(bool val);
46 void draw_modebogus();
50 TMS9918A(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
52 init_output_signals(&outputs_irq);
53 #ifdef TMS9918A_SUPER_IMPOSE
54 now_super_impose = false;
62 void write_io8(uint32 addr, uint32 data);
63 uint32 read_io8(uint32 addr);
64 #ifdef TMS9918A_SUPER_IMPOSE
65 void write_signal(int id, uint32 data, uint32 mask);
67 void event_vline(int v, int clock);
68 void save_state(FILEIO* state_fio);
69 bool load_state(FILEIO* state_fio);
72 void set_context_irq(DEVICE* device, int id, uint32 mask)
74 register_output_signal(&outputs_irq, device, id, mask);