crete an idle task to run when theres ... umm. .. nothing to do ..
[AROS.git] / compiler / include / hardware / custom.h
blob3b4ed06c71ed04c5ab120d2ae6fce62231992bc4
1 #ifndef HARDWARE_CUSTOM_H
2 #define HARDWARE_CUSTOM_H
4 /*
5 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
6 $Id$
8 Desc: Custom Amiga chips
9 Lang: english
12 #ifndef EXEC_TYPES_H
13 # include <exec/types.h>
14 #endif
16 struct Custom
18 UWORD bltddat;
19 UWORD dmaconr;
20 UWORD vposr;
21 UWORD vhposr;
22 UWORD dskdatr;
23 UWORD joy0dat;
24 UWORD joy1dat;
25 UWORD clxdat;
26 UWORD adkconr;
27 UWORD pot0dat;
28 UWORD pot1dat;
29 UWORD potinp;
30 UWORD serdatr;
31 UWORD dskbytr;
32 UWORD intenar;
33 UWORD intreqr;
34 APTR dskpt;
35 UWORD dsklen;
36 UWORD dskdat;
37 UWORD refptr;
38 UWORD vposw;
39 UWORD vhposw;
40 UWORD copcon;
41 UWORD serdat;
42 UWORD serper;
43 UWORD potgo;
44 UWORD joytest;
45 UWORD strequ;
46 UWORD strvbl;
47 UWORD strhor;
48 UWORD strlong;
50 UWORD bltcon0;
51 UWORD bltcon1;
52 UWORD bltafwm;
53 UWORD bltalwm;
54 APTR bltcpt;
55 APTR bltbpt;
56 APTR bltapt;
57 APTR bltdpt;
58 UWORD bltsize;
59 UBYTE pad2d;
60 UBYTE bltcon0l; /* WRITE-ONLY */
61 UWORD bltsizv;
62 UWORD bltsizh;
63 UWORD bltcmod;
64 UWORD bltbmod;
65 UWORD bltamod;
66 UWORD bltdmod;
67 UWORD pad34[4];
68 UWORD bltcdat;
69 UWORD bltbdat;
70 UWORD bltadat;
72 UWORD pad3b[3];
73 UWORD deniseid;
74 UWORD dsksync;
75 ULONG cop1lc;
76 ULONG cop2lc;
77 UWORD copjmp1;
78 UWORD copjmp2;
79 UWORD copins;
80 UWORD diwstrt;
81 UWORD diwstop;
82 UWORD ddfstrt;
83 UWORD ddfstop;
84 UWORD dmacon;
85 UWORD clxcon;
86 UWORD intena;
87 UWORD intreq;
88 UWORD adkcon;
90 /* chip audio channel */
91 struct AudChannel
93 UWORD * ac_ptr; /* waveform data */
94 UWORD ac_len; /* waveform length (in words) */
95 UWORD ac_per; /* sample period */
96 UWORD ac_vol; /* volume */
97 UWORD ac_dat;
98 UWORD ac_pad[2];
99 } aud[4];
101 APTR bplpt[8];
102 UWORD bplcon0;
103 UWORD bplcon1;
104 UWORD bplcon2;
105 UWORD bplcon3;
106 UWORD bpl1mod;
107 UWORD bpl2mod;
108 UWORD bplcon4;
109 UWORD clxcon2;
110 UWORD bpldat[8];
111 APTR sprpt[8];
113 struct SpriteDef
115 UWORD pos;
116 UWORD ctl;
117 UWORD dataa;
118 UWORD datab;
119 } spr[8];
121 UWORD color[32];
122 UWORD htotal;
123 UWORD hsstop;
124 UWORD hbstrt;
125 UWORD hbstop;
126 UWORD vtotal;
127 UWORD vsstop;
128 UWORD vbstrt;
129 UWORD vbstop;
130 UWORD sprhstrt;
131 UWORD sprhstop;
132 UWORD bplhstrt;
133 UWORD bplhstop;
134 UWORD hhposw;
135 UWORD hhposr;
136 UWORD beamcon0;
137 UWORD hsstrt;
138 UWORD vsstrt;
139 UWORD hcenter;
140 UWORD diwhigh;
141 UWORD padf3[11];
142 UWORD fmode;
145 #ifdef ECS_SPECIFIC
147 #define HSYNCTRUE 0x0001
148 #define VSYNCTRUE 0x0002
149 #define CSYNCTRUE 0x0004
150 #define CSBLANK 0x0008
151 #define VARCSYNC 0x0010
152 #define DISPLAYPAL 0x0020
153 #define DISPLAYDUAL 0x0040
154 #define VARBEAM 0x0080
155 #define VARHSYNC 0x0100
156 #define VARVSYNC 0x0200
157 #define CSCBLANKEN 0x0400
158 #define LOLDIS 0x0800
159 #define VARVBLANK 0x1000
161 /* bplcon0 */
162 #define USE_BPLCON3 1
164 /* bplcon2 */
165 #define BPLCON2_ZDCTEN (1<<10)
166 #define BPLCON2_ZDBPEN (1<<11)
167 #define BPLCON2_ZDBPSEL0 (1<<12)
168 #define BPLCON2_ZDBPSEL1 (1<<13)
169 #define BPLCON2_ZDBPSEL2 (1<<14)
171 /* bplcon3 */
172 #define BPLCON3_EXTBLNKEN (1<<0)
173 #define BPLCON3_EXTBLKZD (1<<1)
174 #define BPLCON3_ZDCLKEN (1<<2)
175 #define BPLCON3_BRDNTRAN (1<<4)
176 #define BPLCON3_BRDNBLNK (1<<5)
178 #endif /* ECS_SPECIFIC */
180 #endif /* HARDWARE_CUSTOM_H */