]> git.sur5r.net Git - cc65/blobdiff - include/pet.h
Only for jumps, the lib uses named asm labels in branches
[cc65] / include / pet.h
index 79abbb82a50700611694f4461f30f4ddcf5b28ff..249d8b6089b9b9f990942cd45d5d789f7faf0460 100644 (file)
@@ -1,13 +1,13 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  pet.h                                   */
+/*                                   pet.h                                   */
 /*                                                                           */
-/*                     PET system specific definitions                      */
+/*                      PET system specific definitions                      */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 1998-2004 Ullrich von Bassewitz                                       */
-/*               Römerstraße 52                                              */
+/* (C) 1998-2005 Ullrich von Bassewitz                                       */
+/*               Roemerstrasse 52                                            */
 /*               D-70794 Filderstadt                                         */
 /* EMail:        uz@cc65.org                                                 */
 /*                                                                           */
 
 
 
-/* Color defines */
-#define COLOR_BLACK            0x00
-#define COLOR_WHITE            0x01
+/*****************************************************************************/
+/*                                   Data                                    */
+/*****************************************************************************/
 
 
 
+/* Color defines */
+#define COLOR_BLACK             0x00
+#define COLOR_WHITE             0x01
+
+/* Masks for joy_read */
+#define JOY_UP_MASK             0x01
+#define JOY_DOWN_MASK           0x02
+#define JOY_LEFT_MASK           0x04
+#define JOY_RIGHT_MASK          0x08
+#define JOY_BTN_1_MASK          0x10
+
 /* Define hardware */
 #include <_pia.h>
-#define PIA1   (*(struct __pia*)0xE810)
-#define PIA2   (*(struct __pia*)0xE820)
+#define PIA1    (*(struct __pia*)0xE810)
+#define PIA2    (*(struct __pia*)0xE820)
 
 #include <_6522.h>
-#define VIA            (*(struct __6522*)0xE840)
+#define VIA     (*(struct __6522*)0xE840)
 
+/* All models from 40xx and above */
+#include <_6545.h>
+#define CRTC    (*(struct __6545)0xE880)
 
+/* SuperPET only */
+#include <_6551.h>
+#define ACIA    (*(struct __6551*)0xEFF0)
+
+
+
+/*****************************************************************************/
+/*                                 Variables                                 */
+/*****************************************************************************/
 
-/* End of pet.h */
-#endif
 
 
+/* The addresses of the static drivers */
+extern void pet_ptvjoy_joy[];
+extern void pet_stdjoy_joy[];       /* Referred to by joy_static_stddrv[] */
 
+
+
+/*****************************************************************************/
+/*                                   Code                                    */
+/*****************************************************************************/
+
+
+
+/* The following #defines will cause the matching functions calls in conio.h
+** to be overlaid by macros with the same names, saving the function call
+** overhead.
+*/
+#define _textcolor(color)       COLOR_WHITE
+#define _bgcolor(color)         COLOR_BLACK
+#define _bordercolor(color)     COLOR_BLACK
+#define _cpeekcolor(color)      COLOR_WHITE
+
+
+
+/* End of pet.h */
+#endif