OSDN Git Service

0110dac2d056303e594be24f22f6a7e49b10603d
[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         bool process_state(FILEIO* state_fio, bool loading);
41         
42         // unique functions
43         void set_context_vdp(MC6847* device)
44         {
45                 d_vdp = device;
46         }
47         void set_vram_ptr(uint8_t* ptr)
48         {
49                 ram_ptr = vram_ptr = ptr;
50         }
51         void set_context_timer(TIMER* device)
52         {
53                 d_timer = device;
54         }
55         void draw_screen();
56 };
57 #endif