summaryrefslogtreecommitdiffstatshomepage
path: root/trunk/src/mame/audio/norautp.c
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/src/mame/audio/norautp.c')
-rw-r--r--trunk/src/mame/audio/norautp.c98
1 files changed, 98 insertions, 0 deletions
diff --git a/trunk/src/mame/audio/norautp.c b/trunk/src/mame/audio/norautp.c
new file mode 100644
index 00000000000..9e6f7a20308
--- /dev/null
+++ b/trunk/src/mame/audio/norautp.c
@@ -0,0 +1,98 @@
+/************************************************************************
+ * Noraut/Kimble/Kramer Poker Sound System Analog emulation
+ * Sept 2009, Derrick Renaud & Roberto Fresca.
+ ************************************************************************/
+
+#include "emu.h"
+#include "includes/norautp.h"
+
+
+/* Discrete Sound Input Nodes */
+/* defined in norautp.h */
+
+
+static const discrete_555_desc desc_norautp_555 =
+{
+ DISC_555_OUT_ENERGY | DISC_555_OUT_AC,
+ 5, // B+ voltage of 555
+ DEFAULT_555_VALUES
+};
+
+
+#define NORAUTP_SOUND_CIRCUIT(_name, _r1, _r2, _c1, _c2, _c3, _c4) \
+static const discrete_comp_adder_table desc_##_name##_caps = \
+{ \
+ DISC_COMP_P_CAPACITOR, _c4, 3, \
+ { \
+ _c3, _c2, _c1 \
+ } \
+}; \
+ \
+DISCRETE_SOUND_START( _name ) \
+ /************************************************ \
+ * Input register mapping \
+ ************************************************/ \
+ DISCRETE_INPUT_LOGIC(NORAUTP_SND_EN) \
+ DISCRETE_INPUT_DATA (NORAUTP_FREQ_DATA) \
+ \
+ /************************************************ \
+ * Tone Generator \
+ ************************************************/ \
+ DISCRETE_COMP_ADDER(NODE_20, NORAUTP_FREQ_DATA, &desc_##_name##_caps) \
+ DISCRETE_555_ASTABLE(NODE_21, \
+ NORAUTP_SND_EN, /* RESET */ \
+ _r2, _r1, NODE_20, &desc_norautp_555) \
+ \
+ DISCRETE_OUTPUT(NODE_21, 65000.0/3.8) \
+DISCRETE_SOUND_END
+
+
+/***** Noraut Poker *****/
+
+/* Parts List - Resistors */
+#define NORAUTP_R1 RES_K(120)
+#define NORAUTP_R2 RES_K(2.2)
+
+/* Parts List - Capacitors */
+#define NORAUTP_C1 CAP_U(.01)
+#define NORAUTP_C2 CAP_U(.022)
+#define NORAUTP_C3 CAP_U(.047)
+#define NORAUTP_C4 CAP_U(.01)
+
+NORAUTP_SOUND_CIRCUIT(norautp,
+ NORAUTP_R1, NORAUTP_R2,
+ NORAUTP_C1, NORAUTP_C2, NORAUTP_C3, NORAUTP_C4)
+
+
+/***** Draw Poker HI-LO *****/
+
+/* Parts List - Resistors */
+#define DPHL_R1 RES_K(120)
+#define DPHL_R2 RES_K(1)
+
+/* Parts List - Capacitors */
+#define DPHL_C1 CAP_U(.01)
+#define DPHL_C2 CAP_U(.022)
+#define DPHL_C3 CAP_U(.05)
+#define DPHL_C4 CAP_U(.01)
+
+NORAUTP_SOUND_CIRCUIT(dphl,
+ DPHL_R1, DPHL_R2,
+ DPHL_C1, DPHL_C2, DPHL_C3, DPHL_C4)
+
+
+/***** Kimble Double HI-LO *****/
+
+/* Parts List - Resistors */
+#define KIMBLE_R1 RES_K(100)
+#define KIMBLE_R2 RES_K(1)
+
+/* Parts List - Capacitors */
+#define KIMBLE_C1 CAP_U(.01)
+#define KIMBLE_C2 CAP_U(.022)
+#define KIMBLE_C3 CAP_U(.047)
+#define KIMBLE_C4 CAP_U(.01)
+
+NORAUTP_SOUND_CIRCUIT(kimble,
+ KIMBLE_R1, KIMBLE_R2,
+ KIMBLE_C1, KIMBLE_C2, KIMBLE_C3, KIMBLE_C4)