1 /*****************************************************************************/
5 /* Oric Atmos system-specific definitions */
9 /* (C) 2002 Debrune Jérome, <jede@oric.org> */
10 /* (C) 2003-2013 Ullrich von Bassewitz */
11 /* Roemerstrasse 52 */
12 /* D-70794 Filderstadt */
13 /* EMail: uz@cc65.org */
16 /* This software is provided 'as-is', without any expressed or implied */
17 /* warranty. In no event will the authors be held liable for any damages */
18 /* arising from the use of this software. */
20 /* Permission is granted to anyone to use this software for any purpose, */
21 /* including commercial applications, and to alter it and redistribute it */
22 /* freely, subject to the following restrictions: */
24 /* 1. The origin of this software must not be misrepresented; you must not */
25 /* claim that you wrote the original software. If you use this software */
26 /* in a product, an acknowledgment in the product documentation would be */
27 /* appreciated but is not required. */
28 /* 2. Altered source versions must be plainly marked as such, and must not */
29 /* be misrepresented as being the original software. */
30 /* 3. This notice may not be removed or altered from any source */
33 /*****************************************************************************/
42 /* Check for errors */
43 #if !defined(__ATMOS__)
44 # error This module may only be used when compiling for the Oric Atmos!
50 #define COLOR_BLACK 0x00
51 #define COLOR_RED 0x01
52 #define COLOR_GREEN 0x02
53 #define COLOR_YELLOW 0x03
54 #define COLOR_BLUE 0x04
55 #define COLOR_MAGENTA 0x05
56 #define COLOR_CYAN 0x06
57 #define COLOR_WHITE 0x07
59 /* TGI color defines */
60 /* White and red are swapped, so that the pallete
61 ** driver is compatible with black-and-white drivers.
63 #define TGI_COLOR_BLACK COLOR_BLACK
64 #define TGI_COLOR_WHITE 1
65 #define TGI_COLOR_GREEN COLOR_GREEN
66 #define TGI_COLOR_YELLOW COLOR_YELLOW
67 #define TGI_COLOR_BLUE COLOR_BLUE
68 #define TGI_COLOR_MAGENTA COLOR_MAGENTA
69 #define TGI_COLOR_CYAN COLOR_CYAN
70 #define TGI_COLOR_RED 7
76 #define VIA (*(struct __6522*)0x300)
80 /* These are defined to be FUNCT + NumberKey */
95 #define CH_ULCORNER '+'
96 #define CH_URCORNER '+'
97 #define CH_LLCORNER '+'
98 #define CH_LRCORNER '+'
104 #define CH_CURS_UP 11
105 #define CH_CURS_DOWN 10
106 #define CH_CURS_LEFT 8
107 #define CH_CURS_RIGHT 9
116 /* No support for dynamically loadable drivers */
121 /* The addresses of the static drivers */
122 extern void atmos_pase_joy[]; /* Referred to by joy_static_stddrv[] */
123 extern void atmos_acia_ser[];
124 extern void atmos_228_200_3_tgi[];
125 extern void atmos_240_200_2_tgi[]; /* Referred to by tgi_static_stddrv[] */
129 /*****************************************************************************/
131 /*****************************************************************************/
135 void __fastcall__ atmos_load(const char* name);
136 /* Load Atmos tape. */
138 void __fastcall__ atmos_save(const char* name, const void* start, const void* end);
139 /* Save Atmos tape. */
141 void atmos_explode (void);
142 /* Bomb sound effect */
144 void atmos_ping (void);
145 /* Bell or ricochet sound effect */
147 void atmos_shoot (void);
148 /* Pistol sound effect */
150 void atmos_tick (void);
151 /* High-pitch click */
153 void atmos_tock (void);
154 /* Low-pitch click */
156 void atmos_zap (void);
157 /* Raygun sound effect */