From 7b77f1218624ea26dbb2efd85a19f795f5d4e02e Mon Sep 17 00:00:00 2001 From: Aaron Giles Date: Mon, 17 Dec 2007 15:19:59 +0000 Subject: Initial checkin of MAME 0.121. --- src/emu/machine/pit8253.h | 62 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 src/emu/machine/pit8253.h (limited to 'src/emu/machine/pit8253.h') diff --git a/src/emu/machine/pit8253.h b/src/emu/machine/pit8253.h new file mode 100644 index 00000000000..a99024b071f --- /dev/null +++ b/src/emu/machine/pit8253.h @@ -0,0 +1,62 @@ +/***************************************************************************** + * + * Programmable Interval Timer 8253/8254 + * + *****************************************************************************/ + +#ifndef PIT8253_H +#define PIT8253_H + +typedef enum { TYPE8253, TYPE8254 } PIT8253_TYPE; + +struct pit8253_config +{ + PIT8253_TYPE type; + struct + { + double clockin; + void (*output_callback)(int state); + void (*clock_callback)(double clockout); + } timer[3]; +}; + + + +int pit8253_init(int count, const struct pit8253_config *config); +void pit8253_reset(int which); + +READ8_HANDLER ( pit8253_0_r ); +READ8_HANDLER ( pit8253_1_r ); +WRITE8_HANDLER ( pit8253_0_w ); +WRITE8_HANDLER ( pit8253_1_w ); + +READ16_HANDLER ( pit8253_0_lsb_r ); +READ16_HANDLER ( pit8253_1_lsb_r ); +WRITE16_HANDLER ( pit8253_0_lsb_w ); +WRITE16_HANDLER ( pit8253_1_lsb_w ); + +READ16_HANDLER ( pit8253_16le_0_r ); +READ16_HANDLER ( pit8253_16le_1_r ); +WRITE16_HANDLER ( pit8253_16le_0_w ); +WRITE16_HANDLER ( pit8253_16le_1_w ); + +READ32_HANDLER ( pit8253_32le_0_r ); +READ32_HANDLER ( pit8253_32le_1_r ); +WRITE32_HANDLER ( pit8253_32le_0_w ); +WRITE32_HANDLER ( pit8253_32le_1_w ); + +READ64_HANDLER ( pit8253_64be_0_r ); +READ64_HANDLER ( pit8253_64be_1_r ); +WRITE64_HANDLER ( pit8253_64be_0_w ); +WRITE64_HANDLER ( pit8253_64be_1_w ); + +WRITE8_HANDLER ( pit8253_0_gate_w ); +WRITE8_HANDLER ( pit8253_1_gate_w ); + +int pit8253_get_frequency(int which, int timer); +int pit8253_get_output(int which, int timer); +void pit8253_set_clockin(int which, int timer, double new_clockin); + + +#endif /* PIT8253_H */ + -- cgit v1.2.3-70-g09d2