]> git.sur5r.net Git - cc65/blobdiff - include/c128.h
Fixed _textcolor definition.
[cc65] / include / c128.h
index 1831f6e9bab29ad4ce77d2253c5f4737147182de..fe1dd4317ba008870168cf0c4a19f3378aaffb4a 100644 (file)
@@ -1,15 +1,15 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                 c128.h                                   */
+/*                                  c128.h                                   */
 /*                                                                           */
-/*                    C128 system specific definitions                      */
+/*                     C128 system specific definitions                      */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 1998-2000 Ullrich von Bassewitz                                       */
-/*               Wacholderweg 14                                             */
-/*               D-70597 Stuttgart                                           */
-/* EMail:        uz@musoftware.de                                            */
+/* (C) 1998-2013, Ullrich von Bassewitz                                      */
+/*                Roemerstrasse 52                                           */
+/*                D-70794 Filderstadt                                        */
+/* EMail:         uz@cc65.org                                                */
 /*                                                                           */
 /*                                                                           */
 /* This software is provided 'as-is', without any expressed or implied       */
 
 
 
-/*
- * c128.h
- *
- * Ullrich von Bassewitz, 12.08.1998
- */
-
-
-
 #ifndef _C128_H
 #define _C128_H
 
 
 
-/* Additional key defines */
-#define CH_F1                  133
-#define CH_F2                  137
-#define CH_F3                  134
-#define CH_F4                  138
-#define CH_F5                  135
-#define CH_F6                  139
-#define CH_F7                  136
-#define CH_F8                  140
+/* Check for errors */
+#if !defined(__C128__)
+#  error This module may only be used when compiling for the C128!
+#endif
 
 
 
+/* Additional key defines */
+#define CH_F1                   133
+#define CH_F2                   137
+#define CH_F3                   134
+#define CH_F4                   138
+#define CH_F5                   135
+#define CH_F6                   139
+#define CH_F7                   136
+#define CH_F8                   140
+
 /* Color defines */
-#define COLOR_BLACK            0x00
-#define COLOR_WHITE            0x01
-#define COLOR_RED              0x02
-#define COLOR_CYAN             0x03
-#define COLOR_VIOLET           0x04
-#define COLOR_GREEN            0x05
-#define COLOR_BLUE             0x06
-#define COLOR_YELLOW           0x07
-#define COLOR_ORANGE           0x08
-#define COLOR_BROWN            0x09
-#define COLOR_LIGHTRED         0x0A
-#define COLOR_GRAY1            0x0B
-#define COLOR_GRAY2            0x0C
-#define COLOR_LIGHTGREEN       0x0D
-#define COLOR_LIGHTBLUE        0x0E
-#define COLOR_GRAY3            0x0F
+#define COLOR_BLACK             0x00
+#define COLOR_WHITE             0x01
+#define COLOR_RED               0x02
+#define COLOR_CYAN              0x03
+#define COLOR_VIOLET            0x04
+#define COLOR_GREEN             0x05
+#define COLOR_BLUE              0x06
+#define COLOR_YELLOW            0x07
+#define COLOR_ORANGE            0x08
+#define COLOR_BROWN             0x09
+#define COLOR_LIGHTRED          0x0A
+#define COLOR_GRAY1             0x0B
+#define COLOR_GRAY2             0x0C
+#define COLOR_LIGHTGREEN        0x0D
+#define COLOR_LIGHTBLUE         0x0E
+#define COLOR_GRAY3             0x0F
+
+/* TGI color defines */
+#define TGI_COLOR_BLACK         COLOR_BLACK
+#define TGI_COLOR_WHITE         COLOR_WHITE
+#define TGI_COLOR_RED           COLOR_RED
+#define TGI_COLOR_CYAN          COLOR_CYAN
+#define TGI_COLOR_VIOLET        COLOR_VIOLET
+#define TGI_COLOR_GREEN         COLOR_GREEN
+#define TGI_COLOR_BLUE          COLOR_BLUE
+#define TGI_COLOR_YELLOW        COLOR_YELLOW
+#define TGI_COLOR_ORANGE        COLOR_ORANGE
+#define TGI_COLOR_BROWN         COLOR_BROWN
+#define TGI_COLOR_LIGHTRED      COLOR_LIGHTRED
+#define TGI_COLOR_GRAY1         COLOR_GRAY1
+#define TGI_COLOR_GRAY2         COLOR_GRAY2
+#define TGI_COLOR_LIGHTGREEN    COLOR_LIGHTGREEN
+#define TGI_COLOR_LIGHTBLUE     COLOR_LIGHTBLUE
+#define TGI_COLOR_GRAY3         COLOR_GRAY3
+
+/* 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
+
+/* Video mode defines */
+#define VIDEOMODE_40x25         0x00
+#define VIDEOMODE_80x25         0x80
+#define VIDEOMODE_40COL         VIDEOMODE_40x25
+#define VIDEOMODE_80COL         VIDEOMODE_80x25
 
 
 
 /* Define hardware */
-#include <_vic.h>
-#define VIC    (*(struct __vic*)0xD000)
+#include <_vic2.h>
+#define VIC     (*(struct __vic2*)0xD000)
 
 #include <_sid.h>
-#define        SID     (*(struct __sid*)0xD400)
+#define SID     (*(struct __sid*)0xD400)
+
+#include <_vdc.h>
+#define VDC     (*(struct __vdc*)0xD600)
 
 #include <_6526.h>
-#define CIA1   (*(struct __6526*)0xDC00)
-#define CIA2   (*(struct __6526*)0xDD00)
+#define CIA1    (*(struct __6526*)0xDC00)
+#define CIA2    (*(struct __6526*)0xDD00)
 
 
 
 /* Define special memory areas */
-#define COLOR_RAM      ((unsigned char*)0xD800)
+#define COLOR_RAM       ((unsigned char*)0xD800)
 
 
 
-/* End of c128.h */
-#endif
+/* The addresses of the static drivers */
+extern void c128_georam_emd[];
+extern void c128_ram_emd[];
+extern void c128_ram2_emd[];
+extern void c128_ramcart_emd[];
+extern void c128_reu_emd[];
+extern void c128_vdc_emd[];
+extern void c128_ptvjoy_joy[];
+extern void c128_stdjoy_joy[];  /* Referred to by joy_static_stddrv[] */
+extern void c128_1351_mou[];    /* Referred to by mouse_static_stddrv[] */
+extern void c128_joy_mou[];
+extern void c128_inkwell_mou[];
+extern void c128_pot_mou[];
+extern void c128_swlink_ser[];
+extern void c128_hi_tgi[];
+extern void c128_vdc_tgi[];     /* Referred to by tgi_static_stddrv[] */
+extern void c128_vdc2_tgi[];
+
+
+
+unsigned __fastcall__ videomode (unsigned Mode);
+/* Set the video mode, return the old mode. Call with one of the VIDEOMODE_xx
+** constants.
+*/
+
+void toggle_videomode (void);
+/* Toggle the video mode between 40 and 80 chars (calls SWAPPER).
+** THIS FUNCTION IS DEPRECATED, please use videomode instead!
+*/
 
+void c64mode (void);
+/* Switch the C128 into C64 mode. Note: This function will not return! */
 
+void fast (void);
+/* Switch the CPU into 2MHz mode. Note: This will disable video when in
+** 40 column mode.
+*/
 
+void slow (void);
+/* Switch the CPU into 1MHz mode. */
+
+unsigned char isfast (void);
+/* Returns 1 if the CPU is in 2MHz mode. */
+
+/* End of c128.h */
+#endif