/* */
/* pce.h */
/* */
-/* PC-Engine system specific definitions */
+/* PC-Engine system-specific definitions */
/* */
/* */
/* */
-/* (C) 2015 Groepaz/Hitmen */
+/* (C) 2015, Groepaz/Hitmen */
/* */
/* */
/* This software is provided 'as-is', without any expressed or implied */
# error This module may only be used when compiling for the PCE!
#endif
-#define CH_HLINE 1
-#define CH_VLINE 2
-#define CH_CROSS 3
-#define CH_ULCORNER 4
-#define CH_URCORNER 5
-#define CH_LLCORNER 6
-#define CH_LRCORNER 7
-#define CH_TTEE 8
-#define CH_BTEE 9
-#define CH_LTEE 10
-#define CH_RTEE 11
+#define CH_HLINE 1
+#define CH_VLINE 2
+#define CH_CROSS 3
+#define CH_ULCORNER 4
+#define CH_URCORNER 5
+#define CH_LLCORNER 6
+#define CH_LRCORNER 7
+#define CH_TTEE 8
+#define CH_BTEE 9
+#define CH_LTEE 10
+#define CH_RTEE 11
-#define CH_ENTER 13
-#define CH_PI 18
+#define CH_ENTER 13
+#define CH_PI 18
-/* Color defines (CBM compatible, for conio) */
+/* Color defines (CBM-compatible, for conio) */
#define COLOR_BLACK 0x00
#define COLOR_WHITE 0x01
#define COLOR_RED 0x02
#define TV_PAL 1
#define TV_OTHER 2
+/* Masks for joy_read */
+#define JOY_UP_MASK 0x10
+#define JOY_DOWN_MASK 0x40
+#define JOY_LEFT_MASK 0x80
+#define JOY_RIGHT_MASK 0x20
+#define JOY_BTN_1_MASK 0x01
+#define JOY_BTN_2_MASK 0x02
+#define JOY_BTN_3_MASK 0x04
+#define JOY_BTN_4_MASK 0x08
+
+#define JOY_BTN_I_MASK JOY_BTN_1_MASK
+#define JOY_BTN_II_MASK JOY_BTN_2_MASK
+#define JOY_SELECT_MASK JOY_BTN_3_MASK
+#define JOY_RUN_MASK JOY_BTN_4_MASK
+
+#define JOY_BTN_I(v) ((v) & JOY_BTN_I_MASK)
+#define JOY_BTN_II(v) ((v) & JOY_BTN_II_MASK)
+#define JOY_SELECT(v) ((v) & JOY_SELECT_MASK)
+#define JOY_RUN(v) ((v) & JOY_RUN_MASK)
+
/* No support for dynamically loadable drivers */
-#define DYN_DRV 0
+#define DYN_DRV 0
/* The addresses of the static drivers */
-extern void pce_stdjoy_joy[]; /* Referred to by joy_static_stddrv[] */
-
-#define JOY_FIRE_B 5
-#define JOY_SELECT 6
-#define JOY_RUN 7
+extern void pce_stdjoy_joy[]; /* Referred to by joy_static_stddrv[] */
-void waitvblank (void);
-/* Wait for the vertical blanking */
+void waitvsync (void);
+/* Wait for start of the next frame */
-/* NOTE: all PCE are NTSC */
-#define get_tv() TV_NTSC
+/* NOTE: all PCEs are NTSC. */
+#define get_tv() TV_NTSC
/* Return the video mode the machine is using. */
/* End of pce.h */