diff options
author | 2007-12-17 15:19:59 +0000 | |
---|---|---|
committer | 2007-12-17 15:19:59 +0000 | |
commit | 7b77f1218624ea26dbb2efd85a19f795f5d4e02e (patch) | |
tree | 19209304095572b4fd61c2a2d6a5aa75c4e471ad /src/emu/machine/pit8253.h | |
parent | 3da7f476068b3ffef713218ba2fc1bd5030f2c38 (diff) |
Initial checkin of MAME 0.121.mame0121
Diffstat (limited to 'src/emu/machine/pit8253.h')
-rw-r--r-- | src/emu/machine/pit8253.h | 62 |
1 files changed, 62 insertions, 0 deletions
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 */ + |