-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathX128_ED.H
207 lines (205 loc) · 5.27 KB
/
X128_ED.H
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
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
/******************************************/
/** **/
/** X128_ED Portable File **/
/** **/
/** (C) James McKay 1996 **/
/** **/
/** This software may not be used **/
/** for commercial reasons, the code **/
/** may not be modified or reused **/
/** without permission. **/
/** **/
/******************************************/
/** **/
/** Special Guest Stars : **/
/** **/
/** Marat Fayzullin 1995 (Unix & Ideas) **/
/** Arnold Metselaar 1995 (More Unix) **/
/******************************************/
void in_b_c(void); /* in b,(c) ALL in reg,(c) UNTESTED FLAGS */
void out_c_b(void); /* out(c),b */
void sbc_hl_bc(void); /* sbc hl,bc */
void ld_aXXXX_bc(void); /* ld(XXXX),bc */
void neg(void); /* neg */
void retn(void); /* retn */
void im_0(void); /* im 0 */
void ld_i_a(void); /* ld i,a */
void in_c_c(void); /* in c,(c) */
void out_c_c(void); /* out(c),c */
void adc_hl_bc(void); /* adc hl,bc */
void ld_bc_aXXXX(void); /* ld bc,(XXXX) */
void reti(void); /* reti */
void ld_r_a(void); /* ld r,a */
void in_d_c(void); /* in d,(c) */
void out_c_d(void); /* out(c),d */
void sbc_hl_de(void); /* sbc hl,de */
void ld_aXXXX_de(void); /* ld(XXXX),de */
void im_1(void); /* im 1 */
void ld_a_i(void); /* ld a,i UNTESTED */
void in_e_c(void); /* in e,(c) */
void out_c_e(void); /* out(c),e */
void adc_hl_de(void); /* adc hl,de */
void ld_de_aXXXX(void); /* ld de,(XXXX) */
void im_2(void); /* im 2 */
void ld_a_r(void); /* ld a,r extra flags untested */
void in_h_c(void); /* in h,(c) */
void out_c_h(void); /* out(c),h */
void sbc_hl_hl(void); /* sbc hl,hl */
void ld_aXXXX_hl(void); /* ld(XXXX),hl */
void rrd(void); /* rrd INCOMPLETE */
void in_l_c(void); /* in l,(c) */
void out_c_l(void); /* out(c),l */
void adc_hl_hl(void); /* adc hl,hl */
void ld_hl_aXXXX(void); /* ld hl,(XXXX) */
void rld(void); /* rld INCOMPLETE */
void in_f_c(void); /* in f,(c) */
void out_c_0(void); /* out(c),0 */
void sbc_hl_sp(void); /* sbc hl,sp */
void ld_aXXXX_sp(void); /* ld(XXXX),sp */
void in_a_c(void); /* in a,(c) */
void out_c_a(void); /* out(c),a */
void adc_hl_sp(void); /* adc hl,sp */
void ld_sp_aXXXX(void); /* ld sp,(XXXX) */
void ldi(void); /* ldi */
void cpi(void); /* cpi UNTESTED */
void ini(void); /* ini UNTESTED */
void outi(void); /* outi UNTESTED */
void ldd(void); /* ldd */
void cpd(void); /* cpd UNTESTED */
void ind(void); /* ind UNTESTED */
void outd(void); /* outd UNTESTED */
void ldir(void); /*ldir */
void cpir(void); /* cpir UNTESTED */
void inir(void); /* inir UNTESTED */
void otir(void); /* otir UNTESTED */
void lddr(void); /* lddr */
void cpdr(void); /* cpdr UNTESTED */
void indr(void); /* indr UNTESTED */
void otdr(void); /* otdr UNTESTED */
void Ill_ED(void);
void load_trap(void);
#ifndef ED_OBJ
struct
{
void (*opcode)();
} ED[256]=
{
Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,
Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,
Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,
Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,
Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,
Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,
Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,
Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,
in_b_c, /* 64 */
out_c_b,
sbc_hl_bc,
ld_aXXXX_bc,
neg,
retn,
im_0,
ld_i_a,
in_c_c,
out_c_c,
adc_hl_bc,
ld_bc_aXXXX,
neg,
reti,
im_0,
ld_r_a,
in_d_c, /* 80 */
out_c_d,
sbc_hl_de,
ld_aXXXX_de,
neg,
retn,
im_1,
ld_a_i,
in_e_c,
out_c_e,
adc_hl_de,
ld_de_aXXXX,
neg,
reti,
im_2,
ld_a_r,
in_h_c, /* 96 */
out_c_h,
sbc_hl_hl,
ld_aXXXX_hl,
neg,
retn,
im_0,
rrd,
in_l_c,
out_c_l,
adc_hl_hl,
ld_hl_aXXXX,
neg,
reti,
im_0,
rld,
in_f_c, /* 112 */
out_c_0,
sbc_hl_sp,
ld_aXXXX_sp,
neg,
retn,
im_1,
Ill_ED,
in_a_c,
out_c_a,
adc_hl_sp,
ld_sp_aXXXX,
neg,
reti,
im_2,
Ill_ED, /* 127 */
Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,
Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,
Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,
Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,
ldi, /* 160 */
cpi,
ini,
outi,
Ill_ED,
Ill_ED,
Ill_ED,
Ill_ED,
ldd,
cpd,
ind,
outd,
Ill_ED,
Ill_ED,
Ill_ED,
Ill_ED,
ldir, /* 176 */
cpir,
inir,
otir,
Ill_ED,
Ill_ED,
Ill_ED,
Ill_ED,
lddr,
cpdr,
indr,
otdr, /* 187 */
Ill_ED,
Ill_ED,
Ill_ED,
Ill_ED, /* 191 */
Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,
Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,
Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,
Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,
Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,
Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,
Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,Ill_ED,
Ill_ED,Ill_ED,Ill_ED,open_DAT,Ill_ED,Ill_ED,Ill_ED,
load_trap /* 255 */
};
#endif