OSDN Git Service

[VM][STATE] Apply new framework to some VMs.
[csp-qt/common_source_project-fm7.git] / source / src / vm / pc8201 / keyboard.h
index 96af33d..c965c49 100644 (file)
 class KEYBOARD : public DEVICE
 {
 private:
-       const uint8* key_stat;
-       uint16 column;
+       const uint8_t* key_stat;
+       uint16_t column;
        bool caps, kana;
        
 public:
-       KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {}
+       KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+       {
+               set_device_name(_T("Keyboard"));
+       }
        ~KEYBOARD() {}
        
        // common functions
        void initialize();
-       uint32 read_io8(uint32 addr);
-       void write_signal(int id, uint32 data, uint32 mask);
-       void save_state(FILEIO* state_fio);
-       bool load_state(FILEIO* state_fio);
+       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 function
+       // unique functions
        void key_down(int code);
+       bool get_caps_locked()
+       {
+               return caps;
+       }
+       bool get_kana_locked()
+       {
+               return kana;
+       }
 };
 
 #endif