--- src\emu\ioport.c.orig 2013-02-11 14:23:02.000000000 -0500
+++ src\emu\ioport.c 2013-07-18 16:16:08.000000000 -0400
@@ -4376,6 +4376,12 @@
m_accum = 0;
// apply the delta to the accumulated value
+
+#define MYMAXDELTA 32000
+ if( delta > MYMAXDELTA )
+ delta = MYMAXDELTA;
+ if( delta < -MYMAXDELTA )
+ delta = -MYMAXDELTA;
m_accum += delta;
// if our last movement was due to a digital input, and if this control
@@ -4435,6 +4441,9 @@
// apply standard analog settings
value = apply_settings(value);
+ if ( value == 0 )
+ return; // do nothing
+
// remap the value if needed
if (m_field.remap_table() != NULL)
value = m_field.remap_table()[value];