232 |
|
if (getv == 1) |
233 |
|
switch (size) { |
234 |
|
case sz_byte: |
235 |
< |
#ifdef AMIGA |
235 |
> |
#if defined(AMIGA) && !defined(WARPUP) |
236 |
|
/* sam: I don't know why gcc.2.7.2.1 produces a code worse */ |
237 |
|
/* if it is not done like that: */ |
238 |
|
printf ("\tuae_s8 %s = ((uae_u8*)&m68k_dreg(regs, %s))[3];\n", name, reg); |
241 |
|
#endif |
242 |
|
break; |
243 |
|
case sz_word: |
244 |
< |
#ifdef AMIGA |
244 |
> |
#if defined(AMIGA) && !defined(WARPUP) |
245 |
|
printf ("\tuae_s16 %s = ((uae_s16*)&m68k_dreg(regs, %s))[1];\n", name, reg); |
246 |
|
#else |
247 |
|
printf ("\tuae_s16 %s = m68k_dreg(regs, %s);\n", name, reg); |
2514 |
|
} |
2515 |
|
fprintf (stblfile, "{ op_%lx_%d, 0, %ld }, /* %s */\n", opcode, postfix, opcode, lookuptab[i].name); |
2516 |
|
fprintf (headerfile, "extern cpuop_func op_%lx_%d;\n", opcode, postfix); |
2517 |
< |
printf ("unsigned long REGPARAM2 op_%lx_%d(uae_u32 opcode) /* %s */\n{\n", opcode, postfix, lookuptab[i].name); |
2517 |
> |
printf ("void REGPARAM2 op_%lx_%d(uae_u32 opcode) /* %s */\n{\n", opcode, postfix, lookuptab[i].name); |
2518 |
|
|
2519 |
|
switch (table68k[opcode].stype) { |
2520 |
|
case 0: smsk = 7; break; |
2628 |
|
gen_opcode (opcode); |
2629 |
|
if (need_endlabel) |
2630 |
|
printf ("%s: ;\n", endlabelstr); |
2631 |
– |
printf ("return %d;\n", insn_n_cycles); |
2631 |
|
printf ("}\n"); |
2632 |
|
opcode_next_clev[rp] = next_cpu_level; |
2633 |
|
opcode_last_postfix[rp] = postfix; |
2639 |
|
|
2640 |
|
using_prefetch = 0; |
2641 |
|
using_exception_3 = 0; |
2642 |
+ |
#if !USE_PREFETCH_BUFFER |
2643 |
+ |
/* gb-- No need for a prefetch buffer, nor exception 3 handling */ |
2644 |
+ |
/* Anyway, Basilisk2 does not use the op_smalltbl_5 table... */ |
2645 |
+ |
for (i = 0; i <= 4; i++) { |
2646 |
+ |
#else |
2647 |
|
for (i = 0; i < 6; i++) { |
2648 |
+ |
#endif |
2649 |
|
cpu_level = 4 - i; |
2650 |
|
if (i == 5) { |
2651 |
|
cpu_level = 0; |