]> git.sur5r.net Git - cc65/blobdiff - include/pce.h
Support for self explanatory KBCODE values
[cc65] / include / pce.h
index 7700654c805244cebaab132934c10ae8c57c6760..d7cf0a6950de62ca5d98a585287a32b2ab2d1e9d 100644 (file)
@@ -2,11 +2,11 @@
 /*                                                                           */
 /*                                   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       */
@@ -51,7 +51,7 @@
 #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
-
-void waitvblank (void);
-/* Wait for the vertical blanking */
+void waitvsync (void);
+/* Wait for start of the next frame */
 
-/* NOTE: all PCE are NTSC */
+/* NOTE: all PCEs are NTSC. */
 #define get_tv()                TV_NTSC
 /* Return the video mode the machine is using. */