]> git.sur5r.net Git - cc65/blobdiff - include/cbm610.h
New stuff contributed by Oliver Schmidt
[cc65] / include / cbm610.h
index d3a37d97752e77b23c0a4175e17a397e440b9744..88c5d317117bd1825d1a70c5e462baec73ec51df 100644 (file)
@@ -1,8 +1,8 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                cbm610.h                                  */
+/*                                 cbm610.h                                 */
 /*                                                                           */
-/*                   CBM610 system specific definitions                     */
+/*                    CBM610 system specific definitions                    */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 
-/* Additional key defines */
-#define CH_F1                  224
-#define CH_F2                  225
-#define CH_F3                  226
-#define CH_F4                  227
-#define CH_F5                  228
-#define CH_F6                  229
-#define CH_F7                  230
-#define CH_F8                  231
-#define CH_F9                  232
-#define CH_F10                 233
-#define CH_F11                 234
-#define CH_F12                 235
-#define CH_F13                 236
-#define CH_F14                 237
-#define CH_F15                 238
-#define CH_F16                 239
-#define CH_F17                 240
-#define CH_F18                 241
-#define CH_F19                 242
-#define CH_F20                 243
+/*****************************************************************************/
+/*                                   Data                                   */
+/*****************************************************************************/
+
 
 
+/* Additional key defines */
+#define CH_F1                   224
+#define CH_F2                   225
+#define CH_F3                   226
+#define CH_F4                   227
+#define CH_F5                   228
+#define CH_F6                   229
+#define CH_F7                   230
+#define CH_F8                   231
+#define CH_F9                   232
+#define CH_F10                  233
+#define CH_F11                  234
+#define CH_F12                  235
+#define CH_F13                  236
+#define CH_F14                  237
+#define CH_F15                  238
+#define CH_F16                  239
+#define CH_F17                  240
+#define CH_F18                  241
+#define CH_F19                  242
+#define CH_F20                  243
 
 /* Color defines */
-#define COLOR_BLACK            0x00
-#define COLOR_WHITE            0x01
+#define COLOR_BLACK                    0x00
+#define COLOR_WHITE                    0x01
+
+/* Define hardware */
+#include <_6545.h>
+#define CRTC    (*(struct __6545)0xD800)
+
+#include <_sid.h>
+#define SID    (*(struct __sid*)0xDA00)
+
+#include <_6526.h>
+#define CIA     (*(struct __cia*)0xDC00)
+
+#include <_6551.h>
+#define ACIA    (*(struct __6551*)0xDD00)
+
+#include <_6525.h>
+#define TPI1    (*(struct __6525*)0xDE00)
+#define TPI2    (*(struct __6525*)0xDF00)
+
+
+
+/*****************************************************************************/
+/*                                   Code                                   */
+/*****************************************************************************/
 
 
 
@@ -81,7 +108,7 @@ unsigned __fastcall__ peekwsys (unsigned addr);
 void __fastcall__ pokebsys (unsigned addr, unsigned char val);
 void __fastcall__ pokewsys (unsigned addr, unsigned val);
 
-#if defined(__OPT_i__) && defined(__OPT_s__)
+#if defined(__OPT_i__) && (__OPT_i__ >= 600)
 #define peekbsys(addr)          \
         __AX__ = (addr),        \
         asm ("sta ptr1"),       \
@@ -98,22 +125,13 @@ void __fastcall__ pokewsys (unsigned addr, unsigned val);
 
 
 
-/* Define hardware */
-#include <_6545.h>
-#define CRTC   (*(struct __6545)0xD800)
-
-#include <_sid.h>
-#define        SID     (*(struct __sid*)0xDA00)
-
-#include <_6526.h>
-#define CIA    (*(struct __cia*)0xDC00)
-
-#include <_6551.h>
-#define ACIA   (*(struct __6551*)0xDD00)
-
-#include <_6525.h>
-#define TPI1   (*(struct __6525*)0xDE00)
-#define TPI2   (*(struct __6525*)0xDF00)
+/* 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