OSDN Git Service

[VM][WIP] Use namespace to devices per VMs.
[csp-qt/common_source_project-fm7.git] / source / src / vm / msx / keyboard.h
1 /*
2         ASCII MSX1 Emulator 'yaMSX1'
3         ASCII MSX2 Emulator 'yaMSX2'
4         Pioneer PX-7 Emulator 'ePX-7'
5
6         Author : tanam
7         Date   : 2013.06.29-
8
9         modified by Takeda.Toshiya
10
11         [ keyboard ]
12 */
13
14 #ifndef _KEYBOARD_H_
15 #define _KEYBOARD_H_
16
17 #include "../vm.h"
18 #include "../../emu.h"
19 #include "../device.h"
20
21 #define SIG_KEYBOARD_COLUMN     0
22
23 namespace MSX {
24
25 class KEYBOARD : public DEVICE
26 {
27 private:
28 //      DEVICE *d_cpu, *d_pio;
29         DEVICE *d_pio;
30         
31         const uint8_t* key_stat;
32         uint8_t column;
33 //      bool break_pressed;
34         
35         void update_keyboard();
36         
37 public:
38         KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
39         {
40                 set_device_name(_T("Keyboard"));
41         }
42         ~KEYBOARD() {}
43         
44         // common functions
45         void initialize();
46         void event_frame();
47         void write_signal(int id, uint32_t data, uint32_t mask);
48         bool process_state(FILEIO* state_fio, bool loading);
49         
50         // unique functions
51 //      void set_context_cpu(DEVICE* device)
52 //      {
53 //              d_cpu = device;
54 //      }
55         void set_context_pio(DEVICE* device)
56         {
57                 d_pio = device;
58         }
59 };
60
61 }
62 #endif