#include "keyboard.h"
#include "../i8255.h"
#include "../z80pio.h"
-#include "../../fileio.h"
static const int key_map[14][8] = {
{0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77},
void KEYBOARD::initialize()
{
- key_stat = emu->key_buffer();
+ key_stat = emu->get_key_buffer();
column = 0;
register_frame_event(this);
}
-void KEYBOARD::write_signal(int id, uint32 data, uint32 mask)
+void KEYBOARD::write_signal(int id, uint32_t data, uint32_t mask)
{
if(id == SIG_KEYBOARD_COLUMN) {
column = data & mask; // from z80pio port a
void KEYBOARD::event_frame()
{
// update key status
- uint8 buf[256];
+ uint8_t buf[256];
memcpy(buf, key_stat, sizeof(buf));
if(!buf[0x10] && buf[0x21]) {
keys[0xf] = 0xff;
for(int i = 0; i <= 0xd; i++) {
- uint8 tmp = 0;
+ uint8_t tmp = 0;
for(int j = 0; j < 8; j++) {
tmp |= (buf[key_map[i][j]]) ? 0 : (1 << j);
}
void KEYBOARD::create_keystat()
{
- uint8 val = (!(column & 0x10)) ? keys[0xf] : ((column & 0xf) > 0xd) ? 0xff : keys[column & 0xf];
+ uint8_t val = (!(column & 0x10)) ? keys[0xf] : ((column & 0xf) > 0xd) ? 0xff : keys[column & 0xf];
d_pio0->write_signal(SIG_I8255_PORT_B, val, 0x80); // to i8255 port b
d_pio1->write_signal(SIG_Z80PIO_PORT_B, val, 0xff); // to z80pio port b
}