]> 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 be1eb8b9e8aee9fd6be5490e038a9c648cc5cea8..249d8b6089b9b9f990942cd45d5d789f7faf0460 100644 (file)
@@ -1,15 +1,15 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  pet.h                                   */
+/*                                   pet.h                                   */
 /*                                                                           */
-/*                     PET system specific definitions                      */
+/*                      PET system specific definitions                      */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 1998-2002 Ullrich von Bassewitz                                       */
-/*               Wacholderweg 14                                             */
-/*               D-70597 Stuttgart                                           */
-/* EMail:        uz@musoftware.de                                            */
+/* (C) 1998-2005 Ullrich von Bassewitz                                       */
+/*               Roemerstrasse 52                                            */
+/*               D-70794 Filderstadt                                         */
+/* EMail:        uz@cc65.org                                                 */
 /*                                                                           */
 /*                                                                           */
 /* This software is provided 'as-is', without any expressed or implied       */
 
 
 
+/*****************************************************************************/
+/*                                   Data                                    */
+/*****************************************************************************/
+
+
+
 /* Color defines */
-#define COLOR_BLACK            0x00
-#define COLOR_WHITE            0x01
+#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)
 
-/* End of pet.h */
-#endif
+#include <_6522.h>
+#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                                 */
+/*****************************************************************************/
 
 
 
+/* 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