+ int i;
+
+#ifdef NO_JOYSTICK
+ return; /* joysticks generally deactivated by compile-time directive */
+#endif
+
+ /* always start with reliable default values */
+ joystick.status = JOYSTICK_NOT_AVAILABLE;
+ for (i=0; i<MAX_PLAYERS; i++)
+ joystick.fd[i] = -1; /* joystick device closed */
+
+#if defined(TARGET_SDL)
+ SDLInitJoysticks();
+#elif defined(PLATFORM_UNIX)
+ UnixInitJoysticks();
+#elif defined(PLATFORM_MSDOS)
+ MSDOSInitJoysticks();
+#endif
+}
+
+inline boolean ReadJoystick(int nr, int *x, int *y, boolean *b1, boolean *b2)
+{
+#if defined(TARGET_SDL)
+ return SDLReadJoystick(nr, x, y, b1, b2);
+#elif defined(PLATFORM_UNIX)
+ return UnixReadJoystick(nr, x, y, b1, b2);
+#elif defined(PLATFORM_MSDOS)
+ return MSDOSReadJoystick(nr, x, y, b1, b2);