-/*\r
- NEC PC-8201 Emulator 'ePC-8201'\r
-\r
- Author : Takeda.Toshiya\r
- Date : 2009.03.31-\r
-\r
- [ keyboard ]\r
-*/\r
-\r
-#ifndef _KEYBOARD_H_\r
-#define _KEYBOARD_H_\r
-\r
-#include "../vm.h"\r
-#include "../../emu.h"\r
-#include "../device.h"\r
-\r
-#define SIG_KEYBOARD_COLUMN_L 0\r
-#define SIG_KEYBOARD_COLUMN_H 1\r
-\r
-class KEYBOARD : public DEVICE\r
-{\r
-private:\r
- uint8* key_stat;\r
- uint16 column;\r
- bool caps, kana;\r
- \r
-public:\r
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {}\r
- ~KEYBOARD() {}\r
- \r
- // common functions\r
- void initialize();\r
- uint32 read_io8(uint32 addr);\r
- void write_signal(int id, uint32 data, uint32 mask);\r
- \r
- // unique function\r
- void key_down(int code);\r
-};\r
-\r
-#endif\r
+/*
+ NEC PC-8201 Emulator 'ePC-8201'
+
+ Author : Takeda.Toshiya
+ Date : 2009.03.31-
+
+ [ keyboard ]
+*/
+
+#ifndef _KEYBOARD_H_
+#define _KEYBOARD_H_
+
+#include "../vm.h"
+#include "../../emu.h"
+#include "../device.h"
+
+#define SIG_KEYBOARD_COLUMN_L 0
+#define SIG_KEYBOARD_COLUMN_H 1
+
+class KEYBOARD : public DEVICE
+{
+private:
+ const uint8_t* key_stat;
+ uint16_t column;
+ bool caps, kana;
+
+public:
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ {
+ set_device_name(_T("Keyboard"));
+ }
+ ~KEYBOARD() {}
+
+ // common functions
+ void initialize();
+ uint32_t read_io8(uint32_t addr);
+ void write_signal(int id, uint32_t data, uint32_t mask);
+ bool process_state(FILEIO* state_fio, bool loading);
+
+ // unique functions
+ void key_down(int code);
+ bool get_caps_locked()
+ {
+ return caps;
+ }
+ bool get_kana_locked()
+ {
+ return kana;
+ }
+};
+
+#endif