-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvampire.h
More file actions
190 lines (180 loc) · 4.16 KB
/
vampire.h
File metadata and controls
190 lines (180 loc) · 4.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
#ifndef VAMPIRE_H__
#define VAMPIRE_H__
#include <exec/types.h>
extern BOOL is_vampire_present(void);
extern void init_vampire_regs(void);
#define AUDF_16BITS (1 << 0)
#define AUDF_ONESHOT (1 << 1)
#define AUDF_STEREO (1 << 2)
struct VampireCustom {
UWORD bltddat;
UWORD dmaconr;
UWORD vposr;
UWORD vhposr;
UWORD dskdatr;
UWORD joy0dat;
UWORD joy1dat;
UWORD clxdat;
UWORD adkconr;
UWORD pot0dat;
UWORD pot1dat;
UWORD potinp;
UWORD serdatr;
UWORD dskbytr;
UWORD intenar;
UWORD intreqr;
APTR dskpt;
UWORD dsklen;
UWORD dskdat;
UWORD refptr;
UWORD vposw;
UWORD vhposw;
UWORD copcon;
UWORD serdat;
UWORD serper;
UWORD potgo;
UWORD joytest;
UWORD strequ;
UWORD strvbl;
UWORD strhor;
UWORD strlong;
UWORD bltcon0;
UWORD bltcon1;
UWORD bltafwm;
UWORD bltalwm;
APTR bltcpt;
APTR bltbpt;
APTR bltapt;
APTR bltdpt;
UWORD bltsize;
UBYTE pad2d;
UBYTE bltcon0l; /* low 8 bits of bltcon0, write only */
UWORD bltsizv;
UWORD bltsizh;
UWORD bltcmod;
UWORD bltbmod;
UWORD bltamod;
UWORD bltdmod;
UWORD pad34[4];
UWORD bltcdat;
UWORD bltbdat;
UWORD bltadat;
UWORD sprhdat;
UWORD bplhdat;
UWORD pad3b;
UWORD deniseid;
UWORD dsksync;
ULONG cop1lc;
ULONG cop2lc;
UWORD copjmp1;
UWORD copjmp2;
UWORD copins;
UWORD diwstrt;
UWORD diwstop;
UWORD ddfstrt;
UWORD ddfstop;
UWORD dmacon;
UWORD clxcon;
UWORD intena;
UWORD intreq;
UWORD adkcon;
struct AudChannel8 {
UWORD *ac8_ptr; /* ptr to start of waveform data */
UWORD ac8_len; /* length of waveform in words */
UWORD ac8_per; /* sample period */
UWORD ac8_vol; /* volume */
UWORD ac8_dat; /* sample pair */
UWORD ac8_pad[2]; /* unused */
} aud8[4];
APTR bplpt[8];
UWORD bplcon0;
UWORD bplcon1;
UWORD bplcon2;
UWORD bplcon3;
UWORD bpl1mod;
UWORD bpl2mod;
UWORD bplcon4;
UWORD clxcon2;
UWORD bpldat[8];
APTR sprpt[8];
struct vSpriteDef {
UWORD pos;
UWORD ctl;
UWORD dataa;
UWORD datab;
} spr[8];
UWORD color[32];
UWORD htotal;
UWORD hsstop;
UWORD hbstrt;
UWORD hbstop;
UWORD vtotal;
UWORD vsstop;
UWORD vbstrt;
UWORD vbstop;
UWORD sprhstrt;
UWORD sprhstop;
UWORD bplhstrt;
UWORD bplhstop;
UWORD hhposw;
UWORD hhposr;
UWORD beamcon0;
UWORD hsstrt;
UWORD vsstrt;
UWORD hcenter;
UWORD diwhigh;
UWORD bplhmod;
UWORD sprhpth;
UWORD sprhptl;
UWORD bplhpth;
UWORD bplhptl;
UWORD padf8[2];
UWORD gfxmode;
UWORD padfb[3];
UWORD fmode;
UWORD padff[2];
UWORD dmacon2r;
UWORD pad102[12];
UWORD intena2r;
UWORD intreq2r;
UWORD joybuttons[4];
UWORD pad114[4];
UWORD clxdat8[8];
UWORD pad120[43];
UWORD dmacon2;
UWORD pad14c;
UWORD intena2;
UWORD intreq2;
UWORD pad14f[113];
UWORD planarcolh;
UWORD planarcoll;
UWORD spritecolh;
UWORD spritecoll;
UWORD chunkycolh;
UWORD chunkycoll;
UWORD pipcolh;
UWORD pipcoll;
UWORD pad1c8[32];
UWORD pipxstrt;
UWORD pipystrt;
UWORD pipxstop;
UWORD pipystop;
APTR pipptr;
UWORD pipformat;
UWORD pipmodulo;
UWORD pipcolorkey;
UWORD pipdmarowlen;
UWORD pad1f2[12];
UWORD vampireversion;
UWORD pad1ff;
struct vAudChannel16 {
UWORD *ac16_ptr; /* ptr to start of waveform data */
ULONG ac16_len; /* length of waveform in words */
UWORD ac16_vol; /* volume */
UWORD ac16_ctrl; /* 16bits|one_shot|stereo */
UWORD ac16_per; /* sample period */
UWORD ac16_pad; /* unused */
} aud16[8];
};
extern struct VampireCustom *vampire_regs;
#endif