+/* adjust circle-like analog inputs to better match
+ * more square-like analogs in PSX */
+static void update_analog_nub_adjust(int *x_, int *y_)
+{
+ static const int scale[] = { 0, 0, 0, 12, 30, 60, 75, 60, 60 };
+ int x = *x_;
+ int y = *y_;
+
+ x += x * scale[abs(y) / 16] >> 8;
+ y += y * scale[abs(x) / 16] >> 8;
+
+ *x_ = x;
+ *y_ = y;
+}
+