diff options
Diffstat (limited to 'trunk/src/emu/machine/8042kbdc.h')
-rw-r--r-- | trunk/src/emu/machine/8042kbdc.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/trunk/src/emu/machine/8042kbdc.h b/trunk/src/emu/machine/8042kbdc.h new file mode 100644 index 00000000000..d638933fe21 --- /dev/null +++ b/trunk/src/emu/machine/8042kbdc.h @@ -0,0 +1,45 @@ +/********************************************************************** + + 8042 Keyboard Controller Emulation + + This is the keyboard controller used in the IBM AT and further + models. It is a popular controller for PC style keyboards + +**********************************************************************/ + +#ifndef KBDC8042_H +#define KBDC8042_H + +typedef enum +{ + KBDC8042_STANDARD, + KBDC8042_PS2, /* another timing of integrated controller */ + KBDC8042_AT386 /* hack for at386 driver */ +} kbdc8042_type_t; + + +struct kbdc8042_interface +{ + kbdc8042_type_t type; + void (*set_gate_a20)(running_machine &machine, int a20); + void (*keyboard_interrupt)(running_machine &machine, int state); + void (*set_spkr)(running_machine &machine, int speaker); + int (*get_out2)(running_machine &machine); + + + +}; + + + +void kbdc8042_init(running_machine &machine, const struct kbdc8042_interface *intf); + +READ8_HANDLER(kbdc8042_8_r); +WRITE8_HANDLER(kbdc8042_8_w); +READ32_HANDLER(kbdc8042_32le_r); +WRITE32_HANDLER(kbdc8042_32le_w); +READ64_HANDLER(kbdc8042_64be_r); +WRITE64_HANDLER(kbdc8042_64be_w); + +#endif /* KBDC8042_H */ + |