/*****************************************************************************/
/* */
-/* c64.h */
+/* c64.h */
/* */
-/* C64 system specific definitions */
+/* C64 system-specific definitions */
/* */
/* */
/* */
-/* (C) 1998-2001 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 */
-/* 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
+/*****************************************************************************/
+/* Data */
+/*****************************************************************************/
-/* 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
-
+/* 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_PURPLE COLOR_VIOLET
+#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_PURPLE COLOR_PURPLE
+#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
/* 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 <_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)
+/* Return codes for get_ostype */
+#define C64_OS_US 0xAA /* US version */
+#define C64_OS_PET64 0x64 /* PET 64 */
+#define C64_OS_SX64 0x43 /* SX-64 */
+#define C64_EU_NEW 0x03
+#define C64_EU_OLD 0x00
+#define C64_DTV 0xFF /* C64 DTV */
-/* Define special memory areas */
-#define COLOR_RAM ((unsigned char*)0xD800)
+/*****************************************************************************/
+/* Variables */
+/*****************************************************************************/
-/* End of c64.h */
-#endif
+/* The addresses of the static drivers */
+extern void c64_c256k_emd[];
+extern void c64_dqbb_emd[];
+extern void c64_georam_emd[];
+extern void c64_isepic_emd[];
+extern void c64_ram_emd[];
+extern void c64_ramcart_emd[];
+extern void c64_reu_emd[];
+extern void c64_vdc_emd[];
+extern void dtv_himem_emd[];
+extern void c64_hitjoy_joy[];
+extern void c64_numpad_joy[];
+extern void c64_ptvjoy_joy[];
+extern void c64_stdjoy_joy[]; /* Referred to by joy_static_stddrv[] */
+extern void c64_1351_mou[]; /* Referred to by mouse_static_stddrv[] */
+extern void c64_joy_mou[];
+extern void c64_inkwell_mou[];
+extern void c64_pot_mou[];
+extern void c64_swlink_ser[];
+extern void c64_hi_tgi[]; /* Referred to by tgi_static_stddrv[] */
+
+
+/*****************************************************************************/
+/* Code */
+/*****************************************************************************/
+
+
+
+unsigned char get_ostype (void);
+/* Get the ROM version. Returns one of the C64_OS_xxx codes. */
+
+
+
+/* End of c64.h */
+#endif