2 NEC PC-9801 Emulator 'ePC-9801'
\r
3 NEC PC-9801E/F/M Emulator 'ePC-9801E'
\r
4 NEC PC-98DO Emulator 'ePC-98DO'
\r
6 Author : Takeda.Toshiya
\r
16 #include "../../emu.h"
\r
17 #include "../device.h"
\r
21 class DISPLAY : public DEVICE
\r
25 UPD7220 *d_gdc_chr, *d_gdc_gfx;
\r
27 uint8 *ra_gfx, *cs_gfx;
\r
29 uint8 tvram[0x4000];
\r
30 #if defined(SUPPORT_2ND_VRAM)
\r
31 uint8 vram[0x40000];
\r
33 uint8 vram[0x20000];
\r
38 #if defined(SUPPORT_16_COLORS)
\r
43 scrntype palette_chr[8];
\r
44 scrntype palette_gfx8[8];
\r
46 #if defined(SUPPORT_16_COLORS)
\r
47 scrntype palette_gfx16[8];
\r
48 uint8 anapal[16][3], anapal_sel;
\r
54 #if defined(SUPPORT_16_COLORS)
\r
55 uint8 modereg2[128];
\r
56 uint8 grcg_mode, grcg_tile_ptr, grcg_tile[4];
\r
59 uint8 font[0x84000];
\r
64 uint8 screen_chr[400][641];
\r
65 uint8 screen_gfx[400][640];
\r
66 uint32 gdc_addr[480][80];
\r
68 void kanji_copy(uint8 *dst, uint8 *src, int from, int to);
\r
69 #if defined(SUPPORT_16_COLORS)
\r
70 void write_grcg(uint32 addr, uint32 data);
\r
71 uint32 read_grcg(uint32 addr);
\r
73 void draw_chr_screen();
\r
74 void draw_gfx_screen();
\r
77 DISPLAY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {}
\r
84 void write_io8(uint32 addr, uint32 data);
\r
85 uint32 read_io8(uint32 addr);
\r
86 void write_memory_mapped_io8(uint32 addr, uint32 data);
\r
87 uint32 read_memory_mapped_io8(uint32 addr);
\r
88 void save_state(FILEIO* state_fio);
\r
89 bool load_state(FILEIO* state_fio);
\r
92 void set_context_pic(DEVICE *device)
\r
96 void set_context_gdc_chr(UPD7220 *device, uint8 *ra)
\r
101 void set_context_gdc_gfx(UPD7220 *device, uint8 *ra, uint8 *cs)
\r
103 d_gdc_gfx = device;
\r
104 ra_gfx = ra; cs_gfx = cs;
\r
106 void draw_screen();
\r
108 bool sound_bios_ok;
\r