]> git.sur5r.net Git - cc65/blobdiff - include/atmos.h
Fixed _textcolor definition.
[cc65] / include / atmos.h
index c7a5e82d161a481c44c665cdffc3c69fe4d5cc80..d9f6d103ba243963253bef426cf3c35a4b699657 100644 (file)
@@ -1,12 +1,16 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                atmos.h                                   */
+/*                                 atmos.h                                   */
 /*                                                                           */
-/*                  Oric Atmos system specific definitions                  */
+/*                   Oric Atmos system-specific definitions                  */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 2002  Debrune Jérome, <jede@oric.org>                                */
+/* (C) 2002       Debrune Jérome, <jede@oric.org>                            */
+/* (C) 2003-2013  Ullrich von Bassewitz                                      */
+/*                Roemerstrasse 52                                           */
+/*                D-70794 Filderstadt                                        */
+/* EMail:         uz@cc65.org                                                */
 /*                                                                           */
 /*                                                                           */
 /* This software is provided 'as-is', without any expressed or implied       */
 
 /* Check for errors */
 #if !defined(__ATMOS__)
-#  error This module may only be used when compiling for the Oric Atmos !
+#  error This module may only be used when compiling for the Oric Atmos!
 #endif
 
 
 
 /* Color defines */
-#define COLOR_BLACK    0x00
-#define COLOR_RED      0x01
-#define COLOR_GREEN    0x02
-#define COLOR_YELLOW   0x03
-#define COLOR_BLUE     0x04
-#define COLOR_MAGENTA  0x05
-#define COLOR_CYAN     0x06
-#define COLOR_WHITE    0x07
+#define COLOR_BLACK     0x00
+#define COLOR_RED       0x01
+#define COLOR_GREEN     0x02
+#define COLOR_YELLOW    0x03
+#define COLOR_BLUE      0x04
+#define COLOR_MAGENTA   0x05
+#define COLOR_CYAN      0x06
+#define COLOR_WHITE     0x07
 
+/* TGI color defines */
+/* White and red are swapped, so that the pallete
+** driver is compatible with black-and-white drivers.
+*/
+#define TGI_COLOR_BLACK         COLOR_BLACK
+#define TGI_COLOR_WHITE         1
+#define TGI_COLOR_GREEN         COLOR_GREEN
+#define TGI_COLOR_YELLOW        COLOR_YELLOW
+#define TGI_COLOR_BLUE          COLOR_BLUE
+#define TGI_COLOR_MAGENTA       COLOR_MAGENTA
+#define TGI_COLOR_CYAN          COLOR_CYAN
+#define TGI_COLOR_RED           7
 
 
-/* End of atmos.h */
-#endif
+
+/* Define hardware */
+#include <_6522.h>
+#define VIA     (*(struct __6522*)0x300)
+
+
+
+/* These are defined to be FUNCT + NumberKey */
+#define CH_F1           0xB1
+#define CH_F2           0xB2
+#define CH_F3           0xB3
+#define CH_F4           0xB4
+#define CH_F5           0xB5
+#define CH_F6           0xB6
+#define CH_F7           0xB7
+#define CH_F8           0xB8
+#define CH_F9           0xB9
+#define CH_F10          0xB0
+
+
+
+/* Character codes */
+#define CH_ULCORNER     '+'
+#define CH_URCORNER     '+'
+#define CH_LLCORNER     '+'
+#define CH_LRCORNER     '+'
+#define CH_TTEE         '+'
+#define CH_BTEE         '+'
+#define CH_LTEE         '+'
+#define CH_RTEE         '+'
+#define CH_CROSS        '+'
+#define CH_CURS_UP       11
+#define CH_CURS_DOWN     10
+#define CH_CURS_LEFT      8
+#define CH_CURS_RIGHT     9
+#define CH_DEL          127
+#define CH_ENTER         13
+#define CH_STOP           3
+#define CH_LIRA          95
+#define CH_ESC           27
+
+
+
+/* Masks for joy_read */
+#define JOY_UP_MASK     0x10
+#define JOY_DOWN_MASK   0x08
+#define JOY_LEFT_MASK   0x01
+#define JOY_RIGHT_MASK  0x02
+#define JOY_BTN_1_MASK  0x20
+
+
+
+/* No support for dynamically loadable drivers */
+#define DYN_DRV         0
+
+
+
+/* The addresses of the static drivers */
+extern void atmos_pase_joy[];           /* Referred to by joy_static_stddrv[] */
+extern void atmos_ijk_joy[];
+extern void atmos_acia_ser[];
+extern void atmos_228_200_3_tgi[];
+extern void atmos_240_200_2_tgi[];      /* Referred to by tgi_static_stddrv[] */
 
 
 
+/*****************************************************************************/
+/*                                 Functions                                 */
+/*****************************************************************************/
+
+
+
+void __fastcall__ atmos_load(const char* name);
+/* Load Atmos tape. */
+
+void __fastcall__ atmos_save(const char* name, const void* start, const void* end);
+/* Save Atmos tape. */
+
+void atmos_explode (void);
+/* Bomb sound effect */
+
+void atmos_ping (void);
+/* Bell or ricochet sound effect */
+
+void atmos_shoot (void);
+/* Pistol sound effect */
+
+void atmos_tick (void);
+/* High-pitch click */
+
+void atmos_tock (void);
+/* Low-pitch click */
+
+void atmos_zap (void);
+/* Raygun sound effect */
+
+
+
+/* End of atmos.h */
+#endif