summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/steppers.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine/steppers.h')
-rw-r--r--src/mame/machine/steppers.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/mame/machine/steppers.h b/src/mame/machine/steppers.h
new file mode 100644
index 00000000000..ad6094be1f8
--- /dev/null
+++ b/src/mame/machine/steppers.h
@@ -0,0 +1,40 @@
+///////////////////////////////////////////////////////////////////////////
+// //
+// Steppermotor emulation //
+// //
+// Emulates : 48 step motors driven with full step or half step //
+// also emulates the index optic //
+// //
+// 26-01-2007: J. Wallace - Rewritten to make it more flexible //
+// and to allow indices to be set in drivers //
+// 29-12-2006: J. Wallace - Added state save support //
+// 05-03-2004: Re-Animator //
+// //
+// TODO: add different types of stepper motors if needed //
+// //
+///////////////////////////////////////////////////////////////////////////
+
+
+#ifndef INC_STEPPERS
+#define INC_STEPPERS
+
+#define MAX_STEPPERS 16 // maximum number of steppers
+
+#define STEPPER_48STEP_REEL 0 // STARPOINT RMXXX reel unit
+#define BARCREST_48STEP_REEL 1 // Barcrest bespoke reel unit
+#define STEPPER_144STEPS_DICE 2 // STARPOINT 1DCU DICE mechanism - tech sheet available on request
+
+void Stepper_init( int id, int type); // init a stepper motor
+
+void Stepper_reset_position(int id); // reset a motor to position 0
+
+int Stepper_optic_state( int id); // read a motor's optics
+
+void Stepper_set_index(int id,int position,int length,int pattern);
+
+int Stepper_update(int id, UINT8 pattern); // update a motor
+
+int Stepper_get_position(int id); // get current position in half steps
+
+int Stepper_get_max(int id); // get maximum position in half steps
+#endif