Skip to content

Commit faf68b9

Browse files
Add v1.43
Signed-off-by: Ripjetski <[email protected]>
1 parent 3c55aa9 commit faf68b9

File tree

1 file changed

+245
-0
lines changed

1 file changed

+245
-0
lines changed

src/a8defines.h

Lines changed: 245 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,245 @@
1+
// --------------------------------------------------
2+
// Library: a8defines.h
3+
// Desc...: Atari 8 Bit Library Definitions
4+
// Author.: Wade Ripkowski
5+
// Date...: 2022.08
6+
// License: GNU General Public License v3.0
7+
// Note...: Requires: a8defwin.c
8+
// -Converted from Action!
9+
// Revised: 2023.08-Added SIO and FujiNet
10+
// --------------------------------------------------
11+
12+
#ifndef A8DEFINES_H
13+
#define A8DEFINES_H
14+
15+
// Version
16+
#define LIB_VERSION "1.4.3"
17+
18+
// True & False
19+
#ifndef TRUE
20+
#define TRUE 0x01
21+
#endif
22+
#ifndef FALSE
23+
#define FALSE 0x00
24+
#endif
25+
26+
// Type shortcuts
27+
typedef unsigned char byte; // 8 bits / 1 BYTE
28+
typedef unsigned int word; // 16 bits / 2 BYTEs
29+
30+
// Window Record and Memory Alloc
31+
#define WRECSZ 10
32+
#define WBUFSZ 2068
33+
34+
// Window flags
35+
#define WON 1
36+
#define WOFF 0
37+
38+
// Window Positioning
39+
#define WPABS 128
40+
#define WPTOP 241
41+
#define WPBOT 242
42+
#define WPLFT 251
43+
#define WPRGT 252
44+
#define WPCNT 255
45+
46+
// Window Error status
47+
#define WENONE 100
48+
#define WENOPN 101
49+
#define WEUSED 102
50+
51+
// Gadget flags
52+
#define GDISP 0
53+
#define GEDIT 1
54+
#define GHORZ 1
55+
#define GVERT 2
56+
#define GCON 1
57+
#define GCOFF 2
58+
#define GANY 0
59+
#define GALNUM 1
60+
#define GALPHA 2
61+
#define GNUMER 3
62+
#define GUPPER 4
63+
64+
// Menu Exits
65+
#define XESC 253
66+
#define XTAB 254
67+
#define XNONE 255
68+
69+
// Colors
70+
#define CBLACK 0
71+
#define CWHITE 14
72+
#define CRED 50
73+
#define CBLUE 146
74+
#define CGREEN 210
75+
#define CYELLOW 222
76+
77+
// Keystroke Values
78+
#define KNOMAP 199
79+
#define KNONE 255
80+
#define KENTER 12
81+
#define KDEL 52
82+
#define KDEL_S 116
83+
#define KDEL_C 180
84+
#define KINS 183
85+
#define KPLUS 6
86+
#define KASTER 7
87+
#define KMINUS 14
88+
#define KEQUAL 15
89+
#define KESC 28
90+
#define KSPACE 33
91+
#define KINV 39
92+
#define KTAB 44
93+
#define KTAB_S 108
94+
#define KCAP 60
95+
#define KLEFT 134
96+
#define KRIGHT 135
97+
#define KUP 142
98+
#define KDOWN 143
99+
#define KEYA 63
100+
#define KEYB 21
101+
#define KEYC 18
102+
#define KEYD 58
103+
#define KEYE 42
104+
#define KEYF 56
105+
#define KEYG 61
106+
#define KEYH 57
107+
#define KEYI 13
108+
#define KEYJ 1
109+
#define KEYK 5
110+
#define KEYL 0
111+
#define KEYM 37
112+
#define KEYN 35
113+
#define KEYO 8
114+
#define KEYP 10
115+
#define KEYQ 47
116+
#define KEYR 40
117+
#define KEYS 62
118+
#define KEYT 45
119+
#define KEYU 11
120+
#define KEYV 16
121+
#define KEYW 46
122+
#define KEYX 22
123+
#define KEYY 43
124+
#define KEYZ 23
125+
126+
#define KB_C 149
127+
#define KE_C 170
128+
#define KX 22
129+
#define KX_S 86
130+
#define KE_CS 234
131+
#define KS_CS 254
132+
133+
// Console key value
134+
//#define CSTART 6
135+
#define KCNON 7
136+
#define KCSTA 262
137+
#define KCSEL 261
138+
#define KCOPT 259
139+
140+
// Function Key Values
141+
#define KFHLP 17
142+
#define KF1 3
143+
#define KF2 4
144+
#define KF3 19
145+
#define KF4 20
146+
147+
// Character Codes
148+
#define CHSDRGT 1
149+
#define CHBTRGT 3
150+
#define CHSDLFT 4
151+
#define CHTPRGT 5
152+
#define CHTPLFT 17
153+
#define CHBTLFT 26
154+
#define CHHBAR 18
155+
#define CHVBAR 124
156+
#define CHBALL 20
157+
#define CHESC 27
158+
#define CHUP 28
159+
#define CHDN 29
160+
#define CHLFT 30
161+
#define CHRGT 31
162+
#define CHSPACE 32
163+
#define CHDMND 96
164+
#define CHCLS 125
165+
#define CHBACK 126
166+
#define CHTAB 127
167+
#define CHENT 155
168+
#define CHDELLN 156
169+
#define CHINVSP 160
170+
#define CHBUZ 253
171+
#define CHRGT_I 159
172+
#define CHO_L 111
173+
#define CHI_I 201
174+
175+
// DCB (Device Control Block) modes
176+
#define DCBNONE 0x00
177+
#define DCBREAD 0x40
178+
#define DCBWRITE 0x80
179+
#define DCBRW 0xC0
180+
181+
// ----- OS Registers for PEEK (lib dependencies) -----
182+
#define ALMARG 82
183+
#define RSCRN 88
184+
#define INVFLG 694
185+
#define SHFLOK 702
186+
#define HELPFG 732
187+
#define ACURIN 752
188+
#define KEYPCH 764
189+
#define CONSOL 53279U
190+
191+
// ----- OS Registers -----
192+
#define APPMHI *((word *) 0x000E)
193+
#define RTCLOK *((byte *) 0x0012)
194+
#define RTC2 *((byte *) 0x0013)
195+
#define RTC3 *((byte *) 0x0014)
196+
#define ATRACT *((byte *) 0x004D)
197+
#define SAVMSC *((word *) 0x0058)
198+
#define RAMTOP *((byte *) 0x006A)
199+
#define FR0 *((word *) 0x00D4)
200+
#define SDMCTL *((byte *) 0x022F)
201+
#define SDLSTL *((word *) 0x0230)
202+
#define GPRIOR *((byte *) 0x026F)
203+
#define STICK0 *((byte *) 0x0278)
204+
#define STRIG0 *((byte *) 0x0284)
205+
#define COLOR0 *((byte *) 0x02C4)
206+
#define COLOR1 *((byte *) 0x02C5)
207+
#define COLOR2 *((byte *) 0x02C6)
208+
#define COLOR3 *((byte *) 0x02C7)
209+
#define COLBK *((byte *) 0x02C8)
210+
#define RAMSIZ *((byte *) 0x02E4)
211+
#define MEMTOP *((byte *) 0x02E5)
212+
#define CHBAS *((word *) 0x02F4)
213+
#define HPOSP0 *((byte *) 0xD000)
214+
#define HPOSP1 *((byte *) 0xD001)
215+
#define HPOSP2 *((byte *) 0xD002)
216+
#define HPOSP3 *((byte *) 0xD003)
217+
#define HPOSM0 *((byte *) 0xD004)
218+
#define HPOSM1 *((byte *) 0xD005)
219+
#define HPOSM2 *((byte *) 0xD006)
220+
#define HPOSM3 *((byte *) 0xD007)
221+
#define SIZEP0 *((byte *) 0xD008)
222+
#define SIZEP1 *((byte *) 0xD009)
223+
#define SIZEP2 *((byte *) 0xD00A)
224+
#define SIZEP3 *((byte *) 0xD00B)
225+
#define SIZEM *((byte *) 0xD00C)
226+
#define GRAFP0 *((byte *) 0xD00D)
227+
#define GRAFP1 *((byte *) 0xD00E)
228+
#define GRAFP2 *((byte *) 0xD00F)
229+
#define GRAFP3 *((byte *) 0xD010)
230+
#define GRAFM *((byte *) 0xD011)
231+
#define PCOLR0 *((byte *) 0xD012)
232+
#define PCOLR1 *((byte *) 0xD013)
233+
#define PCOLR2 *((byte *) 0xD014)
234+
#define PCOLR3 *((byte *) 0xD015)
235+
#define GRACTL *((byte *) 0xD01D)
236+
#define HITCLR *((byte *) 0xD01E)
237+
#define RANDOM *((byte *) 0xD20A)
238+
#define DMACTL *((byte *) 0xD400)
239+
#define DLISTL *((word *) 0xD402)
240+
#define PMBASE *((word *) 0xD407)
241+
#define WSYNC *((byte *) 0xD40A)
242+
#define VCOUNT *((byte *) 0xD40B)
243+
#define NMIEN *((byte *) 0xD40E)
244+
245+
#endif

0 commit comments

Comments
 (0)