OSDN Git Service

3882cc25f089b0ef3bf2ee16cbd53c6c56d4cb22
[csp-qt/common_source_project-fm7.git] / source / src / vm / pc6001 / display.h
1 /*
2         NEC PC-6001 Emulator 'yaPC-6001'
3
4         Author : Takeda.Toshiya
5         Date   : 2013.08.22-
6
7         [ joystick ]
8 */
9
10 #ifndef _DISPLAY_H_
11 #define _DISPLAY_H_
12
13 #include "../vm.h"
14 #include "../../emu.h"
15 #include "../device.h"
16
17 class MC6847;
18 class TIMER;
19
20 class DISPLAY : public DEVICE
21 {
22 private:
23         MC6847 *d_vdp;
24         TIMER *d_timer;
25         
26         uint8_t *ram_ptr;
27         uint8_t *vram_ptr;
28
29         int tmp_vram_size;
30 public:
31         DISPLAY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
32         {
33                 set_device_name(_T("Display"));
34         }
35         ~DISPLAY() {}
36         
37         // common functions
38         void reset();
39         void write_io8(uint32_t addr, uint32_t data);
40         void decl_state();
41         void save_state(FILEIO* state_fio);
42         bool load_state(FILEIO* state_fio);
43         
44         // unique functions
45         void set_context_vdp(MC6847* device)
46         {
47                 d_vdp = device;
48         }
49         void set_vram_ptr(uint8_t* ptr)
50         {
51                 ram_ptr = vram_ptr = ptr;
52         }
53         void set_context_timer(TIMER* device)
54         {
55                 d_timer = device;
56         }
57         void draw_screen();
58 };
59 #endif