OSDN Git Service

[General] Convert sourcecode's CRLF format: DOS(WINDOWS) to Unix, to apply patches...
[csp-qt/common_source_project-fm7.git] / source / src / vm / sc3000 / keyboard.h
1 /*
2         SEGA SC-3000 Emulator 'eSC-3000'
3
4         Author : Takeda.Toshiya
5         Date   : 2010.08.17-
6
7         [ keyboard ]
8 */
9
10 #ifndef _KEYBOARD_H_
11 #define _KEYBOARD_H_
12
13 #include "../vm.h"
14 #include "../../emu.h"
15 #include "../device.h"
16
17 #define SIG_KEYBOARD_COLUMN     0
18
19 class KEYBOARD : public DEVICE
20 {
21 private:
22         DEVICE *d_cpu, *d_pio;
23         
24         uint8* key_stat;
25         uint32* joy_stat;
26         uint8 column;
27         bool break_pressed;
28         
29         void update_keyboard();
30         
31 public:
32         KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {}
33         ~KEYBOARD() {}
34         
35         // common functions
36         void initialize();
37         void event_frame();
38         void write_signal(int id, uint32 data, uint32 mask);
39         void save_state(FILEIO* state_fio);
40         bool load_state(FILEIO* state_fio);
41         
42         // unique functions
43         void set_context_cpu(DEVICE* device)
44         {
45                 d_cpu = device;
46         }
47         void set_context_pio(DEVICE* device)
48         {
49                 d_pio = device;
50         }
51 };
52
53 #endif