static uae_u8 wd_data[32];
static int superdmac;
-static int scsiirqdelay;
+static int scsidelay_irq;
+static uae_u8 scsidelay_status;
static int wd33c93a = 1;
struct scsi_data *scsis[8];
}
}
-static void doscsiirq(void)
-{
- uae_int_requested |= 2;
-#if A2091_DEBUG > 2 || A3000_DEBUG > 2
- write_log("Interrupt\n");
-#endif
-}
-
-static void INT2(int quick)
+static void INT2(void)
{
int irq = 0;
if (!(auxstatus & 0x80))
return;
dmac_istr |= ISTR_INTS;
- if (isirq()) {
- if (quick)
- doscsiirq();
- else
- scsiirqdelay = 2;
- }
-}
-
-void scsi_hsync(void)
-{
- if (scsiirqdelay == 1) {
- scsiirqdelay = 0;
- doscsiirq();
- return;
- }
- if (scsiirqdelay > 1)
- scsiirqdelay--;
+ if (isirq())
+ uae_int_requested |= 2;
}
static void dmac_start_dma(void)
rethink_a2091();
}
-static void set_status(uae_u8 status, int quick)
+static void doscsistatus(void)
{
- wdregs[WD_SCSI_STATUS] = status;
+ wdregs[WD_SCSI_STATUS] = scsidelay_status;
auxstatus |= 0x80;
#if WD33C93_DEBUG > 0
- write_log("%s STATUS=%02X\n", WD33C93, status);
+ write_log("%s STATUS=%02X\n", WD33C93, scsidelay_status);
#endif
if (!currprefs.cs_a2091 && currprefs.cs_mbdmac != 1)
return;
- INT2(quick);
+ INT2();
+#if A2091_DEBUG > 2 || A3000_DEBUG > 2
+ write_log("Interrupt\n");
+#endif
+}
+
+void scsi_hsync(void)
+{
+ if (scsidelay_irq == 1) {
+ scsidelay_irq = 0;
+ doscsistatus();
+ return;
+ }
+ if (scsidelay_irq > 1)
+ scsidelay_irq--;
+}
+
+static void set_status(uae_u8 status, int quick)
+{
+ scsidelay_irq = quick <= 2 ? 2 : quick;
+ scsidelay_status = status;
}
static char *scsitostring(void)
{
int phase = wdregs[WD_COMMAND_PHASE];
#if WD33C93_DEBUG > 0
- write_log("* %s select and transfer, phase=%02X\n", WD33C93, phase);
+ write_log("* %s select and transfer, ID=%d phase=%02X\n", WD33C93, wdregs[WD_DESTINATION_ID] & 0x7, phase);
#endif
+ if (!SCSIID) {
+ set_status(CSR_TIMEOUT, 0);
+ return;
+ }
SCSIID->buffer[0] = 0;
if (phase >= 0x46) {
phase = 0x50;
SCSIID->direction = 0;
}
-
static void wd_cmd_sel_xfer_atn(void)
{
int i, tmp_tc;
tmp_tc = wdregs[WD_TRANSFER_COUNT_LSB] | (wdregs[WD_TRANSFER_COUNT] << 8) | (wdregs[WD_TRANSFER_COUNT_MSB] << 16);
#if WD33C93_DEBUG > 0
- write_log("* %s select and transfer with atn, PHASE=%02X TC=%d\n", WD33C93, wdregs[WD_COMMAND_PHASE], tmp_tc);
+ write_log("* %s select and transfer with atn, ID=%d PHASE=%02X TC=%d\n",
+ WD33C93, wdregs[WD_DESTINATION_ID] & 0x7, wdregs[WD_COMMAND_PHASE], tmp_tc);
#endif
if (wdregs[WD_COMMAND] & 0x80)
wd_tc = 1;
- SCSIID->buffer[0] = 0;
if (!SCSIID) {
set_status(CSR_TIMEOUT, 0);
return;
}
+ SCSIID->buffer[0] = 0;
SCSIID->direction = 0;
if (wdregs[WD_COMMAND_PHASE] <= 0x30) {
wd_tc = 6;
wdregs[WD_COMMAND_PHASE] = 0x10;
return;
}
- set_status(CSR_TIMEOUT, 0);
+ set_status(CSR_TIMEOUT, 1000);
}
static void wd_cmd_reset(void)
case 0x93:
v = wdscsi_get();
break;
+ case 0xc1:
+ v = 0xf8 | (1 << 0) | (1 << 1) | (1 << 2); // bits 0-2 = dip-switches
+ break;
/* XT IO */
case 0xa1:
case 0xa3:
case 0xa5:
case 0xa7:
- case 0xc1:
case 0xc3:
case 0xc5:
case 0xc7:
roms[2] = 53;
roms[3] = 56;
roms[4] = -1;
- //roms[0] = 56;
+ roms[0] = 56;
rombankswitcher = 0;
rombank = 0;
uae_u8 *dstbak, *dst;
int i;
+ if (!currprefs.cs_cd32cd)
+ return NULL;
+
dstbak = dst = (uae_u8*)malloc (1000);
save_u16 (0);
save_u16 (0xCAFE);
uae_u32 v;
int i;
+ if (!currprefs.cs_cd32cd)
+ return NULL;
+
restore_u16 ();
restore_u16 ();
cdrom_status1 = restore_u32 ();
* CIA-B: 0xb40001 (0x001, 0x101,...)
* Custom: 0xe40000
*
- * NOTE: emulation also supports 0xd40000 relocated "rom"-images
+ * NOTE: emulation also supports 0xd00000 relocated "rom"-images
*/
/* X-Power 500:
* addresses 0 to 1023: 0xf40000 (weird feature..)
*/
+ /* X-Power and Nordic Power ROM scrambling
+ *
+ * Data lines are swapped.
+ * Address lines are XOR'd (0x817F) and swapped.
+ *
+ * Even (middle) ROM
+ *
+ * Data: 0-3,1-6,2-0,3-4,4-7,5-5,6-1,7-2
+ * Addr: 0-7,1-1,2-2,3-11,4-12,5-0,6-13,7-14,8-8,9-3,10-5,11-6,12-4,13-10,14-9,15-15
+ *
+ * Odd (corner) ROM
+ *
+ * Data: 0-2,1-3,2-4,3-5,4-6,5-7,6-0,7-1
+ * Addr: 0-3,1-6,2-5,3-7,4-9,5-12,6-14,7-13,8-8,9-11,10-10,11-1,12-0,13-4,14-2,15-15
+ *
+ */
+
#include "sysconfig.h"
#include "sysdeps.h"
{
uae_u32 chip = currprefs.chipmem_size - 0x10000;
int subtype = rd->id;
+ int flags = rd->type;
cart_type = CART_SUPER4;
hrtmon_ciaa = 0;
hrtmon_ciab = 0;
- if (subtype == 65) { /* xpower */
+ if (flags & ROMTYPE_XPOWER) { /* xpower */
hrtmem_start = 0xe20000;
hrtmem_size = 0x20000;
hrtmem2_start = 0xf20000;
hrtmem2_size = 0x10000;
hrtmem_rom = 1;
- } else if (subtype == 66 || subtype == 67) { /* nordic */
+ } else if (flags & ROMTYPE_NORDIC) { /* nordic */
hrtmem_start = 0xf00000;
hrtmem_size = 0x10000;
hrtmem_end = 0xf20000;
hrtmem2_bank.baseaddr = hrtmemory2;
hrtmem_bank.baseaddr = hrtmemory;
- if (subtype == 65) {
+ if (flags & ROMTYPE_XPOWER) {
hrtmon_custom = hrtmemory2 + 0xfc00;
hrtmon_ciaa = hrtmemory2 + 0xfc00;
hrtmon_ciab = hrtmemory2 + 0xfc01;
hrtmemory2[0xfc81] = chip >> 16;
hrtmemory2[0xfc82] = chip >> 8;
hrtmemory2[0xfc83] = chip >> 0;
- } else if (subtype == 66 || subtype == 67) {
+ } else if (flags & ROMTYPE_NORDIC) {
hrtmon_custom = hrtmemory2 + 0x3c00;
hrtmon_ciaa = hrtmemory2 + 0x3c00;
hrtmon_ciab = hrtmemory2 + 0x3c01;
if (!rd) {
write_log("Unknown cartridge ROM\n");
} else {
- if (rd->type & ROMTYPE_SUPERIV) {
+ if (rd->type & (ROMTYPE_SUPERIV | ROMTYPE_NORDIC | ROMTYPE_XPOWER)) {
return superiv_init(rd, f);
}
}
#include "memory.h"
#include "newcpu.h"
+#include "cpu_small.h"
+#include "cputbl_small.h"
+
/* memory structure
*
* 0x000676 execbase
return 0;
init = -1;
+ init_cpu_small();
codememory = 0x2000;
codeptr = malloc (FAKEMEM_SIZE);
sprintf (tmp, "%splugins%cxfd", start_path_data, FSDB_DIR_SEPARATOR);
return 1;
}
-static void execute68k(struct regstruct *r)
+void xop_illg (uae_u32 opcode)
+{
+ write_log("minicpu illegal opcode %04.4x\n", opcode);
+ xm68k_setpc(0);
+}
+
+static int execute68k(void)
{
- uaecptr stack = m68k_areg(r, 7);
- m68k_areg(r, 7) = stack - 4;
+ uaecptr stack = xm68k_areg(7);
+ xm68k_areg(7) = stack - 4;
for (;;) {
- uae_u32 opcode = get_iword (r, 0);
- (*cpufunctbl[opcode])(opcode, r);
- if (m68k_areg(r, 7) >= stack)
- break;
+ uae_u32 pc;
+ uae_u32 opcode = xget_iword (0);
+ (*xcpufunctbl[opcode])(opcode);
+ if (xm68k_areg(7) == stack)
+ return 1;
+ pc = xm68k_getpc();
+ if (pc <= 0x100 || pc >= FAKEMEM_SIZE) {
+ write_log("minicpu crash, pc=%x\n", pc);
+ return 0;
+ }
}
}
-static struct zfile *decomp(struct zfile *zf, struct xfdslave *xfds, uae_u32 size, struct regstruct *regs)
+static struct zfile *decomp(struct zfile *zf, struct xfdslave *xfds, uae_u32 size)
{
uae_u8 *p;
uae_u32 decompsize;
p = xfdmemory + bufferinfo;
memset(p, 0, 20 * 4);
- regs->regs[8] = bufferinfo; // A0
+ xregs.regs[8] = bufferinfo; // A0
decompsize = gl (p + 16 * 4);
+ if (decompsize <= 0)
+ return 0;
decompaddr = FAKEMEM_SIZE - stacksize - decompsize;
pl (p + 6 * 4, decompaddr); // TargetBuffer
pl (p + 8 * 4, decompsize);
- execute68k(regs);
- if (!regs->regs[0])
+ if (!execute68k())
+ return 0;
+ if (!xregs.regs[0])
return 0;
decompsize = gl (p + 16 * 4);
zfout = zfile_fopen_empty (zfile_getname(zf), decompsize);
return zfout;
}
-static struct regstruct backregs;
-static addrbank **back_mem_banks;
-
-
-static uae_u32 REGPARAM3 xfdmem_lget (uaecptr) REGPARAM;
-static uae_u32 REGPARAM3 xfdmem_wget (uaecptr) REGPARAM;
-static uae_u32 REGPARAM3 xfdmem_bget (uaecptr) REGPARAM;
-static void REGPARAM3 xfdmem_lput (uaecptr, uae_u32) REGPARAM;
-static void REGPARAM3 xfdmem_wput (uaecptr, uae_u32) REGPARAM;
-static void REGPARAM3 xfdmem_bput (uaecptr, uae_u32) REGPARAM;
-
-static uae_u32 REGPARAM2 xfdmem_lget (uaecptr addr)
+uae_u32 xget_long (uaecptr addr)
{
uae_u32 *m;
addr &= xfdmem_mask;
m = (uae_u32 *)(xfdmemory + addr);
return do_get_mem_long (m);
}
-static uae_u32 REGPARAM2 xfdmem_wget (uaecptr addr)
+uae_u32 xget_word (uaecptr addr)
{
uae_u16 *m;
addr &= xfdmem_mask;
m = (uae_u16 *)(xfdmemory + addr);
return do_get_mem_word (m);
}
-static uae_u32 REGPARAM2 xfdmem_bget (uaecptr addr)
+uae_u32 xget_byte (uaecptr addr)
{
addr &= xfdmem_mask;
return xfdmemory[addr];
}
-static void REGPARAM2 xfdmem_lput (uaecptr addr, uae_u32 l)
+void xput_long (uaecptr addr, uae_u32 l)
{
uae_u32 *m;
addr &= xfdmem_mask;
m = (uae_u32 *)(xfdmemory + addr);
do_put_mem_long (m, l);
}
-static void REGPARAM2 xfdmem_wput (uaecptr addr, uae_u32 w)
+void xput_word (uaecptr addr, uae_u32 w)
{
uae_u16 *m;
addr &= xfdmem_mask;
m = (uae_u16 *)(xfdmemory + addr);
do_put_mem_word (m, w);
}
-static void REGPARAM2 xfdmem_bput (uaecptr addr, uae_u32 b)
+void xput_byte (uaecptr addr, uae_u32 b)
{
addr &= xfdmem_mask;
xfdmemory[addr] = b;
}
-static addrbank xfdmem_bank = {
- xfdmem_lget, xfdmem_wget, xfdmem_bget,
- xfdmem_lput, xfdmem_wput, xfdmem_bput,
- NULL, NULL, NULL, "XFDFAKE",
- xfdmem_lget, xfdmem_wget, ABFLAG_RAM
-};
-
-static void store_state(void)
-{
- int i;
-
- memcpy (&backregs, ®s, sizeof (struct regstruct));
- back_mem_banks = xmalloc(MEMORY_BANKS * sizeof (addrbank*));
- memcpy (back_mem_banks, mem_banks, MEMORY_BANKS * sizeof (addrbank*));
- for (i = 0; i < MEMORY_BANKS; i++)
- mem_banks[bankindex(i * 65536)] = &xfdmem_bank;
-}
-
-static void restore_state(void)
-{
- memcpy (mem_banks, back_mem_banks, MEMORY_BANKS * sizeof (addrbank*));
- xfree(back_mem_banks);
- memcpy (®s, &backregs, sizeof (struct regstruct));
-}
struct zfile *decompress_zfd(struct zfile *z)
{
unsigned int size;
uae_u8 *p;
struct xfdslave *xfds;
- struct zfile *zfout = NULL;
+ struct zfile *zfout = z;
if (!init_xfd())
- return z;
+ return zfout;
memset (xfdmemory, 0, FAKEMEM_SIZE);
memcpy (xfdmemory, codeptr, codememory);
xfdmem_mask = FAKEMEM_SIZE - 1;
- p = codeptr + codememory;
+ p = xfdmemory + codememory;
zfile_fseek (z, 0, SEEK_END);
size = zfile_ftell (z);
zfile_fseek (z, 0, SEEK_SET);
zfile_fread (p, size, 1, z);
- store_state();
-
xfds = xfdslaves;
while (xfds) {
uaecptr start = xfds->start;
- memset(®s, 0, sizeof regs);
+ memset(&xregs, 0, sizeof xregs);
pl(codeptr + freememaddr, codememory + size); // reset start of "free memory"
- regs.regs[0] = size; // D0
- regs.regs[8] = codememory; // A0
- regs.regs[9] = bufferinfo; // A1
- regs.regs[15] = FAKEMEM_SIZE; // A7
+ xregs.regs[0] = size; // D0
+ xregs.regs[8] = codememory; // A0
+ xregs.regs[9] = bufferinfo; // A1
+ xregs.regs[15] = FAKEMEM_SIZE; // A7
pl(xfdmemory + bufferinfo + 0x00, codememory); // SourceBuffer
pl(xfdmemory + bufferinfo + 0x04, size); // SourceBufLen
- m68k_setpc(®s, gl(xfdmemory + start + 16)); // recog code
- if (regs.pc) {
- execute68k(®s);
- if (regs.regs[0]) {
- write_log("XFD slave '%s' recognised the compressed data\n", xfds->name);
- m68k_setpc(®s, gl(xfdmemory + start + 20)); // decomp code
- if (regs.pc)
- zfout = decomp(z, xfds, size, ®s);
- if (zfout)
- break;
+ xm68k_setpc(gl(xfdmemory + start + 16)); // recog code
+ if (xregs.pc) {
+ if (execute68k()) {
+ if (xregs.regs[0]) {
+ write_log("XFD slave '%s' recognised the compressed data\n", xfds->name);
+ xm68k_setpc(gl(xfdmemory + start + 20)); // decomp code
+ if (xregs.pc) {
+ struct zfile *zz = decomp(z, xfds, size);
+ if (zz) {
+ zfout = zz;
+ break;
+ }
+ }
+ }
}
}
xfds = xfds->next;
}
- restore_state();
-
return zfout;
}
#define FINISH_DATA(data,b,logn)
#endif
-/* Always put the right word before the left word. */
-#define MAX_DELAY_BUFFER 1024
-static uae_u32 right_word_saved[MAX_DELAY_BUFFER];
-static uae_u32 left_word_saved[MAX_DELAY_BUFFER];
-static uae_u32 right2_word_saved[MAX_DELAY_BUFFER];
-static uae_u32 left2_word_saved[MAX_DELAY_BUFFER];
+static uae_u32 right_word_saved[SOUND_MAX_DELAY_BUFFER];
+static uae_u32 left_word_saved[SOUND_MAX_DELAY_BUFFER];
+static uae_u32 right2_word_saved[SOUND_MAX_DELAY_BUFFER];
+static uae_u32 left2_word_saved[SOUND_MAX_DELAY_BUFFER];
static int saved_ptr, saved_ptr2;
-#define MIXED_STEREO_MAX 32
static int mixed_on, mixed_stereo_size, mixed_mul1, mixed_mul2;
static int led_filter_forced, sound_use_filter, sound_use_filter_sinc, led_filter_on;
return o;
}
+/* Always put the right word before the left word. */
+
STATIC_INLINE void put_sound_word_right (uae_u32 w)
{
if (mixed_on) {
saved_ptr = (saved_ptr + 1) & mixed_stereo_size;
lold = left_word_saved[saved_ptr] - SOUND16_BASE_VAL;
- tmp = (rnew * mixed_mul1 + lold * mixed_mul2) / MIXED_STEREO_MAX;
+ tmp = (rnew * mixed_mul2 + lold * mixed_mul1) / MIXED_STEREO_SCALE;
tmp += SOUND16_BASE_VAL;
PUT_SOUND_WORD_RIGHT (tmp);
rold = right_word_saved[saved_ptr] - SOUND16_BASE_VAL;
- w = (lnew * mixed_mul1 + rold * mixed_mul2) / MIXED_STEREO_MAX;
+ w = (lnew * mixed_mul2 + rold * mixed_mul1) / MIXED_STEREO_SCALE;
}
PUT_SOUND_WORD_LEFT (w);
}
|| changed_prefs.win32_soundcard != currprefs.win32_soundcard
|| changed_prefs.sound_stereo != currprefs.sound_stereo
|| changed_prefs.sound_stereo_separation != currprefs.sound_stereo_separation
- || changed_prefs.sound_mixed_stereo != currprefs.sound_mixed_stereo
+ || changed_prefs.sound_mixed_stereo_delay != currprefs.sound_mixed_stereo_delay
|| changed_prefs.sound_maxbsiz != currprefs.sound_maxbsiz
|| changed_prefs.sound_freq != currprefs.sound_freq
|| changed_prefs.sound_auto != currprefs.sound_auto
void set_audio(void)
{
+ int old_mixed_on = mixed_on;
+ int old_mixed_size = mixed_stereo_size;
+ int sep, delay;
+
close_sound ();
currprefs.produce_sound = changed_prefs.produce_sound;
currprefs.win32_soundcard = changed_prefs.win32_soundcard;
currprefs.sound_stereo = changed_prefs.sound_stereo;
currprefs.sound_stereo_separation = changed_prefs.sound_stereo_separation;
- currprefs.sound_mixed_stereo = changed_prefs.sound_mixed_stereo;
+ currprefs.sound_mixed_stereo_delay = changed_prefs.sound_mixed_stereo_delay;
currprefs.sound_auto = changed_prefs.sound_auto;
currprefs.sound_interpol = changed_prefs.sound_interpol;
currprefs.sound_freq = changed_prefs.sound_freq;
last_cycles = get_cycles () - 1;
compute_vsynctime ();
- mixed_mul1 = MIXED_STEREO_MAX / 2 - ((currprefs.sound_stereo_separation * 3) / 2);
- mixed_mul2 = MIXED_STEREO_MAX / 2 + ((currprefs.sound_stereo_separation * 3) / 2);
- mixed_stereo_size = currprefs.sound_mixed_stereo > 0 ? (1 << (currprefs.sound_mixed_stereo - 1)) - 1 : 0;
- mixed_on = (currprefs.sound_stereo_separation > 0 || currprefs.sound_mixed_stereo > 0) ? 1 : 0;
+ sep = (currprefs.sound_stereo_separation = changed_prefs.sound_stereo_separation) * 3 / 2;
+ delay = currprefs.sound_mixed_stereo_delay = changed_prefs.sound_mixed_stereo_delay;
+ mixed_mul1 = MIXED_STEREO_SCALE / 2 - sep;
+ mixed_mul2 = MIXED_STEREO_SCALE / 2 + sep;
+ mixed_stereo_size = delay > 0 ? (1 << (delay - 1)) - 1 : 0;
+ mixed_on = (sep > 0 && sep < MIXED_STEREO_MAX) || mixed_stereo_size > 0;
+ if (mixed_on && old_mixed_size != mixed_stereo_size) {
+ saved_ptr = 0;
+ memset (right_word_saved, 0, sizeof right_word_saved);
+ }
led_filter_forced = -1; // always off
sound_use_filter = sound_use_filter_sinc = 0;
schedule_audio ();
}
-#ifdef CPUEMU_6
-extern uae_u8 cycle_line[];
-#endif
uae_u16 dmacon;
void audio_hsync (int dmaaction)
if (cdp->request_word >= 2)
handle2 = 1;
if (chan_ena) {
-#ifdef CPUEMU_6
- cycle_line[13 + nr * 2] |= CYCLE_MISC;
-#endif
+ alloc_cycle_ext (13 + nr * 2, CYCLE_MISC);
if (cdp->request_word == 1 || cdp->request_word == 2)
cdp->pt += 2;
}
static const int blit_cycle_diagram_line[] =
{
- 0, 4, 0,3,0,4, 0,0,0,0,0,0,0,0,0,0 /* guessed */
+ 0, 4, 0,3,0,4, 0,0,0,0,0,0,0,0,0,0
};
static const int blit_cycle_diagram_finald[] =
if (blitsing && blitonedot)
blitahold = 0;
- blitonedot = 1;
+ blitonedot++;
blt_info.bltddat = blit_func(blitahold, blitbhold, blitchold, bltcon0 & 0xFF);
}
hpos++;
if (dmaen (DMA_BLITTER)) {
while (blit_last_hpos < hpos) {
- int c = channel_state (blit_cyclecounter);
+ int c = blit_cyclecounter % 4;
for (;;) {
- if (c) {
- if (!canblit(blit_last_hpos))
+ if (c == 1 || c == 3) {
+ /* onedot mode and no pixel = bus write access is skipped */
+ if (c == 3 && blitsing && blitonedot > 1) {
+ blit_cyclecounter++;
+ if (blt_info.vblitsize == 0) {
+ bltdpt = bltcpt;
+ blitter_done();
+ return;
+ }
+ break;
+ }
+ if (canblit(blit_last_hpos) <= 0)
break;
}
blit_cyclecounter++;
- if (c == 3) {
+ if (c == 1) {
blitter_read();
- cycle_line[blit_last_hpos] |= CYCLE_BLITTER;
- } else if (c == 4) {
+ alloc_cycle_ext (blit_last_hpos, CYCLE_BLITTER);
+ } else if (c == 2) {
if (ddat1use) {
bltdpt = bltcpt;
}
blitter_line();
blitter_line_proc();
blitter_nxline();
+ } else if (c == 3) {
blitter_write();
- cycle_line[blit_last_hpos] |= CYCLE_BLITTER;
+ alloc_cycle_ext (blit_last_hpos, CYCLE_BLITTER);
if (blt_info.vblitsize == 0) {
bltdpt = bltcpt;
blitter_done();
blt_info.got_cycle = 1;
if (c < 0) { /* no channel but bus still needs to be allocated.. */
- cycle_line[blit_last_hpos] |= CYCLE_BLITTER;
+ alloc_cycle_ext (blit_last_hpos, CYCLE_BLITTER);
blit_cyclecounter++;
} else if (c == 4) {
if (blitter_doddma ()) {
- cycle_line[blit_last_hpos] |= CYCLE_BLITTER;
+ alloc_cycle_ext (blit_last_hpos, CYCLE_BLITTER);
blit_cyclecounter++;
}
} else if (c) {
if (blitter_vcounter1 < blt_info.vblitsize) {
- cycle_line[blit_last_hpos] |= CYCLE_BLITTER;
+ alloc_cycle_ext (blit_last_hpos, CYCLE_BLITTER);
blitter_dodma (c);
}
blit_cyclecounter++;
cfgfile_write (f, "sound_bits=%d\n", p->sound_bits);
cfgfile_write (f, "sound_channels=%s\n", stereomode[p->sound_stereo]);
cfgfile_write (f, "sound_stereo_separation=%d\n", p->sound_stereo_separation);
- cfgfile_write (f, "sound_stereo_mixing_delay=%d\n", p->sound_mixed_stereo >= 0 ? p->sound_mixed_stereo : 0);
+ cfgfile_write (f, "sound_stereo_mixing_delay=%d\n", p->sound_mixed_stereo_delay >= 0 ? p->sound_mixed_stereo_delay : 0);
cfgfile_write (f, "sound_max_buff=%d\n", p->sound_maxbsiz);
cfgfile_write (f, "sound_frequency=%d\n", p->sound_freq);
cfgfile_write (f, "sound_latency=%d\n", p->sound_latency);
/* Don't write gfxlib/gfx_test_speed options. */
}
-int cfgfile_yesno (char *option, char *value, char *name, int *location)
+int cfgfile_yesno (const char *option, const char *value, const char *name, int *location)
{
if (strcmp (option, name) != 0)
return 0;
return 1;
}
-int cfgfile_intval (char *option, char *value, char *name, int *location, int scale)
+int cfgfile_intval (const char *option, const char *value, const char *name, int *location, int scale)
{
int base = 10;
char *endptr;
return 1;
}
-int cfgfile_strval (char *option, char *value, char *name, int *location, const char *table[], int more)
+int cfgfile_strval (const char *option, const char *value, const char *name, int *location, const char *table[], int more)
{
int val;
if (strcmp (option, name) != 0)
return 1;
}
-int cfgfile_string (char *option, char *value, char *name, char *location, int maxsz)
+int cfgfile_string (const char *option, const char *value, const char *name, char *location, int maxsz)
{
if (strcmp (option, name) != 0)
return 0;
|| cfgfile_intval (option, value, "sound_frequency", &p->sound_freq, 1)
|| cfgfile_intval (option, value, "sound_volume", &p->sound_volume, 1)
|| cfgfile_intval (option, value, "sound_stereo_separation", &p->sound_stereo_separation, 1)
- || cfgfile_intval (option, value, "sound_stereo_mixing_delay", &p->sound_mixed_stereo, 1)
+ || cfgfile_intval (option, value, "sound_stereo_mixing_delay", &p->sound_mixed_stereo_delay, 1)
|| cfgfile_intval (option, value, "gfx_display", &p->gfx_display, 1)
|| cfgfile_intval (option, value, "gfx_framerate", &p->gfx_framerate, 1)
if (cfgfile_strval (option, value, "sound_channels", &p->sound_stereo, stereomode, 1)) {
if (p->sound_stereo == SND_NONE) { /* "mixed stereo" compatibility hack */
p->sound_stereo = SND_STEREO;
- p->sound_mixed_stereo = 5;
+ p->sound_mixed_stereo_delay = 5;
p->sound_stereo_separation = 7;
}
return 1;
uci->configoffset = -1;
uci->controller = hdc;
strcpy (uci->filesys, filesysdir ? filesysdir : "");
- if (!uci->devname[0])
- sprintf(uci->devname, "DH%d", uci - &p->mountconfig[0]);
- if (volname && !uci->volname[0]) {
+ if (!uci->devname[0]) {
+ char base[32];
+ char base2[32];
+ int num = 0;
+ if (uci->rootdir[0] == 0 && !uci->ishdf)
+ strcpy (base, "RDH");
+ else
+ strcpy (base, "DH");
+ strcpy (base2, base);
+ for (i = 0; i < p->mountitems; i++) {
+ sprintf(base2, "%s%d", base, num);
+ if (!strcmp(base2, p->mountconfig[i].devname)) {
+ num++;
+ i = -1;
+ continue;
+ }
+ }
+ strcpy (uci->devname, base2);
+ }
+ if (volname && !uci->volname[0] && rootdir) {
for (i = strlen(rootdir) - 1; i >= 0; i--) {
char c = rootdir[i];
if (c == ':' || c == '/' || c == '\\') {
|| strcmp (option, "hardfile2") == 0)
{
int secs, heads, reserved, bs, ro, bp, hdcv;
- char *dname, *aname, *root, *fs, *hdc;
+ char *dname = NULL, *aname = "", *root = NULL, *fs = NULL, *hdc;
char *tmpp = strchr (value, ',');
- char *str;
+ char *str = NULL;
config_newfilesystem = 1;
if (tmpp == 0)
if (strcmp (option, "filesystem2") == 0) {
tmpp = strchr (value, ':');
if (tmpp == 0)
- goto invalid_fs;
+ goto empty_fs;
*tmpp++ = 0;
dname = value;
aname = tmpp;
tmpp = strchr (tmpp, ':');
if (tmpp == 0)
- goto invalid_fs;
+ goto empty_fs;
*tmpp++ = 0;
root = tmpp;
tmpp = strchr (tmpp, ',');
if (tmpp == 0)
- goto invalid_fs;
+ goto empty_fs;
*tmpp++ = 0;
if (! getintval (&tmpp, &bp, 0))
- goto invalid_fs;
+ goto empty_fs;
} else {
tmpp = strchr (value, ':');
if (tmpp == 0)
}
}
}
- str = cfgfile_subst_path (UNEXPANDED, p->path_hardfile, root);
+ empty_fs:
+ if (root)
+ str = cfgfile_subst_path (UNEXPANDED, p->path_hardfile, root);
#ifdef FILESYS
add_filesys_config (p, -1, dname, aname, str, ro, secs, heads, reserved, bs, bp, fs, hdcv, 0);
#endif
romwarning(rom);
return 0;
}
- switch (rd->type)
- {
- case ROMTYPE_KICK:
- case ROMTYPE_KICKCD32:
+ if (rd->type & (ROMTYPE_KICK | ROMTYPE_KICKCD32))
strcpy (p->romfile, path);
- break;
- case ROMTYPE_EXTCD32:
- case ROMTYPE_EXTCDTV:
- case ROMTYPE_ARCADIABIOS:
+ if (rd->type & (ROMTYPE_EXTCD32 | ROMTYPE_EXTCDTV | ROMTYPE_ARCADIABIOS))
strcpy (p->romextfile, path);
- break;
- }
return 1;
}
p->produce_sound = 3;
p->sound_stereo = SND_STEREO;
p->sound_stereo_separation = 7;
- p->sound_mixed_stereo = 0;
+ p->sound_mixed_stereo_delay = 0;
p->sound_bits = DEFAULT_SOUND_BITS;
p->sound_freq = DEFAULT_SOUND_FREQ;
p->sound_maxbsiz = DEFAULT_SOUND_MAXB;
compop_func *nfcf;
#endif
int isjmp,isaddx,iscjmp;
-
- if (table68k[opcode].mnemo == i_ILLG || table68k[opcode].clev > currprefs.cpu_level)
+ int lvl;
+
+ lvl = 5 - (currprefs.cpu_model - 68000) / 10;
+ if (lvl < 0)
+ lvl = 0;
+ if (table68k[opcode].mnemo == i_ILLG || table68k[opcode].clev > lvl)
continue;
if (table68k[opcode].handler != -1) {
void compile_block(cpu_history* pc_hist, int blocklen, int totcycles)
{
- if (letit && compiled_code && currprefs.cpu_level>=2) {
+ if (letit && compiled_code && currprefs.cpu_model>=68020) {
/* OK, here we need to 'compile' a block */
int i;
--- /dev/null
+#include "sysconfig.h"
+#include "sysdeps.h"
+
+#include "cpu_small.h"
+
+#include "readcpu.h"
+
+struct xcpu xregs;
+
+const int xareg_byteinc[] = { 1,1,1,1,1,1,1,2 };
+const int ximm8_table[] = { 8,1,2,3,4,5,6,7 };
+
+uae_u32 xnext_iword (void)
+{
+ uae_u32 r = xget_iword (0);
+ xm68k_incpc (2);
+ return r;
+}
+uae_u32 xnext_ilong (void)
+{
+ uae_u32 r = xget_ilong (0);
+ xm68k_incpc (4);
+ return r;
+}
+
+uae_u32 xget_ibyte (int offset)
+{
+ return xget_byte (xm68k_getpc() + offset);
+}
+uae_u32 xget_iword (int offset)
+{
+ return xget_word (xm68k_getpc() + offset);
+}
+uae_u32 xget_ilong (int offset)
+{
+ return xget_long (xm68k_getpc() + offset);
+}
+
+void xm68k_incpc (int offset)
+{
+ xregs.pc += offset;
+}
+uaecptr xm68k_getpc(void)
+{
+ return xregs.pc;
+}
+void xm68k_setpc (uaecptr pc)
+{
+ xregs.pc = pc;
+}
+
+uae_u32 xget_disp_ea_020 (uae_u32 base, uae_u32 dp)
+{
+ int reg = (dp >> 12) & 15;
+ uae_s32 regd = xregs.regs[reg];
+ if ((dp & 0x800) == 0)
+ regd = (uae_s32)(uae_s16)regd;
+ regd <<= (dp >> 9) & 3;
+ if (dp & 0x100) {
+ uae_s32 outer = 0;
+ if (dp & 0x80) base = 0;
+ if (dp & 0x40) regd = 0;
+
+ if ((dp & 0x30) == 0x20) base += (uae_s32)(uae_s16)xnext_iword();
+ if ((dp & 0x30) == 0x30) base += xnext_ilong();
+
+ if ((dp & 0x3) == 0x2) outer = (uae_s32)(uae_s16)xnext_iword();
+ if ((dp & 0x3) == 0x3) outer = xnext_ilong();
+
+ if ((dp & 0x4) == 0) base += regd;
+ if (dp & 0x3) base = xget_long (base);
+ if (dp & 0x4) base += regd;
+
+ return base + outer;
+ } else {
+ return base + (uae_s32)((uae_s8)dp) + regd;
+ }
+}
+
+uae_u32 xget_disp_ea_000 (uae_u32 base, uae_u32 dp)
+{
+ int reg = (dp >> 12) & 15;
+ uae_s32 regd = xregs.regs[reg];
+ if ((dp & 0x800) == 0)
+ regd = (uae_s32)(uae_s16)regd;
+ return base + (uae_s8)dp + regd;
+
+}
+
+/*
+ * Test CCR condition
+ */
+int xcctrue (int cc)
+{
+ uae_u32 cznv = xregs.cznv;
+
+ switch (cc) {
+ case 0: return 1; /* T */
+ case 1: return 0; /* F */
+ case 2: return (cznv & (XFLAGVAL_C | XFLAGVAL_Z)) == 0; /* !CFLG && !ZFLG HI */
+ case 3: return (cznv & (XFLAGVAL_C | XFLAGVAL_Z)) != 0; /* CFLG || ZFLG LS */
+ case 4: return (cznv & XFLAGVAL_C) == 0; /* !CFLG CC */
+ case 5: return (cznv & XFLAGVAL_C) != 0; /* CFLG CS */
+ case 6: return (cznv & XFLAGVAL_Z) == 0; /* !ZFLG NE */
+ case 7: return (cznv & XFLAGVAL_Z) != 0; /* ZFLG EQ */
+ case 8: return (cznv & XFLAGVAL_V) == 0; /* !VFLG VC */
+ case 9: return (cznv & XFLAGVAL_V) != 0; /* VFLG VS */
+ case 10: return (cznv & XFLAGVAL_N) == 0; /* !NFLG PL */
+ case 11: return (cznv & XFLAGVAL_N) != 0; /* NFLG MI */
+ case 12: return (((cznv << (XFLAGBIT_N - XFLAGBIT_V)) ^ cznv) & XFLAGVAL_N) == 0; /* NFLG == VFLG GE */
+ case 13: return (((cznv << (XFLAGBIT_N - XFLAGBIT_V)) ^ cznv) & XFLAGVAL_N) != 0; /* NFLG != VFLG LT */
+ case 14: cznv &= (XFLAGVAL_N | XFLAGVAL_Z | XFLAGVAL_V); /* ZFLG && (NFLG == VFLG) GT */
+ return (((cznv << (XFLAGBIT_N - XFLAGBIT_V)) ^ cznv) & (XFLAGVAL_N | XFLAGVAL_Z)) == 0;
+ case 15: cznv &= (XFLAGVAL_N | XFLAGVAL_Z | XFLAGVAL_V); /* ZFLG && (NFLG != VFLG) LE */
+ return (((cznv << (XFLAGBIT_N - XFLAGBIT_V)) ^ cznv) & (XFLAGVAL_N | XFLAGVAL_Z)) != 0;
+ }
+ return 0;
+}
+
+xcpuop_func *xcpufunctbl[65536];
+
+void init_cpu_small(void)
+{
+ struct xcputbl *tbl = xop_smalltbl_0;
+ int opcode, i;
+ int lvl = 5, opcnt;
+
+ for (opcode = 0; opcode < 65536; opcode++)
+ xcpufunctbl[opcode] = xop_illg;
+ for (i = 0; tbl[i].handler != NULL; i++)
+ xcpufunctbl[tbl[i].opcode] = tbl[i].handler;
+
+ opcnt = 0;
+ for (opcode = 0; opcode < 65536; opcode++) {
+ xcpuop_func *f;
+
+ if (table68k[opcode].mnemo == i_ILLG || table68k[opcode].clev > lvl)
+ continue;
+
+ if (table68k[opcode].handler != -1) {
+ f = xcpufunctbl[table68k[opcode].handler];
+ xcpufunctbl[opcode] = f;
+ opcnt++;
+ }
+ }
+ write_log ("MiniCPU initialized, %d opcodes\n", opcnt);
+}
--- /dev/null
+#include "cpu_small.h"
+#include "cputbl_small.h"
+struct xcputbl xop_smalltbl_0[] = {
+{ xop_0_0, 0 }, /* OR */
+{ xop_10_0, 16 }, /* OR */
+{ xop_18_0, 24 }, /* OR */
+{ xop_20_0, 32 }, /* OR */
+{ xop_28_0, 40 }, /* OR */
+{ xop_30_0, 48 }, /* OR */
+{ xop_38_0, 56 }, /* OR */
+{ xop_39_0, 57 }, /* OR */
+{ xop_3c_0, 60 }, /* ORSR */
+{ xop_40_0, 64 }, /* OR */
+{ xop_50_0, 80 }, /* OR */
+{ xop_58_0, 88 }, /* OR */
+{ xop_60_0, 96 }, /* OR */
+{ xop_68_0, 104 }, /* OR */
+{ xop_70_0, 112 }, /* OR */
+{ xop_78_0, 120 }, /* OR */
+{ xop_79_0, 121 }, /* OR */
+{ xop_7c_0, 124 }, /* ORSR */
+{ xop_80_0, 128 }, /* OR */
+{ xop_90_0, 144 }, /* OR */
+{ xop_98_0, 152 }, /* OR */
+{ xop_a0_0, 160 }, /* OR */
+{ xop_a8_0, 168 }, /* OR */
+{ xop_b0_0, 176 }, /* OR */
+{ xop_b8_0, 184 }, /* OR */
+{ xop_b9_0, 185 }, /* OR */
+{ xop_d0_0, 208 }, /* CHK2 */
+{ xop_e8_0, 232 }, /* CHK2 */
+{ xop_f0_0, 240 }, /* CHK2 */
+{ xop_f8_0, 248 }, /* CHK2 */
+{ xop_f9_0, 249 }, /* CHK2 */
+{ xop_fa_0, 250 }, /* CHK2 */
+{ xop_fb_0, 251 }, /* CHK2 */
+{ xop_100_0, 256 }, /* BTST */
+{ xop_108_0, 264 }, /* MVPMR */
+{ xop_110_0, 272 }, /* BTST */
+{ xop_118_0, 280 }, /* BTST */
+{ xop_120_0, 288 }, /* BTST */
+{ xop_128_0, 296 }, /* BTST */
+{ xop_130_0, 304 }, /* BTST */
+{ xop_138_0, 312 }, /* BTST */
+{ xop_139_0, 313 }, /* BTST */
+{ xop_13a_0, 314 }, /* BTST */
+{ xop_13b_0, 315 }, /* BTST */
+{ xop_13c_0, 316 }, /* BTST */
+{ xop_140_0, 320 }, /* BCHG */
+{ xop_148_0, 328 }, /* MVPMR */
+{ xop_150_0, 336 }, /* BCHG */
+{ xop_158_0, 344 }, /* BCHG */
+{ xop_160_0, 352 }, /* BCHG */
+{ xop_168_0, 360 }, /* BCHG */
+{ xop_170_0, 368 }, /* BCHG */
+{ xop_178_0, 376 }, /* BCHG */
+{ xop_179_0, 377 }, /* BCHG */
+{ xop_17a_0, 378 }, /* BCHG */
+{ xop_17b_0, 379 }, /* BCHG */
+{ xop_180_0, 384 }, /* BCLR */
+{ xop_188_0, 392 }, /* MVPRM */
+{ xop_190_0, 400 }, /* BCLR */
+{ xop_198_0, 408 }, /* BCLR */
+{ xop_1a0_0, 416 }, /* BCLR */
+{ xop_1a8_0, 424 }, /* BCLR */
+{ xop_1b0_0, 432 }, /* BCLR */
+{ xop_1b8_0, 440 }, /* BCLR */
+{ xop_1b9_0, 441 }, /* BCLR */
+{ xop_1ba_0, 442 }, /* BCLR */
+{ xop_1bb_0, 443 }, /* BCLR */
+{ xop_1c0_0, 448 }, /* BSET */
+{ xop_1c8_0, 456 }, /* MVPRM */
+{ xop_1d0_0, 464 }, /* BSET */
+{ xop_1d8_0, 472 }, /* BSET */
+{ xop_1e0_0, 480 }, /* BSET */
+{ xop_1e8_0, 488 }, /* BSET */
+{ xop_1f0_0, 496 }, /* BSET */
+{ xop_1f8_0, 504 }, /* BSET */
+{ xop_1f9_0, 505 }, /* BSET */
+{ xop_1fa_0, 506 }, /* BSET */
+{ xop_1fb_0, 507 }, /* BSET */
+{ xop_200_0, 512 }, /* AND */
+{ xop_210_0, 528 }, /* AND */
+{ xop_218_0, 536 }, /* AND */
+{ xop_220_0, 544 }, /* AND */
+{ xop_228_0, 552 }, /* AND */
+{ xop_230_0, 560 }, /* AND */
+{ xop_238_0, 568 }, /* AND */
+{ xop_239_0, 569 }, /* AND */
+{ xop_23c_0, 572 }, /* ANDSR */
+{ xop_240_0, 576 }, /* AND */
+{ xop_250_0, 592 }, /* AND */
+{ xop_258_0, 600 }, /* AND */
+{ xop_260_0, 608 }, /* AND */
+{ xop_268_0, 616 }, /* AND */
+{ xop_270_0, 624 }, /* AND */
+{ xop_278_0, 632 }, /* AND */
+{ xop_279_0, 633 }, /* AND */
+{ xop_27c_0, 636 }, /* ANDSR */
+{ xop_280_0, 640 }, /* AND */
+{ xop_290_0, 656 }, /* AND */
+{ xop_298_0, 664 }, /* AND */
+{ xop_2a0_0, 672 }, /* AND */
+{ xop_2a8_0, 680 }, /* AND */
+{ xop_2b0_0, 688 }, /* AND */
+{ xop_2b8_0, 696 }, /* AND */
+{ xop_2b9_0, 697 }, /* AND */
+{ xop_2d0_0, 720 }, /* CHK2 */
+{ xop_2e8_0, 744 }, /* CHK2 */
+{ xop_2f0_0, 752 }, /* CHK2 */
+{ xop_2f8_0, 760 }, /* CHK2 */
+{ xop_2f9_0, 761 }, /* CHK2 */
+{ xop_2fa_0, 762 }, /* CHK2 */
+{ xop_2fb_0, 763 }, /* CHK2 */
+{ xop_400_0, 1024 }, /* SUB */
+{ xop_410_0, 1040 }, /* SUB */
+{ xop_418_0, 1048 }, /* SUB */
+{ xop_420_0, 1056 }, /* SUB */
+{ xop_428_0, 1064 }, /* SUB */
+{ xop_430_0, 1072 }, /* SUB */
+{ xop_438_0, 1080 }, /* SUB */
+{ xop_439_0, 1081 }, /* SUB */
+{ xop_440_0, 1088 }, /* SUB */
+{ xop_450_0, 1104 }, /* SUB */
+{ xop_458_0, 1112 }, /* SUB */
+{ xop_460_0, 1120 }, /* SUB */
+{ xop_468_0, 1128 }, /* SUB */
+{ xop_470_0, 1136 }, /* SUB */
+{ xop_478_0, 1144 }, /* SUB */
+{ xop_479_0, 1145 }, /* SUB */
+{ xop_480_0, 1152 }, /* SUB */
+{ xop_490_0, 1168 }, /* SUB */
+{ xop_498_0, 1176 }, /* SUB */
+{ xop_4a0_0, 1184 }, /* SUB */
+{ xop_4a8_0, 1192 }, /* SUB */
+{ xop_4b0_0, 1200 }, /* SUB */
+{ xop_4b8_0, 1208 }, /* SUB */
+{ xop_4b9_0, 1209 }, /* SUB */
+{ xop_4d0_0, 1232 }, /* CHK2 */
+{ xop_4e8_0, 1256 }, /* CHK2 */
+{ xop_4f0_0, 1264 }, /* CHK2 */
+{ xop_4f8_0, 1272 }, /* CHK2 */
+{ xop_4f9_0, 1273 }, /* CHK2 */
+{ xop_4fa_0, 1274 }, /* CHK2 */
+{ xop_4fb_0, 1275 }, /* CHK2 */
+{ xop_600_0, 1536 }, /* ADD */
+{ xop_610_0, 1552 }, /* ADD */
+{ xop_618_0, 1560 }, /* ADD */
+{ xop_620_0, 1568 }, /* ADD */
+{ xop_628_0, 1576 }, /* ADD */
+{ xop_630_0, 1584 }, /* ADD */
+{ xop_638_0, 1592 }, /* ADD */
+{ xop_639_0, 1593 }, /* ADD */
+{ xop_640_0, 1600 }, /* ADD */
+{ xop_650_0, 1616 }, /* ADD */
+{ xop_658_0, 1624 }, /* ADD */
+{ xop_660_0, 1632 }, /* ADD */
+{ xop_668_0, 1640 }, /* ADD */
+{ xop_670_0, 1648 }, /* ADD */
+{ xop_678_0, 1656 }, /* ADD */
+{ xop_679_0, 1657 }, /* ADD */
+{ xop_680_0, 1664 }, /* ADD */
+{ xop_690_0, 1680 }, /* ADD */
+{ xop_698_0, 1688 }, /* ADD */
+{ xop_6a0_0, 1696 }, /* ADD */
+{ xop_6a8_0, 1704 }, /* ADD */
+{ xop_6b0_0, 1712 }, /* ADD */
+{ xop_6b8_0, 1720 }, /* ADD */
+{ xop_6b9_0, 1721 }, /* ADD */
+{ xop_6c0_0, 1728 }, /* RTM */
+{ xop_6c8_0, 1736 }, /* RTM */
+{ xop_6d0_0, 1744 }, /* CALLM */
+{ xop_6e8_0, 1768 }, /* CALLM */
+{ xop_6f0_0, 1776 }, /* CALLM */
+{ xop_6f8_0, 1784 }, /* CALLM */
+{ xop_6f9_0, 1785 }, /* CALLM */
+{ xop_6fa_0, 1786 }, /* CALLM */
+{ xop_6fb_0, 1787 }, /* CALLM */
+{ xop_800_0, 2048 }, /* BTST */
+{ xop_810_0, 2064 }, /* BTST */
+{ xop_818_0, 2072 }, /* BTST */
+{ xop_820_0, 2080 }, /* BTST */
+{ xop_828_0, 2088 }, /* BTST */
+{ xop_830_0, 2096 }, /* BTST */
+{ xop_838_0, 2104 }, /* BTST */
+{ xop_839_0, 2105 }, /* BTST */
+{ xop_83a_0, 2106 }, /* BTST */
+{ xop_83b_0, 2107 }, /* BTST */
+{ xop_83c_0, 2108 }, /* BTST */
+{ xop_840_0, 2112 }, /* BCHG */
+{ xop_850_0, 2128 }, /* BCHG */
+{ xop_858_0, 2136 }, /* BCHG */
+{ xop_860_0, 2144 }, /* BCHG */
+{ xop_868_0, 2152 }, /* BCHG */
+{ xop_870_0, 2160 }, /* BCHG */
+{ xop_878_0, 2168 }, /* BCHG */
+{ xop_879_0, 2169 }, /* BCHG */
+{ xop_87a_0, 2170 }, /* BCHG */
+{ xop_87b_0, 2171 }, /* BCHG */
+{ xop_880_0, 2176 }, /* BCLR */
+{ xop_890_0, 2192 }, /* BCLR */
+{ xop_898_0, 2200 }, /* BCLR */
+{ xop_8a0_0, 2208 }, /* BCLR */
+{ xop_8a8_0, 2216 }, /* BCLR */
+{ xop_8b0_0, 2224 }, /* BCLR */
+{ xop_8b8_0, 2232 }, /* BCLR */
+{ xop_8b9_0, 2233 }, /* BCLR */
+{ xop_8ba_0, 2234 }, /* BCLR */
+{ xop_8bb_0, 2235 }, /* BCLR */
+{ xop_8c0_0, 2240 }, /* BSET */
+{ xop_8d0_0, 2256 }, /* BSET */
+{ xop_8d8_0, 2264 }, /* BSET */
+{ xop_8e0_0, 2272 }, /* BSET */
+{ xop_8e8_0, 2280 }, /* BSET */
+{ xop_8f0_0, 2288 }, /* BSET */
+{ xop_8f8_0, 2296 }, /* BSET */
+{ xop_8f9_0, 2297 }, /* BSET */
+{ xop_8fa_0, 2298 }, /* BSET */
+{ xop_8fb_0, 2299 }, /* BSET */
+{ xop_a00_0, 2560 }, /* EOR */
+{ xop_a10_0, 2576 }, /* EOR */
+{ xop_a18_0, 2584 }, /* EOR */
+{ xop_a20_0, 2592 }, /* EOR */
+{ xop_a28_0, 2600 }, /* EOR */
+{ xop_a30_0, 2608 }, /* EOR */
+{ xop_a38_0, 2616 }, /* EOR */
+{ xop_a39_0, 2617 }, /* EOR */
+{ xop_a3c_0, 2620 }, /* EORSR */
+{ xop_a40_0, 2624 }, /* EOR */
+{ xop_a50_0, 2640 }, /* EOR */
+{ xop_a58_0, 2648 }, /* EOR */
+{ xop_a60_0, 2656 }, /* EOR */
+{ xop_a68_0, 2664 }, /* EOR */
+{ xop_a70_0, 2672 }, /* EOR */
+{ xop_a78_0, 2680 }, /* EOR */
+{ xop_a79_0, 2681 }, /* EOR */
+{ xop_a7c_0, 2684 }, /* EORSR */
+{ xop_a80_0, 2688 }, /* EOR */
+{ xop_a90_0, 2704 }, /* EOR */
+{ xop_a98_0, 2712 }, /* EOR */
+{ xop_aa0_0, 2720 }, /* EOR */
+{ xop_aa8_0, 2728 }, /* EOR */
+{ xop_ab0_0, 2736 }, /* EOR */
+{ xop_ab8_0, 2744 }, /* EOR */
+{ xop_ab9_0, 2745 }, /* EOR */
+{ xop_ad0_0, 2768 }, /* CAS */
+{ xop_ad8_0, 2776 }, /* CAS */
+{ xop_ae0_0, 2784 }, /* CAS */
+{ xop_ae8_0, 2792 }, /* CAS */
+{ xop_af0_0, 2800 }, /* CAS */
+{ xop_af8_0, 2808 }, /* CAS */
+{ xop_af9_0, 2809 }, /* CAS */
+{ xop_c00_0, 3072 }, /* CMP */
+{ xop_c10_0, 3088 }, /* CMP */
+{ xop_c18_0, 3096 }, /* CMP */
+{ xop_c20_0, 3104 }, /* CMP */
+{ xop_c28_0, 3112 }, /* CMP */
+{ xop_c30_0, 3120 }, /* CMP */
+{ xop_c38_0, 3128 }, /* CMP */
+{ xop_c39_0, 3129 }, /* CMP */
+{ xop_c3a_0, 3130 }, /* CMP */
+{ xop_c3b_0, 3131 }, /* CMP */
+{ xop_c40_0, 3136 }, /* CMP */
+{ xop_c50_0, 3152 }, /* CMP */
+{ xop_c58_0, 3160 }, /* CMP */
+{ xop_c60_0, 3168 }, /* CMP */
+{ xop_c68_0, 3176 }, /* CMP */
+{ xop_c70_0, 3184 }, /* CMP */
+{ xop_c78_0, 3192 }, /* CMP */
+{ xop_c79_0, 3193 }, /* CMP */
+{ xop_c7a_0, 3194 }, /* CMP */
+{ xop_c7b_0, 3195 }, /* CMP */
+{ xop_c80_0, 3200 }, /* CMP */
+{ xop_c90_0, 3216 }, /* CMP */
+{ xop_c98_0, 3224 }, /* CMP */
+{ xop_ca0_0, 3232 }, /* CMP */
+{ xop_ca8_0, 3240 }, /* CMP */
+{ xop_cb0_0, 3248 }, /* CMP */
+{ xop_cb8_0, 3256 }, /* CMP */
+{ xop_cb9_0, 3257 }, /* CMP */
+{ xop_cba_0, 3258 }, /* CMP */
+{ xop_cbb_0, 3259 }, /* CMP */
+{ xop_cd0_0, 3280 }, /* CAS */
+{ xop_cd8_0, 3288 }, /* CAS */
+{ xop_ce0_0, 3296 }, /* CAS */
+{ xop_ce8_0, 3304 }, /* CAS */
+{ xop_cf0_0, 3312 }, /* CAS */
+{ xop_cf8_0, 3320 }, /* CAS */
+{ xop_cf9_0, 3321 }, /* CAS */
+{ xop_cfc_0, 3324 }, /* CAS2 */
+{ xop_e10_0, 3600 }, /* MOVES */
+{ xop_e18_0, 3608 }, /* MOVES */
+{ xop_e20_0, 3616 }, /* MOVES */
+{ xop_e28_0, 3624 }, /* MOVES */
+{ xop_e30_0, 3632 }, /* MOVES */
+{ xop_e38_0, 3640 }, /* MOVES */
+{ xop_e39_0, 3641 }, /* MOVES */
+{ xop_e50_0, 3664 }, /* MOVES */
+{ xop_e58_0, 3672 }, /* MOVES */
+{ xop_e60_0, 3680 }, /* MOVES */
+{ xop_e68_0, 3688 }, /* MOVES */
+{ xop_e70_0, 3696 }, /* MOVES */
+{ xop_e78_0, 3704 }, /* MOVES */
+{ xop_e79_0, 3705 }, /* MOVES */
+{ xop_e90_0, 3728 }, /* MOVES */
+{ xop_e98_0, 3736 }, /* MOVES */
+{ xop_ea0_0, 3744 }, /* MOVES */
+{ xop_ea8_0, 3752 }, /* MOVES */
+{ xop_eb0_0, 3760 }, /* MOVES */
+{ xop_eb8_0, 3768 }, /* MOVES */
+{ xop_eb9_0, 3769 }, /* MOVES */
+{ xop_ed0_0, 3792 }, /* CAS */
+{ xop_ed8_0, 3800 }, /* CAS */
+{ xop_ee0_0, 3808 }, /* CAS */
+{ xop_ee8_0, 3816 }, /* CAS */
+{ xop_ef0_0, 3824 }, /* CAS */
+{ xop_ef8_0, 3832 }, /* CAS */
+{ xop_ef9_0, 3833 }, /* CAS */
+{ xop_efc_0, 3836 }, /* CAS2 */
+{ xop_1000_0, 4096 }, /* MOVE */
+{ xop_1010_0, 4112 }, /* MOVE */
+{ xop_1018_0, 4120 }, /* MOVE */
+{ xop_1020_0, 4128 }, /* MOVE */
+{ xop_1028_0, 4136 }, /* MOVE */
+{ xop_1030_0, 4144 }, /* MOVE */
+{ xop_1038_0, 4152 }, /* MOVE */
+{ xop_1039_0, 4153 }, /* MOVE */
+{ xop_103a_0, 4154 }, /* MOVE */
+{ xop_103b_0, 4155 }, /* MOVE */
+{ xop_103c_0, 4156 }, /* MOVE */
+{ xop_1080_0, 4224 }, /* MOVE */
+{ xop_1090_0, 4240 }, /* MOVE */
+{ xop_1098_0, 4248 }, /* MOVE */
+{ xop_10a0_0, 4256 }, /* MOVE */
+{ xop_10a8_0, 4264 }, /* MOVE */
+{ xop_10b0_0, 4272 }, /* MOVE */
+{ xop_10b8_0, 4280 }, /* MOVE */
+{ xop_10b9_0, 4281 }, /* MOVE */
+{ xop_10ba_0, 4282 }, /* MOVE */
+{ xop_10bb_0, 4283 }, /* MOVE */
+{ xop_10bc_0, 4284 }, /* MOVE */
+{ xop_10c0_0, 4288 }, /* MOVE */
+{ xop_10d0_0, 4304 }, /* MOVE */
+{ xop_10d8_0, 4312 }, /* MOVE */
+{ xop_10e0_0, 4320 }, /* MOVE */
+{ xop_10e8_0, 4328 }, /* MOVE */
+{ xop_10f0_0, 4336 }, /* MOVE */
+{ xop_10f8_0, 4344 }, /* MOVE */
+{ xop_10f9_0, 4345 }, /* MOVE */
+{ xop_10fa_0, 4346 }, /* MOVE */
+{ xop_10fb_0, 4347 }, /* MOVE */
+{ xop_10fc_0, 4348 }, /* MOVE */
+{ xop_1100_0, 4352 }, /* MOVE */
+{ xop_1110_0, 4368 }, /* MOVE */
+{ xop_1118_0, 4376 }, /* MOVE */
+{ xop_1120_0, 4384 }, /* MOVE */
+{ xop_1128_0, 4392 }, /* MOVE */
+{ xop_1130_0, 4400 }, /* MOVE */
+{ xop_1138_0, 4408 }, /* MOVE */
+{ xop_1139_0, 4409 }, /* MOVE */
+{ xop_113a_0, 4410 }, /* MOVE */
+{ xop_113b_0, 4411 }, /* MOVE */
+{ xop_113c_0, 4412 }, /* MOVE */
+{ xop_1140_0, 4416 }, /* MOVE */
+{ xop_1150_0, 4432 }, /* MOVE */
+{ xop_1158_0, 4440 }, /* MOVE */
+{ xop_1160_0, 4448 }, /* MOVE */
+{ xop_1168_0, 4456 }, /* MOVE */
+{ xop_1170_0, 4464 }, /* MOVE */
+{ xop_1178_0, 4472 }, /* MOVE */
+{ xop_1179_0, 4473 }, /* MOVE */
+{ xop_117a_0, 4474 }, /* MOVE */
+{ xop_117b_0, 4475 }, /* MOVE */
+{ xop_117c_0, 4476 }, /* MOVE */
+{ xop_1180_0, 4480 }, /* MOVE */
+{ xop_1190_0, 4496 }, /* MOVE */
+{ xop_1198_0, 4504 }, /* MOVE */
+{ xop_11a0_0, 4512 }, /* MOVE */
+{ xop_11a8_0, 4520 }, /* MOVE */
+{ xop_11b0_0, 4528 }, /* MOVE */
+{ xop_11b8_0, 4536 }, /* MOVE */
+{ xop_11b9_0, 4537 }, /* MOVE */
+{ xop_11ba_0, 4538 }, /* MOVE */
+{ xop_11bb_0, 4539 }, /* MOVE */
+{ xop_11bc_0, 4540 }, /* MOVE */
+{ xop_11c0_0, 4544 }, /* MOVE */
+{ xop_11d0_0, 4560 }, /* MOVE */
+{ xop_11d8_0, 4568 }, /* MOVE */
+{ xop_11e0_0, 4576 }, /* MOVE */
+{ xop_11e8_0, 4584 }, /* MOVE */
+{ xop_11f0_0, 4592 }, /* MOVE */
+{ xop_11f8_0, 4600 }, /* MOVE */
+{ xop_11f9_0, 4601 }, /* MOVE */
+{ xop_11fa_0, 4602 }, /* MOVE */
+{ xop_11fb_0, 4603 }, /* MOVE */
+{ xop_11fc_0, 4604 }, /* MOVE */
+{ xop_13c0_0, 5056 }, /* MOVE */
+{ xop_13d0_0, 5072 }, /* MOVE */
+{ xop_13d8_0, 5080 }, /* MOVE */
+{ xop_13e0_0, 5088 }, /* MOVE */
+{ xop_13e8_0, 5096 }, /* MOVE */
+{ xop_13f0_0, 5104 }, /* MOVE */
+{ xop_13f8_0, 5112 }, /* MOVE */
+{ xop_13f9_0, 5113 }, /* MOVE */
+{ xop_13fa_0, 5114 }, /* MOVE */
+{ xop_13fb_0, 5115 }, /* MOVE */
+{ xop_13fc_0, 5116 }, /* MOVE */
+{ xop_2000_0, 8192 }, /* MOVE */
+{ xop_2008_0, 8200 }, /* MOVE */
+{ xop_2010_0, 8208 }, /* MOVE */
+{ xop_2018_0, 8216 }, /* MOVE */
+{ xop_2020_0, 8224 }, /* MOVE */
+{ xop_2028_0, 8232 }, /* MOVE */
+{ xop_2030_0, 8240 }, /* MOVE */
+{ xop_2038_0, 8248 }, /* MOVE */
+{ xop_2039_0, 8249 }, /* MOVE */
+{ xop_203a_0, 8250 }, /* MOVE */
+{ xop_203b_0, 8251 }, /* MOVE */
+{ xop_203c_0, 8252 }, /* MOVE */
+{ xop_2040_0, 8256 }, /* MOVEA */
+{ xop_2048_0, 8264 }, /* MOVEA */
+{ xop_2050_0, 8272 }, /* MOVEA */
+{ xop_2058_0, 8280 }, /* MOVEA */
+{ xop_2060_0, 8288 }, /* MOVEA */
+{ xop_2068_0, 8296 }, /* MOVEA */
+{ xop_2070_0, 8304 }, /* MOVEA */
+{ xop_2078_0, 8312 }, /* MOVEA */
+{ xop_2079_0, 8313 }, /* MOVEA */
+{ xop_207a_0, 8314 }, /* MOVEA */
+{ xop_207b_0, 8315 }, /* MOVEA */
+{ xop_207c_0, 8316 }, /* MOVEA */
+{ xop_2080_0, 8320 }, /* MOVE */
+{ xop_2088_0, 8328 }, /* MOVE */
+{ xop_2090_0, 8336 }, /* MOVE */
+{ xop_2098_0, 8344 }, /* MOVE */
+{ xop_20a0_0, 8352 }, /* MOVE */
+{ xop_20a8_0, 8360 }, /* MOVE */
+{ xop_20b0_0, 8368 }, /* MOVE */
+{ xop_20b8_0, 8376 }, /* MOVE */
+{ xop_20b9_0, 8377 }, /* MOVE */
+{ xop_20ba_0, 8378 }, /* MOVE */
+{ xop_20bb_0, 8379 }, /* MOVE */
+{ xop_20bc_0, 8380 }, /* MOVE */
+{ xop_20c0_0, 8384 }, /* MOVE */
+{ xop_20c8_0, 8392 }, /* MOVE */
+{ xop_20d0_0, 8400 }, /* MOVE */
+{ xop_20d8_0, 8408 }, /* MOVE */
+{ xop_20e0_0, 8416 }, /* MOVE */
+{ xop_20e8_0, 8424 }, /* MOVE */
+{ xop_20f0_0, 8432 }, /* MOVE */
+{ xop_20f8_0, 8440 }, /* MOVE */
+{ xop_20f9_0, 8441 }, /* MOVE */
+{ xop_20fa_0, 8442 }, /* MOVE */
+{ xop_20fb_0, 8443 }, /* MOVE */
+{ xop_20fc_0, 8444 }, /* MOVE */
+{ xop_2100_0, 8448 }, /* MOVE */
+{ xop_2108_0, 8456 }, /* MOVE */
+{ xop_2110_0, 8464 }, /* MOVE */
+{ xop_2118_0, 8472 }, /* MOVE */
+{ xop_2120_0, 8480 }, /* MOVE */
+{ xop_2128_0, 8488 }, /* MOVE */
+{ xop_2130_0, 8496 }, /* MOVE */
+{ xop_2138_0, 8504 }, /* MOVE */
+{ xop_2139_0, 8505 }, /* MOVE */
+{ xop_213a_0, 8506 }, /* MOVE */
+{ xop_213b_0, 8507 }, /* MOVE */
+{ xop_213c_0, 8508 }, /* MOVE */
+{ xop_2140_0, 8512 }, /* MOVE */
+{ xop_2148_0, 8520 }, /* MOVE */
+{ xop_2150_0, 8528 }, /* MOVE */
+{ xop_2158_0, 8536 }, /* MOVE */
+{ xop_2160_0, 8544 }, /* MOVE */
+{ xop_2168_0, 8552 }, /* MOVE */
+{ xop_2170_0, 8560 }, /* MOVE */
+{ xop_2178_0, 8568 }, /* MOVE */
+{ xop_2179_0, 8569 }, /* MOVE */
+{ xop_217a_0, 8570 }, /* MOVE */
+{ xop_217b_0, 8571 }, /* MOVE */
+{ xop_217c_0, 8572 }, /* MOVE */
+{ xop_2180_0, 8576 }, /* MOVE */
+{ xop_2188_0, 8584 }, /* MOVE */
+{ xop_2190_0, 8592 }, /* MOVE */
+{ xop_2198_0, 8600 }, /* MOVE */
+{ xop_21a0_0, 8608 }, /* MOVE */
+{ xop_21a8_0, 8616 }, /* MOVE */
+{ xop_21b0_0, 8624 }, /* MOVE */
+{ xop_21b8_0, 8632 }, /* MOVE */
+{ xop_21b9_0, 8633 }, /* MOVE */
+{ xop_21ba_0, 8634 }, /* MOVE */
+{ xop_21bb_0, 8635 }, /* MOVE */
+{ xop_21bc_0, 8636 }, /* MOVE */
+{ xop_21c0_0, 8640 }, /* MOVE */
+{ xop_21c8_0, 8648 }, /* MOVE */
+{ xop_21d0_0, 8656 }, /* MOVE */
+{ xop_21d8_0, 8664 }, /* MOVE */
+{ xop_21e0_0, 8672 }, /* MOVE */
+{ xop_21e8_0, 8680 }, /* MOVE */
+{ xop_21f0_0, 8688 }, /* MOVE */
+{ xop_21f8_0, 8696 }, /* MOVE */
+{ xop_21f9_0, 8697 }, /* MOVE */
+{ xop_21fa_0, 8698 }, /* MOVE */
+{ xop_21fb_0, 8699 }, /* MOVE */
+{ xop_21fc_0, 8700 }, /* MOVE */
+{ xop_23c0_0, 9152 }, /* MOVE */
+{ xop_23c8_0, 9160 }, /* MOVE */
+{ xop_23d0_0, 9168 }, /* MOVE */
+{ xop_23d8_0, 9176 }, /* MOVE */
+{ xop_23e0_0, 9184 }, /* MOVE */
+{ xop_23e8_0, 9192 }, /* MOVE */
+{ xop_23f0_0, 9200 }, /* MOVE */
+{ xop_23f8_0, 9208 }, /* MOVE */
+{ xop_23f9_0, 9209 }, /* MOVE */
+{ xop_23fa_0, 9210 }, /* MOVE */
+{ xop_23fb_0, 9211 }, /* MOVE */
+{ xop_23fc_0, 9212 }, /* MOVE */
+{ xop_3000_0, 12288 }, /* MOVE */
+{ xop_3008_0, 12296 }, /* MOVE */
+{ xop_3010_0, 12304 }, /* MOVE */
+{ xop_3018_0, 12312 }, /* MOVE */
+{ xop_3020_0, 12320 }, /* MOVE */
+{ xop_3028_0, 12328 }, /* MOVE */
+{ xop_3030_0, 12336 }, /* MOVE */
+{ xop_3038_0, 12344 }, /* MOVE */
+{ xop_3039_0, 12345 }, /* MOVE */
+{ xop_303a_0, 12346 }, /* MOVE */
+{ xop_303b_0, 12347 }, /* MOVE */
+{ xop_303c_0, 12348 }, /* MOVE */
+{ xop_3040_0, 12352 }, /* MOVEA */
+{ xop_3048_0, 12360 }, /* MOVEA */
+{ xop_3050_0, 12368 }, /* MOVEA */
+{ xop_3058_0, 12376 }, /* MOVEA */
+{ xop_3060_0, 12384 }, /* MOVEA */
+{ xop_3068_0, 12392 }, /* MOVEA */
+{ xop_3070_0, 12400 }, /* MOVEA */
+{ xop_3078_0, 12408 }, /* MOVEA */
+{ xop_3079_0, 12409 }, /* MOVEA */
+{ xop_307a_0, 12410 }, /* MOVEA */
+{ xop_307b_0, 12411 }, /* MOVEA */
+{ xop_307c_0, 12412 }, /* MOVEA */
+{ xop_3080_0, 12416 }, /* MOVE */
+{ xop_3088_0, 12424 }, /* MOVE */
+{ xop_3090_0, 12432 }, /* MOVE */
+{ xop_3098_0, 12440 }, /* MOVE */
+{ xop_30a0_0, 12448 }, /* MOVE */
+{ xop_30a8_0, 12456 }, /* MOVE */
+{ xop_30b0_0, 12464 }, /* MOVE */
+{ xop_30b8_0, 12472 }, /* MOVE */
+{ xop_30b9_0, 12473 }, /* MOVE */
+{ xop_30ba_0, 12474 }, /* MOVE */
+{ xop_30bb_0, 12475 }, /* MOVE */
+{ xop_30bc_0, 12476 }, /* MOVE */
+{ xop_30c0_0, 12480 }, /* MOVE */
+{ xop_30c8_0, 12488 }, /* MOVE */
+{ xop_30d0_0, 12496 }, /* MOVE */
+{ xop_30d8_0, 12504 }, /* MOVE */
+{ xop_30e0_0, 12512 }, /* MOVE */
+{ xop_30e8_0, 12520 }, /* MOVE */
+{ xop_30f0_0, 12528 }, /* MOVE */
+{ xop_30f8_0, 12536 }, /* MOVE */
+{ xop_30f9_0, 12537 }, /* MOVE */
+{ xop_30fa_0, 12538 }, /* MOVE */
+{ xop_30fb_0, 12539 }, /* MOVE */
+{ xop_30fc_0, 12540 }, /* MOVE */
+{ xop_3100_0, 12544 }, /* MOVE */
+{ xop_3108_0, 12552 }, /* MOVE */
+{ xop_3110_0, 12560 }, /* MOVE */
+{ xop_3118_0, 12568 }, /* MOVE */
+{ xop_3120_0, 12576 }, /* MOVE */
+{ xop_3128_0, 12584 }, /* MOVE */
+{ xop_3130_0, 12592 }, /* MOVE */
+{ xop_3138_0, 12600 }, /* MOVE */
+{ xop_3139_0, 12601 }, /* MOVE */
+{ xop_313a_0, 12602 }, /* MOVE */
+{ xop_313b_0, 12603 }, /* MOVE */
+{ xop_313c_0, 12604 }, /* MOVE */
+{ xop_3140_0, 12608 }, /* MOVE */
+{ xop_3148_0, 12616 }, /* MOVE */
+{ xop_3150_0, 12624 }, /* MOVE */
+{ xop_3158_0, 12632 }, /* MOVE */
+{ xop_3160_0, 12640 }, /* MOVE */
+{ xop_3168_0, 12648 }, /* MOVE */
+{ xop_3170_0, 12656 }, /* MOVE */
+{ xop_3178_0, 12664 }, /* MOVE */
+{ xop_3179_0, 12665 }, /* MOVE */
+{ xop_317a_0, 12666 }, /* MOVE */
+{ xop_317b_0, 12667 }, /* MOVE */
+{ xop_317c_0, 12668 }, /* MOVE */
+{ xop_3180_0, 12672 }, /* MOVE */
+{ xop_3188_0, 12680 }, /* MOVE */
+{ xop_3190_0, 12688 }, /* MOVE */
+{ xop_3198_0, 12696 }, /* MOVE */
+{ xop_31a0_0, 12704 }, /* MOVE */
+{ xop_31a8_0, 12712 }, /* MOVE */
+{ xop_31b0_0, 12720 }, /* MOVE */
+{ xop_31b8_0, 12728 }, /* MOVE */
+{ xop_31b9_0, 12729 }, /* MOVE */
+{ xop_31ba_0, 12730 }, /* MOVE */
+{ xop_31bb_0, 12731 }, /* MOVE */
+{ xop_31bc_0, 12732 }, /* MOVE */
+{ xop_31c0_0, 12736 }, /* MOVE */
+{ xop_31c8_0, 12744 }, /* MOVE */
+{ xop_31d0_0, 12752 }, /* MOVE */
+{ xop_31d8_0, 12760 }, /* MOVE */
+{ xop_31e0_0, 12768 }, /* MOVE */
+{ xop_31e8_0, 12776 }, /* MOVE */
+{ xop_31f0_0, 12784 }, /* MOVE */
+{ xop_31f8_0, 12792 }, /* MOVE */
+{ xop_31f9_0, 12793 }, /* MOVE */
+{ xop_31fa_0, 12794 }, /* MOVE */
+{ xop_31fb_0, 12795 }, /* MOVE */
+{ xop_31fc_0, 12796 }, /* MOVE */
+{ xop_33c0_0, 13248 }, /* MOVE */
+{ xop_33c8_0, 13256 }, /* MOVE */
+{ xop_33d0_0, 13264 }, /* MOVE */
+{ xop_33d8_0, 13272 }, /* MOVE */
+{ xop_33e0_0, 13280 }, /* MOVE */
+{ xop_33e8_0, 13288 }, /* MOVE */
+{ xop_33f0_0, 13296 }, /* MOVE */
+{ xop_33f8_0, 13304 }, /* MOVE */
+{ xop_33f9_0, 13305 }, /* MOVE */
+{ xop_33fa_0, 13306 }, /* MOVE */
+{ xop_33fb_0, 13307 }, /* MOVE */
+{ xop_33fc_0, 13308 }, /* MOVE */
+{ xop_4000_0, 16384 }, /* NEGX */
+{ xop_4010_0, 16400 }, /* NEGX */
+{ xop_4018_0, 16408 }, /* NEGX */
+{ xop_4020_0, 16416 }, /* NEGX */
+{ xop_4028_0, 16424 }, /* NEGX */
+{ xop_4030_0, 16432 }, /* NEGX */
+{ xop_4038_0, 16440 }, /* NEGX */
+{ xop_4039_0, 16441 }, /* NEGX */
+{ xop_4040_0, 16448 }, /* NEGX */
+{ xop_4050_0, 16464 }, /* NEGX */
+{ xop_4058_0, 16472 }, /* NEGX */
+{ xop_4060_0, 16480 }, /* NEGX */
+{ xop_4068_0, 16488 }, /* NEGX */
+{ xop_4070_0, 16496 }, /* NEGX */
+{ xop_4078_0, 16504 }, /* NEGX */
+{ xop_4079_0, 16505 }, /* NEGX */
+{ xop_4080_0, 16512 }, /* NEGX */
+{ xop_4090_0, 16528 }, /* NEGX */
+{ xop_4098_0, 16536 }, /* NEGX */
+{ xop_40a0_0, 16544 }, /* NEGX */
+{ xop_40a8_0, 16552 }, /* NEGX */
+{ xop_40b0_0, 16560 }, /* NEGX */
+{ xop_40b8_0, 16568 }, /* NEGX */
+{ xop_40b9_0, 16569 }, /* NEGX */
+{ xop_40c0_0, 16576 }, /* MVSR2 */
+{ xop_40d0_0, 16592 }, /* MVSR2 */
+{ xop_40d8_0, 16600 }, /* MVSR2 */
+{ xop_40e0_0, 16608 }, /* MVSR2 */
+{ xop_40e8_0, 16616 }, /* MVSR2 */
+{ xop_40f0_0, 16624 }, /* MVSR2 */
+{ xop_40f8_0, 16632 }, /* MVSR2 */
+{ xop_40f9_0, 16633 }, /* MVSR2 */
+{ xop_4100_0, 16640 }, /* CHK */
+{ xop_4110_0, 16656 }, /* CHK */
+{ xop_4118_0, 16664 }, /* CHK */
+{ xop_4120_0, 16672 }, /* CHK */
+{ xop_4128_0, 16680 }, /* CHK */
+{ xop_4130_0, 16688 }, /* CHK */
+{ xop_4138_0, 16696 }, /* CHK */
+{ xop_4139_0, 16697 }, /* CHK */
+{ xop_413a_0, 16698 }, /* CHK */
+{ xop_413b_0, 16699 }, /* CHK */
+{ xop_413c_0, 16700 }, /* CHK */
+{ xop_4180_0, 16768 }, /* CHK */
+{ xop_4190_0, 16784 }, /* CHK */
+{ xop_4198_0, 16792 }, /* CHK */
+{ xop_41a0_0, 16800 }, /* CHK */
+{ xop_41a8_0, 16808 }, /* CHK */
+{ xop_41b0_0, 16816 }, /* CHK */
+{ xop_41b8_0, 16824 }, /* CHK */
+{ xop_41b9_0, 16825 }, /* CHK */
+{ xop_41ba_0, 16826 }, /* CHK */
+{ xop_41bb_0, 16827 }, /* CHK */
+{ xop_41bc_0, 16828 }, /* CHK */
+{ xop_41d0_0, 16848 }, /* LEA */
+{ xop_41e8_0, 16872 }, /* LEA */
+{ xop_41f0_0, 16880 }, /* LEA */
+{ xop_41f8_0, 16888 }, /* LEA */
+{ xop_41f9_0, 16889 }, /* LEA */
+{ xop_41fa_0, 16890 }, /* LEA */
+{ xop_41fb_0, 16891 }, /* LEA */
+{ xop_4200_0, 16896 }, /* CLR */
+{ xop_4210_0, 16912 }, /* CLR */
+{ xop_4218_0, 16920 }, /* CLR */
+{ xop_4220_0, 16928 }, /* CLR */
+{ xop_4228_0, 16936 }, /* CLR */
+{ xop_4230_0, 16944 }, /* CLR */
+{ xop_4238_0, 16952 }, /* CLR */
+{ xop_4239_0, 16953 }, /* CLR */
+{ xop_4240_0, 16960 }, /* CLR */
+{ xop_4250_0, 16976 }, /* CLR */
+{ xop_4258_0, 16984 }, /* CLR */
+{ xop_4260_0, 16992 }, /* CLR */
+{ xop_4268_0, 17000 }, /* CLR */
+{ xop_4270_0, 17008 }, /* CLR */
+{ xop_4278_0, 17016 }, /* CLR */
+{ xop_4279_0, 17017 }, /* CLR */
+{ xop_4280_0, 17024 }, /* CLR */
+{ xop_4290_0, 17040 }, /* CLR */
+{ xop_4298_0, 17048 }, /* CLR */
+{ xop_42a0_0, 17056 }, /* CLR */
+{ xop_42a8_0, 17064 }, /* CLR */
+{ xop_42b0_0, 17072 }, /* CLR */
+{ xop_42b8_0, 17080 }, /* CLR */
+{ xop_42b9_0, 17081 }, /* CLR */
+{ xop_42c0_0, 17088 }, /* MVSR2 */
+{ xop_42d0_0, 17104 }, /* MVSR2 */
+{ xop_42d8_0, 17112 }, /* MVSR2 */
+{ xop_42e0_0, 17120 }, /* MVSR2 */
+{ xop_42e8_0, 17128 }, /* MVSR2 */
+{ xop_42f0_0, 17136 }, /* MVSR2 */
+{ xop_42f8_0, 17144 }, /* MVSR2 */
+{ xop_42f9_0, 17145 }, /* MVSR2 */
+{ xop_4400_0, 17408 }, /* NEG */
+{ xop_4410_0, 17424 }, /* NEG */
+{ xop_4418_0, 17432 }, /* NEG */
+{ xop_4420_0, 17440 }, /* NEG */
+{ xop_4428_0, 17448 }, /* NEG */
+{ xop_4430_0, 17456 }, /* NEG */
+{ xop_4438_0, 17464 }, /* NEG */
+{ xop_4439_0, 17465 }, /* NEG */
+{ xop_4440_0, 17472 }, /* NEG */
+{ xop_4450_0, 17488 }, /* NEG */
+{ xop_4458_0, 17496 }, /* NEG */
+{ xop_4460_0, 17504 }, /* NEG */
+{ xop_4468_0, 17512 }, /* NEG */
+{ xop_4470_0, 17520 }, /* NEG */
+{ xop_4478_0, 17528 }, /* NEG */
+{ xop_4479_0, 17529 }, /* NEG */
+{ xop_4480_0, 17536 }, /* NEG */
+{ xop_4490_0, 17552 }, /* NEG */
+{ xop_4498_0, 17560 }, /* NEG */
+{ xop_44a0_0, 17568 }, /* NEG */
+{ xop_44a8_0, 17576 }, /* NEG */
+{ xop_44b0_0, 17584 }, /* NEG */
+{ xop_44b8_0, 17592 }, /* NEG */
+{ xop_44b9_0, 17593 }, /* NEG */
+{ xop_44c0_0, 17600 }, /* MV2SR */
+{ xop_44d0_0, 17616 }, /* MV2SR */
+{ xop_44d8_0, 17624 }, /* MV2SR */
+{ xop_44e0_0, 17632 }, /* MV2SR */
+{ xop_44e8_0, 17640 }, /* MV2SR */
+{ xop_44f0_0, 17648 }, /* MV2SR */
+{ xop_44f8_0, 17656 }, /* MV2SR */
+{ xop_44f9_0, 17657 }, /* MV2SR */
+{ xop_44fa_0, 17658 }, /* MV2SR */
+{ xop_44fb_0, 17659 }, /* MV2SR */
+{ xop_44fc_0, 17660 }, /* MV2SR */
+{ xop_4600_0, 17920 }, /* NOT */
+{ xop_4610_0, 17936 }, /* NOT */
+{ xop_4618_0, 17944 }, /* NOT */
+{ xop_4620_0, 17952 }, /* NOT */
+{ xop_4628_0, 17960 }, /* NOT */
+{ xop_4630_0, 17968 }, /* NOT */
+{ xop_4638_0, 17976 }, /* NOT */
+{ xop_4639_0, 17977 }, /* NOT */
+{ xop_4640_0, 17984 }, /* NOT */
+{ xop_4650_0, 18000 }, /* NOT */
+{ xop_4658_0, 18008 }, /* NOT */
+{ xop_4660_0, 18016 }, /* NOT */
+{ xop_4668_0, 18024 }, /* NOT */
+{ xop_4670_0, 18032 }, /* NOT */
+{ xop_4678_0, 18040 }, /* NOT */
+{ xop_4679_0, 18041 }, /* NOT */
+{ xop_4680_0, 18048 }, /* NOT */
+{ xop_4690_0, 18064 }, /* NOT */
+{ xop_4698_0, 18072 }, /* NOT */
+{ xop_46a0_0, 18080 }, /* NOT */
+{ xop_46a8_0, 18088 }, /* NOT */
+{ xop_46b0_0, 18096 }, /* NOT */
+{ xop_46b8_0, 18104 }, /* NOT */
+{ xop_46b9_0, 18105 }, /* NOT */
+{ xop_46c0_0, 18112 }, /* MV2SR */
+{ xop_46d0_0, 18128 }, /* MV2SR */
+{ xop_46d8_0, 18136 }, /* MV2SR */
+{ xop_46e0_0, 18144 }, /* MV2SR */
+{ xop_46e8_0, 18152 }, /* MV2SR */
+{ xop_46f0_0, 18160 }, /* MV2SR */
+{ xop_46f8_0, 18168 }, /* MV2SR */
+{ xop_46f9_0, 18169 }, /* MV2SR */
+{ xop_46fa_0, 18170 }, /* MV2SR */
+{ xop_46fb_0, 18171 }, /* MV2SR */
+{ xop_46fc_0, 18172 }, /* MV2SR */
+{ xop_4800_0, 18432 }, /* NBCD */
+{ xop_4808_0, 18440 }, /* LINK */
+{ xop_4810_0, 18448 }, /* NBCD */
+{ xop_4818_0, 18456 }, /* NBCD */
+{ xop_4820_0, 18464 }, /* NBCD */
+{ xop_4828_0, 18472 }, /* NBCD */
+{ xop_4830_0, 18480 }, /* NBCD */
+{ xop_4838_0, 18488 }, /* NBCD */
+{ xop_4839_0, 18489 }, /* NBCD */
+{ xop_4840_0, 18496 }, /* SWAP */
+{ xop_4848_0, 18504 }, /* BKPT */
+{ xop_4850_0, 18512 }, /* PEA */
+{ xop_4868_0, 18536 }, /* PEA */
+{ xop_4870_0, 18544 }, /* PEA */
+{ xop_4878_0, 18552 }, /* PEA */
+{ xop_4879_0, 18553 }, /* PEA */
+{ xop_487a_0, 18554 }, /* PEA */
+{ xop_487b_0, 18555 }, /* PEA */
+{ xop_4880_0, 18560 }, /* EXT */
+{ xop_4890_0, 18576 }, /* MVMLE */
+{ xop_48a0_0, 18592 }, /* MVMLE */
+{ xop_48a8_0, 18600 }, /* MVMLE */
+{ xop_48b0_0, 18608 }, /* MVMLE */
+{ xop_48b8_0, 18616 }, /* MVMLE */
+{ xop_48b9_0, 18617 }, /* MVMLE */
+{ xop_48c0_0, 18624 }, /* EXT */
+{ xop_48d0_0, 18640 }, /* MVMLE */
+{ xop_48e0_0, 18656 }, /* MVMLE */
+{ xop_48e8_0, 18664 }, /* MVMLE */
+{ xop_48f0_0, 18672 }, /* MVMLE */
+{ xop_48f8_0, 18680 }, /* MVMLE */
+{ xop_48f9_0, 18681 }, /* MVMLE */
+{ xop_49c0_0, 18880 }, /* EXT */
+{ xop_4a00_0, 18944 }, /* TST */
+{ xop_4a10_0, 18960 }, /* TST */
+{ xop_4a18_0, 18968 }, /* TST */
+{ xop_4a20_0, 18976 }, /* TST */
+{ xop_4a28_0, 18984 }, /* TST */
+{ xop_4a30_0, 18992 }, /* TST */
+{ xop_4a38_0, 19000 }, /* TST */
+{ xop_4a39_0, 19001 }, /* TST */
+{ xop_4a3a_0, 19002 }, /* TST */
+{ xop_4a3b_0, 19003 }, /* TST */
+{ xop_4a3c_0, 19004 }, /* TST */
+{ xop_4a40_0, 19008 }, /* TST */
+{ xop_4a48_0, 19016 }, /* TST */
+{ xop_4a50_0, 19024 }, /* TST */
+{ xop_4a58_0, 19032 }, /* TST */
+{ xop_4a60_0, 19040 }, /* TST */
+{ xop_4a68_0, 19048 }, /* TST */
+{ xop_4a70_0, 19056 }, /* TST */
+{ xop_4a78_0, 19064 }, /* TST */
+{ xop_4a79_0, 19065 }, /* TST */
+{ xop_4a7a_0, 19066 }, /* TST */
+{ xop_4a7b_0, 19067 }, /* TST */
+{ xop_4a7c_0, 19068 }, /* TST */
+{ xop_4a80_0, 19072 }, /* TST */
+{ xop_4a88_0, 19080 }, /* TST */
+{ xop_4a90_0, 19088 }, /* TST */
+{ xop_4a98_0, 19096 }, /* TST */
+{ xop_4aa0_0, 19104 }, /* TST */
+{ xop_4aa8_0, 19112 }, /* TST */
+{ xop_4ab0_0, 19120 }, /* TST */
+{ xop_4ab8_0, 19128 }, /* TST */
+{ xop_4ab9_0, 19129 }, /* TST */
+{ xop_4aba_0, 19130 }, /* TST */
+{ xop_4abb_0, 19131 }, /* TST */
+{ xop_4abc_0, 19132 }, /* TST */
+{ xop_4ac0_0, 19136 }, /* TAS */
+{ xop_4ad0_0, 19152 }, /* TAS */
+{ xop_4ad8_0, 19160 }, /* TAS */
+{ xop_4ae0_0, 19168 }, /* TAS */
+{ xop_4ae8_0, 19176 }, /* TAS */
+{ xop_4af0_0, 19184 }, /* TAS */
+{ xop_4af8_0, 19192 }, /* TAS */
+{ xop_4af9_0, 19193 }, /* TAS */
+{ xop_4c00_0, 19456 }, /* MULL */
+{ xop_4c10_0, 19472 }, /* MULL */
+{ xop_4c18_0, 19480 }, /* MULL */
+{ xop_4c20_0, 19488 }, /* MULL */
+{ xop_4c28_0, 19496 }, /* MULL */
+{ xop_4c30_0, 19504 }, /* MULL */
+{ xop_4c38_0, 19512 }, /* MULL */
+{ xop_4c39_0, 19513 }, /* MULL */
+{ xop_4c3a_0, 19514 }, /* MULL */
+{ xop_4c3b_0, 19515 }, /* MULL */
+{ xop_4c3c_0, 19516 }, /* MULL */
+{ xop_4c40_0, 19520 }, /* DIVL */
+{ xop_4c50_0, 19536 }, /* DIVL */
+{ xop_4c58_0, 19544 }, /* DIVL */
+{ xop_4c60_0, 19552 }, /* DIVL */
+{ xop_4c68_0, 19560 }, /* DIVL */
+{ xop_4c70_0, 19568 }, /* DIVL */
+{ xop_4c78_0, 19576 }, /* DIVL */
+{ xop_4c79_0, 19577 }, /* DIVL */
+{ xop_4c7a_0, 19578 }, /* DIVL */
+{ xop_4c7b_0, 19579 }, /* DIVL */
+{ xop_4c7c_0, 19580 }, /* DIVL */
+{ xop_4c90_0, 19600 }, /* MVMEL */
+{ xop_4c98_0, 19608 }, /* MVMEL */
+{ xop_4ca8_0, 19624 }, /* MVMEL */
+{ xop_4cb0_0, 19632 }, /* MVMEL */
+{ xop_4cb8_0, 19640 }, /* MVMEL */
+{ xop_4cb9_0, 19641 }, /* MVMEL */
+{ xop_4cba_0, 19642 }, /* MVMEL */
+{ xop_4cbb_0, 19643 }, /* MVMEL */
+{ xop_4cd0_0, 19664 }, /* MVMEL */
+{ xop_4cd8_0, 19672 }, /* MVMEL */
+{ xop_4ce8_0, 19688 }, /* MVMEL */
+{ xop_4cf0_0, 19696 }, /* MVMEL */
+{ xop_4cf8_0, 19704 }, /* MVMEL */
+{ xop_4cf9_0, 19705 }, /* MVMEL */
+{ xop_4cfa_0, 19706 }, /* MVMEL */
+{ xop_4cfb_0, 19707 }, /* MVMEL */
+{ xop_4e40_0, 20032 }, /* TRAP */
+{ xop_4e50_0, 20048 }, /* LINK */
+{ xop_4e58_0, 20056 }, /* UNLK */
+{ xop_4e60_0, 20064 }, /* MVR2USP */
+{ xop_4e68_0, 20072 }, /* MVUSP2R */
+{ xop_4e70_0, 20080 }, /* RESET */
+{ xop_4e71_0, 20081 }, /* NOP */
+{ xop_4e72_0, 20082 }, /* STOP */
+{ xop_4e73_0, 20083 }, /* RTE */
+{ xop_4e74_0, 20084 }, /* RTD */
+{ xop_4e75_0, 20085 }, /* RTS */
+{ xop_4e76_0, 20086 }, /* TRAPV */
+{ xop_4e77_0, 20087 }, /* RTR */
+{ xop_4e7a_0, 20090 }, /* MOVEC2 */
+{ xop_4e7b_0, 20091 }, /* MOVE2C */
+{ xop_4e90_0, 20112 }, /* JSR */
+{ xop_4ea8_0, 20136 }, /* JSR */
+{ xop_4eb0_0, 20144 }, /* JSR */
+{ xop_4eb8_0, 20152 }, /* JSR */
+{ xop_4eb9_0, 20153 }, /* JSR */
+{ xop_4eba_0, 20154 }, /* JSR */
+{ xop_4ebb_0, 20155 }, /* JSR */
+{ xop_4ed0_0, 20176 }, /* JMP */
+{ xop_4ee8_0, 20200 }, /* JMP */
+{ xop_4ef0_0, 20208 }, /* JMP */
+{ xop_4ef8_0, 20216 }, /* JMP */
+{ xop_4ef9_0, 20217 }, /* JMP */
+{ xop_4efa_0, 20218 }, /* JMP */
+{ xop_4efb_0, 20219 }, /* JMP */
+{ xop_5000_0, 20480 }, /* ADD */
+{ xop_5010_0, 20496 }, /* ADD */
+{ xop_5018_0, 20504 }, /* ADD */
+{ xop_5020_0, 20512 }, /* ADD */
+{ xop_5028_0, 20520 }, /* ADD */
+{ xop_5030_0, 20528 }, /* ADD */
+{ xop_5038_0, 20536 }, /* ADD */
+{ xop_5039_0, 20537 }, /* ADD */
+{ xop_5040_0, 20544 }, /* ADD */
+{ xop_5048_0, 20552 }, /* ADDA */
+{ xop_5050_0, 20560 }, /* ADD */
+{ xop_5058_0, 20568 }, /* ADD */
+{ xop_5060_0, 20576 }, /* ADD */
+{ xop_5068_0, 20584 }, /* ADD */
+{ xop_5070_0, 20592 }, /* ADD */
+{ xop_5078_0, 20600 }, /* ADD */
+{ xop_5079_0, 20601 }, /* ADD */
+{ xop_5080_0, 20608 }, /* ADD */
+{ xop_5088_0, 20616 }, /* ADDA */
+{ xop_5090_0, 20624 }, /* ADD */
+{ xop_5098_0, 20632 }, /* ADD */
+{ xop_50a0_0, 20640 }, /* ADD */
+{ xop_50a8_0, 20648 }, /* ADD */
+{ xop_50b0_0, 20656 }, /* ADD */
+{ xop_50b8_0, 20664 }, /* ADD */
+{ xop_50b9_0, 20665 }, /* ADD */
+{ xop_50c0_0, 20672 }, /* Scc */
+{ xop_50c8_0, 20680 }, /* DBcc */
+{ xop_50d0_0, 20688 }, /* Scc */
+{ xop_50d8_0, 20696 }, /* Scc */
+{ xop_50e0_0, 20704 }, /* Scc */
+{ xop_50e8_0, 20712 }, /* Scc */
+{ xop_50f0_0, 20720 }, /* Scc */
+{ xop_50f8_0, 20728 }, /* Scc */
+{ xop_50f9_0, 20729 }, /* Scc */
+{ xop_50fa_0, 20730 }, /* TRAPcc */
+{ xop_50fb_0, 20731 }, /* TRAPcc */
+{ xop_50fc_0, 20732 }, /* TRAPcc */
+{ xop_5100_0, 20736 }, /* SUB */
+{ xop_5110_0, 20752 }, /* SUB */
+{ xop_5118_0, 20760 }, /* SUB */
+{ xop_5120_0, 20768 }, /* SUB */
+{ xop_5128_0, 20776 }, /* SUB */
+{ xop_5130_0, 20784 }, /* SUB */
+{ xop_5138_0, 20792 }, /* SUB */
+{ xop_5139_0, 20793 }, /* SUB */
+{ xop_5140_0, 20800 }, /* SUB */
+{ xop_5148_0, 20808 }, /* SUBA */
+{ xop_5150_0, 20816 }, /* SUB */
+{ xop_5158_0, 20824 }, /* SUB */
+{ xop_5160_0, 20832 }, /* SUB */
+{ xop_5168_0, 20840 }, /* SUB */
+{ xop_5170_0, 20848 }, /* SUB */
+{ xop_5178_0, 20856 }, /* SUB */
+{ xop_5179_0, 20857 }, /* SUB */
+{ xop_5180_0, 20864 }, /* SUB */
+{ xop_5188_0, 20872 }, /* SUBA */
+{ xop_5190_0, 20880 }, /* SUB */
+{ xop_5198_0, 20888 }, /* SUB */
+{ xop_51a0_0, 20896 }, /* SUB */
+{ xop_51a8_0, 20904 }, /* SUB */
+{ xop_51b0_0, 20912 }, /* SUB */
+{ xop_51b8_0, 20920 }, /* SUB */
+{ xop_51b9_0, 20921 }, /* SUB */
+{ xop_51c0_0, 20928 }, /* Scc */
+{ xop_51c8_0, 20936 }, /* DBcc */
+{ xop_51d0_0, 20944 }, /* Scc */
+{ xop_51d8_0, 20952 }, /* Scc */
+{ xop_51e0_0, 20960 }, /* Scc */
+{ xop_51e8_0, 20968 }, /* Scc */
+{ xop_51f0_0, 20976 }, /* Scc */
+{ xop_51f8_0, 20984 }, /* Scc */
+{ xop_51f9_0, 20985 }, /* Scc */
+{ xop_51fa_0, 20986 }, /* TRAPcc */
+{ xop_51fb_0, 20987 }, /* TRAPcc */
+{ xop_51fc_0, 20988 }, /* TRAPcc */
+{ xop_52c0_0, 21184 }, /* Scc */
+{ xop_52c8_0, 21192 }, /* DBcc */
+{ xop_52d0_0, 21200 }, /* Scc */
+{ xop_52d8_0, 21208 }, /* Scc */
+{ xop_52e0_0, 21216 }, /* Scc */
+{ xop_52e8_0, 21224 }, /* Scc */
+{ xop_52f0_0, 21232 }, /* Scc */
+{ xop_52f8_0, 21240 }, /* Scc */
+{ xop_52f9_0, 21241 }, /* Scc */
+{ xop_52fa_0, 21242 }, /* TRAPcc */
+{ xop_52fb_0, 21243 }, /* TRAPcc */
+{ xop_52fc_0, 21244 }, /* TRAPcc */
+{ xop_53c0_0, 21440 }, /* Scc */
+{ xop_53c8_0, 21448 }, /* DBcc */
+{ xop_53d0_0, 21456 }, /* Scc */
+{ xop_53d8_0, 21464 }, /* Scc */
+{ xop_53e0_0, 21472 }, /* Scc */
+{ xop_53e8_0, 21480 }, /* Scc */
+{ xop_53f0_0, 21488 }, /* Scc */
+{ xop_53f8_0, 21496 }, /* Scc */
+{ xop_53f9_0, 21497 }, /* Scc */
+{ xop_53fa_0, 21498 }, /* TRAPcc */
+{ xop_53fb_0, 21499 }, /* TRAPcc */
+{ xop_53fc_0, 21500 }, /* TRAPcc */
+{ xop_54c0_0, 21696 }, /* Scc */
+{ xop_54c8_0, 21704 }, /* DBcc */
+{ xop_54d0_0, 21712 }, /* Scc */
+{ xop_54d8_0, 21720 }, /* Scc */
+{ xop_54e0_0, 21728 }, /* Scc */
+{ xop_54e8_0, 21736 }, /* Scc */
+{ xop_54f0_0, 21744 }, /* Scc */
+{ xop_54f8_0, 21752 }, /* Scc */
+{ xop_54f9_0, 21753 }, /* Scc */
+{ xop_54fa_0, 21754 }, /* TRAPcc */
+{ xop_54fb_0, 21755 }, /* TRAPcc */
+{ xop_54fc_0, 21756 }, /* TRAPcc */
+{ xop_55c0_0, 21952 }, /* Scc */
+{ xop_55c8_0, 21960 }, /* DBcc */
+{ xop_55d0_0, 21968 }, /* Scc */
+{ xop_55d8_0, 21976 }, /* Scc */
+{ xop_55e0_0, 21984 }, /* Scc */
+{ xop_55e8_0, 21992 }, /* Scc */
+{ xop_55f0_0, 22000 }, /* Scc */
+{ xop_55f8_0, 22008 }, /* Scc */
+{ xop_55f9_0, 22009 }, /* Scc */
+{ xop_55fa_0, 22010 }, /* TRAPcc */
+{ xop_55fb_0, 22011 }, /* TRAPcc */
+{ xop_55fc_0, 22012 }, /* TRAPcc */
+{ xop_56c0_0, 22208 }, /* Scc */
+{ xop_56c8_0, 22216 }, /* DBcc */
+{ xop_56d0_0, 22224 }, /* Scc */
+{ xop_56d8_0, 22232 }, /* Scc */
+{ xop_56e0_0, 22240 }, /* Scc */
+{ xop_56e8_0, 22248 }, /* Scc */
+{ xop_56f0_0, 22256 }, /* Scc */
+{ xop_56f8_0, 22264 }, /* Scc */
+{ xop_56f9_0, 22265 }, /* Scc */
+{ xop_56fa_0, 22266 }, /* TRAPcc */
+{ xop_56fb_0, 22267 }, /* TRAPcc */
+{ xop_56fc_0, 22268 }, /* TRAPcc */
+{ xop_57c0_0, 22464 }, /* Scc */
+{ xop_57c8_0, 22472 }, /* DBcc */
+{ xop_57d0_0, 22480 }, /* Scc */
+{ xop_57d8_0, 22488 }, /* Scc */
+{ xop_57e0_0, 22496 }, /* Scc */
+{ xop_57e8_0, 22504 }, /* Scc */
+{ xop_57f0_0, 22512 }, /* Scc */
+{ xop_57f8_0, 22520 }, /* Scc */
+{ xop_57f9_0, 22521 }, /* Scc */
+{ xop_57fa_0, 22522 }, /* TRAPcc */
+{ xop_57fb_0, 22523 }, /* TRAPcc */
+{ xop_57fc_0, 22524 }, /* TRAPcc */
+{ xop_58c0_0, 22720 }, /* Scc */
+{ xop_58c8_0, 22728 }, /* DBcc */
+{ xop_58d0_0, 22736 }, /* Scc */
+{ xop_58d8_0, 22744 }, /* Scc */
+{ xop_58e0_0, 22752 }, /* Scc */
+{ xop_58e8_0, 22760 }, /* Scc */
+{ xop_58f0_0, 22768 }, /* Scc */
+{ xop_58f8_0, 22776 }, /* Scc */
+{ xop_58f9_0, 22777 }, /* Scc */
+{ xop_58fa_0, 22778 }, /* TRAPcc */
+{ xop_58fb_0, 22779 }, /* TRAPcc */
+{ xop_58fc_0, 22780 }, /* TRAPcc */
+{ xop_59c0_0, 22976 }, /* Scc */
+{ xop_59c8_0, 22984 }, /* DBcc */
+{ xop_59d0_0, 22992 }, /* Scc */
+{ xop_59d8_0, 23000 }, /* Scc */
+{ xop_59e0_0, 23008 }, /* Scc */
+{ xop_59e8_0, 23016 }, /* Scc */
+{ xop_59f0_0, 23024 }, /* Scc */
+{ xop_59f8_0, 23032 }, /* Scc */
+{ xop_59f9_0, 23033 }, /* Scc */
+{ xop_59fa_0, 23034 }, /* TRAPcc */
+{ xop_59fb_0, 23035 }, /* TRAPcc */
+{ xop_59fc_0, 23036 }, /* TRAPcc */
+{ xop_5ac0_0, 23232 }, /* Scc */
+{ xop_5ac8_0, 23240 }, /* DBcc */
+{ xop_5ad0_0, 23248 }, /* Scc */
+{ xop_5ad8_0, 23256 }, /* Scc */
+{ xop_5ae0_0, 23264 }, /* Scc */
+{ xop_5ae8_0, 23272 }, /* Scc */
+{ xop_5af0_0, 23280 }, /* Scc */
+{ xop_5af8_0, 23288 }, /* Scc */
+{ xop_5af9_0, 23289 }, /* Scc */
+{ xop_5afa_0, 23290 }, /* TRAPcc */
+{ xop_5afb_0, 23291 }, /* TRAPcc */
+{ xop_5afc_0, 23292 }, /* TRAPcc */
+{ xop_5bc0_0, 23488 }, /* Scc */
+{ xop_5bc8_0, 23496 }, /* DBcc */
+{ xop_5bd0_0, 23504 }, /* Scc */
+{ xop_5bd8_0, 23512 }, /* Scc */
+{ xop_5be0_0, 23520 }, /* Scc */
+{ xop_5be8_0, 23528 }, /* Scc */
+{ xop_5bf0_0, 23536 }, /* Scc */
+{ xop_5bf8_0, 23544 }, /* Scc */
+{ xop_5bf9_0, 23545 }, /* Scc */
+{ xop_5bfa_0, 23546 }, /* TRAPcc */
+{ xop_5bfb_0, 23547 }, /* TRAPcc */
+{ xop_5bfc_0, 23548 }, /* TRAPcc */
+{ xop_5cc0_0, 23744 }, /* Scc */
+{ xop_5cc8_0, 23752 }, /* DBcc */
+{ xop_5cd0_0, 23760 }, /* Scc */
+{ xop_5cd8_0, 23768 }, /* Scc */
+{ xop_5ce0_0, 23776 }, /* Scc */
+{ xop_5ce8_0, 23784 }, /* Scc */
+{ xop_5cf0_0, 23792 }, /* Scc */
+{ xop_5cf8_0, 23800 }, /* Scc */
+{ xop_5cf9_0, 23801 }, /* Scc */
+{ xop_5cfa_0, 23802 }, /* TRAPcc */
+{ xop_5cfb_0, 23803 }, /* TRAPcc */
+{ xop_5cfc_0, 23804 }, /* TRAPcc */
+{ xop_5dc0_0, 24000 }, /* Scc */
+{ xop_5dc8_0, 24008 }, /* DBcc */
+{ xop_5dd0_0, 24016 }, /* Scc */
+{ xop_5dd8_0, 24024 }, /* Scc */
+{ xop_5de0_0, 24032 }, /* Scc */
+{ xop_5de8_0, 24040 }, /* Scc */
+{ xop_5df0_0, 24048 }, /* Scc */
+{ xop_5df8_0, 24056 }, /* Scc */
+{ xop_5df9_0, 24057 }, /* Scc */
+{ xop_5dfa_0, 24058 }, /* TRAPcc */
+{ xop_5dfb_0, 24059 }, /* TRAPcc */
+{ xop_5dfc_0, 24060 }, /* TRAPcc */
+{ xop_5ec0_0, 24256 }, /* Scc */
+{ xop_5ec8_0, 24264 }, /* DBcc */
+{ xop_5ed0_0, 24272 }, /* Scc */
+{ xop_5ed8_0, 24280 }, /* Scc */
+{ xop_5ee0_0, 24288 }, /* Scc */
+{ xop_5ee8_0, 24296 }, /* Scc */
+{ xop_5ef0_0, 24304 }, /* Scc */
+{ xop_5ef8_0, 24312 }, /* Scc */
+{ xop_5ef9_0, 24313 }, /* Scc */
+{ xop_5efa_0, 24314 }, /* TRAPcc */
+{ xop_5efb_0, 24315 }, /* TRAPcc */
+{ xop_5efc_0, 24316 }, /* TRAPcc */
+{ xop_5fc0_0, 24512 }, /* Scc */
+{ xop_5fc8_0, 24520 }, /* DBcc */
+{ xop_5fd0_0, 24528 }, /* Scc */
+{ xop_5fd8_0, 24536 }, /* Scc */
+{ xop_5fe0_0, 24544 }, /* Scc */
+{ xop_5fe8_0, 24552 }, /* Scc */
+{ xop_5ff0_0, 24560 }, /* Scc */
+{ xop_5ff8_0, 24568 }, /* Scc */
+{ xop_5ff9_0, 24569 }, /* Scc */
+{ xop_5ffa_0, 24570 }, /* TRAPcc */
+{ xop_5ffb_0, 24571 }, /* TRAPcc */
+{ xop_5ffc_0, 24572 }, /* TRAPcc */
+{ xop_6000_0, 24576 }, /* Bcc */
+{ xop_6001_0, 24577 }, /* Bcc */
+{ xop_60ff_0, 24831 }, /* Bcc */
+{ xop_6100_0, 24832 }, /* BSR */
+{ xop_6101_0, 24833 }, /* BSR */
+{ xop_61ff_0, 25087 }, /* BSR */
+{ xop_6200_0, 25088 }, /* Bcc */
+{ xop_6201_0, 25089 }, /* Bcc */
+{ xop_62ff_0, 25343 }, /* Bcc */
+{ xop_6300_0, 25344 }, /* Bcc */
+{ xop_6301_0, 25345 }, /* Bcc */
+{ xop_63ff_0, 25599 }, /* Bcc */
+{ xop_6400_0, 25600 }, /* Bcc */
+{ xop_6401_0, 25601 }, /* Bcc */
+{ xop_64ff_0, 25855 }, /* Bcc */
+{ xop_6500_0, 25856 }, /* Bcc */
+{ xop_6501_0, 25857 }, /* Bcc */
+{ xop_65ff_0, 26111 }, /* Bcc */
+{ xop_6600_0, 26112 }, /* Bcc */
+{ xop_6601_0, 26113 }, /* Bcc */
+{ xop_66ff_0, 26367 }, /* Bcc */
+{ xop_6700_0, 26368 }, /* Bcc */
+{ xop_6701_0, 26369 }, /* Bcc */
+{ xop_67ff_0, 26623 }, /* Bcc */
+{ xop_6800_0, 26624 }, /* Bcc */
+{ xop_6801_0, 26625 }, /* Bcc */
+{ xop_68ff_0, 26879 }, /* Bcc */
+{ xop_6900_0, 26880 }, /* Bcc */
+{ xop_6901_0, 26881 }, /* Bcc */
+{ xop_69ff_0, 27135 }, /* Bcc */
+{ xop_6a00_0, 27136 }, /* Bcc */
+{ xop_6a01_0, 27137 }, /* Bcc */
+{ xop_6aff_0, 27391 }, /* Bcc */
+{ xop_6b00_0, 27392 }, /* Bcc */
+{ xop_6b01_0, 27393 }, /* Bcc */
+{ xop_6bff_0, 27647 }, /* Bcc */
+{ xop_6c00_0, 27648 }, /* Bcc */
+{ xop_6c01_0, 27649 }, /* Bcc */
+{ xop_6cff_0, 27903 }, /* Bcc */
+{ xop_6d00_0, 27904 }, /* Bcc */
+{ xop_6d01_0, 27905 }, /* Bcc */
+{ xop_6dff_0, 28159 }, /* Bcc */
+{ xop_6e00_0, 28160 }, /* Bcc */
+{ xop_6e01_0, 28161 }, /* Bcc */
+{ xop_6eff_0, 28415 }, /* Bcc */
+{ xop_6f00_0, 28416 }, /* Bcc */
+{ xop_6f01_0, 28417 }, /* Bcc */
+{ xop_6fff_0, 28671 }, /* Bcc */
+{ xop_7000_0, 28672 }, /* MOVE */
+{ xop_8000_0, 32768 }, /* OR */
+{ xop_8010_0, 32784 }, /* OR */
+{ xop_8018_0, 32792 }, /* OR */
+{ xop_8020_0, 32800 }, /* OR */
+{ xop_8028_0, 32808 }, /* OR */
+{ xop_8030_0, 32816 }, /* OR */
+{ xop_8038_0, 32824 }, /* OR */
+{ xop_8039_0, 32825 }, /* OR */
+{ xop_803a_0, 32826 }, /* OR */
+{ xop_803b_0, 32827 }, /* OR */
+{ xop_803c_0, 32828 }, /* OR */
+{ xop_8040_0, 32832 }, /* OR */
+{ xop_8050_0, 32848 }, /* OR */
+{ xop_8058_0, 32856 }, /* OR */
+{ xop_8060_0, 32864 }, /* OR */
+{ xop_8068_0, 32872 }, /* OR */
+{ xop_8070_0, 32880 }, /* OR */
+{ xop_8078_0, 32888 }, /* OR */
+{ xop_8079_0, 32889 }, /* OR */
+{ xop_807a_0, 32890 }, /* OR */
+{ xop_807b_0, 32891 }, /* OR */
+{ xop_807c_0, 32892 }, /* OR */
+{ xop_8080_0, 32896 }, /* OR */
+{ xop_8090_0, 32912 }, /* OR */
+{ xop_8098_0, 32920 }, /* OR */
+{ xop_80a0_0, 32928 }, /* OR */
+{ xop_80a8_0, 32936 }, /* OR */
+{ xop_80b0_0, 32944 }, /* OR */
+{ xop_80b8_0, 32952 }, /* OR */
+{ xop_80b9_0, 32953 }, /* OR */
+{ xop_80ba_0, 32954 }, /* OR */
+{ xop_80bb_0, 32955 }, /* OR */
+{ xop_80bc_0, 32956 }, /* OR */
+{ xop_80c0_0, 32960 }, /* DIVU */
+{ xop_80d0_0, 32976 }, /* DIVU */
+{ xop_80d8_0, 32984 }, /* DIVU */
+{ xop_80e0_0, 32992 }, /* DIVU */
+{ xop_80e8_0, 33000 }, /* DIVU */
+{ xop_80f0_0, 33008 }, /* DIVU */
+{ xop_80f8_0, 33016 }, /* DIVU */
+{ xop_80f9_0, 33017 }, /* DIVU */
+{ xop_80fa_0, 33018 }, /* DIVU */
+{ xop_80fb_0, 33019 }, /* DIVU */
+{ xop_80fc_0, 33020 }, /* DIVU */
+{ xop_8100_0, 33024 }, /* SBCD */
+{ xop_8108_0, 33032 }, /* SBCD */
+{ xop_8110_0, 33040 }, /* OR */
+{ xop_8118_0, 33048 }, /* OR */
+{ xop_8120_0, 33056 }, /* OR */
+{ xop_8128_0, 33064 }, /* OR */
+{ xop_8130_0, 33072 }, /* OR */
+{ xop_8138_0, 33080 }, /* OR */
+{ xop_8139_0, 33081 }, /* OR */
+{ xop_8140_0, 33088 }, /* PACK */
+{ xop_8148_0, 33096 }, /* PACK */
+{ xop_8150_0, 33104 }, /* OR */
+{ xop_8158_0, 33112 }, /* OR */
+{ xop_8160_0, 33120 }, /* OR */
+{ xop_8168_0, 33128 }, /* OR */
+{ xop_8170_0, 33136 }, /* OR */
+{ xop_8178_0, 33144 }, /* OR */
+{ xop_8179_0, 33145 }, /* OR */
+{ xop_8180_0, 33152 }, /* UNPK */
+{ xop_8188_0, 33160 }, /* UNPK */
+{ xop_8190_0, 33168 }, /* OR */
+{ xop_8198_0, 33176 }, /* OR */
+{ xop_81a0_0, 33184 }, /* OR */
+{ xop_81a8_0, 33192 }, /* OR */
+{ xop_81b0_0, 33200 }, /* OR */
+{ xop_81b8_0, 33208 }, /* OR */
+{ xop_81b9_0, 33209 }, /* OR */
+{ xop_81c0_0, 33216 }, /* DIVS */
+{ xop_81d0_0, 33232 }, /* DIVS */
+{ xop_81d8_0, 33240 }, /* DIVS */
+{ xop_81e0_0, 33248 }, /* DIVS */
+{ xop_81e8_0, 33256 }, /* DIVS */
+{ xop_81f0_0, 33264 }, /* DIVS */
+{ xop_81f8_0, 33272 }, /* DIVS */
+{ xop_81f9_0, 33273 }, /* DIVS */
+{ xop_81fa_0, 33274 }, /* DIVS */
+{ xop_81fb_0, 33275 }, /* DIVS */
+{ xop_81fc_0, 33276 }, /* DIVS */
+{ xop_9000_0, 36864 }, /* SUB */
+{ xop_9010_0, 36880 }, /* SUB */
+{ xop_9018_0, 36888 }, /* SUB */
+{ xop_9020_0, 36896 }, /* SUB */
+{ xop_9028_0, 36904 }, /* SUB */
+{ xop_9030_0, 36912 }, /* SUB */
+{ xop_9038_0, 36920 }, /* SUB */
+{ xop_9039_0, 36921 }, /* SUB */
+{ xop_903a_0, 36922 }, /* SUB */
+{ xop_903b_0, 36923 }, /* SUB */
+{ xop_903c_0, 36924 }, /* SUB */
+{ xop_9040_0, 36928 }, /* SUB */
+{ xop_9048_0, 36936 }, /* SUB */
+{ xop_9050_0, 36944 }, /* SUB */
+{ xop_9058_0, 36952 }, /* SUB */
+{ xop_9060_0, 36960 }, /* SUB */
+{ xop_9068_0, 36968 }, /* SUB */
+{ xop_9070_0, 36976 }, /* SUB */
+{ xop_9078_0, 36984 }, /* SUB */
+{ xop_9079_0, 36985 }, /* SUB */
+{ xop_907a_0, 36986 }, /* SUB */
+{ xop_907b_0, 36987 }, /* SUB */
+{ xop_907c_0, 36988 }, /* SUB */
+{ xop_9080_0, 36992 }, /* SUB */
+{ xop_9088_0, 37000 }, /* SUB */
+{ xop_9090_0, 37008 }, /* SUB */
+{ xop_9098_0, 37016 }, /* SUB */
+{ xop_90a0_0, 37024 }, /* SUB */
+{ xop_90a8_0, 37032 }, /* SUB */
+{ xop_90b0_0, 37040 }, /* SUB */
+{ xop_90b8_0, 37048 }, /* SUB */
+{ xop_90b9_0, 37049 }, /* SUB */
+{ xop_90ba_0, 37050 }, /* SUB */
+{ xop_90bb_0, 37051 }, /* SUB */
+{ xop_90bc_0, 37052 }, /* SUB */
+{ xop_90c0_0, 37056 }, /* SUBA */
+{ xop_90c8_0, 37064 }, /* SUBA */
+{ xop_90d0_0, 37072 }, /* SUBA */
+{ xop_90d8_0, 37080 }, /* SUBA */
+{ xop_90e0_0, 37088 }, /* SUBA */
+{ xop_90e8_0, 37096 }, /* SUBA */
+{ xop_90f0_0, 37104 }, /* SUBA */
+{ xop_90f8_0, 37112 }, /* SUBA */
+{ xop_90f9_0, 37113 }, /* SUBA */
+{ xop_90fa_0, 37114 }, /* SUBA */
+{ xop_90fb_0, 37115 }, /* SUBA */
+{ xop_90fc_0, 37116 }, /* SUBA */
+{ xop_9100_0, 37120 }, /* SUBX */
+{ xop_9108_0, 37128 }, /* SUBX */
+{ xop_9110_0, 37136 }, /* SUB */
+{ xop_9118_0, 37144 }, /* SUB */
+{ xop_9120_0, 37152 }, /* SUB */
+{ xop_9128_0, 37160 }, /* SUB */
+{ xop_9130_0, 37168 }, /* SUB */
+{ xop_9138_0, 37176 }, /* SUB */
+{ xop_9139_0, 37177 }, /* SUB */
+{ xop_9140_0, 37184 }, /* SUBX */
+{ xop_9148_0, 37192 }, /* SUBX */
+{ xop_9150_0, 37200 }, /* SUB */
+{ xop_9158_0, 37208 }, /* SUB */
+{ xop_9160_0, 37216 }, /* SUB */
+{ xop_9168_0, 37224 }, /* SUB */
+{ xop_9170_0, 37232 }, /* SUB */
+{ xop_9178_0, 37240 }, /* SUB */
+{ xop_9179_0, 37241 }, /* SUB */
+{ xop_9180_0, 37248 }, /* SUBX */
+{ xop_9188_0, 37256 }, /* SUBX */
+{ xop_9190_0, 37264 }, /* SUB */
+{ xop_9198_0, 37272 }, /* SUB */
+{ xop_91a0_0, 37280 }, /* SUB */
+{ xop_91a8_0, 37288 }, /* SUB */
+{ xop_91b0_0, 37296 }, /* SUB */
+{ xop_91b8_0, 37304 }, /* SUB */
+{ xop_91b9_0, 37305 }, /* SUB */
+{ xop_91c0_0, 37312 }, /* SUBA */
+{ xop_91c8_0, 37320 }, /* SUBA */
+{ xop_91d0_0, 37328 }, /* SUBA */
+{ xop_91d8_0, 37336 }, /* SUBA */
+{ xop_91e0_0, 37344 }, /* SUBA */
+{ xop_91e8_0, 37352 }, /* SUBA */
+{ xop_91f0_0, 37360 }, /* SUBA */
+{ xop_91f8_0, 37368 }, /* SUBA */
+{ xop_91f9_0, 37369 }, /* SUBA */
+{ xop_91fa_0, 37370 }, /* SUBA */
+{ xop_91fb_0, 37371 }, /* SUBA */
+{ xop_91fc_0, 37372 }, /* SUBA */
+{ xop_b000_0, 45056 }, /* CMP */
+{ xop_b010_0, 45072 }, /* CMP */
+{ xop_b018_0, 45080 }, /* CMP */
+{ xop_b020_0, 45088 }, /* CMP */
+{ xop_b028_0, 45096 }, /* CMP */
+{ xop_b030_0, 45104 }, /* CMP */
+{ xop_b038_0, 45112 }, /* CMP */
+{ xop_b039_0, 45113 }, /* CMP */
+{ xop_b03a_0, 45114 }, /* CMP */
+{ xop_b03b_0, 45115 }, /* CMP */
+{ xop_b03c_0, 45116 }, /* CMP */
+{ xop_b040_0, 45120 }, /* CMP */
+{ xop_b048_0, 45128 }, /* CMP */
+{ xop_b050_0, 45136 }, /* CMP */
+{ xop_b058_0, 45144 }, /* CMP */
+{ xop_b060_0, 45152 }, /* CMP */
+{ xop_b068_0, 45160 }, /* CMP */
+{ xop_b070_0, 45168 }, /* CMP */
+{ xop_b078_0, 45176 }, /* CMP */
+{ xop_b079_0, 45177 }, /* CMP */
+{ xop_b07a_0, 45178 }, /* CMP */
+{ xop_b07b_0, 45179 }, /* CMP */
+{ xop_b07c_0, 45180 }, /* CMP */
+{ xop_b080_0, 45184 }, /* CMP */
+{ xop_b088_0, 45192 }, /* CMP */
+{ xop_b090_0, 45200 }, /* CMP */
+{ xop_b098_0, 45208 }, /* CMP */
+{ xop_b0a0_0, 45216 }, /* CMP */
+{ xop_b0a8_0, 45224 }, /* CMP */
+{ xop_b0b0_0, 45232 }, /* CMP */
+{ xop_b0b8_0, 45240 }, /* CMP */
+{ xop_b0b9_0, 45241 }, /* CMP */
+{ xop_b0ba_0, 45242 }, /* CMP */
+{ xop_b0bb_0, 45243 }, /* CMP */
+{ xop_b0bc_0, 45244 }, /* CMP */
+{ xop_b0c0_0, 45248 }, /* CMPA */
+{ xop_b0c8_0, 45256 }, /* CMPA */
+{ xop_b0d0_0, 45264 }, /* CMPA */
+{ xop_b0d8_0, 45272 }, /* CMPA */
+{ xop_b0e0_0, 45280 }, /* CMPA */
+{ xop_b0e8_0, 45288 }, /* CMPA */
+{ xop_b0f0_0, 45296 }, /* CMPA */
+{ xop_b0f8_0, 45304 }, /* CMPA */
+{ xop_b0f9_0, 45305 }, /* CMPA */
+{ xop_b0fa_0, 45306 }, /* CMPA */
+{ xop_b0fb_0, 45307 }, /* CMPA */
+{ xop_b0fc_0, 45308 }, /* CMPA */
+{ xop_b100_0, 45312 }, /* EOR */
+{ xop_b108_0, 45320 }, /* CMPM */
+{ xop_b110_0, 45328 }, /* EOR */
+{ xop_b118_0, 45336 }, /* EOR */
+{ xop_b120_0, 45344 }, /* EOR */
+{ xop_b128_0, 45352 }, /* EOR */
+{ xop_b130_0, 45360 }, /* EOR */
+{ xop_b138_0, 45368 }, /* EOR */
+{ xop_b139_0, 45369 }, /* EOR */
+{ xop_b140_0, 45376 }, /* EOR */
+{ xop_b148_0, 45384 }, /* CMPM */
+{ xop_b150_0, 45392 }, /* EOR */
+{ xop_b158_0, 45400 }, /* EOR */
+{ xop_b160_0, 45408 }, /* EOR */
+{ xop_b168_0, 45416 }, /* EOR */
+{ xop_b170_0, 45424 }, /* EOR */
+{ xop_b178_0, 45432 }, /* EOR */
+{ xop_b179_0, 45433 }, /* EOR */
+{ xop_b180_0, 45440 }, /* EOR */
+{ xop_b188_0, 45448 }, /* CMPM */
+{ xop_b190_0, 45456 }, /* EOR */
+{ xop_b198_0, 45464 }, /* EOR */
+{ xop_b1a0_0, 45472 }, /* EOR */
+{ xop_b1a8_0, 45480 }, /* EOR */
+{ xop_b1b0_0, 45488 }, /* EOR */
+{ xop_b1b8_0, 45496 }, /* EOR */
+{ xop_b1b9_0, 45497 }, /* EOR */
+{ xop_b1c0_0, 45504 }, /* CMPA */
+{ xop_b1c8_0, 45512 }, /* CMPA */
+{ xop_b1d0_0, 45520 }, /* CMPA */
+{ xop_b1d8_0, 45528 }, /* CMPA */
+{ xop_b1e0_0, 45536 }, /* CMPA */
+{ xop_b1e8_0, 45544 }, /* CMPA */
+{ xop_b1f0_0, 45552 }, /* CMPA */
+{ xop_b1f8_0, 45560 }, /* CMPA */
+{ xop_b1f9_0, 45561 }, /* CMPA */
+{ xop_b1fa_0, 45562 }, /* CMPA */
+{ xop_b1fb_0, 45563 }, /* CMPA */
+{ xop_b1fc_0, 45564 }, /* CMPA */
+{ xop_c000_0, 49152 }, /* AND */
+{ xop_c010_0, 49168 }, /* AND */
+{ xop_c018_0, 49176 }, /* AND */
+{ xop_c020_0, 49184 }, /* AND */
+{ xop_c028_0, 49192 }, /* AND */
+{ xop_c030_0, 49200 }, /* AND */
+{ xop_c038_0, 49208 }, /* AND */
+{ xop_c039_0, 49209 }, /* AND */
+{ xop_c03a_0, 49210 }, /* AND */
+{ xop_c03b_0, 49211 }, /* AND */
+{ xop_c03c_0, 49212 }, /* AND */
+{ xop_c040_0, 49216 }, /* AND */
+{ xop_c050_0, 49232 }, /* AND */
+{ xop_c058_0, 49240 }, /* AND */
+{ xop_c060_0, 49248 }, /* AND */
+{ xop_c068_0, 49256 }, /* AND */
+{ xop_c070_0, 49264 }, /* AND */
+{ xop_c078_0, 49272 }, /* AND */
+{ xop_c079_0, 49273 }, /* AND */
+{ xop_c07a_0, 49274 }, /* AND */
+{ xop_c07b_0, 49275 }, /* AND */
+{ xop_c07c_0, 49276 }, /* AND */
+{ xop_c080_0, 49280 }, /* AND */
+{ xop_c090_0, 49296 }, /* AND */
+{ xop_c098_0, 49304 }, /* AND */
+{ xop_c0a0_0, 49312 }, /* AND */
+{ xop_c0a8_0, 49320 }, /* AND */
+{ xop_c0b0_0, 49328 }, /* AND */
+{ xop_c0b8_0, 49336 }, /* AND */
+{ xop_c0b9_0, 49337 }, /* AND */
+{ xop_c0ba_0, 49338 }, /* AND */
+{ xop_c0bb_0, 49339 }, /* AND */
+{ xop_c0bc_0, 49340 }, /* AND */
+{ xop_c0c0_0, 49344 }, /* MULU */
+{ xop_c0d0_0, 49360 }, /* MULU */
+{ xop_c0d8_0, 49368 }, /* MULU */
+{ xop_c0e0_0, 49376 }, /* MULU */
+{ xop_c0e8_0, 49384 }, /* MULU */
+{ xop_c0f0_0, 49392 }, /* MULU */
+{ xop_c0f8_0, 49400 }, /* MULU */
+{ xop_c0f9_0, 49401 }, /* MULU */
+{ xop_c0fa_0, 49402 }, /* MULU */
+{ xop_c0fb_0, 49403 }, /* MULU */
+{ xop_c0fc_0, 49404 }, /* MULU */
+{ xop_c100_0, 49408 }, /* ABCD */
+{ xop_c108_0, 49416 }, /* ABCD */
+{ xop_c110_0, 49424 }, /* AND */
+{ xop_c118_0, 49432 }, /* AND */
+{ xop_c120_0, 49440 }, /* AND */
+{ xop_c128_0, 49448 }, /* AND */
+{ xop_c130_0, 49456 }, /* AND */
+{ xop_c138_0, 49464 }, /* AND */
+{ xop_c139_0, 49465 }, /* AND */
+{ xop_c140_0, 49472 }, /* EXG */
+{ xop_c148_0, 49480 }, /* EXG */
+{ xop_c150_0, 49488 }, /* AND */
+{ xop_c158_0, 49496 }, /* AND */
+{ xop_c160_0, 49504 }, /* AND */
+{ xop_c168_0, 49512 }, /* AND */
+{ xop_c170_0, 49520 }, /* AND */
+{ xop_c178_0, 49528 }, /* AND */
+{ xop_c179_0, 49529 }, /* AND */
+{ xop_c188_0, 49544 }, /* EXG */
+{ xop_c190_0, 49552 }, /* AND */
+{ xop_c198_0, 49560 }, /* AND */
+{ xop_c1a0_0, 49568 }, /* AND */
+{ xop_c1a8_0, 49576 }, /* AND */
+{ xop_c1b0_0, 49584 }, /* AND */
+{ xop_c1b8_0, 49592 }, /* AND */
+{ xop_c1b9_0, 49593 }, /* AND */
+{ xop_c1c0_0, 49600 }, /* MULS */
+{ xop_c1d0_0, 49616 }, /* MULS */
+{ xop_c1d8_0, 49624 }, /* MULS */
+{ xop_c1e0_0, 49632 }, /* MULS */
+{ xop_c1e8_0, 49640 }, /* MULS */
+{ xop_c1f0_0, 49648 }, /* MULS */
+{ xop_c1f8_0, 49656 }, /* MULS */
+{ xop_c1f9_0, 49657 }, /* MULS */
+{ xop_c1fa_0, 49658 }, /* MULS */
+{ xop_c1fb_0, 49659 }, /* MULS */
+{ xop_c1fc_0, 49660 }, /* MULS */
+{ xop_d000_0, 53248 }, /* ADD */
+{ xop_d010_0, 53264 }, /* ADD */
+{ xop_d018_0, 53272 }, /* ADD */
+{ xop_d020_0, 53280 }, /* ADD */
+{ xop_d028_0, 53288 }, /* ADD */
+{ xop_d030_0, 53296 }, /* ADD */
+{ xop_d038_0, 53304 }, /* ADD */
+{ xop_d039_0, 53305 }, /* ADD */
+{ xop_d03a_0, 53306 }, /* ADD */
+{ xop_d03b_0, 53307 }, /* ADD */
+{ xop_d03c_0, 53308 }, /* ADD */
+{ xop_d040_0, 53312 }, /* ADD */
+{ xop_d048_0, 53320 }, /* ADD */
+{ xop_d050_0, 53328 }, /* ADD */
+{ xop_d058_0, 53336 }, /* ADD */
+{ xop_d060_0, 53344 }, /* ADD */
+{ xop_d068_0, 53352 }, /* ADD */
+{ xop_d070_0, 53360 }, /* ADD */
+{ xop_d078_0, 53368 }, /* ADD */
+{ xop_d079_0, 53369 }, /* ADD */
+{ xop_d07a_0, 53370 }, /* ADD */
+{ xop_d07b_0, 53371 }, /* ADD */
+{ xop_d07c_0, 53372 }, /* ADD */
+{ xop_d080_0, 53376 }, /* ADD */
+{ xop_d088_0, 53384 }, /* ADD */
+{ xop_d090_0, 53392 }, /* ADD */
+{ xop_d098_0, 53400 }, /* ADD */
+{ xop_d0a0_0, 53408 }, /* ADD */
+{ xop_d0a8_0, 53416 }, /* ADD */
+{ xop_d0b0_0, 53424 }, /* ADD */
+{ xop_d0b8_0, 53432 }, /* ADD */
+{ xop_d0b9_0, 53433 }, /* ADD */
+{ xop_d0ba_0, 53434 }, /* ADD */
+{ xop_d0bb_0, 53435 }, /* ADD */
+{ xop_d0bc_0, 53436 }, /* ADD */
+{ xop_d0c0_0, 53440 }, /* ADDA */
+{ xop_d0c8_0, 53448 }, /* ADDA */
+{ xop_d0d0_0, 53456 }, /* ADDA */
+{ xop_d0d8_0, 53464 }, /* ADDA */
+{ xop_d0e0_0, 53472 }, /* ADDA */
+{ xop_d0e8_0, 53480 }, /* ADDA */
+{ xop_d0f0_0, 53488 }, /* ADDA */
+{ xop_d0f8_0, 53496 }, /* ADDA */
+{ xop_d0f9_0, 53497 }, /* ADDA */
+{ xop_d0fa_0, 53498 }, /* ADDA */
+{ xop_d0fb_0, 53499 }, /* ADDA */
+{ xop_d0fc_0, 53500 }, /* ADDA */
+{ xop_d100_0, 53504 }, /* ADDX */
+{ xop_d108_0, 53512 }, /* ADDX */
+{ xop_d110_0, 53520 }, /* ADD */
+{ xop_d118_0, 53528 }, /* ADD */
+{ xop_d120_0, 53536 }, /* ADD */
+{ xop_d128_0, 53544 }, /* ADD */
+{ xop_d130_0, 53552 }, /* ADD */
+{ xop_d138_0, 53560 }, /* ADD */
+{ xop_d139_0, 53561 }, /* ADD */
+{ xop_d140_0, 53568 }, /* ADDX */
+{ xop_d148_0, 53576 }, /* ADDX */
+{ xop_d150_0, 53584 }, /* ADD */
+{ xop_d158_0, 53592 }, /* ADD */
+{ xop_d160_0, 53600 }, /* ADD */
+{ xop_d168_0, 53608 }, /* ADD */
+{ xop_d170_0, 53616 }, /* ADD */
+{ xop_d178_0, 53624 }, /* ADD */
+{ xop_d179_0, 53625 }, /* ADD */
+{ xop_d180_0, 53632 }, /* ADDX */
+{ xop_d188_0, 53640 }, /* ADDX */
+{ xop_d190_0, 53648 }, /* ADD */
+{ xop_d198_0, 53656 }, /* ADD */
+{ xop_d1a0_0, 53664 }, /* ADD */
+{ xop_d1a8_0, 53672 }, /* ADD */
+{ xop_d1b0_0, 53680 }, /* ADD */
+{ xop_d1b8_0, 53688 }, /* ADD */
+{ xop_d1b9_0, 53689 }, /* ADD */
+{ xop_d1c0_0, 53696 }, /* ADDA */
+{ xop_d1c8_0, 53704 }, /* ADDA */
+{ xop_d1d0_0, 53712 }, /* ADDA */
+{ xop_d1d8_0, 53720 }, /* ADDA */
+{ xop_d1e0_0, 53728 }, /* ADDA */
+{ xop_d1e8_0, 53736 }, /* ADDA */
+{ xop_d1f0_0, 53744 }, /* ADDA */
+{ xop_d1f8_0, 53752 }, /* ADDA */
+{ xop_d1f9_0, 53753 }, /* ADDA */
+{ xop_d1fa_0, 53754 }, /* ADDA */
+{ xop_d1fb_0, 53755 }, /* ADDA */
+{ xop_d1fc_0, 53756 }, /* ADDA */
+{ xop_e000_0, 57344 }, /* ASR */
+{ xop_e008_0, 57352 }, /* LSR */
+{ xop_e010_0, 57360 }, /* ROXR */
+{ xop_e018_0, 57368 }, /* ROR */
+{ xop_e020_0, 57376 }, /* ASR */
+{ xop_e028_0, 57384 }, /* LSR */
+{ xop_e030_0, 57392 }, /* ROXR */
+{ xop_e038_0, 57400 }, /* ROR */
+{ xop_e040_0, 57408 }, /* ASR */
+{ xop_e048_0, 57416 }, /* LSR */
+{ xop_e050_0, 57424 }, /* ROXR */
+{ xop_e058_0, 57432 }, /* ROR */
+{ xop_e060_0, 57440 }, /* ASR */
+{ xop_e068_0, 57448 }, /* LSR */
+{ xop_e070_0, 57456 }, /* ROXR */
+{ xop_e078_0, 57464 }, /* ROR */
+{ xop_e080_0, 57472 }, /* ASR */
+{ xop_e088_0, 57480 }, /* LSR */
+{ xop_e090_0, 57488 }, /* ROXR */
+{ xop_e098_0, 57496 }, /* ROR */
+{ xop_e0a0_0, 57504 }, /* ASR */
+{ xop_e0a8_0, 57512 }, /* LSR */
+{ xop_e0b0_0, 57520 }, /* ROXR */
+{ xop_e0b8_0, 57528 }, /* ROR */
+{ xop_e0d0_0, 57552 }, /* ASRW */
+{ xop_e0d8_0, 57560 }, /* ASRW */
+{ xop_e0e0_0, 57568 }, /* ASRW */
+{ xop_e0e8_0, 57576 }, /* ASRW */
+{ xop_e0f0_0, 57584 }, /* ASRW */
+{ xop_e0f8_0, 57592 }, /* ASRW */
+{ xop_e0f9_0, 57593 }, /* ASRW */
+{ xop_e100_0, 57600 }, /* ASL */
+{ xop_e108_0, 57608 }, /* LSL */
+{ xop_e110_0, 57616 }, /* ROXL */
+{ xop_e118_0, 57624 }, /* ROL */
+{ xop_e120_0, 57632 }, /* ASL */
+{ xop_e128_0, 57640 }, /* LSL */
+{ xop_e130_0, 57648 }, /* ROXL */
+{ xop_e138_0, 57656 }, /* ROL */
+{ xop_e140_0, 57664 }, /* ASL */
+{ xop_e148_0, 57672 }, /* LSL */
+{ xop_e150_0, 57680 }, /* ROXL */
+{ xop_e158_0, 57688 }, /* ROL */
+{ xop_e160_0, 57696 }, /* ASL */
+{ xop_e168_0, 57704 }, /* LSL */
+{ xop_e170_0, 57712 }, /* ROXL */
+{ xop_e178_0, 57720 }, /* ROL */
+{ xop_e180_0, 57728 }, /* ASL */
+{ xop_e188_0, 57736 }, /* LSL */
+{ xop_e190_0, 57744 }, /* ROXL */
+{ xop_e198_0, 57752 }, /* ROL */
+{ xop_e1a0_0, 57760 }, /* ASL */
+{ xop_e1a8_0, 57768 }, /* LSL */
+{ xop_e1b0_0, 57776 }, /* ROXL */
+{ xop_e1b8_0, 57784 }, /* ROL */
+{ xop_e1d0_0, 57808 }, /* ASLW */
+{ xop_e1d8_0, 57816 }, /* ASLW */
+{ xop_e1e0_0, 57824 }, /* ASLW */
+{ xop_e1e8_0, 57832 }, /* ASLW */
+{ xop_e1f0_0, 57840 }, /* ASLW */
+{ xop_e1f8_0, 57848 }, /* ASLW */
+{ xop_e1f9_0, 57849 }, /* ASLW */
+{ xop_e2d0_0, 58064 }, /* LSRW */
+{ xop_e2d8_0, 58072 }, /* LSRW */
+{ xop_e2e0_0, 58080 }, /* LSRW */
+{ xop_e2e8_0, 58088 }, /* LSRW */
+{ xop_e2f0_0, 58096 }, /* LSRW */
+{ xop_e2f8_0, 58104 }, /* LSRW */
+{ xop_e2f9_0, 58105 }, /* LSRW */
+{ xop_e3d0_0, 58320 }, /* LSLW */
+{ xop_e3d8_0, 58328 }, /* LSLW */
+{ xop_e3e0_0, 58336 }, /* LSLW */
+{ xop_e3e8_0, 58344 }, /* LSLW */
+{ xop_e3f0_0, 58352 }, /* LSLW */
+{ xop_e3f8_0, 58360 }, /* LSLW */
+{ xop_e3f9_0, 58361 }, /* LSLW */
+{ xop_e4d0_0, 58576 }, /* ROXRW */
+{ xop_e4d8_0, 58584 }, /* ROXRW */
+{ xop_e4e0_0, 58592 }, /* ROXRW */
+{ xop_e4e8_0, 58600 }, /* ROXRW */
+{ xop_e4f0_0, 58608 }, /* ROXRW */
+{ xop_e4f8_0, 58616 }, /* ROXRW */
+{ xop_e4f9_0, 58617 }, /* ROXRW */
+{ xop_e5d0_0, 58832 }, /* ROXLW */
+{ xop_e5d8_0, 58840 }, /* ROXLW */
+{ xop_e5e0_0, 58848 }, /* ROXLW */
+{ xop_e5e8_0, 58856 }, /* ROXLW */
+{ xop_e5f0_0, 58864 }, /* ROXLW */
+{ xop_e5f8_0, 58872 }, /* ROXLW */
+{ xop_e5f9_0, 58873 }, /* ROXLW */
+{ xop_e6d0_0, 59088 }, /* RORW */
+{ xop_e6d8_0, 59096 }, /* RORW */
+{ xop_e6e0_0, 59104 }, /* RORW */
+{ xop_e6e8_0, 59112 }, /* RORW */
+{ xop_e6f0_0, 59120 }, /* RORW */
+{ xop_e6f8_0, 59128 }, /* RORW */
+{ xop_e6f9_0, 59129 }, /* RORW */
+{ xop_e7d0_0, 59344 }, /* ROLW */
+{ xop_e7d8_0, 59352 }, /* ROLW */
+{ xop_e7e0_0, 59360 }, /* ROLW */
+{ xop_e7e8_0, 59368 }, /* ROLW */
+{ xop_e7f0_0, 59376 }, /* ROLW */
+{ xop_e7f8_0, 59384 }, /* ROLW */
+{ xop_e7f9_0, 59385 }, /* ROLW */
+{ xop_e8c0_0, 59584 }, /* BFTST */
+{ xop_e8d0_0, 59600 }, /* BFTST */
+{ xop_e8e8_0, 59624 }, /* BFTST */
+{ xop_e8f0_0, 59632 }, /* BFTST */
+{ xop_e8f8_0, 59640 }, /* BFTST */
+{ xop_e8f9_0, 59641 }, /* BFTST */
+{ xop_e8fa_0, 59642 }, /* BFTST */
+{ xop_e8fb_0, 59643 }, /* BFTST */
+{ xop_e9c0_0, 59840 }, /* BFEXTU */
+{ xop_e9d0_0, 59856 }, /* BFEXTU */
+{ xop_e9e8_0, 59880 }, /* BFEXTU */
+{ xop_e9f0_0, 59888 }, /* BFEXTU */
+{ xop_e9f8_0, 59896 }, /* BFEXTU */
+{ xop_e9f9_0, 59897 }, /* BFEXTU */
+{ xop_e9fa_0, 59898 }, /* BFEXTU */
+{ xop_e9fb_0, 59899 }, /* BFEXTU */
+{ xop_eac0_0, 60096 }, /* BFCHG */
+{ xop_ead0_0, 60112 }, /* BFCHG */
+{ xop_eae8_0, 60136 }, /* BFCHG */
+{ xop_eaf0_0, 60144 }, /* BFCHG */
+{ xop_eaf8_0, 60152 }, /* BFCHG */
+{ xop_eaf9_0, 60153 }, /* BFCHG */
+{ xop_ebc0_0, 60352 }, /* BFEXTS */
+{ xop_ebd0_0, 60368 }, /* BFEXTS */
+{ xop_ebe8_0, 60392 }, /* BFEXTS */
+{ xop_ebf0_0, 60400 }, /* BFEXTS */
+{ xop_ebf8_0, 60408 }, /* BFEXTS */
+{ xop_ebf9_0, 60409 }, /* BFEXTS */
+{ xop_ebfa_0, 60410 }, /* BFEXTS */
+{ xop_ebfb_0, 60411 }, /* BFEXTS */
+{ xop_ecc0_0, 60608 }, /* BFCLR */
+{ xop_ecd0_0, 60624 }, /* BFCLR */
+{ xop_ece8_0, 60648 }, /* BFCLR */
+{ xop_ecf0_0, 60656 }, /* BFCLR */
+{ xop_ecf8_0, 60664 }, /* BFCLR */
+{ xop_ecf9_0, 60665 }, /* BFCLR */
+{ xop_edc0_0, 60864 }, /* BFFFO */
+{ xop_edd0_0, 60880 }, /* BFFFO */
+{ xop_ede8_0, 60904 }, /* BFFFO */
+{ xop_edf0_0, 60912 }, /* BFFFO */
+{ xop_edf8_0, 60920 }, /* BFFFO */
+{ xop_edf9_0, 60921 }, /* BFFFO */
+{ xop_edfa_0, 60922 }, /* BFFFO */
+{ xop_edfb_0, 60923 }, /* BFFFO */
+{ xop_eec0_0, 61120 }, /* BFSET */
+{ xop_eed0_0, 61136 }, /* BFSET */
+{ xop_eee8_0, 61160 }, /* BFSET */
+{ xop_eef0_0, 61168 }, /* BFSET */
+{ xop_eef8_0, 61176 }, /* BFSET */
+{ xop_eef9_0, 61177 }, /* BFSET */
+{ xop_efc0_0, 61376 }, /* BFINS */
+{ xop_efd0_0, 61392 }, /* BFINS */
+{ xop_efe8_0, 61416 }, /* BFINS */
+{ xop_eff0_0, 61424 }, /* BFINS */
+{ xop_eff8_0, 61432 }, /* BFINS */
+{ xop_eff9_0, 61433 }, /* BFINS */
+{ xop_f000_0, 61440 }, /* MMUOP30A */
+{ xop_f008_0, 61448 }, /* MMUOP30A */
+{ xop_f010_0, 61456 }, /* MMUOP30A */
+{ xop_f018_0, 61464 }, /* MMUOP30A */
+{ xop_f020_0, 61472 }, /* MMUOP30A */
+{ xop_f028_0, 61480 }, /* MMUOP30A */
+{ xop_f030_0, 61488 }, /* MMUOP30A */
+{ xop_f038_0, 61496 }, /* MMUOP30A */
+{ xop_f039_0, 61497 }, /* MMUOP30A */
+{ xop_f03a_0, 61498 }, /* MMUOP30A */
+{ xop_f03b_0, 61499 }, /* MMUOP30A */
+{ xop_f200_0, 61952 }, /* FPP */
+{ xop_f208_0, 61960 }, /* FPP */
+{ xop_f210_0, 61968 }, /* FPP */
+{ xop_f218_0, 61976 }, /* FPP */
+{ xop_f220_0, 61984 }, /* FPP */
+{ xop_f228_0, 61992 }, /* FPP */
+{ xop_f230_0, 62000 }, /* FPP */
+{ xop_f238_0, 62008 }, /* FPP */
+{ xop_f239_0, 62009 }, /* FPP */
+{ xop_f23a_0, 62010 }, /* FPP */
+{ xop_f23b_0, 62011 }, /* FPP */
+{ xop_f23c_0, 62012 }, /* FPP */
+{ xop_f240_0, 62016 }, /* FScc */
+{ xop_f248_0, 62024 }, /* FDBcc */
+{ xop_f250_0, 62032 }, /* FScc */
+{ xop_f258_0, 62040 }, /* FScc */
+{ xop_f260_0, 62048 }, /* FScc */
+{ xop_f268_0, 62056 }, /* FScc */
+{ xop_f270_0, 62064 }, /* FScc */
+{ xop_f278_0, 62072 }, /* FScc */
+{ xop_f279_0, 62073 }, /* FScc */
+{ xop_f27a_0, 62074 }, /* FTRAPcc */
+{ xop_f27b_0, 62075 }, /* FTRAPcc */
+{ xop_f27c_0, 62076 }, /* FTRAPcc */
+{ xop_f280_0, 62080 }, /* FBcc */
+{ xop_f2c0_0, 62144 }, /* FBcc */
+{ xop_f310_0, 62224 }, /* FSAVE */
+{ xop_f320_0, 62240 }, /* FSAVE */
+{ xop_f328_0, 62248 }, /* FSAVE */
+{ xop_f330_0, 62256 }, /* FSAVE */
+{ xop_f338_0, 62264 }, /* FSAVE */
+{ xop_f339_0, 62265 }, /* FSAVE */
+{ xop_f350_0, 62288 }, /* FRESTORE */
+{ xop_f358_0, 62296 }, /* FRESTORE */
+{ xop_f368_0, 62312 }, /* FRESTORE */
+{ xop_f370_0, 62320 }, /* FRESTORE */
+{ xop_f378_0, 62328 }, /* FRESTORE */
+{ xop_f379_0, 62329 }, /* FRESTORE */
+{ xop_f37a_0, 62330 }, /* FRESTORE */
+{ xop_f37b_0, 62331 }, /* FRESTORE */
+{ xop_f408_0, 62472 }, /* CINVL */
+{ xop_f410_0, 62480 }, /* CINVP */
+{ xop_f418_0, 62488 }, /* CINVA */
+{ xop_f419_0, 62489 }, /* CINVA */
+{ xop_f41a_0, 62490 }, /* CINVA */
+{ xop_f41b_0, 62491 }, /* CINVA */
+{ xop_f41c_0, 62492 }, /* CINVA */
+{ xop_f41d_0, 62493 }, /* CINVA */
+{ xop_f41e_0, 62494 }, /* CINVA */
+{ xop_f41f_0, 62495 }, /* CINVA */
+{ xop_f428_0, 62504 }, /* CPUSHL */
+{ xop_f430_0, 62512 }, /* CPUSHP */
+{ xop_f438_0, 62520 }, /* CPUSHA */
+{ xop_f439_0, 62521 }, /* CPUSHA */
+{ xop_f43a_0, 62522 }, /* CPUSHA */
+{ xop_f43b_0, 62523 }, /* CPUSHA */
+{ xop_f43c_0, 62524 }, /* CPUSHA */
+{ xop_f43d_0, 62525 }, /* CPUSHA */
+{ xop_f43e_0, 62526 }, /* CPUSHA */
+{ xop_f43f_0, 62527 }, /* CPUSHA */
+{ xop_f500_0, 62720 }, /* MMUOP */
+{ xop_f600_0, 62976 }, /* MOVE16 */
+{ xop_f608_0, 62984 }, /* MOVE16 */
+{ xop_f610_0, 62992 }, /* MOVE16 */
+{ xop_f618_0, 63000 }, /* MOVE16 */
+{ xop_f620_0, 63008 }, /* MOVE16 */
+{ xop_f800_0, 63488 }, /* MMUOP30B */
+{ xop_f808_0, 63496 }, /* MMUOP30B */
+{ xop_f810_0, 63504 }, /* MMUOP30B */
+{ xop_f818_0, 63512 }, /* MMUOP30B */
+{ xop_f820_0, 63520 }, /* MMUOP30B */
+{ xop_f828_0, 63528 }, /* MMUOP30B */
+{ xop_f830_0, 63536 }, /* MMUOP30B */
+{ xop_f838_0, 63544 }, /* MMUOP30B */
+{ xop_f839_0, 63545 }, /* MMUOP30B */
+{ xop_f83a_0, 63546 }, /* MMUOP30B */
+{ xop_f83b_0, 63547 }, /* MMUOP30B */
+{ 0, 0 }};
--- /dev/null
+extern xcpuop_func xop_0_0;
+extern xcpuop_func xop_10_0;
+extern xcpuop_func xop_18_0;
+extern xcpuop_func xop_20_0;
+extern xcpuop_func xop_28_0;
+extern xcpuop_func xop_30_0;
+extern xcpuop_func xop_38_0;
+extern xcpuop_func xop_39_0;
+extern xcpuop_func xop_3c_0;
+extern xcpuop_func xop_40_0;
+extern xcpuop_func xop_50_0;
+extern xcpuop_func xop_58_0;
+extern xcpuop_func xop_60_0;
+extern xcpuop_func xop_68_0;
+extern xcpuop_func xop_70_0;
+extern xcpuop_func xop_78_0;
+extern xcpuop_func xop_79_0;
+extern xcpuop_func xop_7c_0;
+extern xcpuop_func xop_80_0;
+extern xcpuop_func xop_90_0;
+extern xcpuop_func xop_98_0;
+extern xcpuop_func xop_a0_0;
+extern xcpuop_func xop_a8_0;
+extern xcpuop_func xop_b0_0;
+extern xcpuop_func xop_b8_0;
+extern xcpuop_func xop_b9_0;
+extern xcpuop_func xop_d0_0;
+extern xcpuop_func xop_e8_0;
+extern xcpuop_func xop_f0_0;
+extern xcpuop_func xop_f8_0;
+extern xcpuop_func xop_f9_0;
+extern xcpuop_func xop_fa_0;
+extern xcpuop_func xop_fb_0;
+extern xcpuop_func xop_100_0;
+extern xcpuop_func xop_108_0;
+extern xcpuop_func xop_110_0;
+extern xcpuop_func xop_118_0;
+extern xcpuop_func xop_120_0;
+extern xcpuop_func xop_128_0;
+extern xcpuop_func xop_130_0;
+extern xcpuop_func xop_138_0;
+extern xcpuop_func xop_139_0;
+extern xcpuop_func xop_13a_0;
+extern xcpuop_func xop_13b_0;
+extern xcpuop_func xop_13c_0;
+extern xcpuop_func xop_140_0;
+extern xcpuop_func xop_148_0;
+extern xcpuop_func xop_150_0;
+extern xcpuop_func xop_158_0;
+extern xcpuop_func xop_160_0;
+extern xcpuop_func xop_168_0;
+extern xcpuop_func xop_170_0;
+extern xcpuop_func xop_178_0;
+extern xcpuop_func xop_179_0;
+extern xcpuop_func xop_17a_0;
+extern xcpuop_func xop_17b_0;
+extern xcpuop_func xop_180_0;
+extern xcpuop_func xop_188_0;
+extern xcpuop_func xop_190_0;
+extern xcpuop_func xop_198_0;
+extern xcpuop_func xop_1a0_0;
+extern xcpuop_func xop_1a8_0;
+extern xcpuop_func xop_1b0_0;
+extern xcpuop_func xop_1b8_0;
+extern xcpuop_func xop_1b9_0;
+extern xcpuop_func xop_1ba_0;
+extern xcpuop_func xop_1bb_0;
+extern xcpuop_func xop_1c0_0;
+extern xcpuop_func xop_1c8_0;
+extern xcpuop_func xop_1d0_0;
+extern xcpuop_func xop_1d8_0;
+extern xcpuop_func xop_1e0_0;
+extern xcpuop_func xop_1e8_0;
+extern xcpuop_func xop_1f0_0;
+extern xcpuop_func xop_1f8_0;
+extern xcpuop_func xop_1f9_0;
+extern xcpuop_func xop_1fa_0;
+extern xcpuop_func xop_1fb_0;
+extern xcpuop_func xop_200_0;
+extern xcpuop_func xop_210_0;
+extern xcpuop_func xop_218_0;
+extern xcpuop_func xop_220_0;
+extern xcpuop_func xop_228_0;
+extern xcpuop_func xop_230_0;
+extern xcpuop_func xop_238_0;
+extern xcpuop_func xop_239_0;
+extern xcpuop_func xop_23c_0;
+extern xcpuop_func xop_240_0;
+extern xcpuop_func xop_250_0;
+extern xcpuop_func xop_258_0;
+extern xcpuop_func xop_260_0;
+extern xcpuop_func xop_268_0;
+extern xcpuop_func xop_270_0;
+extern xcpuop_func xop_278_0;
+extern xcpuop_func xop_279_0;
+extern xcpuop_func xop_27c_0;
+extern xcpuop_func xop_280_0;
+extern xcpuop_func xop_290_0;
+extern xcpuop_func xop_298_0;
+extern xcpuop_func xop_2a0_0;
+extern xcpuop_func xop_2a8_0;
+extern xcpuop_func xop_2b0_0;
+extern xcpuop_func xop_2b8_0;
+extern xcpuop_func xop_2b9_0;
+extern xcpuop_func xop_2d0_0;
+extern xcpuop_func xop_2e8_0;
+extern xcpuop_func xop_2f0_0;
+extern xcpuop_func xop_2f8_0;
+extern xcpuop_func xop_2f9_0;
+extern xcpuop_func xop_2fa_0;
+extern xcpuop_func xop_2fb_0;
+extern xcpuop_func xop_400_0;
+extern xcpuop_func xop_410_0;
+extern xcpuop_func xop_418_0;
+extern xcpuop_func xop_420_0;
+extern xcpuop_func xop_428_0;
+extern xcpuop_func xop_430_0;
+extern xcpuop_func xop_438_0;
+extern xcpuop_func xop_439_0;
+extern xcpuop_func xop_440_0;
+extern xcpuop_func xop_450_0;
+extern xcpuop_func xop_458_0;
+extern xcpuop_func xop_460_0;
+extern xcpuop_func xop_468_0;
+extern xcpuop_func xop_470_0;
+extern xcpuop_func xop_478_0;
+extern xcpuop_func xop_479_0;
+extern xcpuop_func xop_480_0;
+extern xcpuop_func xop_490_0;
+extern xcpuop_func xop_498_0;
+extern xcpuop_func xop_4a0_0;
+extern xcpuop_func xop_4a8_0;
+extern xcpuop_func xop_4b0_0;
+extern xcpuop_func xop_4b8_0;
+extern xcpuop_func xop_4b9_0;
+extern xcpuop_func xop_4d0_0;
+extern xcpuop_func xop_4e8_0;
+extern xcpuop_func xop_4f0_0;
+extern xcpuop_func xop_4f8_0;
+extern xcpuop_func xop_4f9_0;
+extern xcpuop_func xop_4fa_0;
+extern xcpuop_func xop_4fb_0;
+extern xcpuop_func xop_600_0;
+extern xcpuop_func xop_610_0;
+extern xcpuop_func xop_618_0;
+extern xcpuop_func xop_620_0;
+extern xcpuop_func xop_628_0;
+extern xcpuop_func xop_630_0;
+extern xcpuop_func xop_638_0;
+extern xcpuop_func xop_639_0;
+extern xcpuop_func xop_640_0;
+extern xcpuop_func xop_650_0;
+extern xcpuop_func xop_658_0;
+extern xcpuop_func xop_660_0;
+extern xcpuop_func xop_668_0;
+extern xcpuop_func xop_670_0;
+extern xcpuop_func xop_678_0;
+extern xcpuop_func xop_679_0;
+extern xcpuop_func xop_680_0;
+extern xcpuop_func xop_690_0;
+extern xcpuop_func xop_698_0;
+extern xcpuop_func xop_6a0_0;
+extern xcpuop_func xop_6a8_0;
+extern xcpuop_func xop_6b0_0;
+extern xcpuop_func xop_6b8_0;
+extern xcpuop_func xop_6b9_0;
+extern xcpuop_func xop_6c0_0;
+extern xcpuop_func xop_6c8_0;
+extern xcpuop_func xop_6d0_0;
+extern xcpuop_func xop_6e8_0;
+extern xcpuop_func xop_6f0_0;
+extern xcpuop_func xop_6f8_0;
+extern xcpuop_func xop_6f9_0;
+extern xcpuop_func xop_6fa_0;
+extern xcpuop_func xop_6fb_0;
+extern xcpuop_func xop_800_0;
+extern xcpuop_func xop_810_0;
+extern xcpuop_func xop_818_0;
+extern xcpuop_func xop_820_0;
+extern xcpuop_func xop_828_0;
+extern xcpuop_func xop_830_0;
+extern xcpuop_func xop_838_0;
+extern xcpuop_func xop_839_0;
+extern xcpuop_func xop_83a_0;
+extern xcpuop_func xop_83b_0;
+extern xcpuop_func xop_83c_0;
+extern xcpuop_func xop_840_0;
+extern xcpuop_func xop_850_0;
+extern xcpuop_func xop_858_0;
+extern xcpuop_func xop_860_0;
+extern xcpuop_func xop_868_0;
+extern xcpuop_func xop_870_0;
+extern xcpuop_func xop_878_0;
+extern xcpuop_func xop_879_0;
+extern xcpuop_func xop_87a_0;
+extern xcpuop_func xop_87b_0;
+extern xcpuop_func xop_880_0;
+extern xcpuop_func xop_890_0;
+extern xcpuop_func xop_898_0;
+extern xcpuop_func xop_8a0_0;
+extern xcpuop_func xop_8a8_0;
+extern xcpuop_func xop_8b0_0;
+extern xcpuop_func xop_8b8_0;
+extern xcpuop_func xop_8b9_0;
+extern xcpuop_func xop_8ba_0;
+extern xcpuop_func xop_8bb_0;
+extern xcpuop_func xop_8c0_0;
+extern xcpuop_func xop_8d0_0;
+extern xcpuop_func xop_8d8_0;
+extern xcpuop_func xop_8e0_0;
+extern xcpuop_func xop_8e8_0;
+extern xcpuop_func xop_8f0_0;
+extern xcpuop_func xop_8f8_0;
+extern xcpuop_func xop_8f9_0;
+extern xcpuop_func xop_8fa_0;
+extern xcpuop_func xop_8fb_0;
+extern xcpuop_func xop_a00_0;
+extern xcpuop_func xop_a10_0;
+extern xcpuop_func xop_a18_0;
+extern xcpuop_func xop_a20_0;
+extern xcpuop_func xop_a28_0;
+extern xcpuop_func xop_a30_0;
+extern xcpuop_func xop_a38_0;
+extern xcpuop_func xop_a39_0;
+extern xcpuop_func xop_a3c_0;
+extern xcpuop_func xop_a40_0;
+extern xcpuop_func xop_a50_0;
+extern xcpuop_func xop_a58_0;
+extern xcpuop_func xop_a60_0;
+extern xcpuop_func xop_a68_0;
+extern xcpuop_func xop_a70_0;
+extern xcpuop_func xop_a78_0;
+extern xcpuop_func xop_a79_0;
+extern xcpuop_func xop_a7c_0;
+extern xcpuop_func xop_a80_0;
+extern xcpuop_func xop_a90_0;
+extern xcpuop_func xop_a98_0;
+extern xcpuop_func xop_aa0_0;
+extern xcpuop_func xop_aa8_0;
+extern xcpuop_func xop_ab0_0;
+extern xcpuop_func xop_ab8_0;
+extern xcpuop_func xop_ab9_0;
+extern xcpuop_func xop_ad0_0;
+extern xcpuop_func xop_ad8_0;
+extern xcpuop_func xop_ae0_0;
+extern xcpuop_func xop_ae8_0;
+extern xcpuop_func xop_af0_0;
+extern xcpuop_func xop_af8_0;
+extern xcpuop_func xop_af9_0;
+extern xcpuop_func xop_c00_0;
+extern xcpuop_func xop_c10_0;
+extern xcpuop_func xop_c18_0;
+extern xcpuop_func xop_c20_0;
+extern xcpuop_func xop_c28_0;
+extern xcpuop_func xop_c30_0;
+extern xcpuop_func xop_c38_0;
+extern xcpuop_func xop_c39_0;
+extern xcpuop_func xop_c3a_0;
+extern xcpuop_func xop_c3b_0;
+extern xcpuop_func xop_c40_0;
+extern xcpuop_func xop_c50_0;
+extern xcpuop_func xop_c58_0;
+extern xcpuop_func xop_c60_0;
+extern xcpuop_func xop_c68_0;
+extern xcpuop_func xop_c70_0;
+extern xcpuop_func xop_c78_0;
+extern xcpuop_func xop_c79_0;
+extern xcpuop_func xop_c7a_0;
+extern xcpuop_func xop_c7b_0;
+extern xcpuop_func xop_c80_0;
+extern xcpuop_func xop_c90_0;
+extern xcpuop_func xop_c98_0;
+extern xcpuop_func xop_ca0_0;
+extern xcpuop_func xop_ca8_0;
+extern xcpuop_func xop_cb0_0;
+extern xcpuop_func xop_cb8_0;
+extern xcpuop_func xop_cb9_0;
+extern xcpuop_func xop_cba_0;
+extern xcpuop_func xop_cbb_0;
+extern xcpuop_func xop_cd0_0;
+extern xcpuop_func xop_cd8_0;
+extern xcpuop_func xop_ce0_0;
+extern xcpuop_func xop_ce8_0;
+extern xcpuop_func xop_cf0_0;
+extern xcpuop_func xop_cf8_0;
+extern xcpuop_func xop_cf9_0;
+extern xcpuop_func xop_cfc_0;
+extern xcpuop_func xop_e10_0;
+extern xcpuop_func xop_e18_0;
+extern xcpuop_func xop_e20_0;
+extern xcpuop_func xop_e28_0;
+extern xcpuop_func xop_e30_0;
+extern xcpuop_func xop_e38_0;
+extern xcpuop_func xop_e39_0;
+extern xcpuop_func xop_e50_0;
+extern xcpuop_func xop_e58_0;
+extern xcpuop_func xop_e60_0;
+extern xcpuop_func xop_e68_0;
+extern xcpuop_func xop_e70_0;
+extern xcpuop_func xop_e78_0;
+extern xcpuop_func xop_e79_0;
+extern xcpuop_func xop_e90_0;
+extern xcpuop_func xop_e98_0;
+extern xcpuop_func xop_ea0_0;
+extern xcpuop_func xop_ea8_0;
+extern xcpuop_func xop_eb0_0;
+extern xcpuop_func xop_eb8_0;
+extern xcpuop_func xop_eb9_0;
+extern xcpuop_func xop_ed0_0;
+extern xcpuop_func xop_ed8_0;
+extern xcpuop_func xop_ee0_0;
+extern xcpuop_func xop_ee8_0;
+extern xcpuop_func xop_ef0_0;
+extern xcpuop_func xop_ef8_0;
+extern xcpuop_func xop_ef9_0;
+extern xcpuop_func xop_efc_0;
+extern xcpuop_func xop_1000_0;
+extern xcpuop_func xop_1010_0;
+extern xcpuop_func xop_1018_0;
+extern xcpuop_func xop_1020_0;
+extern xcpuop_func xop_1028_0;
+extern xcpuop_func xop_1030_0;
+extern xcpuop_func xop_1038_0;
+extern xcpuop_func xop_1039_0;
+extern xcpuop_func xop_103a_0;
+extern xcpuop_func xop_103b_0;
+extern xcpuop_func xop_103c_0;
+extern xcpuop_func xop_1080_0;
+extern xcpuop_func xop_1090_0;
+extern xcpuop_func xop_1098_0;
+extern xcpuop_func xop_10a0_0;
+extern xcpuop_func xop_10a8_0;
+extern xcpuop_func xop_10b0_0;
+extern xcpuop_func xop_10b8_0;
+extern xcpuop_func xop_10b9_0;
+extern xcpuop_func xop_10ba_0;
+extern xcpuop_func xop_10bb_0;
+extern xcpuop_func xop_10bc_0;
+extern xcpuop_func xop_10c0_0;
+extern xcpuop_func xop_10d0_0;
+extern xcpuop_func xop_10d8_0;
+extern xcpuop_func xop_10e0_0;
+extern xcpuop_func xop_10e8_0;
+extern xcpuop_func xop_10f0_0;
+extern xcpuop_func xop_10f8_0;
+extern xcpuop_func xop_10f9_0;
+extern xcpuop_func xop_10fa_0;
+extern xcpuop_func xop_10fb_0;
+extern xcpuop_func xop_10fc_0;
+extern xcpuop_func xop_1100_0;
+extern xcpuop_func xop_1110_0;
+extern xcpuop_func xop_1118_0;
+extern xcpuop_func xop_1120_0;
+extern xcpuop_func xop_1128_0;
+extern xcpuop_func xop_1130_0;
+extern xcpuop_func xop_1138_0;
+extern xcpuop_func xop_1139_0;
+extern xcpuop_func xop_113a_0;
+extern xcpuop_func xop_113b_0;
+extern xcpuop_func xop_113c_0;
+extern xcpuop_func xop_1140_0;
+extern xcpuop_func xop_1150_0;
+extern xcpuop_func xop_1158_0;
+extern xcpuop_func xop_1160_0;
+extern xcpuop_func xop_1168_0;
+extern xcpuop_func xop_1170_0;
+extern xcpuop_func xop_1178_0;
+extern xcpuop_func xop_1179_0;
+extern xcpuop_func xop_117a_0;
+extern xcpuop_func xop_117b_0;
+extern xcpuop_func xop_117c_0;
+extern xcpuop_func xop_1180_0;
+extern xcpuop_func xop_1190_0;
+extern xcpuop_func xop_1198_0;
+extern xcpuop_func xop_11a0_0;
+extern xcpuop_func xop_11a8_0;
+extern xcpuop_func xop_11b0_0;
+extern xcpuop_func xop_11b8_0;
+extern xcpuop_func xop_11b9_0;
+extern xcpuop_func xop_11ba_0;
+extern xcpuop_func xop_11bb_0;
+extern xcpuop_func xop_11bc_0;
+extern xcpuop_func xop_11c0_0;
+extern xcpuop_func xop_11d0_0;
+extern xcpuop_func xop_11d8_0;
+extern xcpuop_func xop_11e0_0;
+extern xcpuop_func xop_11e8_0;
+extern xcpuop_func xop_11f0_0;
+extern xcpuop_func xop_11f8_0;
+extern xcpuop_func xop_11f9_0;
+extern xcpuop_func xop_11fa_0;
+extern xcpuop_func xop_11fb_0;
+extern xcpuop_func xop_11fc_0;
+extern xcpuop_func xop_13c0_0;
+extern xcpuop_func xop_13d0_0;
+extern xcpuop_func xop_13d8_0;
+extern xcpuop_func xop_13e0_0;
+extern xcpuop_func xop_13e8_0;
+extern xcpuop_func xop_13f0_0;
+extern xcpuop_func xop_13f8_0;
+extern xcpuop_func xop_13f9_0;
+extern xcpuop_func xop_13fa_0;
+extern xcpuop_func xop_13fb_0;
+extern xcpuop_func xop_13fc_0;
+extern xcpuop_func xop_2000_0;
+extern xcpuop_func xop_2008_0;
+extern xcpuop_func xop_2010_0;
+extern xcpuop_func xop_2018_0;
+extern xcpuop_func xop_2020_0;
+extern xcpuop_func xop_2028_0;
+extern xcpuop_func xop_2030_0;
+extern xcpuop_func xop_2038_0;
+extern xcpuop_func xop_2039_0;
+extern xcpuop_func xop_203a_0;
+extern xcpuop_func xop_203b_0;
+extern xcpuop_func xop_203c_0;
+extern xcpuop_func xop_2040_0;
+extern xcpuop_func xop_2048_0;
+extern xcpuop_func xop_2050_0;
+extern xcpuop_func xop_2058_0;
+extern xcpuop_func xop_2060_0;
+extern xcpuop_func xop_2068_0;
+extern xcpuop_func xop_2070_0;
+extern xcpuop_func xop_2078_0;
+extern xcpuop_func xop_2079_0;
+extern xcpuop_func xop_207a_0;
+extern xcpuop_func xop_207b_0;
+extern xcpuop_func xop_207c_0;
+extern xcpuop_func xop_2080_0;
+extern xcpuop_func xop_2088_0;
+extern xcpuop_func xop_2090_0;
+extern xcpuop_func xop_2098_0;
+extern xcpuop_func xop_20a0_0;
+extern xcpuop_func xop_20a8_0;
+extern xcpuop_func xop_20b0_0;
+extern xcpuop_func xop_20b8_0;
+extern xcpuop_func xop_20b9_0;
+extern xcpuop_func xop_20ba_0;
+extern xcpuop_func xop_20bb_0;
+extern xcpuop_func xop_20bc_0;
+extern xcpuop_func xop_20c0_0;
+extern xcpuop_func xop_20c8_0;
+extern xcpuop_func xop_20d0_0;
+extern xcpuop_func xop_20d8_0;
+extern xcpuop_func xop_20e0_0;
+extern xcpuop_func xop_20e8_0;
+extern xcpuop_func xop_20f0_0;
+extern xcpuop_func xop_20f8_0;
+extern xcpuop_func xop_20f9_0;
+extern xcpuop_func xop_20fa_0;
+extern xcpuop_func xop_20fb_0;
+extern xcpuop_func xop_20fc_0;
+extern xcpuop_func xop_2100_0;
+extern xcpuop_func xop_2108_0;
+extern xcpuop_func xop_2110_0;
+extern xcpuop_func xop_2118_0;
+extern xcpuop_func xop_2120_0;
+extern xcpuop_func xop_2128_0;
+extern xcpuop_func xop_2130_0;
+extern xcpuop_func xop_2138_0;
+extern xcpuop_func xop_2139_0;
+extern xcpuop_func xop_213a_0;
+extern xcpuop_func xop_213b_0;
+extern xcpuop_func xop_213c_0;
+extern xcpuop_func xop_2140_0;
+extern xcpuop_func xop_2148_0;
+extern xcpuop_func xop_2150_0;
+extern xcpuop_func xop_2158_0;
+extern xcpuop_func xop_2160_0;
+extern xcpuop_func xop_2168_0;
+extern xcpuop_func xop_2170_0;
+extern xcpuop_func xop_2178_0;
+extern xcpuop_func xop_2179_0;
+extern xcpuop_func xop_217a_0;
+extern xcpuop_func xop_217b_0;
+extern xcpuop_func xop_217c_0;
+extern xcpuop_func xop_2180_0;
+extern xcpuop_func xop_2188_0;
+extern xcpuop_func xop_2190_0;
+extern xcpuop_func xop_2198_0;
+extern xcpuop_func xop_21a0_0;
+extern xcpuop_func xop_21a8_0;
+extern xcpuop_func xop_21b0_0;
+extern xcpuop_func xop_21b8_0;
+extern xcpuop_func xop_21b9_0;
+extern xcpuop_func xop_21ba_0;
+extern xcpuop_func xop_21bb_0;
+extern xcpuop_func xop_21bc_0;
+extern xcpuop_func xop_21c0_0;
+extern xcpuop_func xop_21c8_0;
+extern xcpuop_func xop_21d0_0;
+extern xcpuop_func xop_21d8_0;
+extern xcpuop_func xop_21e0_0;
+extern xcpuop_func xop_21e8_0;
+extern xcpuop_func xop_21f0_0;
+extern xcpuop_func xop_21f8_0;
+extern xcpuop_func xop_21f9_0;
+extern xcpuop_func xop_21fa_0;
+extern xcpuop_func xop_21fb_0;
+extern xcpuop_func xop_21fc_0;
+extern xcpuop_func xop_23c0_0;
+extern xcpuop_func xop_23c8_0;
+extern xcpuop_func xop_23d0_0;
+extern xcpuop_func xop_23d8_0;
+extern xcpuop_func xop_23e0_0;
+extern xcpuop_func xop_23e8_0;
+extern xcpuop_func xop_23f0_0;
+extern xcpuop_func xop_23f8_0;
+extern xcpuop_func xop_23f9_0;
+extern xcpuop_func xop_23fa_0;
+extern xcpuop_func xop_23fb_0;
+extern xcpuop_func xop_23fc_0;
+extern xcpuop_func xop_3000_0;
+extern xcpuop_func xop_3008_0;
+extern xcpuop_func xop_3010_0;
+extern xcpuop_func xop_3018_0;
+extern xcpuop_func xop_3020_0;
+extern xcpuop_func xop_3028_0;
+extern xcpuop_func xop_3030_0;
+extern xcpuop_func xop_3038_0;
+extern xcpuop_func xop_3039_0;
+extern xcpuop_func xop_303a_0;
+extern xcpuop_func xop_303b_0;
+extern xcpuop_func xop_303c_0;
+extern xcpuop_func xop_3040_0;
+extern xcpuop_func xop_3048_0;
+extern xcpuop_func xop_3050_0;
+extern xcpuop_func xop_3058_0;
+extern xcpuop_func xop_3060_0;
+extern xcpuop_func xop_3068_0;
+extern xcpuop_func xop_3070_0;
+extern xcpuop_func xop_3078_0;
+extern xcpuop_func xop_3079_0;
+extern xcpuop_func xop_307a_0;
+extern xcpuop_func xop_307b_0;
+extern xcpuop_func xop_307c_0;
+extern xcpuop_func xop_3080_0;
+extern xcpuop_func xop_3088_0;
+extern xcpuop_func xop_3090_0;
+extern xcpuop_func xop_3098_0;
+extern xcpuop_func xop_30a0_0;
+extern xcpuop_func xop_30a8_0;
+extern xcpuop_func xop_30b0_0;
+extern xcpuop_func xop_30b8_0;
+extern xcpuop_func xop_30b9_0;
+extern xcpuop_func xop_30ba_0;
+extern xcpuop_func xop_30bb_0;
+extern xcpuop_func xop_30bc_0;
+extern xcpuop_func xop_30c0_0;
+extern xcpuop_func xop_30c8_0;
+extern xcpuop_func xop_30d0_0;
+extern xcpuop_func xop_30d8_0;
+extern xcpuop_func xop_30e0_0;
+extern xcpuop_func xop_30e8_0;
+extern xcpuop_func xop_30f0_0;
+extern xcpuop_func xop_30f8_0;
+extern xcpuop_func xop_30f9_0;
+extern xcpuop_func xop_30fa_0;
+extern xcpuop_func xop_30fb_0;
+extern xcpuop_func xop_30fc_0;
+extern xcpuop_func xop_3100_0;
+extern xcpuop_func xop_3108_0;
+extern xcpuop_func xop_3110_0;
+extern xcpuop_func xop_3118_0;
+extern xcpuop_func xop_3120_0;
+extern xcpuop_func xop_3128_0;
+extern xcpuop_func xop_3130_0;
+extern xcpuop_func xop_3138_0;
+extern xcpuop_func xop_3139_0;
+extern xcpuop_func xop_313a_0;
+extern xcpuop_func xop_313b_0;
+extern xcpuop_func xop_313c_0;
+extern xcpuop_func xop_3140_0;
+extern xcpuop_func xop_3148_0;
+extern xcpuop_func xop_3150_0;
+extern xcpuop_func xop_3158_0;
+extern xcpuop_func xop_3160_0;
+extern xcpuop_func xop_3168_0;
+extern xcpuop_func xop_3170_0;
+extern xcpuop_func xop_3178_0;
+extern xcpuop_func xop_3179_0;
+extern xcpuop_func xop_317a_0;
+extern xcpuop_func xop_317b_0;
+extern xcpuop_func xop_317c_0;
+extern xcpuop_func xop_3180_0;
+extern xcpuop_func xop_3188_0;
+extern xcpuop_func xop_3190_0;
+extern xcpuop_func xop_3198_0;
+extern xcpuop_func xop_31a0_0;
+extern xcpuop_func xop_31a8_0;
+extern xcpuop_func xop_31b0_0;
+extern xcpuop_func xop_31b8_0;
+extern xcpuop_func xop_31b9_0;
+extern xcpuop_func xop_31ba_0;
+extern xcpuop_func xop_31bb_0;
+extern xcpuop_func xop_31bc_0;
+extern xcpuop_func xop_31c0_0;
+extern xcpuop_func xop_31c8_0;
+extern xcpuop_func xop_31d0_0;
+extern xcpuop_func xop_31d8_0;
+extern xcpuop_func xop_31e0_0;
+extern xcpuop_func xop_31e8_0;
+extern xcpuop_func xop_31f0_0;
+extern xcpuop_func xop_31f8_0;
+extern xcpuop_func xop_31f9_0;
+extern xcpuop_func xop_31fa_0;
+extern xcpuop_func xop_31fb_0;
+extern xcpuop_func xop_31fc_0;
+extern xcpuop_func xop_33c0_0;
+extern xcpuop_func xop_33c8_0;
+extern xcpuop_func xop_33d0_0;
+extern xcpuop_func xop_33d8_0;
+extern xcpuop_func xop_33e0_0;
+extern xcpuop_func xop_33e8_0;
+extern xcpuop_func xop_33f0_0;
+extern xcpuop_func xop_33f8_0;
+extern xcpuop_func xop_33f9_0;
+extern xcpuop_func xop_33fa_0;
+extern xcpuop_func xop_33fb_0;
+extern xcpuop_func xop_33fc_0;
+extern xcpuop_func xop_4000_0;
+extern xcpuop_func xop_4010_0;
+extern xcpuop_func xop_4018_0;
+extern xcpuop_func xop_4020_0;
+extern xcpuop_func xop_4028_0;
+extern xcpuop_func xop_4030_0;
+extern xcpuop_func xop_4038_0;
+extern xcpuop_func xop_4039_0;
+extern xcpuop_func xop_4040_0;
+extern xcpuop_func xop_4050_0;
+extern xcpuop_func xop_4058_0;
+extern xcpuop_func xop_4060_0;
+extern xcpuop_func xop_4068_0;
+extern xcpuop_func xop_4070_0;
+extern xcpuop_func xop_4078_0;
+extern xcpuop_func xop_4079_0;
+extern xcpuop_func xop_4080_0;
+extern xcpuop_func xop_4090_0;
+extern xcpuop_func xop_4098_0;
+extern xcpuop_func xop_40a0_0;
+extern xcpuop_func xop_40a8_0;
+extern xcpuop_func xop_40b0_0;
+extern xcpuop_func xop_40b8_0;
+extern xcpuop_func xop_40b9_0;
+extern xcpuop_func xop_40c0_0;
+extern xcpuop_func xop_40d0_0;
+extern xcpuop_func xop_40d8_0;
+extern xcpuop_func xop_40e0_0;
+extern xcpuop_func xop_40e8_0;
+extern xcpuop_func xop_40f0_0;
+extern xcpuop_func xop_40f8_0;
+extern xcpuop_func xop_40f9_0;
+extern xcpuop_func xop_4100_0;
+extern xcpuop_func xop_4110_0;
+extern xcpuop_func xop_4118_0;
+extern xcpuop_func xop_4120_0;
+extern xcpuop_func xop_4128_0;
+extern xcpuop_func xop_4130_0;
+extern xcpuop_func xop_4138_0;
+extern xcpuop_func xop_4139_0;
+extern xcpuop_func xop_413a_0;
+extern xcpuop_func xop_413b_0;
+extern xcpuop_func xop_413c_0;
+extern xcpuop_func xop_4180_0;
+extern xcpuop_func xop_4190_0;
+extern xcpuop_func xop_4198_0;
+extern xcpuop_func xop_41a0_0;
+extern xcpuop_func xop_41a8_0;
+extern xcpuop_func xop_41b0_0;
+extern xcpuop_func xop_41b8_0;
+extern xcpuop_func xop_41b9_0;
+extern xcpuop_func xop_41ba_0;
+extern xcpuop_func xop_41bb_0;
+extern xcpuop_func xop_41bc_0;
+extern xcpuop_func xop_41d0_0;
+extern xcpuop_func xop_41e8_0;
+extern xcpuop_func xop_41f0_0;
+extern xcpuop_func xop_41f8_0;
+extern xcpuop_func xop_41f9_0;
+extern xcpuop_func xop_41fa_0;
+extern xcpuop_func xop_41fb_0;
+extern xcpuop_func xop_4200_0;
+extern xcpuop_func xop_4210_0;
+extern xcpuop_func xop_4218_0;
+extern xcpuop_func xop_4220_0;
+extern xcpuop_func xop_4228_0;
+extern xcpuop_func xop_4230_0;
+extern xcpuop_func xop_4238_0;
+extern xcpuop_func xop_4239_0;
+extern xcpuop_func xop_4240_0;
+extern xcpuop_func xop_4250_0;
+extern xcpuop_func xop_4258_0;
+extern xcpuop_func xop_4260_0;
+extern xcpuop_func xop_4268_0;
+extern xcpuop_func xop_4270_0;
+extern xcpuop_func xop_4278_0;
+extern xcpuop_func xop_4279_0;
+extern xcpuop_func xop_4280_0;
+extern xcpuop_func xop_4290_0;
+extern xcpuop_func xop_4298_0;
+extern xcpuop_func xop_42a0_0;
+extern xcpuop_func xop_42a8_0;
+extern xcpuop_func xop_42b0_0;
+extern xcpuop_func xop_42b8_0;
+extern xcpuop_func xop_42b9_0;
+extern xcpuop_func xop_42c0_0;
+extern xcpuop_func xop_42d0_0;
+extern xcpuop_func xop_42d8_0;
+extern xcpuop_func xop_42e0_0;
+extern xcpuop_func xop_42e8_0;
+extern xcpuop_func xop_42f0_0;
+extern xcpuop_func xop_42f8_0;
+extern xcpuop_func xop_42f9_0;
+extern xcpuop_func xop_4400_0;
+extern xcpuop_func xop_4410_0;
+extern xcpuop_func xop_4418_0;
+extern xcpuop_func xop_4420_0;
+extern xcpuop_func xop_4428_0;
+extern xcpuop_func xop_4430_0;
+extern xcpuop_func xop_4438_0;
+extern xcpuop_func xop_4439_0;
+extern xcpuop_func xop_4440_0;
+extern xcpuop_func xop_4450_0;
+extern xcpuop_func xop_4458_0;
+extern xcpuop_func xop_4460_0;
+extern xcpuop_func xop_4468_0;
+extern xcpuop_func xop_4470_0;
+extern xcpuop_func xop_4478_0;
+extern xcpuop_func xop_4479_0;
+extern xcpuop_func xop_4480_0;
+extern xcpuop_func xop_4490_0;
+extern xcpuop_func xop_4498_0;
+extern xcpuop_func xop_44a0_0;
+extern xcpuop_func xop_44a8_0;
+extern xcpuop_func xop_44b0_0;
+extern xcpuop_func xop_44b8_0;
+extern xcpuop_func xop_44b9_0;
+extern xcpuop_func xop_44c0_0;
+extern xcpuop_func xop_44d0_0;
+extern xcpuop_func xop_44d8_0;
+extern xcpuop_func xop_44e0_0;
+extern xcpuop_func xop_44e8_0;
+extern xcpuop_func xop_44f0_0;
+extern xcpuop_func xop_44f8_0;
+extern xcpuop_func xop_44f9_0;
+extern xcpuop_func xop_44fa_0;
+extern xcpuop_func xop_44fb_0;
+extern xcpuop_func xop_44fc_0;
+extern xcpuop_func xop_4600_0;
+extern xcpuop_func xop_4610_0;
+extern xcpuop_func xop_4618_0;
+extern xcpuop_func xop_4620_0;
+extern xcpuop_func xop_4628_0;
+extern xcpuop_func xop_4630_0;
+extern xcpuop_func xop_4638_0;
+extern xcpuop_func xop_4639_0;
+extern xcpuop_func xop_4640_0;
+extern xcpuop_func xop_4650_0;
+extern xcpuop_func xop_4658_0;
+extern xcpuop_func xop_4660_0;
+extern xcpuop_func xop_4668_0;
+extern xcpuop_func xop_4670_0;
+extern xcpuop_func xop_4678_0;
+extern xcpuop_func xop_4679_0;
+extern xcpuop_func xop_4680_0;
+extern xcpuop_func xop_4690_0;
+extern xcpuop_func xop_4698_0;
+extern xcpuop_func xop_46a0_0;
+extern xcpuop_func xop_46a8_0;
+extern xcpuop_func xop_46b0_0;
+extern xcpuop_func xop_46b8_0;
+extern xcpuop_func xop_46b9_0;
+extern xcpuop_func xop_46c0_0;
+extern xcpuop_func xop_46d0_0;
+extern xcpuop_func xop_46d8_0;
+extern xcpuop_func xop_46e0_0;
+extern xcpuop_func xop_46e8_0;
+extern xcpuop_func xop_46f0_0;
+extern xcpuop_func xop_46f8_0;
+extern xcpuop_func xop_46f9_0;
+extern xcpuop_func xop_46fa_0;
+extern xcpuop_func xop_46fb_0;
+extern xcpuop_func xop_46fc_0;
+extern xcpuop_func xop_4800_0;
+extern xcpuop_func xop_4808_0;
+extern xcpuop_func xop_4810_0;
+extern xcpuop_func xop_4818_0;
+extern xcpuop_func xop_4820_0;
+extern xcpuop_func xop_4828_0;
+extern xcpuop_func xop_4830_0;
+extern xcpuop_func xop_4838_0;
+extern xcpuop_func xop_4839_0;
+extern xcpuop_func xop_4840_0;
+extern xcpuop_func xop_4848_0;
+extern xcpuop_func xop_4850_0;
+extern xcpuop_func xop_4868_0;
+extern xcpuop_func xop_4870_0;
+extern xcpuop_func xop_4878_0;
+extern xcpuop_func xop_4879_0;
+extern xcpuop_func xop_487a_0;
+extern xcpuop_func xop_487b_0;
+extern xcpuop_func xop_4880_0;
+extern xcpuop_func xop_4890_0;
+extern xcpuop_func xop_48a0_0;
+extern xcpuop_func xop_48a8_0;
+extern xcpuop_func xop_48b0_0;
+extern xcpuop_func xop_48b8_0;
+extern xcpuop_func xop_48b9_0;
+extern xcpuop_func xop_48c0_0;
+extern xcpuop_func xop_48d0_0;
+extern xcpuop_func xop_48e0_0;
+extern xcpuop_func xop_48e8_0;
+extern xcpuop_func xop_48f0_0;
+extern xcpuop_func xop_48f8_0;
+extern xcpuop_func xop_48f9_0;
+extern xcpuop_func xop_49c0_0;
+extern xcpuop_func xop_4a00_0;
+extern xcpuop_func xop_4a10_0;
+extern xcpuop_func xop_4a18_0;
+extern xcpuop_func xop_4a20_0;
+extern xcpuop_func xop_4a28_0;
+extern xcpuop_func xop_4a30_0;
+extern xcpuop_func xop_4a38_0;
+extern xcpuop_func xop_4a39_0;
+extern xcpuop_func xop_4a3a_0;
+extern xcpuop_func xop_4a3b_0;
+extern xcpuop_func xop_4a3c_0;
+extern xcpuop_func xop_4a40_0;
+extern xcpuop_func xop_4a48_0;
+extern xcpuop_func xop_4a50_0;
+extern xcpuop_func xop_4a58_0;
+extern xcpuop_func xop_4a60_0;
+extern xcpuop_func xop_4a68_0;
+extern xcpuop_func xop_4a70_0;
+extern xcpuop_func xop_4a78_0;
+extern xcpuop_func xop_4a79_0;
+extern xcpuop_func xop_4a7a_0;
+extern xcpuop_func xop_4a7b_0;
+extern xcpuop_func xop_4a7c_0;
+extern xcpuop_func xop_4a80_0;
+extern xcpuop_func xop_4a88_0;
+extern xcpuop_func xop_4a90_0;
+extern xcpuop_func xop_4a98_0;
+extern xcpuop_func xop_4aa0_0;
+extern xcpuop_func xop_4aa8_0;
+extern xcpuop_func xop_4ab0_0;
+extern xcpuop_func xop_4ab8_0;
+extern xcpuop_func xop_4ab9_0;
+extern xcpuop_func xop_4aba_0;
+extern xcpuop_func xop_4abb_0;
+extern xcpuop_func xop_4abc_0;
+extern xcpuop_func xop_4ac0_0;
+extern xcpuop_func xop_4ad0_0;
+extern xcpuop_func xop_4ad8_0;
+extern xcpuop_func xop_4ae0_0;
+extern xcpuop_func xop_4ae8_0;
+extern xcpuop_func xop_4af0_0;
+extern xcpuop_func xop_4af8_0;
+extern xcpuop_func xop_4af9_0;
+extern xcpuop_func xop_4c00_0;
+extern xcpuop_func xop_4c10_0;
+extern xcpuop_func xop_4c18_0;
+extern xcpuop_func xop_4c20_0;
+extern xcpuop_func xop_4c28_0;
+extern xcpuop_func xop_4c30_0;
+extern xcpuop_func xop_4c38_0;
+extern xcpuop_func xop_4c39_0;
+extern xcpuop_func xop_4c3a_0;
+extern xcpuop_func xop_4c3b_0;
+extern xcpuop_func xop_4c3c_0;
+extern xcpuop_func xop_4c40_0;
+extern xcpuop_func xop_4c50_0;
+extern xcpuop_func xop_4c58_0;
+extern xcpuop_func xop_4c60_0;
+extern xcpuop_func xop_4c68_0;
+extern xcpuop_func xop_4c70_0;
+extern xcpuop_func xop_4c78_0;
+extern xcpuop_func xop_4c79_0;
+extern xcpuop_func xop_4c7a_0;
+extern xcpuop_func xop_4c7b_0;
+extern xcpuop_func xop_4c7c_0;
+extern xcpuop_func xop_4c90_0;
+extern xcpuop_func xop_4c98_0;
+extern xcpuop_func xop_4ca8_0;
+extern xcpuop_func xop_4cb0_0;
+extern xcpuop_func xop_4cb8_0;
+extern xcpuop_func xop_4cb9_0;
+extern xcpuop_func xop_4cba_0;
+extern xcpuop_func xop_4cbb_0;
+extern xcpuop_func xop_4cd0_0;
+extern xcpuop_func xop_4cd8_0;
+extern xcpuop_func xop_4ce8_0;
+extern xcpuop_func xop_4cf0_0;
+extern xcpuop_func xop_4cf8_0;
+extern xcpuop_func xop_4cf9_0;
+extern xcpuop_func xop_4cfa_0;
+extern xcpuop_func xop_4cfb_0;
+extern xcpuop_func xop_4e40_0;
+extern xcpuop_func xop_4e50_0;
+extern xcpuop_func xop_4e58_0;
+extern xcpuop_func xop_4e60_0;
+extern xcpuop_func xop_4e68_0;
+extern xcpuop_func xop_4e70_0;
+extern xcpuop_func xop_4e71_0;
+extern xcpuop_func xop_4e72_0;
+extern xcpuop_func xop_4e73_0;
+extern xcpuop_func xop_4e74_0;
+extern xcpuop_func xop_4e75_0;
+extern xcpuop_func xop_4e76_0;
+extern xcpuop_func xop_4e77_0;
+extern xcpuop_func xop_4e7a_0;
+extern xcpuop_func xop_4e7b_0;
+extern xcpuop_func xop_4e90_0;
+extern xcpuop_func xop_4ea8_0;
+extern xcpuop_func xop_4eb0_0;
+extern xcpuop_func xop_4eb8_0;
+extern xcpuop_func xop_4eb9_0;
+extern xcpuop_func xop_4eba_0;
+extern xcpuop_func xop_4ebb_0;
+extern xcpuop_func xop_4ed0_0;
+extern xcpuop_func xop_4ee8_0;
+extern xcpuop_func xop_4ef0_0;
+extern xcpuop_func xop_4ef8_0;
+extern xcpuop_func xop_4ef9_0;
+extern xcpuop_func xop_4efa_0;
+extern xcpuop_func xop_4efb_0;
+extern xcpuop_func xop_5000_0;
+extern xcpuop_func xop_5010_0;
+extern xcpuop_func xop_5018_0;
+extern xcpuop_func xop_5020_0;
+extern xcpuop_func xop_5028_0;
+extern xcpuop_func xop_5030_0;
+extern xcpuop_func xop_5038_0;
+extern xcpuop_func xop_5039_0;
+extern xcpuop_func xop_5040_0;
+extern xcpuop_func xop_5048_0;
+extern xcpuop_func xop_5050_0;
+extern xcpuop_func xop_5058_0;
+extern xcpuop_func xop_5060_0;
+extern xcpuop_func xop_5068_0;
+extern xcpuop_func xop_5070_0;
+extern xcpuop_func xop_5078_0;
+extern xcpuop_func xop_5079_0;
+extern xcpuop_func xop_5080_0;
+extern xcpuop_func xop_5088_0;
+extern xcpuop_func xop_5090_0;
+extern xcpuop_func xop_5098_0;
+extern xcpuop_func xop_50a0_0;
+extern xcpuop_func xop_50a8_0;
+extern xcpuop_func xop_50b0_0;
+extern xcpuop_func xop_50b8_0;
+extern xcpuop_func xop_50b9_0;
+extern xcpuop_func xop_50c0_0;
+extern xcpuop_func xop_50c8_0;
+extern xcpuop_func xop_50d0_0;
+extern xcpuop_func xop_50d8_0;
+extern xcpuop_func xop_50e0_0;
+extern xcpuop_func xop_50e8_0;
+extern xcpuop_func xop_50f0_0;
+extern xcpuop_func xop_50f8_0;
+extern xcpuop_func xop_50f9_0;
+extern xcpuop_func xop_50fa_0;
+extern xcpuop_func xop_50fb_0;
+extern xcpuop_func xop_50fc_0;
+extern xcpuop_func xop_5100_0;
+extern xcpuop_func xop_5110_0;
+extern xcpuop_func xop_5118_0;
+extern xcpuop_func xop_5120_0;
+extern xcpuop_func xop_5128_0;
+extern xcpuop_func xop_5130_0;
+extern xcpuop_func xop_5138_0;
+extern xcpuop_func xop_5139_0;
+extern xcpuop_func xop_5140_0;
+extern xcpuop_func xop_5148_0;
+extern xcpuop_func xop_5150_0;
+extern xcpuop_func xop_5158_0;
+extern xcpuop_func xop_5160_0;
+extern xcpuop_func xop_5168_0;
+extern xcpuop_func xop_5170_0;
+extern xcpuop_func xop_5178_0;
+extern xcpuop_func xop_5179_0;
+extern xcpuop_func xop_5180_0;
+extern xcpuop_func xop_5188_0;
+extern xcpuop_func xop_5190_0;
+extern xcpuop_func xop_5198_0;
+extern xcpuop_func xop_51a0_0;
+extern xcpuop_func xop_51a8_0;
+extern xcpuop_func xop_51b0_0;
+extern xcpuop_func xop_51b8_0;
+extern xcpuop_func xop_51b9_0;
+extern xcpuop_func xop_51c0_0;
+extern xcpuop_func xop_51c8_0;
+extern xcpuop_func xop_51d0_0;
+extern xcpuop_func xop_51d8_0;
+extern xcpuop_func xop_51e0_0;
+extern xcpuop_func xop_51e8_0;
+extern xcpuop_func xop_51f0_0;
+extern xcpuop_func xop_51f8_0;
+extern xcpuop_func xop_51f9_0;
+extern xcpuop_func xop_51fa_0;
+extern xcpuop_func xop_51fb_0;
+extern xcpuop_func xop_51fc_0;
+extern xcpuop_func xop_52c0_0;
+extern xcpuop_func xop_52c8_0;
+extern xcpuop_func xop_52d0_0;
+extern xcpuop_func xop_52d8_0;
+extern xcpuop_func xop_52e0_0;
+extern xcpuop_func xop_52e8_0;
+extern xcpuop_func xop_52f0_0;
+extern xcpuop_func xop_52f8_0;
+extern xcpuop_func xop_52f9_0;
+extern xcpuop_func xop_52fa_0;
+extern xcpuop_func xop_52fb_0;
+extern xcpuop_func xop_52fc_0;
+extern xcpuop_func xop_53c0_0;
+extern xcpuop_func xop_53c8_0;
+extern xcpuop_func xop_53d0_0;
+extern xcpuop_func xop_53d8_0;
+extern xcpuop_func xop_53e0_0;
+extern xcpuop_func xop_53e8_0;
+extern xcpuop_func xop_53f0_0;
+extern xcpuop_func xop_53f8_0;
+extern xcpuop_func xop_53f9_0;
+extern xcpuop_func xop_53fa_0;
+extern xcpuop_func xop_53fb_0;
+extern xcpuop_func xop_53fc_0;
+extern xcpuop_func xop_54c0_0;
+extern xcpuop_func xop_54c8_0;
+extern xcpuop_func xop_54d0_0;
+extern xcpuop_func xop_54d8_0;
+extern xcpuop_func xop_54e0_0;
+extern xcpuop_func xop_54e8_0;
+extern xcpuop_func xop_54f0_0;
+extern xcpuop_func xop_54f8_0;
+extern xcpuop_func xop_54f9_0;
+extern xcpuop_func xop_54fa_0;
+extern xcpuop_func xop_54fb_0;
+extern xcpuop_func xop_54fc_0;
+extern xcpuop_func xop_55c0_0;
+extern xcpuop_func xop_55c8_0;
+extern xcpuop_func xop_55d0_0;
+extern xcpuop_func xop_55d8_0;
+extern xcpuop_func xop_55e0_0;
+extern xcpuop_func xop_55e8_0;
+extern xcpuop_func xop_55f0_0;
+extern xcpuop_func xop_55f8_0;
+extern xcpuop_func xop_55f9_0;
+extern xcpuop_func xop_55fa_0;
+extern xcpuop_func xop_55fb_0;
+extern xcpuop_func xop_55fc_0;
+extern xcpuop_func xop_56c0_0;
+extern xcpuop_func xop_56c8_0;
+extern xcpuop_func xop_56d0_0;
+extern xcpuop_func xop_56d8_0;
+extern xcpuop_func xop_56e0_0;
+extern xcpuop_func xop_56e8_0;
+extern xcpuop_func xop_56f0_0;
+extern xcpuop_func xop_56f8_0;
+extern xcpuop_func xop_56f9_0;
+extern xcpuop_func xop_56fa_0;
+extern xcpuop_func xop_56fb_0;
+extern xcpuop_func xop_56fc_0;
+extern xcpuop_func xop_57c0_0;
+extern xcpuop_func xop_57c8_0;
+extern xcpuop_func xop_57d0_0;
+extern xcpuop_func xop_57d8_0;
+extern xcpuop_func xop_57e0_0;
+extern xcpuop_func xop_57e8_0;
+extern xcpuop_func xop_57f0_0;
+extern xcpuop_func xop_57f8_0;
+extern xcpuop_func xop_57f9_0;
+extern xcpuop_func xop_57fa_0;
+extern xcpuop_func xop_57fb_0;
+extern xcpuop_func xop_57fc_0;
+extern xcpuop_func xop_58c0_0;
+extern xcpuop_func xop_58c8_0;
+extern xcpuop_func xop_58d0_0;
+extern xcpuop_func xop_58d8_0;
+extern xcpuop_func xop_58e0_0;
+extern xcpuop_func xop_58e8_0;
+extern xcpuop_func xop_58f0_0;
+extern xcpuop_func xop_58f8_0;
+extern xcpuop_func xop_58f9_0;
+extern xcpuop_func xop_58fa_0;
+extern xcpuop_func xop_58fb_0;
+extern xcpuop_func xop_58fc_0;
+extern xcpuop_func xop_59c0_0;
+extern xcpuop_func xop_59c8_0;
+extern xcpuop_func xop_59d0_0;
+extern xcpuop_func xop_59d8_0;
+extern xcpuop_func xop_59e0_0;
+extern xcpuop_func xop_59e8_0;
+extern xcpuop_func xop_59f0_0;
+extern xcpuop_func xop_59f8_0;
+extern xcpuop_func xop_59f9_0;
+extern xcpuop_func xop_59fa_0;
+extern xcpuop_func xop_59fb_0;
+extern xcpuop_func xop_59fc_0;
+extern xcpuop_func xop_5ac0_0;
+extern xcpuop_func xop_5ac8_0;
+extern xcpuop_func xop_5ad0_0;
+extern xcpuop_func xop_5ad8_0;
+extern xcpuop_func xop_5ae0_0;
+extern xcpuop_func xop_5ae8_0;
+extern xcpuop_func xop_5af0_0;
+extern xcpuop_func xop_5af8_0;
+extern xcpuop_func xop_5af9_0;
+extern xcpuop_func xop_5afa_0;
+extern xcpuop_func xop_5afb_0;
+extern xcpuop_func xop_5afc_0;
+extern xcpuop_func xop_5bc0_0;
+extern xcpuop_func xop_5bc8_0;
+extern xcpuop_func xop_5bd0_0;
+extern xcpuop_func xop_5bd8_0;
+extern xcpuop_func xop_5be0_0;
+extern xcpuop_func xop_5be8_0;
+extern xcpuop_func xop_5bf0_0;
+extern xcpuop_func xop_5bf8_0;
+extern xcpuop_func xop_5bf9_0;
+extern xcpuop_func xop_5bfa_0;
+extern xcpuop_func xop_5bfb_0;
+extern xcpuop_func xop_5bfc_0;
+extern xcpuop_func xop_5cc0_0;
+extern xcpuop_func xop_5cc8_0;
+extern xcpuop_func xop_5cd0_0;
+extern xcpuop_func xop_5cd8_0;
+extern xcpuop_func xop_5ce0_0;
+extern xcpuop_func xop_5ce8_0;
+extern xcpuop_func xop_5cf0_0;
+extern xcpuop_func xop_5cf8_0;
+extern xcpuop_func xop_5cf9_0;
+extern xcpuop_func xop_5cfa_0;
+extern xcpuop_func xop_5cfb_0;
+extern xcpuop_func xop_5cfc_0;
+extern xcpuop_func xop_5dc0_0;
+extern xcpuop_func xop_5dc8_0;
+extern xcpuop_func xop_5dd0_0;
+extern xcpuop_func xop_5dd8_0;
+extern xcpuop_func xop_5de0_0;
+extern xcpuop_func xop_5de8_0;
+extern xcpuop_func xop_5df0_0;
+extern xcpuop_func xop_5df8_0;
+extern xcpuop_func xop_5df9_0;
+extern xcpuop_func xop_5dfa_0;
+extern xcpuop_func xop_5dfb_0;
+extern xcpuop_func xop_5dfc_0;
+extern xcpuop_func xop_5ec0_0;
+extern xcpuop_func xop_5ec8_0;
+extern xcpuop_func xop_5ed0_0;
+extern xcpuop_func xop_5ed8_0;
+extern xcpuop_func xop_5ee0_0;
+extern xcpuop_func xop_5ee8_0;
+extern xcpuop_func xop_5ef0_0;
+extern xcpuop_func xop_5ef8_0;
+extern xcpuop_func xop_5ef9_0;
+extern xcpuop_func xop_5efa_0;
+extern xcpuop_func xop_5efb_0;
+extern xcpuop_func xop_5efc_0;
+extern xcpuop_func xop_5fc0_0;
+extern xcpuop_func xop_5fc8_0;
+extern xcpuop_func xop_5fd0_0;
+extern xcpuop_func xop_5fd8_0;
+extern xcpuop_func xop_5fe0_0;
+extern xcpuop_func xop_5fe8_0;
+extern xcpuop_func xop_5ff0_0;
+extern xcpuop_func xop_5ff8_0;
+extern xcpuop_func xop_5ff9_0;
+extern xcpuop_func xop_5ffa_0;
+extern xcpuop_func xop_5ffb_0;
+extern xcpuop_func xop_5ffc_0;
+extern xcpuop_func xop_6000_0;
+extern xcpuop_func xop_6001_0;
+extern xcpuop_func xop_60ff_0;
+extern xcpuop_func xop_6100_0;
+extern xcpuop_func xop_6101_0;
+extern xcpuop_func xop_61ff_0;
+extern xcpuop_func xop_6200_0;
+extern xcpuop_func xop_6201_0;
+extern xcpuop_func xop_62ff_0;
+extern xcpuop_func xop_6300_0;
+extern xcpuop_func xop_6301_0;
+extern xcpuop_func xop_63ff_0;
+extern xcpuop_func xop_6400_0;
+extern xcpuop_func xop_6401_0;
+extern xcpuop_func xop_64ff_0;
+extern xcpuop_func xop_6500_0;
+extern xcpuop_func xop_6501_0;
+extern xcpuop_func xop_65ff_0;
+extern xcpuop_func xop_6600_0;
+extern xcpuop_func xop_6601_0;
+extern xcpuop_func xop_66ff_0;
+extern xcpuop_func xop_6700_0;
+extern xcpuop_func xop_6701_0;
+extern xcpuop_func xop_67ff_0;
+extern xcpuop_func xop_6800_0;
+extern xcpuop_func xop_6801_0;
+extern xcpuop_func xop_68ff_0;
+extern xcpuop_func xop_6900_0;
+extern xcpuop_func xop_6901_0;
+extern xcpuop_func xop_69ff_0;
+extern xcpuop_func xop_6a00_0;
+extern xcpuop_func xop_6a01_0;
+extern xcpuop_func xop_6aff_0;
+extern xcpuop_func xop_6b00_0;
+extern xcpuop_func xop_6b01_0;
+extern xcpuop_func xop_6bff_0;
+extern xcpuop_func xop_6c00_0;
+extern xcpuop_func xop_6c01_0;
+extern xcpuop_func xop_6cff_0;
+extern xcpuop_func xop_6d00_0;
+extern xcpuop_func xop_6d01_0;
+extern xcpuop_func xop_6dff_0;
+extern xcpuop_func xop_6e00_0;
+extern xcpuop_func xop_6e01_0;
+extern xcpuop_func xop_6eff_0;
+extern xcpuop_func xop_6f00_0;
+extern xcpuop_func xop_6f01_0;
+extern xcpuop_func xop_6fff_0;
+extern xcpuop_func xop_7000_0;
+extern xcpuop_func xop_8000_0;
+extern xcpuop_func xop_8010_0;
+extern xcpuop_func xop_8018_0;
+extern xcpuop_func xop_8020_0;
+extern xcpuop_func xop_8028_0;
+extern xcpuop_func xop_8030_0;
+extern xcpuop_func xop_8038_0;
+extern xcpuop_func xop_8039_0;
+extern xcpuop_func xop_803a_0;
+extern xcpuop_func xop_803b_0;
+extern xcpuop_func xop_803c_0;
+extern xcpuop_func xop_8040_0;
+extern xcpuop_func xop_8050_0;
+extern xcpuop_func xop_8058_0;
+extern xcpuop_func xop_8060_0;
+extern xcpuop_func xop_8068_0;
+extern xcpuop_func xop_8070_0;
+extern xcpuop_func xop_8078_0;
+extern xcpuop_func xop_8079_0;
+extern xcpuop_func xop_807a_0;
+extern xcpuop_func xop_807b_0;
+extern xcpuop_func xop_807c_0;
+extern xcpuop_func xop_8080_0;
+extern xcpuop_func xop_8090_0;
+extern xcpuop_func xop_8098_0;
+extern xcpuop_func xop_80a0_0;
+extern xcpuop_func xop_80a8_0;
+extern xcpuop_func xop_80b0_0;
+extern xcpuop_func xop_80b8_0;
+extern xcpuop_func xop_80b9_0;
+extern xcpuop_func xop_80ba_0;
+extern xcpuop_func xop_80bb_0;
+extern xcpuop_func xop_80bc_0;
+extern xcpuop_func xop_80c0_0;
+extern xcpuop_func xop_80d0_0;
+extern xcpuop_func xop_80d8_0;
+extern xcpuop_func xop_80e0_0;
+extern xcpuop_func xop_80e8_0;
+extern xcpuop_func xop_80f0_0;
+extern xcpuop_func xop_80f8_0;
+extern xcpuop_func xop_80f9_0;
+extern xcpuop_func xop_80fa_0;
+extern xcpuop_func xop_80fb_0;
+extern xcpuop_func xop_80fc_0;
+extern xcpuop_func xop_8100_0;
+extern xcpuop_func xop_8108_0;
+extern xcpuop_func xop_8110_0;
+extern xcpuop_func xop_8118_0;
+extern xcpuop_func xop_8120_0;
+extern xcpuop_func xop_8128_0;
+extern xcpuop_func xop_8130_0;
+extern xcpuop_func xop_8138_0;
+extern xcpuop_func xop_8139_0;
+extern xcpuop_func xop_8140_0;
+extern xcpuop_func xop_8148_0;
+extern xcpuop_func xop_8150_0;
+extern xcpuop_func xop_8158_0;
+extern xcpuop_func xop_8160_0;
+extern xcpuop_func xop_8168_0;
+extern xcpuop_func xop_8170_0;
+extern xcpuop_func xop_8178_0;
+extern xcpuop_func xop_8179_0;
+extern xcpuop_func xop_8180_0;
+extern xcpuop_func xop_8188_0;
+extern xcpuop_func xop_8190_0;
+extern xcpuop_func xop_8198_0;
+extern xcpuop_func xop_81a0_0;
+extern xcpuop_func xop_81a8_0;
+extern xcpuop_func xop_81b0_0;
+extern xcpuop_func xop_81b8_0;
+extern xcpuop_func xop_81b9_0;
+extern xcpuop_func xop_81c0_0;
+extern xcpuop_func xop_81d0_0;
+extern xcpuop_func xop_81d8_0;
+extern xcpuop_func xop_81e0_0;
+extern xcpuop_func xop_81e8_0;
+extern xcpuop_func xop_81f0_0;
+extern xcpuop_func xop_81f8_0;
+extern xcpuop_func xop_81f9_0;
+extern xcpuop_func xop_81fa_0;
+extern xcpuop_func xop_81fb_0;
+extern xcpuop_func xop_81fc_0;
+extern xcpuop_func xop_9000_0;
+extern xcpuop_func xop_9010_0;
+extern xcpuop_func xop_9018_0;
+extern xcpuop_func xop_9020_0;
+extern xcpuop_func xop_9028_0;
+extern xcpuop_func xop_9030_0;
+extern xcpuop_func xop_9038_0;
+extern xcpuop_func xop_9039_0;
+extern xcpuop_func xop_903a_0;
+extern xcpuop_func xop_903b_0;
+extern xcpuop_func xop_903c_0;
+extern xcpuop_func xop_9040_0;
+extern xcpuop_func xop_9048_0;
+extern xcpuop_func xop_9050_0;
+extern xcpuop_func xop_9058_0;
+extern xcpuop_func xop_9060_0;
+extern xcpuop_func xop_9068_0;
+extern xcpuop_func xop_9070_0;
+extern xcpuop_func xop_9078_0;
+extern xcpuop_func xop_9079_0;
+extern xcpuop_func xop_907a_0;
+extern xcpuop_func xop_907b_0;
+extern xcpuop_func xop_907c_0;
+extern xcpuop_func xop_9080_0;
+extern xcpuop_func xop_9088_0;
+extern xcpuop_func xop_9090_0;
+extern xcpuop_func xop_9098_0;
+extern xcpuop_func xop_90a0_0;
+extern xcpuop_func xop_90a8_0;
+extern xcpuop_func xop_90b0_0;
+extern xcpuop_func xop_90b8_0;
+extern xcpuop_func xop_90b9_0;
+extern xcpuop_func xop_90ba_0;
+extern xcpuop_func xop_90bb_0;
+extern xcpuop_func xop_90bc_0;
+extern xcpuop_func xop_90c0_0;
+extern xcpuop_func xop_90c8_0;
+extern xcpuop_func xop_90d0_0;
+extern xcpuop_func xop_90d8_0;
+extern xcpuop_func xop_90e0_0;
+extern xcpuop_func xop_90e8_0;
+extern xcpuop_func xop_90f0_0;
+extern xcpuop_func xop_90f8_0;
+extern xcpuop_func xop_90f9_0;
+extern xcpuop_func xop_90fa_0;
+extern xcpuop_func xop_90fb_0;
+extern xcpuop_func xop_90fc_0;
+extern xcpuop_func xop_9100_0;
+extern xcpuop_func xop_9108_0;
+extern xcpuop_func xop_9110_0;
+extern xcpuop_func xop_9118_0;
+extern xcpuop_func xop_9120_0;
+extern xcpuop_func xop_9128_0;
+extern xcpuop_func xop_9130_0;
+extern xcpuop_func xop_9138_0;
+extern xcpuop_func xop_9139_0;
+extern xcpuop_func xop_9140_0;
+extern xcpuop_func xop_9148_0;
+extern xcpuop_func xop_9150_0;
+extern xcpuop_func xop_9158_0;
+extern xcpuop_func xop_9160_0;
+extern xcpuop_func xop_9168_0;
+extern xcpuop_func xop_9170_0;
+extern xcpuop_func xop_9178_0;
+extern xcpuop_func xop_9179_0;
+extern xcpuop_func xop_9180_0;
+extern xcpuop_func xop_9188_0;
+extern xcpuop_func xop_9190_0;
+extern xcpuop_func xop_9198_0;
+extern xcpuop_func xop_91a0_0;
+extern xcpuop_func xop_91a8_0;
+extern xcpuop_func xop_91b0_0;
+extern xcpuop_func xop_91b8_0;
+extern xcpuop_func xop_91b9_0;
+extern xcpuop_func xop_91c0_0;
+extern xcpuop_func xop_91c8_0;
+extern xcpuop_func xop_91d0_0;
+extern xcpuop_func xop_91d8_0;
+extern xcpuop_func xop_91e0_0;
+extern xcpuop_func xop_91e8_0;
+extern xcpuop_func xop_91f0_0;
+extern xcpuop_func xop_91f8_0;
+extern xcpuop_func xop_91f9_0;
+extern xcpuop_func xop_91fa_0;
+extern xcpuop_func xop_91fb_0;
+extern xcpuop_func xop_91fc_0;
+extern xcpuop_func xop_b000_0;
+extern xcpuop_func xop_b010_0;
+extern xcpuop_func xop_b018_0;
+extern xcpuop_func xop_b020_0;
+extern xcpuop_func xop_b028_0;
+extern xcpuop_func xop_b030_0;
+extern xcpuop_func xop_b038_0;
+extern xcpuop_func xop_b039_0;
+extern xcpuop_func xop_b03a_0;
+extern xcpuop_func xop_b03b_0;
+extern xcpuop_func xop_b03c_0;
+extern xcpuop_func xop_b040_0;
+extern xcpuop_func xop_b048_0;
+extern xcpuop_func xop_b050_0;
+extern xcpuop_func xop_b058_0;
+extern xcpuop_func xop_b060_0;
+extern xcpuop_func xop_b068_0;
+extern xcpuop_func xop_b070_0;
+extern xcpuop_func xop_b078_0;
+extern xcpuop_func xop_b079_0;
+extern xcpuop_func xop_b07a_0;
+extern xcpuop_func xop_b07b_0;
+extern xcpuop_func xop_b07c_0;
+extern xcpuop_func xop_b080_0;
+extern xcpuop_func xop_b088_0;
+extern xcpuop_func xop_b090_0;
+extern xcpuop_func xop_b098_0;
+extern xcpuop_func xop_b0a0_0;
+extern xcpuop_func xop_b0a8_0;
+extern xcpuop_func xop_b0b0_0;
+extern xcpuop_func xop_b0b8_0;
+extern xcpuop_func xop_b0b9_0;
+extern xcpuop_func xop_b0ba_0;
+extern xcpuop_func xop_b0bb_0;
+extern xcpuop_func xop_b0bc_0;
+extern xcpuop_func xop_b0c0_0;
+extern xcpuop_func xop_b0c8_0;
+extern xcpuop_func xop_b0d0_0;
+extern xcpuop_func xop_b0d8_0;
+extern xcpuop_func xop_b0e0_0;
+extern xcpuop_func xop_b0e8_0;
+extern xcpuop_func xop_b0f0_0;
+extern xcpuop_func xop_b0f8_0;
+extern xcpuop_func xop_b0f9_0;
+extern xcpuop_func xop_b0fa_0;
+extern xcpuop_func xop_b0fb_0;
+extern xcpuop_func xop_b0fc_0;
+extern xcpuop_func xop_b100_0;
+extern xcpuop_func xop_b108_0;
+extern xcpuop_func xop_b110_0;
+extern xcpuop_func xop_b118_0;
+extern xcpuop_func xop_b120_0;
+extern xcpuop_func xop_b128_0;
+extern xcpuop_func xop_b130_0;
+extern xcpuop_func xop_b138_0;
+extern xcpuop_func xop_b139_0;
+extern xcpuop_func xop_b140_0;
+extern xcpuop_func xop_b148_0;
+extern xcpuop_func xop_b150_0;
+extern xcpuop_func xop_b158_0;
+extern xcpuop_func xop_b160_0;
+extern xcpuop_func xop_b168_0;
+extern xcpuop_func xop_b170_0;
+extern xcpuop_func xop_b178_0;
+extern xcpuop_func xop_b179_0;
+extern xcpuop_func xop_b180_0;
+extern xcpuop_func xop_b188_0;
+extern xcpuop_func xop_b190_0;
+extern xcpuop_func xop_b198_0;
+extern xcpuop_func xop_b1a0_0;
+extern xcpuop_func xop_b1a8_0;
+extern xcpuop_func xop_b1b0_0;
+extern xcpuop_func xop_b1b8_0;
+extern xcpuop_func xop_b1b9_0;
+extern xcpuop_func xop_b1c0_0;
+extern xcpuop_func xop_b1c8_0;
+extern xcpuop_func xop_b1d0_0;
+extern xcpuop_func xop_b1d8_0;
+extern xcpuop_func xop_b1e0_0;
+extern xcpuop_func xop_b1e8_0;
+extern xcpuop_func xop_b1f0_0;
+extern xcpuop_func xop_b1f8_0;
+extern xcpuop_func xop_b1f9_0;
+extern xcpuop_func xop_b1fa_0;
+extern xcpuop_func xop_b1fb_0;
+extern xcpuop_func xop_b1fc_0;
+extern xcpuop_func xop_c000_0;
+extern xcpuop_func xop_c010_0;
+extern xcpuop_func xop_c018_0;
+extern xcpuop_func xop_c020_0;
+extern xcpuop_func xop_c028_0;
+extern xcpuop_func xop_c030_0;
+extern xcpuop_func xop_c038_0;
+extern xcpuop_func xop_c039_0;
+extern xcpuop_func xop_c03a_0;
+extern xcpuop_func xop_c03b_0;
+extern xcpuop_func xop_c03c_0;
+extern xcpuop_func xop_c040_0;
+extern xcpuop_func xop_c050_0;
+extern xcpuop_func xop_c058_0;
+extern xcpuop_func xop_c060_0;
+extern xcpuop_func xop_c068_0;
+extern xcpuop_func xop_c070_0;
+extern xcpuop_func xop_c078_0;
+extern xcpuop_func xop_c079_0;
+extern xcpuop_func xop_c07a_0;
+extern xcpuop_func xop_c07b_0;
+extern xcpuop_func xop_c07c_0;
+extern xcpuop_func xop_c080_0;
+extern xcpuop_func xop_c090_0;
+extern xcpuop_func xop_c098_0;
+extern xcpuop_func xop_c0a0_0;
+extern xcpuop_func xop_c0a8_0;
+extern xcpuop_func xop_c0b0_0;
+extern xcpuop_func xop_c0b8_0;
+extern xcpuop_func xop_c0b9_0;
+extern xcpuop_func xop_c0ba_0;
+extern xcpuop_func xop_c0bb_0;
+extern xcpuop_func xop_c0bc_0;
+extern xcpuop_func xop_c0c0_0;
+extern xcpuop_func xop_c0d0_0;
+extern xcpuop_func xop_c0d8_0;
+extern xcpuop_func xop_c0e0_0;
+extern xcpuop_func xop_c0e8_0;
+extern xcpuop_func xop_c0f0_0;
+extern xcpuop_func xop_c0f8_0;
+extern xcpuop_func xop_c0f9_0;
+extern xcpuop_func xop_c0fa_0;
+extern xcpuop_func xop_c0fb_0;
+extern xcpuop_func xop_c0fc_0;
+extern xcpuop_func xop_c100_0;
+extern xcpuop_func xop_c108_0;
+extern xcpuop_func xop_c110_0;
+extern xcpuop_func xop_c118_0;
+extern xcpuop_func xop_c120_0;
+extern xcpuop_func xop_c128_0;
+extern xcpuop_func xop_c130_0;
+extern xcpuop_func xop_c138_0;
+extern xcpuop_func xop_c139_0;
+extern xcpuop_func xop_c140_0;
+extern xcpuop_func xop_c148_0;
+extern xcpuop_func xop_c150_0;
+extern xcpuop_func xop_c158_0;
+extern xcpuop_func xop_c160_0;
+extern xcpuop_func xop_c168_0;
+extern xcpuop_func xop_c170_0;
+extern xcpuop_func xop_c178_0;
+extern xcpuop_func xop_c179_0;
+extern xcpuop_func xop_c188_0;
+extern xcpuop_func xop_c190_0;
+extern xcpuop_func xop_c198_0;
+extern xcpuop_func xop_c1a0_0;
+extern xcpuop_func xop_c1a8_0;
+extern xcpuop_func xop_c1b0_0;
+extern xcpuop_func xop_c1b8_0;
+extern xcpuop_func xop_c1b9_0;
+extern xcpuop_func xop_c1c0_0;
+extern xcpuop_func xop_c1d0_0;
+extern xcpuop_func xop_c1d8_0;
+extern xcpuop_func xop_c1e0_0;
+extern xcpuop_func xop_c1e8_0;
+extern xcpuop_func xop_c1f0_0;
+extern xcpuop_func xop_c1f8_0;
+extern xcpuop_func xop_c1f9_0;
+extern xcpuop_func xop_c1fa_0;
+extern xcpuop_func xop_c1fb_0;
+extern xcpuop_func xop_c1fc_0;
+extern xcpuop_func xop_d000_0;
+extern xcpuop_func xop_d010_0;
+extern xcpuop_func xop_d018_0;
+extern xcpuop_func xop_d020_0;
+extern xcpuop_func xop_d028_0;
+extern xcpuop_func xop_d030_0;
+extern xcpuop_func xop_d038_0;
+extern xcpuop_func xop_d039_0;
+extern xcpuop_func xop_d03a_0;
+extern xcpuop_func xop_d03b_0;
+extern xcpuop_func xop_d03c_0;
+extern xcpuop_func xop_d040_0;
+extern xcpuop_func xop_d048_0;
+extern xcpuop_func xop_d050_0;
+extern xcpuop_func xop_d058_0;
+extern xcpuop_func xop_d060_0;
+extern xcpuop_func xop_d068_0;
+extern xcpuop_func xop_d070_0;
+extern xcpuop_func xop_d078_0;
+extern xcpuop_func xop_d079_0;
+extern xcpuop_func xop_d07a_0;
+extern xcpuop_func xop_d07b_0;
+extern xcpuop_func xop_d07c_0;
+extern xcpuop_func xop_d080_0;
+extern xcpuop_func xop_d088_0;
+extern xcpuop_func xop_d090_0;
+extern xcpuop_func xop_d098_0;
+extern xcpuop_func xop_d0a0_0;
+extern xcpuop_func xop_d0a8_0;
+extern xcpuop_func xop_d0b0_0;
+extern xcpuop_func xop_d0b8_0;
+extern xcpuop_func xop_d0b9_0;
+extern xcpuop_func xop_d0ba_0;
+extern xcpuop_func xop_d0bb_0;
+extern xcpuop_func xop_d0bc_0;
+extern xcpuop_func xop_d0c0_0;
+extern xcpuop_func xop_d0c8_0;
+extern xcpuop_func xop_d0d0_0;
+extern xcpuop_func xop_d0d8_0;
+extern xcpuop_func xop_d0e0_0;
+extern xcpuop_func xop_d0e8_0;
+extern xcpuop_func xop_d0f0_0;
+extern xcpuop_func xop_d0f8_0;
+extern xcpuop_func xop_d0f9_0;
+extern xcpuop_func xop_d0fa_0;
+extern xcpuop_func xop_d0fb_0;
+extern xcpuop_func xop_d0fc_0;
+extern xcpuop_func xop_d100_0;
+extern xcpuop_func xop_d108_0;
+extern xcpuop_func xop_d110_0;
+extern xcpuop_func xop_d118_0;
+extern xcpuop_func xop_d120_0;
+extern xcpuop_func xop_d128_0;
+extern xcpuop_func xop_d130_0;
+extern xcpuop_func xop_d138_0;
+extern xcpuop_func xop_d139_0;
+extern xcpuop_func xop_d140_0;
+extern xcpuop_func xop_d148_0;
+extern xcpuop_func xop_d150_0;
+extern xcpuop_func xop_d158_0;
+extern xcpuop_func xop_d160_0;
+extern xcpuop_func xop_d168_0;
+extern xcpuop_func xop_d170_0;
+extern xcpuop_func xop_d178_0;
+extern xcpuop_func xop_d179_0;
+extern xcpuop_func xop_d180_0;
+extern xcpuop_func xop_d188_0;
+extern xcpuop_func xop_d190_0;
+extern xcpuop_func xop_d198_0;
+extern xcpuop_func xop_d1a0_0;
+extern xcpuop_func xop_d1a8_0;
+extern xcpuop_func xop_d1b0_0;
+extern xcpuop_func xop_d1b8_0;
+extern xcpuop_func xop_d1b9_0;
+extern xcpuop_func xop_d1c0_0;
+extern xcpuop_func xop_d1c8_0;
+extern xcpuop_func xop_d1d0_0;
+extern xcpuop_func xop_d1d8_0;
+extern xcpuop_func xop_d1e0_0;
+extern xcpuop_func xop_d1e8_0;
+extern xcpuop_func xop_d1f0_0;
+extern xcpuop_func xop_d1f8_0;
+extern xcpuop_func xop_d1f9_0;
+extern xcpuop_func xop_d1fa_0;
+extern xcpuop_func xop_d1fb_0;
+extern xcpuop_func xop_d1fc_0;
+extern xcpuop_func xop_e000_0;
+extern xcpuop_func xop_e008_0;
+extern xcpuop_func xop_e010_0;
+extern xcpuop_func xop_e018_0;
+extern xcpuop_func xop_e020_0;
+extern xcpuop_func xop_e028_0;
+extern xcpuop_func xop_e030_0;
+extern xcpuop_func xop_e038_0;
+extern xcpuop_func xop_e040_0;
+extern xcpuop_func xop_e048_0;
+extern xcpuop_func xop_e050_0;
+extern xcpuop_func xop_e058_0;
+extern xcpuop_func xop_e060_0;
+extern xcpuop_func xop_e068_0;
+extern xcpuop_func xop_e070_0;
+extern xcpuop_func xop_e078_0;
+extern xcpuop_func xop_e080_0;
+extern xcpuop_func xop_e088_0;
+extern xcpuop_func xop_e090_0;
+extern xcpuop_func xop_e098_0;
+extern xcpuop_func xop_e0a0_0;
+extern xcpuop_func xop_e0a8_0;
+extern xcpuop_func xop_e0b0_0;
+extern xcpuop_func xop_e0b8_0;
+extern xcpuop_func xop_e0d0_0;
+extern xcpuop_func xop_e0d8_0;
+extern xcpuop_func xop_e0e0_0;
+extern xcpuop_func xop_e0e8_0;
+extern xcpuop_func xop_e0f0_0;
+extern xcpuop_func xop_e0f8_0;
+extern xcpuop_func xop_e0f9_0;
+extern xcpuop_func xop_e100_0;
+extern xcpuop_func xop_e108_0;
+extern xcpuop_func xop_e110_0;
+extern xcpuop_func xop_e118_0;
+extern xcpuop_func xop_e120_0;
+extern xcpuop_func xop_e128_0;
+extern xcpuop_func xop_e130_0;
+extern xcpuop_func xop_e138_0;
+extern xcpuop_func xop_e140_0;
+extern xcpuop_func xop_e148_0;
+extern xcpuop_func xop_e150_0;
+extern xcpuop_func xop_e158_0;
+extern xcpuop_func xop_e160_0;
+extern xcpuop_func xop_e168_0;
+extern xcpuop_func xop_e170_0;
+extern xcpuop_func xop_e178_0;
+extern xcpuop_func xop_e180_0;
+extern xcpuop_func xop_e188_0;
+extern xcpuop_func xop_e190_0;
+extern xcpuop_func xop_e198_0;
+extern xcpuop_func xop_e1a0_0;
+extern xcpuop_func xop_e1a8_0;
+extern xcpuop_func xop_e1b0_0;
+extern xcpuop_func xop_e1b8_0;
+extern xcpuop_func xop_e1d0_0;
+extern xcpuop_func xop_e1d8_0;
+extern xcpuop_func xop_e1e0_0;
+extern xcpuop_func xop_e1e8_0;
+extern xcpuop_func xop_e1f0_0;
+extern xcpuop_func xop_e1f8_0;
+extern xcpuop_func xop_e1f9_0;
+extern xcpuop_func xop_e2d0_0;
+extern xcpuop_func xop_e2d8_0;
+extern xcpuop_func xop_e2e0_0;
+extern xcpuop_func xop_e2e8_0;
+extern xcpuop_func xop_e2f0_0;
+extern xcpuop_func xop_e2f8_0;
+extern xcpuop_func xop_e2f9_0;
+extern xcpuop_func xop_e3d0_0;
+extern xcpuop_func xop_e3d8_0;
+extern xcpuop_func xop_e3e0_0;
+extern xcpuop_func xop_e3e8_0;
+extern xcpuop_func xop_e3f0_0;
+extern xcpuop_func xop_e3f8_0;
+extern xcpuop_func xop_e3f9_0;
+extern xcpuop_func xop_e4d0_0;
+extern xcpuop_func xop_e4d8_0;
+extern xcpuop_func xop_e4e0_0;
+extern xcpuop_func xop_e4e8_0;
+extern xcpuop_func xop_e4f0_0;
+extern xcpuop_func xop_e4f8_0;
+extern xcpuop_func xop_e4f9_0;
+extern xcpuop_func xop_e5d0_0;
+extern xcpuop_func xop_e5d8_0;
+extern xcpuop_func xop_e5e0_0;
+extern xcpuop_func xop_e5e8_0;
+extern xcpuop_func xop_e5f0_0;
+extern xcpuop_func xop_e5f8_0;
+extern xcpuop_func xop_e5f9_0;
+extern xcpuop_func xop_e6d0_0;
+extern xcpuop_func xop_e6d8_0;
+extern xcpuop_func xop_e6e0_0;
+extern xcpuop_func xop_e6e8_0;
+extern xcpuop_func xop_e6f0_0;
+extern xcpuop_func xop_e6f8_0;
+extern xcpuop_func xop_e6f9_0;
+extern xcpuop_func xop_e7d0_0;
+extern xcpuop_func xop_e7d8_0;
+extern xcpuop_func xop_e7e0_0;
+extern xcpuop_func xop_e7e8_0;
+extern xcpuop_func xop_e7f0_0;
+extern xcpuop_func xop_e7f8_0;
+extern xcpuop_func xop_e7f9_0;
+extern xcpuop_func xop_e8c0_0;
+extern xcpuop_func xop_e8d0_0;
+extern xcpuop_func xop_e8e8_0;
+extern xcpuop_func xop_e8f0_0;
+extern xcpuop_func xop_e8f8_0;
+extern xcpuop_func xop_e8f9_0;
+extern xcpuop_func xop_e8fa_0;
+extern xcpuop_func xop_e8fb_0;
+extern xcpuop_func xop_e9c0_0;
+extern xcpuop_func xop_e9d0_0;
+extern xcpuop_func xop_e9e8_0;
+extern xcpuop_func xop_e9f0_0;
+extern xcpuop_func xop_e9f8_0;
+extern xcpuop_func xop_e9f9_0;
+extern xcpuop_func xop_e9fa_0;
+extern xcpuop_func xop_e9fb_0;
+extern xcpuop_func xop_eac0_0;
+extern xcpuop_func xop_ead0_0;
+extern xcpuop_func xop_eae8_0;
+extern xcpuop_func xop_eaf0_0;
+extern xcpuop_func xop_eaf8_0;
+extern xcpuop_func xop_eaf9_0;
+extern xcpuop_func xop_ebc0_0;
+extern xcpuop_func xop_ebd0_0;
+extern xcpuop_func xop_ebe8_0;
+extern xcpuop_func xop_ebf0_0;
+extern xcpuop_func xop_ebf8_0;
+extern xcpuop_func xop_ebf9_0;
+extern xcpuop_func xop_ebfa_0;
+extern xcpuop_func xop_ebfb_0;
+extern xcpuop_func xop_ecc0_0;
+extern xcpuop_func xop_ecd0_0;
+extern xcpuop_func xop_ece8_0;
+extern xcpuop_func xop_ecf0_0;
+extern xcpuop_func xop_ecf8_0;
+extern xcpuop_func xop_ecf9_0;
+extern xcpuop_func xop_edc0_0;
+extern xcpuop_func xop_edd0_0;
+extern xcpuop_func xop_ede8_0;
+extern xcpuop_func xop_edf0_0;
+extern xcpuop_func xop_edf8_0;
+extern xcpuop_func xop_edf9_0;
+extern xcpuop_func xop_edfa_0;
+extern xcpuop_func xop_edfb_0;
+extern xcpuop_func xop_eec0_0;
+extern xcpuop_func xop_eed0_0;
+extern xcpuop_func xop_eee8_0;
+extern xcpuop_func xop_eef0_0;
+extern xcpuop_func xop_eef8_0;
+extern xcpuop_func xop_eef9_0;
+extern xcpuop_func xop_efc0_0;
+extern xcpuop_func xop_efd0_0;
+extern xcpuop_func xop_efe8_0;
+extern xcpuop_func xop_eff0_0;
+extern xcpuop_func xop_eff8_0;
+extern xcpuop_func xop_eff9_0;
+extern xcpuop_func xop_f000_0;
+extern xcpuop_func xop_f008_0;
+extern xcpuop_func xop_f010_0;
+extern xcpuop_func xop_f018_0;
+extern xcpuop_func xop_f020_0;
+extern xcpuop_func xop_f028_0;
+extern xcpuop_func xop_f030_0;
+extern xcpuop_func xop_f038_0;
+extern xcpuop_func xop_f039_0;
+extern xcpuop_func xop_f03a_0;
+extern xcpuop_func xop_f03b_0;
+extern xcpuop_func xop_f200_0;
+extern xcpuop_func xop_f208_0;
+extern xcpuop_func xop_f210_0;
+extern xcpuop_func xop_f218_0;
+extern xcpuop_func xop_f220_0;
+extern xcpuop_func xop_f228_0;
+extern xcpuop_func xop_f230_0;
+extern xcpuop_func xop_f238_0;
+extern xcpuop_func xop_f239_0;
+extern xcpuop_func xop_f23a_0;
+extern xcpuop_func xop_f23b_0;
+extern xcpuop_func xop_f23c_0;
+extern xcpuop_func xop_f240_0;
+extern xcpuop_func xop_f248_0;
+extern xcpuop_func xop_f250_0;
+extern xcpuop_func xop_f258_0;
+extern xcpuop_func xop_f260_0;
+extern xcpuop_func xop_f268_0;
+extern xcpuop_func xop_f270_0;
+extern xcpuop_func xop_f278_0;
+extern xcpuop_func xop_f279_0;
+extern xcpuop_func xop_f27a_0;
+extern xcpuop_func xop_f27b_0;
+extern xcpuop_func xop_f27c_0;
+extern xcpuop_func xop_f280_0;
+extern xcpuop_func xop_f2c0_0;
+extern xcpuop_func xop_f310_0;
+extern xcpuop_func xop_f320_0;
+extern xcpuop_func xop_f328_0;
+extern xcpuop_func xop_f330_0;
+extern xcpuop_func xop_f338_0;
+extern xcpuop_func xop_f339_0;
+extern xcpuop_func xop_f350_0;
+extern xcpuop_func xop_f358_0;
+extern xcpuop_func xop_f368_0;
+extern xcpuop_func xop_f370_0;
+extern xcpuop_func xop_f378_0;
+extern xcpuop_func xop_f379_0;
+extern xcpuop_func xop_f37a_0;
+extern xcpuop_func xop_f37b_0;
+extern xcpuop_func xop_f408_0;
+extern xcpuop_func xop_f410_0;
+extern xcpuop_func xop_f418_0;
+extern xcpuop_func xop_f419_0;
+extern xcpuop_func xop_f41a_0;
+extern xcpuop_func xop_f41b_0;
+extern xcpuop_func xop_f41c_0;
+extern xcpuop_func xop_f41d_0;
+extern xcpuop_func xop_f41e_0;
+extern xcpuop_func xop_f41f_0;
+extern xcpuop_func xop_f428_0;
+extern xcpuop_func xop_f430_0;
+extern xcpuop_func xop_f438_0;
+extern xcpuop_func xop_f439_0;
+extern xcpuop_func xop_f43a_0;
+extern xcpuop_func xop_f43b_0;
+extern xcpuop_func xop_f43c_0;
+extern xcpuop_func xop_f43d_0;
+extern xcpuop_func xop_f43e_0;
+extern xcpuop_func xop_f43f_0;
+extern xcpuop_func xop_f500_0;
+extern xcpuop_func xop_f600_0;
+extern xcpuop_func xop_f608_0;
+extern xcpuop_func xop_f610_0;
+extern xcpuop_func xop_f618_0;
+extern xcpuop_func xop_f620_0;
+extern xcpuop_func xop_f800_0;
+extern xcpuop_func xop_f808_0;
+extern xcpuop_func xop_f810_0;
+extern xcpuop_func xop_f818_0;
+extern xcpuop_func xop_f820_0;
+extern xcpuop_func xop_f828_0;
+extern xcpuop_func xop_f830_0;
+extern xcpuop_func xop_f838_0;
+extern xcpuop_func xop_f839_0;
+extern xcpuop_func xop_f83a_0;
+extern xcpuop_func xop_f83b_0;
*p &= ~val;
}
+STATIC_INLINE alloc_cycle(int hpos, int type)
+{
+#ifdef CPUEMU_12
+#if 0
+ if (cycle_line[hpos])
+ write_log("hpos=%d, old=%d, new=%d\n", hpos, cycle_line[hpos], type);
+ if ((type == CYCLE_CPU || type == CYCLE_COPPER) && (hpos & 1))
+ write_log("odd %d cycle %d\n", hpos);
+ if (!(hpos & 1) && (type == CYCLE_SPRITE || type == CYCLE_REFRESH || type == CYCLE_MISC))
+ write_log("even %d cycle %d\n", type, hpos);
+#endif
+ cycle_line[hpos] = type;
+#endif
+}
+
+void alloc_cycle_ext(int hpos, int type)
+{
+ alloc_cycle (hpos, type);
+}
+
static void hsyncdelay(void)
{
#if 0
}
c_hpos += 2;
-#if 0
- if (copper_cant_read (old_hpos))
- continue;
-#endif
if (cop_state.strobe) {
if (cop_state.strobe > 0)
cop_state.ip = cop_state.strobe == 1 ? cop1lc : cop2lc;
if (copper_cant_read (old_hpos))
continue;
cop_state.i1 = chipmem_agnus_wget (cop_state.ip);
-#ifdef CPUEMU_12
- cycle_line[old_hpos] |= CYCLE_COPPER;
-#endif
+ alloc_cycle(old_hpos, CYCLE_COPPER);
cop_state.ip += 2;
cop_state.state = cop_state.state == COP_read1 ? COP_read2 : COP_read2_wr_in2;
break;
if (copper_cant_read (old_hpos))
continue;
cop_state.i2 = chipmem_agnus_wget (cop_state.ip);
-#ifdef CPUEMU_12
- cycle_line[old_hpos] |= CYCLE_COPPER;
-#endif
+ alloc_cycle(old_hpos, CYCLE_COPPER);
cop_state.ip += 2;
if (cop_state.ignore_next) {
cop_state.ignore_next = 0;
uae_u16 data = last_custom_value;
if (dma) {
data = last_custom_value = chipmem_agnus_wget (s->pt);
-#ifdef CPUEMU_12
- cycle_line[hpos] |= CYCLE_SPRITE;
-#endif
+ alloc_cycle(hpos, CYCLE_SPRITE);
}
s->pt += 2;
return data;
if (timehack_alive > 0)
timehack_alive--;
inputdevice_vsync ();
+ filesys_vsync ();
init_hardware_frame ();
}
if (currprefs.cpu_cycle_exact || currprefs.blitter_cycle_exact) {
decide_blitter (hpos);
memset (cycle_line, 0, sizeof cycle_line);
- cycle_line[9] = CYCLE_REFRESH;
- cycle_line[3] = CYCLE_REFRESH;
- cycle_line[5] = CYCLE_REFRESH;
- cycle_line[7] = CYCLE_REFRESH;
+ alloc_cycle(1, CYCLE_REFRESH);
+ alloc_cycle(3, CYCLE_REFRESH);
+ alloc_cycle(5, CYCLE_REFRESH);
+ alloc_cycle(7, CYCLE_REFRESH);
}
#endif
#ifdef JIT
special_mem |= S_WRITE;
#endif
- if (currprefs.cpu_level == 68060) {
+ if (currprefs.cpu_model == 68060) {
if (addr & 1)
custom_wput (addr & ~1, rval);
else
/* bus was allocated to dma channel, wait for next cycle.. */
}
bnasty = 0;
- cycle_line[hpos] |= CYCLE_CPU;
+ alloc_cycle(hpos, CYCLE_CPU);
}
uae_u32 wait_cpu_cycle_read (uaecptr addr, int mode)
uae_u8 secbuf[700];
uae_u16 crc16;
trackid *ti = drv->trackdata + tr;
+ int tracklen = 12500;
mfm2 = drv->bigmfmbuf;
*mfm2++ = 0x9254;
- memset (secbuf, 0x4e, 80); // 94
- memset (secbuf + 80, 0x00, 12); // 12
- secbuf[92] = 0xc2;
- secbuf[93] = 0xc2;
- secbuf[94] = 0xc2;
- secbuf[95] = 0xfc;
- memset (secbuf + 96, 0x4e, 50); // 50
- dstmfmbuf = mfmcoder(secbuf, mfm2, 146);
- mfm2[92] = 0x5224;
- mfm2[93] = 0x5224;
- mfm2[94] = 0x5224;
+ memset (secbuf, 0x4e, 40);
+ memset (secbuf + 40, 0x00, 12);
+ secbuf[52] = 0xc2;
+ secbuf[53] = 0xc2;
+ secbuf[54] = 0xc2;
+ secbuf[55] = 0xfc;
+ memset (secbuf + 56, 0x4e, 40);
+ dstmfmbuf = mfmcoder(secbuf, mfm2, 96);
+ mfm2[52] = 0x5224;
+ mfm2[53] = 0x5224;
+ mfm2[54] = 0x5224;
for (i = 0; i < drv->num_secs; i++) {
mfm2 = dstmfmbuf;
memset (secbuf, 0x00, 12);
crc16 = get_crc16(secbuf + 56, 3 + 1 + 512);
secbuf[60 + 512] = crc16 >> 8;
secbuf[61 + 512] = crc16 & 0xff;
- memset(secbuf + 512 + 62, 0x4e, 76 / drv->ddhd);
+ memset(secbuf + 512 + 62, 0x4e, (tracklen / 2 - 96) / drv->num_secs - 574);
dstmfmbuf = mfmcoder(secbuf, mfm2, 60 + 512 + 2 + 76 / drv->ddhd);
mfm2[12] = 0x4489;
mfm2[13] = 0x4489;
mfm2[57] = 0x4489;
mfm2[58] = 0x4489;
}
- for (i = 0; i < 200; i++)
+ while (dstmfmbuf - drv->bigmfmbuf < tracklen / 2)
*dstmfmbuf++ = 0x9254;
drv->skipoffset = 0;
drv->tracklen = (dstmfmbuf - drv->bigmfmbuf) * 16;
}
}
-#ifdef CPUEMU_6
+#ifdef CPUEMU_12
extern uae_u8 cycle_line[256];
#endif
if (dsklength > 0) {
put_word (dskpt, word);
dskpt += 2;
-#ifdef CPUEMU_6
+#ifdef CPUEMU_12
cycle_line[7] |= CYCLE_MISC;
cycle_line[9] |= CYCLE_MISC;
#endif
static uae_u32 REGPARAM2 expamem_lget (uaecptr addr)
{
- write_log ("warning: READ.L from address $%lx \n", addr);
+ write_log ("warning: READ.L from address $%lx PC=%x\n", addr, M68K_GETPC);
return (expamem_wget (addr) << 16) | expamem_wget (addr + 2);
}
static uae_u32 REGPARAM2 expamem_wget (uaecptr addr)
{
- write_log ("warning: READ.W from address $%lx \n", addr);
+ write_log ("warning: READ.W from address $%lx PC=%x\n", addr, M68K_GETPC);
return (expamem_bget (addr) << 8) | expamem_bget (addr + 1);
}
uaecptr startup;
char *volname; /* volume name, e.g. CDROM, WORK, etc. */
int volflags; /* volume flags, readonly, stream uaefsdb support */
- char *rootdir; /* root native directory/hdf */
+ char *rootdir; /* root native directory/hdf. empty drive if invalid path */
+ struct zvolume *zarchive;
char *rootdirdiff; /* "diff" file/directory */
int readonly; /* disallow write access? */
int bootpri; /* boot priority */
int devno;
int controller;
+ int wasisempty; /* if true, this unit can be safely ejected and inserted */
struct hardfiledata hf;
int is_hardfile (int unit_no)
{
- if (mountinfo.ui[unit_no].volname)
+ if (mountinfo.ui[unit_no].volname || mountinfo.ui[unit_no].wasisempty)
return FILESYS_VIRTUAL;
if (mountinfo.ui[unit_no].hf.secspertrack == 0) {
if (mountinfo.ui[unit_no].hf.flags & 1)
if (!ui) {
ui = &uitmp;
if (!uci->ishdf) {
+ mi->ismounted = 1;
+ if (uci->rootdir && strlen(uci->rootdir) == 0)
+ return FILESYS_VIRTUAL;
if (my_getvolumeinfo (uci->rootdir) < 0)
return -1;
return FILESYS_VIRTUAL;
s[strlen(s) - 1] = 0;
}
+static int set_filesys_volume(const char *rootdir, int *flags, int *readonly, int *emptydrive, struct zvolume **zvp)
+{
+ *emptydrive = 0;
+ if (my_existsfile(rootdir)) {
+ struct zvolume *zv;
+ zv = zfile_fopen_archive(rootdir);
+ if (!zv) {
+ write_log ("'%s' is not a supported archive file\n", rootdir);
+ return -1;
+ }
+ *zvp = zv;
+ *flags = MYVOLUMEINFO_ARCHIVE;
+ *readonly = 1;
+ } else {
+ *flags = my_getvolumeinfo (rootdir);
+ if (*flags < 0) {
+ write_log ("directory '%s' not found, mounting as empty drive\n", rootdir);
+ *emptydrive = 1;
+ *flags = 0;
+ } else if ((*flags) & MYVOLUMEINFO_READONLY) {
+ write_log ("'%s' set to read-only\n", rootdir);
+ *readonly = 1;
+ }
+ }
+ return 1;
+}
+
static int set_filesys_unit_1 (int nr,
char *devname, char *volname, char *rootdir, int readonly,
int secspertrack, int surfaces, int reserved,
{
UnitInfo *ui;
int i;
+ int emptydrive = 0;
if (hdc)
return -1;
for (i = 0; i < MAX_FILESYSTEM_UNITS; i++) {
if (nr == i || !mountinfo.ui[i].open)
continue;
- if (!strcmpi (mountinfo.ui[i].rootdir, rootdir)) {
+ if (strlen(rootdir) > 0 && !strcmpi (mountinfo.ui[i].rootdir, rootdir)) {
write_log ("directory/hardfile '%s' already added\n", rootdir);
return -1;
}
ui->bootpri = 0;
ui->filesysdir = 0;
- if (volname != 0 && volname[0]) {
+ if (volname != NULL) {
int flags = 0;
- ui->volname = my_strdup (volname);
- stripsemicolon(ui->volname);
- if (my_existsfile(rootdir)) {
- struct zvolume *zv;
- zv = zfile_fopen_archive(rootdir);
- if (!zv) {
- write_log ("'%s' is not a supported archive file\n", rootdir);
- return -1;
- }
- flags = MYVOLUMEINFO_ARCHIVE;
- readonly = 1;
- } else {
- flags = my_getvolumeinfo (rootdir);
- if (flags < 0) {
- write_log ("directory '%s' not found\n", rootdir);
- return -1;
- }
- if (flags & MYVOLUMEINFO_READONLY) {
- write_log ("'%s' set to read-only\n", rootdir);
- readonly = 1;
- }
+ if (set_filesys_volume(rootdir, &flags, &readonly, &emptydrive, &ui->zarchive) < 0)
+ return -1;
+ if (!emptydrive) {
+ ui->volname = my_strdup (volname);
+ stripsemicolon(ui->volname);
}
ui->volflags = flags;
} else {
}
ui->self = 0;
ui->reset_state = FS_STARTUP;
- ui->rootdir = my_strdup (rootdir);
+ ui->wasisempty = emptydrive;
+ ui->rootdir = emptydrive ? my_strdup("") : my_strdup (rootdir);
ui->devname = my_strdup (devname);
stripsemicolon(ui->devname);
if (filesysdir && filesysdir[0])
return 1;
}
+
static void filesys_addexternals(void);
+
static void initialize_mountinfo(void)
{
int i;
int idx;
uci = &currprefs.mountconfig[i];
if (uci->controller == HD_CONTROLLER_UAE) {
- idx = set_filesys_unit_1 (-1, uci->devname, uci->volname, uci->rootdir,
+ idx = set_filesys_unit_1 (-1, uci->devname, uci->ishdf ? NULL : uci->volname, uci->rootdir,
uci->readonly, uci->sectors, uci->surfaces, uci->reserved,
uci->blocksize, uci->bootpri, uci->filesys, 0, 0);
if (idx >= 0)
struct hardfiledata *get_hardfile_data (int nr)
{
UnitInfo *uip = mountinfo.ui;
- if (nr < 0 || nr >= MAX_FILESYSTEM_UNITS || uip[nr].open == 0 || uip[nr].volname != 0)
+ if (nr < 0 || nr >= MAX_FILESYSTEM_UNITS || uip[nr].open == 0 || is_hardfile(nr) == FILESYS_VIRTUAL)
return 0;
return &uip[nr].hf;
}
#define ACTION_FREE_LOCK 15
#define ACTION_DELETE_OBJECT 16
#define ACTION_RENAME_OBJECT 17
+#define ACTION_MORE_CACHE 18
#define ACTION_COPY_DIR 19
#define ACTION_SET_PROTECT 21
#define ACTION_CREATE_DIR 22
#define ACTION_FIND_OUTPUT 1006
#define ACTION_END 1007
#define ACTION_SEEK 1008
+#define ACTION_WRITE_PROTECT 1023
#define ACTION_IS_FILESYSTEM 1027
#define ACTION_READ 'R'
#define ACTION_WRITE 'W'
struct notify *notifyhash[NOTIFY_HASH_SIZE];
int volflags;
+ uae_u32 lockkey;
+ int inhibited;
+ int canremovable;
+ int mountcount;
+ struct zvolume *zarchive;
+
+ int reinsertdelay;
+ char *newvolume;
+ char *newrootdir;
+ int newreadonly;
+ int newflags;
} Unit;
#define GET_PCK_ARG4(p) ((uae_s32)(do_get_mem_long ((uae_u32 *)((p) + dp_Arg4))))
#define GET_PCK_ARG5(p) ((uae_s32)(do_get_mem_long ((uae_u32 *)((p) + dp_Arg5))))
+static int flush_cache(Unit *unit, int num);
+
static char *char1 (uaecptr addr)
{
static char buf[1024];
return u;
}
+static void set_volume_name(Unit *unit)
+{
+ int namelen;
+ int i;
+
+ namelen = strlen (unit->ui.volname);
+ put_byte (unit->volume + 44, namelen);
+ for (i = 0; i < namelen; i++)
+ put_byte (unit->volume + 45 + i, unit->ui.volname[i]);
+ put_byte (unit->volume + 45 + namelen, 0);
+ unit->rootnode.aname = unit->ui.volname;
+ unit->rootnode.nname = unit->ui.rootdir;
+ unit->rootnode.mountcount = unit->mountcount;
+}
+
+static int filesys_isvolume(Unit *unit)
+{
+ return get_byte(unit->volume + 44);
+}
+
+static void clear_exkeys(Unit *unit)
+{
+ int i;
+ a_inode *a;
+ for (i = 0; i < EXKEYS; i++) {
+ unit->examine_keys[i].aino = 0;
+ unit->examine_keys[i].curr_file = 0;
+ unit->examine_keys[i].uniq = 0;
+ }
+ unit->next_exkey = 1;
+ a = &unit->rootnode;
+ while (a) {
+ a->exnext_count = 0;
+ if (a->locked_children) {
+ a->locked_children = 0;
+ unit->total_locked_ainos--;
+ }
+ a = a->next;
+ if (a == &unit->rootnode)
+ break;
+ }
+}
+
+int filesys_eject(int nr)
+{
+ UnitInfo *ui = &mountinfo.ui[nr];
+ Unit *u = ui->self;
+
+ if (!ui->open || u == NULL)
+ return 0;
+ if (is_hardfile(nr) != FILESYS_VIRTUAL)
+ return 0;
+ if (!filesys_isvolume(u))
+ return 0;
+ zfile_fclose_archive(u->zarchive);
+ u->zarchive = NULL;
+ u->mountcount++;
+ write_log("FILESYS: removed volume '%s'\n", u->ui.volname);
+ flush_cache(u, -1);
+ put_byte(u->volume + 172 - 32, -1);
+ uae_Signal(get_long(u->volume + 176 - 32), 1 << 17);
+ return 1;
+}
+
+void filesys_vsync(void)
+{
+ Unit *u;
+
+ for (u = units; u; u = u->next) {
+ if (u->reinsertdelay > 0) {
+ u->reinsertdelay--;
+ if (u->reinsertdelay == 0) {
+ filesys_insert(u->unit, u->newvolume, u->newrootdir, u->newreadonly, u->newflags);
+ xfree(u->newvolume);
+ u->newvolume = NULL;
+ xfree(u->newrootdir);
+ u->newrootdir = NULL;
+ }
+ }
+ }
+}
+
+int filesys_insert(int nr, char *volume, char *rootdir, int readonly, int flags)
+{
+ int emptydrive = 0;
+ UnitInfo *ui;
+ Unit *u;
+
+ if (nr < 0) {
+ for (u = units; u; u = u->next) {
+ if (is_hardfile(u->unit) == FILESYS_VIRTUAL) {
+ if (!filesys_isvolume(u))
+ break;
+ }
+ }
+ if (!u) {
+ for (u = units; u; u = u->next) {
+ if (is_hardfile(u->unit) == FILESYS_VIRTUAL) {
+ if (mountinfo.ui[u->unit].wasisempty)
+ break;
+ }
+ }
+ }
+ if (!u)
+ return 0;
+ nr = u->unit;
+ ui = &mountinfo.ui[nr];
+ } else {
+ ui = &mountinfo.ui[nr];
+ u = ui->self;
+ }
+
+ if (u->reinsertdelay)
+ return -1;
+ if (!ui->open || u == NULL)
+ return 0;
+ if (is_hardfile(nr) != FILESYS_VIRTUAL)
+ return 0;
+ if (filesys_isvolume(u)) {
+ u->reinsertdelay = 100;
+ u->newflags = flags;
+ u->newreadonly = readonly;
+ u->newrootdir = my_strdup(rootdir);
+ u->newvolume = my_strdup(volume);
+ filesys_eject(nr);
+ write_log("FILESYS: delayed insert %d '%s' ('%s')\n", nr, volume, rootdir);
+ return -1;
+ }
+ u->mountcount++;
+ clear_exkeys(u);
+ xfree (u->ui.rootdir);
+ ui->rootdir = u->ui.rootdir = my_strdup(rootdir);
+ flush_cache(u, -1);
+ if (set_filesys_volume (rootdir, &flags, &readonly, &emptydrive, &u->zarchive) < 0)
+ return 0;
+ if (emptydrive)
+ return 0;
+ xfree (u->ui.volname);
+ if (volume) {
+ ui->volname = u->ui.volname = my_strdup(volume);
+ } else {
+ char *p = strrchr (rootdir, '\\');
+ if (!p)
+ p = strrchr (rootdir, '/');
+ if (p)
+ ui->volname = u->ui.volname = my_strdup(p + 1);
+ else
+ ui->volname = u->ui.volname = my_strdup("removable");
+ }
+ set_volume_name(u);
+ write_log("FILESYS: inserted volume %d '%s' ('%s')\n", nr, volume, rootdir);
+ ui->readonly = readonly;
+ ui->volflags = u->volflags = u->ui.volflags = flags;
+ put_byte (u->volume + 44, 0);
+ put_byte(u->volume + 172 - 32, 1);
+ uae_Signal(get_long(u->volume + 176 - 32), 1 << 17);
+ return 1;
+}
+
/* flags and comments supported? */
static int fsdb_cando (Unit *unit)
{
*aip = aino->sibling;
xfree (aino->aname);
- if (aino->comment)
- xfree (aino->comment);
+ xfree (aino->comment);
xfree (aino->nname);
xfree (aino);
}
-static void recycle_aino (Unit *unit, a_inode *new_aino)
+static void free_all_ainos (Unit *u, a_inode *parent)
{
- aino_test (new_aino);
- if (new_aino->dir || new_aino->shlock > 0
- || new_aino->elock || new_aino == &unit->rootnode)
- /* Still in use */
- return;
-
- TRACE (("Recycling; cache size %d, total_locked %d\n",
- unit->aino_cache_size, unit->total_locked_ainos));
- if (unit->aino_cache_size > 5000 + unit->total_locked_ainos) {
- /* Reap a few. */
- int i = 0;
- while (i < 50) {
- a_inode *parent = unit->rootnode.prev->parent;
- a_inode **aip;
- aip = &parent->child;
-
- aino_test (parent);
- if (! parent->locked_children) {
- for (;;) {
- a_inode *aino = *aip;
- aino_test (aino);
- if (aino == 0)
- break;
- /* Not recyclable if next == 0 (i.e., not chained into
- recyclable list), or if parent directory is being
- ExNext()ed. */
- if (aino->next == 0) {
- aip = &aino->sibling;
- } else {
- if (aino->shlock > 0 || aino->elock)
- write_log ("panic: freeing locked a_inode!\n");
+ a_inode *a;
+ while (a = parent->child) {
+ free_all_ainos (u, a);
+ dispose_aino (u, &parent->child, a);
+ }
+}
- de_recycle_aino (unit, aino);
- dispose_aino (unit, aip, aino);
- i++;
- }
+static int flush_cache(Unit *unit, int num)
+{
+ int i = 0;
+ int cnt = 100;
+
+ write_log("FILESYS: flushing cache unit %d (max %d items)\n", unit->unit, num);
+ if (num == 0)
+ num = -1;
+ while (i < num || num < 0) {
+ int ii = i;
+ a_inode *parent = unit->rootnode.prev->parent;
+ a_inode **aip;
+
+ aip = &parent->child;
+ aino_test (parent);
+ if (parent && !parent->locked_children) {
+ for (;;) {
+ a_inode *aino = *aip;
+ aino_test (aino);
+ if (aino == 0)
+ break;
+ /* Not recyclable if next == 0 (i.e., not chained into
+ recyclable list), or if parent directory is being
+ ExNext()ed. */
+ if (aino->next == 0) {
+ aip = &aino->sibling;
+ } else {
+ if (aino->shlock > 0 || aino->elock)
+ write_log ("panic: freeing locked a_inode!\n");
+ de_recycle_aino (unit, aino);
+ dispose_aino (unit, aip, aino);
+ i++;
}
}
+ }
+ if (unit->rootnode.next != unit->rootnode.prev) {
/* In the previous loop, we went through all children of one
parent. Re-arrange the recycled list so that we'll find a
- different parent the next time around. */
+ different parent the next time around.
+ (infinite loop if there is only one parent?)
+ */
+ int maxloop = 10000;
do {
unit->rootnode.next->prev = unit->rootnode.prev;
unit->rootnode.prev->next = unit->rootnode.next;
unit->rootnode.next = unit->rootnode.prev;
unit->rootnode.prev = unit->rootnode.prev->prev;
unit->rootnode.prev->next = unit->rootnode.next->prev = &unit->rootnode;
- } while (unit->rootnode.prev->parent == parent);
+ } while (unit->rootnode.prev->parent == parent && maxloop-- > 0);
}
+ if (i == ii)
+ cnt--;
+ if (cnt <= 0)
+ break;
+ }
+ return unit->aino_cache_size > 0 ? 0 : 1;
+}
+
+static void recycle_aino (Unit *unit, a_inode *new_aino)
+{
+ aino_test (new_aino);
+ if (new_aino->dir || new_aino->shlock > 0
+ || new_aino->elock || new_aino == &unit->rootnode)
+ /* Still in use */
+ return;
+
+ TRACE (("Recycling; cache size %d, total_locked %d\n",
+ unit->aino_cache_size, unit->total_locked_ainos));
+ if (unit->aino_cache_size > 5000 + unit->total_locked_ainos) {
+ /* Reap a few. */
+ flush_cache (unit, 50);
#if 0
{
char buffer[40];
unit->aino_cache_size++;
}
+void filesys_flush_cache (void)
+{
+}
+
static void update_child_names (Unit *unit, a_inode *a, a_inode *parent)
{
int l0 = strlen (parent->nname) + 2;
oh_dear:
#endif
if (currprefs.filesys_no_uaefsdb && !(base->volflags & MYVOLUMEINFO_STREAMS)) {
- write_log ("illegal filename '%s' and uaefsdb disabled\n", rel);
+ write_log ("illegal filename '%s', no stream supporting filesystem and uaefsdb disabled\n", rel);
return 0;
}
p = fsdb_create_unique_nname (base, rel);
aino->dirty = 0;
aino->deleted = 0;
+ aino->mountcount = unit->mountcount;
/* For directories - this one isn't being ExNext()ed yet. */
aino->locked_children = 0;
while (c != 0) {
int l1 = strlen (c->aname);
if (l0 <= l1 && same_aname (rel, c->aname + l1 - l0)
- && (l0 == l1 || c->aname[l1-l0-1] == '/'))
+ && (l0 == l1 || c->aname[l1-l0-1] == '/') && c->mountcount == unit->mountcount)
break;
c = c->sibling;
}
int l1 = strlen (c->nname);
/* Note: using strcmp here. */
if (l0 <= l1 && strcmp (rel, c->nname + l1 - l0) == 0
- && (l0 == l1 || c->nname[l1-l0-1] == FSDB_DIR_SEPARATOR))
+ && (l0 == l1 || c->nname[l1-l0-1] == FSDB_DIR_SEPARATOR) && c->mountcount == unit->mountcount)
break;
c = c->sibling;
}
unit->ui.readonly = uinfo->readonly;
unit->ui.unit_pipe = uinfo->unit_pipe;
unit->ui.back_pipe = uinfo->back_pipe;
+ unit->ui.wasisempty = uinfo->wasisempty;
}
static Unit *startup_create_unit (UnitInfo *uinfo)
{
int i;
- Unit *unit;
+ Unit *unit, *u;
unit = (Unit*)xcalloc (sizeof (Unit), 1);
- unit->next = units;
- units = unit;
+ /* keep list in insertion order */
+ u = units;
+ if (u) {
+ while (u->next)
+ u = u->next;
+ u->next = unit;
+ } else {
+ units = unit;
+ }
uinfo->self = unit;
unit->volume = 0;
unit->cmds_complete = 0;
unit->cmds_sent = 0;
unit->cmds_acked = 0;
- for (i = 0; i < EXKEYS; i++) {
- unit->examine_keys[i].aino = 0;
- unit->examine_keys[i].curr_file = 0;
- unit->examine_keys[i].uniq = 0;
- }
+ clear_exkeys(unit);
unit->total_locked_ainos = 0;
- unit->next_exkey = 1;
unit->keys = 0;
for (i = 0; i < NOTIFY_HASH_SIZE; i++) {
Notify *n = unit->notifyhash[i];
uaecptr dos_info = get_long (rootnode + 24) << 2;
uaecptr pkt = m68k_dreg (&context->regs, 3);
uaecptr arg2 = get_long (pkt + dp_Arg2);
- int i, namelen;
+ int i;
char* devname = bstr1 (get_long (pkt + dp_Arg1) << 2);
char* s;
Unit *unit;
/* Hardfile volume name? */
if (!mountinfo.ui[i].open)
continue;
- if (mountinfo.ui[i].volname == 0)
+ if (is_hardfile(i) != FILESYS_VIRTUAL)
continue;
-
if (mountinfo.ui[i].startup == arg2)
break;
}
- if (i == MAX_FILESYSTEM_UNITS
- || (!my_existsdir (mountinfo.ui[i].rootdir) && !my_existsfile (mountinfo.ui[i].rootdir)))
+ if (i == MAX_FILESYSTEM_UNITS) {
+ write_log ("Failed attempt to mount device '%s'\n", devname);
+ put_long (pkt + dp_Res1, DOS_FALSE);
+ put_long (pkt + dp_Res2, ERROR_DEVICE_NOT_MOUNTED);
+ return 1;
+ }
+
+ if (!mountinfo.ui[i].wasisempty && !my_existsdir (mountinfo.ui[i].rootdir) && !my_existsfile (mountinfo.ui[i].rootdir))
{
write_log ("Failed attempt to mount device '%s'\n", devname);
put_long (pkt + dp_Res1, DOS_FALSE);
put_long (pkt + dp_Res2, ERROR_DEVICE_NOT_MOUNTED);
return 1;
}
+
uinfo = mountinfo.ui + i;
unit = startup_create_unit (uinfo);
unit->volflags = uinfo->volflags;
put_long (unit->volume + 24, 0);
put_long (unit->volume + 28, 0); /* lock list */
put_long (unit->volume + 40, (unit->volume + 44) >> 2); /* Name */
- namelen = strlen (unit->ui.volname);
- put_byte (unit->volume + 44, namelen);
- for (i = 0; i < namelen; i++)
- put_byte (unit->volume + 45 + i, unit->ui.volname[i]);
- /* link into DOS list */
- put_long (unit->volume, get_long (dos_info + 4));
- put_long (dos_info + 4, unit->volume >> 2);
+ put_byte (unit->volume + 44, 0);
+ if (!uinfo->wasisempty)
+ set_volume_name(unit);
put_long (unit->volume + 8, unit->port);
put_long (unit->volume + 32, DISK_TYPE);
put_long (pkt + dp_Res1, DOS_TRUE);
-
fsdb_clean_dir (&unit->rootnode);
return 0;
* before this happens because of something else. */
uniq = 1;
}
- unit->next_exkey = uniq+1;
+ unit->next_exkey = uniq + 1;
ek->aino = aino;
ek->curr_file = 0;
ek->uniq = uniq;
aino = lookup_aino (unit, get_long (lock + 4));
if (aino == 0)
aino = &unit->rootnode;
-
+for(;;) {
uniq = get_long (info);
if (uniq == 0) {
write_log ("ExNext called for a file! (Houston?)\n");
if (ek) {
if (aino->exnext_count++ == 0)
populate_directory (unit, aino);
- }
- ek->curr_file = aino->child;
- TRACE(("Initial curr_file: %p %s\n", ek->curr_file,
+ ek->curr_file = aino->child;
+ TRACE(("Initial curr_file: %p %s\n", ek->curr_file,
ek->curr_file ? ek->curr_file->aname : "NULL"));
+ }
} else {
TRACE(("Looking up ExKey\n"));
ek = lookup_exkey (unit, get_long (info));
goto no_more_entries;
}
put_long (info, ek->uniq);
+ if (!ek->curr_file || ek->curr_file->mountcount == unit->mountcount)
+ break;
+ ek->curr_file = ek->curr_file->sibling;
+ if (!ek->curr_file)
+ goto no_more_entries;
+}
do_examine (unit, packet, ek, info);
return;
return;
}
- /* ugh this is inefficient but easy */
- buf = (char *)malloc(size);
- if (!buf) {
- PUT_PCK_RES1 (packet, -1);
- PUT_PCK_RES2 (packet, ERROR_NO_FREE_STORE);
- return;
- }
+ if (valid_address (addr, size)) {
+ uae_u8 *realpt = get_real_address (addr);
+ actual = my_write (k->fd, realpt, size);
- for (i = 0; i < size; i++)
- buf[i] = get_byte(addr + i);
+ } else {
+
+ write_log ("unixfs warning: Bad pointer passed for write: %08x, size %d\n", addr, size);
+ /* ugh this is inefficient but easy */
+ buf = (char *)malloc(size);
+ if (!buf) {
+ PUT_PCK_RES1 (packet, -1);
+ PUT_PCK_RES2 (packet, ERROR_NO_FREE_STORE);
+ return;
+ }
+
+ for (i = 0; i < size; i++)
+ buf[i] = get_byte(addr + i);
+
+ actual = my_write (k->fd, buf, size);
+ xfree (buf);
+ }
- actual = my_write (k->fd, buf, size);
TRACE(("=%d\n", actual));
PUT_PCK_RES1 (packet, actual);
if (actual != size)
k->file_pos += actual;
k->notifyactive = 1;
- xfree (buf);
}
static void
static void
action_current_volume (Unit *unit, dpacket packet)
{
- PUT_PCK_RES1 (packet, unit->volume >> 2);
+ if (filesys_isvolume(unit))
+ PUT_PCK_RES1 (packet, unit->volume >> 2);
+ else
+ PUT_PCK_RES1 (packet, 0);
}
static void
for (i = 0; i < namelen; i++, name++)
unit->ui.volname[i] = get_byte (name);
unit->ui.volname[i] = 0;
-
- put_byte (unit->volume + 44, namelen);
- for (i = 0; i < namelen; i++)
- put_byte (unit->volume + 45 + i, unit->ui.volname[i]);
+ set_volume_name (unit);
PUT_PCK_RES1 (packet, DOS_TRUE);
}
static void
action_is_filesystem (Unit *unit, dpacket packet)
{
+ TRACE(("ACTION_IS_FILESYSTEM()\n"));
PUT_PCK_RES1 (packet, DOS_TRUE);
}
static void
action_flush (Unit *unit, dpacket packet)
{
+ TRACE(("ACTION_FLUSH()\n"));
+ PUT_PCK_RES1 (packet, DOS_TRUE);
+ flush_cache(unit, 0);
+}
+
+static void
+action_more_cache (Unit *unit, dpacket packet)
+{
+ TRACE(("ACTION_MORE_CACHE()\n"));
+ PUT_PCK_RES1 (packet, 50); /* bug but AmigaOS expects it */
+ flush_cache(unit, 0);
+}
+
+static void
+action_inhibit (Unit *unit, dpacket packet)
+{
+ TRACE(("ACTION_INHIBIT()\n"));
+ PUT_PCK_RES1 (packet, DOS_TRUE);
+ flush_cache(unit, 0);
+ unit->inhibited = GET_PCK_ARG1 (packet);
+}
+
+static void
+action_write_protect (Unit *unit, dpacket packet)
+{
+ TRACE(("ACTION_WRITE_PROTECT()\n"));
PUT_PCK_RES1 (packet, DOS_TRUE);
+ if (GET_PCK_ARG1 (packet)) {
+ if (!(unit->ui.readonly & 2)) {
+ unit->ui.readonly |= 2;
+ unit->lockkey = GET_PCK_ARG2 (packet);
+ }
+ } else {
+ if (unit->ui.readonly & 2) {
+ if (unit->lockkey == GET_PCK_ARG2 (packet) || unit->lockkey == 0) {
+ unit->ui.readonly &= ~2;
+ } else {
+ PUT_PCK_RES1 (packet, DOS_FALSE);
+ PUT_PCK_RES2 (packet, 0);
+ }
+ }
+ }
}
/* We don't want multiple interrupts to be active at the same time. I don't
{
uae_s32 type = GET_PCK_TYPE (pck);
PUT_PCK_RES2 (pck, 0);
+
+ if (unit->inhibited && filesys_isvolume(unit)
+ && type != ACTION_INHIBIT && type != ACTION_MORE_CACHE
+ && type != ACTION_DISK_INFO) {
+ PUT_PCK_RES1 (pck, DOS_FALSE);
+ PUT_PCK_RES2 (pck, ERROR_NOT_A_DOS_DISK);
+ return 1;
+ }
+ if (type != ACTION_INHIBIT && type != ACTION_CURRENT_VOLUME
+ && type != ACTION_IS_FILESYSTEM && type != ACTION_MORE_CACHE
+ && type != ACTION_WRITE_PROTECT
+ && !filesys_isvolume(unit)) {
+ PUT_PCK_RES1 (pck, DOS_FALSE);
+ PUT_PCK_RES2 (pck, ERROR_NO_DISK);
+ return 1;
+ }
+
switch (type) {
case ACTION_LOCATE_OBJECT: action_lock (unit, pck); break;
case ACTION_FREE_LOCK: action_free_lock (unit, pck); break;
case ACTION_RENAME_DISK: action_rename_disk (unit, pck); break;
case ACTION_IS_FILESYSTEM: action_is_filesystem (unit, pck); break;
case ACTION_FLUSH: action_flush (unit, pck); break;
+ case ACTION_MORE_CACHE: action_more_cache (unit, pck); break;
+ case ACTION_INHIBIT: action_inhibit (unit, pck); break;
+ case ACTION_WRITE_PROTECT: action_write_protect (unit, pck); break;
/* 2.0+ packet types */
case ACTION_SET_FILE_SIZE: action_set_file_size (unit, pck); break;
xfree(k1);
}
u->keys = NULL;
+ xfree(u->newrootdir);
+ xfree(u->newvolume);
+ u->newrootdir = NULL;
+ u->newvolume = NULL;
}
}
initialize_mountinfo();
}
-static void free_all_ainos (Unit *u, a_inode *parent)
-{
- a_inode *a;
- while (a = parent->child) {
- free_all_ainos (u, a);
- dispose_aino (u, &parent->child, a);
- }
-}
-
-void filesys_flush_cache (void)
-{
-}
-
void filesys_prepare_reset (void)
{
UnitInfo *uip;
db(0x00); db(0x00); db(0x00); db(0x10); db(0x00); db(0x00); db(0x00); db(0x00);
- db(0x60); db(0x00); db(0x04); db(0xee); db(0x00); db(0x00); db(0x03); db(0xaa);
+ db(0x60); db(0x00); db(0x06); db(0xb2); db(0x00); db(0x00); db(0x05); db(0x6e);
db(0x00); db(0x00); db(0x00); db(0x34); db(0x00); db(0x00); db(0x00); db(0xd4);
db(0x00); db(0x00); db(0x00); db(0x20); db(0x00); db(0x00); db(0x01); db(0x8e);
- db(0x00); db(0x00); db(0x06); db(0xb0); db(0x00); db(0x00); db(0x07); db(0xd4);
- db(0x43); db(0xfa); db(0x09); db(0xac); db(0x4e); db(0xae); db(0xff); db(0xa0);
+ db(0x00); db(0x00); db(0x08); db(0xc6); db(0x00); db(0x00); db(0x0a); db(0x54);
+ db(0x43); db(0xfa); db(0x0b); db(0xfc); db(0x4e); db(0xae); db(0xff); db(0xa0);
db(0x20); db(0x40); db(0x20); db(0x28); db(0x00); db(0x16); db(0x20); db(0x40);
db(0x4e); db(0x90); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0xff); db(0xfe);
db(0x2c); db(0x78); db(0x00); db(0x04); db(0x30); db(0x3c); db(0xff); db(0xfc);
- db(0x61); db(0x00); db(0x06); db(0x5e); db(0x2a); db(0x50); db(0x43); db(0xfa);
- db(0x09); db(0xa4); db(0x70); db(0x24); db(0x7a); db(0x00); db(0x4e); db(0xae);
+ db(0x61); db(0x00); db(0x08); db(0x74); db(0x2a); db(0x50); db(0x43); db(0xfa);
+ db(0x0b); db(0xf4); db(0x70); db(0x24); db(0x7a); db(0x00); db(0x4e); db(0xae);
db(0xfd); db(0xd8); db(0x4a); db(0x80); db(0x66); db(0x0c); db(0x43); db(0xfa);
- db(0x09); db(0x94); db(0x70); db(0x00); db(0x7a); db(0x01); db(0x4e); db(0xae);
+ db(0x0b); db(0xe4); db(0x70); db(0x00); db(0x7a); db(0x01); db(0x4e); db(0xae);
db(0xfd); db(0xd8); db(0x28); db(0x40); db(0x20); db(0x3c); db(0x00); db(0x00);
db(0x02); db(0x2c); db(0x72); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a);
db(0x26); db(0x40); db(0x27); db(0x4c); db(0x01); db(0x9c); db(0x7c); db(0x00);
db(0xbc); db(0xad); db(0x01); db(0x0c); db(0x64); db(0x24); db(0x2f); db(0x06);
db(0x7e); db(0x01); db(0x2f); db(0x0b); db(0x20); db(0x4b); db(0x61); db(0x00);
- db(0x03); db(0x22); db(0x26); db(0x5f); db(0x0c); db(0x80); db(0xff); db(0xff);
+ db(0x04); db(0xe6); db(0x26); db(0x5f); db(0x0c); db(0x80); db(0xff); db(0xff);
db(0xff); db(0xfe); db(0x67); db(0x08); db(0x48); db(0x46); db(0x52); db(0x46);
db(0x48); db(0x46); db(0x60); db(0xe4); db(0x2c); db(0x1f); db(0x52); db(0x46);
db(0x60); db(0xd6); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x22); db(0x4c);
db(0x4e); db(0xae); db(0xfe); db(0x62); db(0x30); db(0x3c); db(0xff); db(0x80);
- db(0x61); db(0x00); db(0x05); db(0xee); db(0x4e); db(0x90); db(0x72); db(0x03);
+ db(0x61); db(0x00); db(0x08); db(0x04); db(0x4e); db(0x90); db(0x72); db(0x03);
db(0x74); db(0xf6); db(0x20); db(0x7c); db(0x00); db(0x20); db(0x00); db(0x00);
db(0x90); db(0x88); db(0x65); db(0x0a); db(0x67); db(0x08); db(0x78); db(0x00);
db(0x22); db(0x44); db(0x4e); db(0xae); db(0xfd); db(0x96); db(0x4c); db(0xdf);
db(0x7f); db(0xff); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x00); db(0x20);
- db(0x30); db(0x3c); db(0xff); db(0x50); db(0x61); db(0x00); db(0x05); db(0xc2);
+ db(0x30); db(0x3c); db(0xff); db(0x50); db(0x61); db(0x00); db(0x07); db(0xd8);
db(0x70); db(0x00); db(0x4e); db(0x90); db(0x4a); db(0x80); db(0x67); db(0x00);
db(0x00); db(0xa0); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x30); db(0x3c);
- db(0xff); db(0x50); db(0x61); db(0x00); db(0x05); db(0xac); db(0x70); db(0x02);
+ db(0xff); db(0x50); db(0x61); db(0x00); db(0x07); db(0xc2); db(0x70); db(0x02);
db(0x4e); db(0x90); db(0x0c); db(0x40); db(0x00); db(0x01); db(0x6d); db(0x7a);
db(0x6e); db(0x06); db(0x4e); db(0xae); db(0xfe); db(0x92); db(0x60); db(0xe6);
db(0x0c); db(0x40); db(0x00); db(0x02); db(0x6e); db(0x08); db(0x20); db(0x01);
db(0x25); db(0x49); db(0x00); db(0x1a); db(0x20); db(0x69); db(0x00); db(0x10);
db(0x22); db(0x4a); db(0x4e); db(0xae); db(0xfe); db(0x92); db(0x60); db(0x00);
db(0xff); db(0x76); db(0x30); db(0x3c); db(0xff); db(0x50); db(0x61); db(0x00);
- db(0x05); db(0x20); db(0x70); db(0x04); db(0x4e); db(0x90); db(0x70); db(0x01);
+ db(0x07); db(0x36); db(0x70); db(0x04); db(0x4e); db(0x90); db(0x70); db(0x01);
db(0x4c); db(0xdf); db(0x04); db(0x00); db(0x4e); db(0x75); db(0x48); db(0xe7);
db(0xc0); db(0xc0); db(0x70); db(0x1a); db(0x22); db(0x3c); db(0x00); db(0x01);
db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x22); db(0x40);
- db(0x41); db(0xfa); db(0x08); db(0x1d); db(0x23); db(0x48); db(0x00); db(0x0a);
+ db(0x41); db(0xfa); db(0x0a); db(0x6d); db(0x23); db(0x48); db(0x00); db(0x0a);
db(0x41); db(0xfa); db(0xff); db(0x2a); db(0x23); db(0x48); db(0x00); db(0x0e);
db(0x41); db(0xfa); db(0xff); db(0x22); db(0x23); db(0x48); db(0x00); db(0x12);
db(0x33); db(0x7c); db(0x02); db(0x14); db(0x00); db(0x08); db(0x70); db(0x03);
db(0x00); db(0x00); db(0x00); db(0x0e); db(0x52); db(0x40); db(0x0c); db(0x40);
db(0x00); db(0x8c); db(0x66); db(0xf2); db(0x20); db(0x0a); db(0xe4); db(0x88);
db(0x21); db(0x40); db(0x00); db(0x36); db(0x22); db(0x48); db(0x41); db(0xfa);
- db(0x07); db(0xb7); db(0x23); db(0x48); db(0x00); db(0x0a); db(0x20); db(0x6b);
+ db(0x0a); db(0x07); db(0x23); db(0x48); db(0x00); db(0x0a); db(0x20); db(0x6b);
db(0x01); db(0x98); db(0x41); db(0xe8); db(0x00); db(0x12); db(0x4e); db(0xae);
db(0xff); db(0x10); db(0x4c); db(0xdf); db(0x4f); db(0x03); db(0x4e); db(0x75);
db(0x48); db(0xe7); db(0x7f); db(0x7e); db(0x2c); db(0x78); db(0x00); db(0x04);
db(0x60); db(0xd4); db(0x48); db(0xe7); db(0x40); db(0xe2); db(0x2c); db(0x78);
db(0x00); db(0x04); db(0x41); db(0xee); db(0x01); db(0x50); db(0x20); db(0x50);
db(0x4a); db(0x90); db(0x67); db(0x1a); db(0x22); db(0x68); db(0x00); db(0x0a);
- db(0x45); db(0xfa); db(0x06); db(0xac); db(0x10); db(0x19); db(0x12); db(0x1a);
+ db(0x45); db(0xfa); db(0x08); db(0xfc); db(0x10); db(0x19); db(0x12); db(0x1a);
db(0xb0); db(0x01); db(0x66); db(0x06); db(0x4a); db(0x00); db(0x67); db(0x42);
db(0x60); db(0xf2); db(0x20); db(0x50); db(0x60); db(0xe2); db(0x70); db(0x20);
db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae);
db(0xff); db(0x3a); db(0x24); db(0x40); db(0x15); db(0x7c); db(0x00); db(0x08);
- db(0x00); db(0x08); db(0x41); db(0xfa); db(0x06); db(0x82); db(0x25); db(0x48);
- db(0x00); db(0x0a); db(0x41); db(0xfa); db(0x06); db(0x3b); db(0x25); db(0x48);
+ db(0x00); db(0x08); db(0x41); db(0xfa); db(0x08); db(0xd2); db(0x25); db(0x48);
+ db(0x00); db(0x0a); db(0x41); db(0xfa); db(0x08); db(0x8b); db(0x25); db(0x48);
db(0x00); db(0x0e); db(0x41); db(0xea); db(0x00); db(0x12); db(0x20); db(0x88);
db(0x58); db(0x90); db(0x21); db(0x48); db(0x00); db(0x08); db(0x41); db(0xee);
db(0x01); db(0x50); db(0x22); db(0x4a); db(0x4e); db(0xae); db(0xff); db(0x0a);
db(0x20); db(0x4a); db(0x20); db(0x08); db(0x4c); db(0xdf); db(0x47); db(0x02);
- db(0x4e); db(0x75); db(0x61); db(0x00); db(0xff); db(0x8e); db(0x21); db(0x40);
- db(0x01); db(0x98); db(0x2f); db(0x08); db(0x30); db(0x3c); db(0xff); db(0xfc);
- db(0x61); db(0x00); db(0x02); db(0xe6); db(0x2a); db(0x50); db(0x30); db(0x3c);
- db(0xff); db(0x28); db(0x61); db(0x00); db(0x02); db(0xdc); db(0x22); db(0x48);
- db(0x20); db(0x5f); db(0x42); db(0xa8); db(0x01); db(0x90); db(0x42); db(0xa8);
- db(0x01); db(0x94); db(0x4e); db(0x91); db(0x26); db(0x00); db(0x0c); db(0x83);
- db(0xff); db(0xff); db(0xff); db(0xfe); db(0x67); db(0x00); db(0xfc); db(0xf4);
- db(0x0c); db(0x83); db(0x00); db(0x00); db(0x00); db(0x02); db(0x67); db(0x0c);
- db(0xc0); db(0x85); db(0x67); db(0x08); db(0x4a); db(0xa8); db(0x01); db(0x90);
- db(0x67); db(0x00); db(0xfc); db(0xe0); db(0x20); db(0x28); db(0x01); db(0x90);
- db(0x67); db(0x12); db(0x2f); db(0x08); db(0x72); db(0x01); db(0x2c); db(0x78);
- db(0x00); db(0x04); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x20); db(0x5f);
- db(0x21); db(0x40); db(0x01); db(0x94); db(0x4a); db(0x83); db(0x6a); db(0x10);
- db(0x22); db(0x48); db(0x30); db(0x3c); db(0xff); db(0x20); db(0x61); db(0x00);
- db(0x02); db(0x88); db(0x4e); db(0x90); db(0x60); db(0x00); db(0x00); db(0x28);
- db(0x2c); db(0x4c); db(0x2f); db(0x08); db(0x4e); db(0xae); db(0xff); db(0x70);
- db(0x20); db(0x5f); db(0x22); db(0x48); db(0x26); db(0x40); db(0x30); db(0x3c);
- db(0xff); db(0x20); db(0x61); db(0x00); db(0x02); db(0x6c); db(0x4e); db(0x90);
- db(0x70); db(0x00); db(0x27); db(0x40); db(0x00); db(0x08); db(0x27); db(0x40);
- db(0x00); db(0x10); db(0x27); db(0x40); db(0x00); db(0x20); db(0x4a); db(0xa9);
- db(0x01); db(0x94); db(0x67); db(0x28); db(0x20); db(0x69); db(0x01); db(0x94);
- db(0x61); db(0x00); db(0xfd); db(0xce); db(0x48); db(0xe7); db(0x80); db(0xc0);
- db(0x20); db(0x29); db(0x01); db(0x90); db(0x22); db(0x69); db(0x01); db(0x94);
- db(0x2c); db(0x78); db(0x00); db(0x04); db(0x4e); db(0xae); db(0xff); db(0x2e);
- db(0x4c); db(0xdf); db(0x03); db(0x01); db(0x4a); db(0x80); db(0x67); db(0x04);
- db(0x61); db(0x00); db(0xfd); db(0x58); db(0x4a); db(0x83); db(0x6b); db(0x00);
- db(0xfc); db(0x5a); db(0x30); db(0x3c); db(0xff); db(0x18); db(0x61); db(0x00);
- db(0x02); db(0x20); db(0x4e); db(0x90); db(0x20); db(0x03); db(0x16); db(0x29);
- db(0x00); db(0x4f); db(0x4a); db(0x80); db(0x66); db(0x1a); db(0x27); db(0x7c);
- db(0x00); db(0x00); db(0x0f); db(0xa0); db(0x00); db(0x14); db(0x43); db(0xfa);
- db(0xfb); db(0x64); db(0x20); db(0x09); db(0xe4); db(0x88); db(0x27); db(0x40);
- db(0x00); db(0x20); db(0x70); db(0xff); db(0x27); db(0x40); db(0x00); db(0x24);
- db(0x4a); db(0x87); db(0x67); db(0x36); db(0x2c); db(0x78); db(0x00); db(0x04);
- db(0x70); db(0x14); db(0x72); db(0x00); db(0x4e); db(0xae); db(0xff); db(0x3a);
- db(0x22); db(0x40); db(0x70); db(0x00); db(0x22); db(0x80); db(0x23); db(0x40);
- db(0x00); db(0x04); db(0x33); db(0x40); db(0x00); db(0x0e); db(0x30); db(0x3c);
- db(0x10); db(0x00); db(0x80); db(0x03); db(0x33); db(0x40); db(0x00); db(0x08);
- db(0x23); db(0x6d); db(0x01); db(0x04); db(0x00); db(0x0a); db(0x23); db(0x4b);
- db(0x00); db(0x10); db(0x41); db(0xec); db(0x00); db(0x4a); db(0x4e); db(0xee);
- db(0xfe); db(0xf2); db(0x20); db(0x4b); db(0x72); db(0x00); db(0x22); db(0x41);
- db(0x70); db(0xff); db(0x2c); db(0x4c); db(0x4e); db(0xee); db(0xff); db(0x6a);
- db(0x2c); db(0x78); db(0x00); db(0x04); db(0x70); db(0x00); db(0x22); db(0x40);
- db(0x4e); db(0xae); db(0xfe); db(0xda); db(0x20); db(0x40); db(0x4b); db(0xe8);
- db(0x00); db(0x5c); db(0x43); db(0xfa); db(0x04); db(0xca); db(0x70); db(0x00);
- db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x24); db(0x40); db(0x20); db(0x3c);
- db(0x00); db(0x00); db(0x00); db(0x9e); db(0x22); db(0x3c); db(0x00); db(0x01);
- db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x26); db(0x40);
- db(0x7c); db(0x00); db(0x26); db(0x86); db(0x27); db(0x46); db(0x00); db(0x04);
- db(0x27); db(0x46); db(0x00); db(0x08); db(0x7a); db(0x00); db(0x20); db(0x4d);
+ db(0x4e); db(0x75); db(0x2f); db(0x0e); db(0x4a); db(0x2b); db(0x00); db(0x4c);
+ db(0x67); db(0x5c); db(0x2c); db(0x6b); db(0x00); db(0xa0); db(0x0c); db(0x6e);
+ db(0x00); db(0x25); db(0x00); db(0x14); db(0x65); db(0x20); db(0x72); db(0x0a);
+ db(0x4e); db(0xae); db(0xfd); db(0x66); db(0x02); db(0x80); db(0xff); db(0xff);
+ db(0xff); db(0xfe); db(0x67); db(0x42); db(0x41); db(0xeb); db(0x00); db(0x20);
+ db(0x22); db(0x08); db(0x4e); db(0xae); db(0xfd); db(0x5a); db(0x72); db(0x0a);
+ db(0x4e); db(0xae); db(0xfd); db(0x6c); db(0x60); db(0x30); db(0x2c); db(0x78);
+ db(0x00); db(0x04); db(0x4e); db(0xae); db(0xff); db(0x7c); db(0x20); db(0x6b);
+ db(0x00); db(0xa0); db(0x20); db(0x68); db(0x00); db(0x22); db(0xd1); db(0xc8);
+ db(0xd1); db(0xc8); db(0x20); db(0x68); db(0x00); db(0x18); db(0xd1); db(0xc8);
+ db(0xd1); db(0xc8); db(0x43); db(0xeb); db(0x00); db(0x20); db(0x22); db(0xa8);
+ db(0x00); db(0x04); db(0x20); db(0x09); db(0xe4); db(0x88); db(0x21); db(0x40);
+ db(0x00); db(0x04); db(0x4e); db(0xae); db(0xff); db(0x76); db(0x2c); db(0x5f);
+ db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x00); db(0x22); db(0x2c); db(0x6b);
+ db(0x00); db(0xa0); db(0x0c); db(0x6e); db(0x00); db(0x25); db(0x00); db(0x14);
+ db(0x65); db(0x20); db(0x72); db(0x0a); db(0x4e); db(0xae); db(0xfd); db(0x66);
+ db(0x02); db(0x80); db(0xff); db(0xff); db(0xff); db(0xfe); db(0x67); db(0x54);
+ db(0x41); db(0xeb); db(0x00); db(0x20); db(0x22); db(0x08); db(0x4e); db(0xae);
+ db(0xfd); db(0x60); db(0x72); db(0x0a); db(0x4e); db(0xae); db(0xfd); db(0x6c);
+ db(0x60); db(0x42); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x4e); db(0xae);
+ db(0xff); db(0x7c); db(0x20); db(0x6b); db(0x00); db(0xa0); db(0x20); db(0x68);
+ db(0x00); db(0x22); db(0xd1); db(0xc8); db(0xd1); db(0xc8); db(0x20); db(0x68);
+ db(0x00); db(0x18); db(0xd1); db(0xc8); db(0xd1); db(0xc8); db(0x43); db(0xe8);
+ db(0x00); db(0x04); db(0x45); db(0xeb); db(0x00); db(0x20); db(0x20); db(0x28);
+ db(0x00); db(0x04); db(0x67); db(0x14); db(0xd0); db(0x80); db(0xd0); db(0x80);
+ db(0xb5); db(0xc0); db(0x67); db(0x0a); db(0x22); db(0x40); db(0x20); db(0x51);
+ db(0xd1); db(0xc8); db(0xd1); db(0xc8); db(0x60); db(0xe8); db(0x22); db(0x92);
+ db(0x4e); db(0xae); db(0xff); db(0x76); db(0x4c); db(0xdf); db(0x44); db(0x00);
+ db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x20); db(0x22); db(0x74); db(0x16);
+ db(0x9f); db(0xc2); db(0x24); db(0x4f); db(0x32); db(0x02); db(0x42); db(0x32);
+ db(0x10); db(0x00); db(0x53); db(0x41); db(0x66); db(0xf8); db(0x2c); db(0x78);
+ db(0x00); db(0x04); db(0x72); db(0x0f); db(0x4a); db(0x80); db(0x67); db(0x02);
+ db(0x72); db(0x10); db(0x15); db(0x41); db(0x00); db(0x04); db(0x35); db(0x7c);
+ db(0x08); db(0x00); db(0x00); db(0x08); db(0x22); db(0x6b); db(0x00); db(0xa4);
+ db(0x33); db(0x7c); db(0x00); db(0x0b); db(0x00); db(0x1c); db(0x23); db(0x7c);
+ db(0x00); db(0x00); db(0x00); db(0x16); db(0x00); db(0x24); db(0x23); db(0x4a);
+ db(0x00); db(0x28); db(0x13); db(0x7c); db(0x00); db(0x01); db(0x00); db(0x1e);
+ db(0x22); db(0x6b); db(0x00); db(0xa8); db(0x33); db(0x7c); db(0x00); db(0x0a);
+ db(0x00); db(0x1c); db(0x13); db(0x7c); db(0x00); db(0x01); db(0x00); db(0x1e);
+ db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x22); db(0x6b); db(0x00); db(0xa8);
+ db(0x25); db(0x69); db(0x00); db(0x20); db(0x00); db(0x0e); db(0x25); db(0x69);
+ db(0x00); db(0x24); db(0x00); db(0x12); db(0x22); db(0x6b); db(0x00); db(0xa4);
+ db(0x4e); db(0xae); db(0xfe); db(0x38); db(0xdf); db(0xc2); db(0x4c); db(0xdf);
+ db(0x44); db(0x04); db(0x4e); db(0x75); db(0x4a); db(0x00); db(0x67); db(0x24);
+ db(0x4a); db(0x2b); db(0x00); db(0x4c); db(0x66); db(0x32); db(0x70); db(0x00);
+ db(0x4a); db(0x33); db(0x00); db(0x4d); db(0x67); db(0x04); db(0x52); db(0x00);
+ db(0x60); db(0xf6); db(0x17); db(0x40); db(0x00); db(0x4c); db(0x67); db(0x20);
+ db(0x61); db(0x00); db(0xfe); db(0x88); db(0x70); db(0x01); db(0x61); db(0x00);
+ db(0xff); db(0x62); db(0x60); db(0x14); db(0x4a); db(0x2b); db(0x00); db(0x4c);
+ db(0x67); db(0x0e); db(0x42); db(0x2b); db(0x00); db(0x4c); db(0x61); db(0x00);
+ db(0xfe); db(0xda); db(0x70); db(0x00); db(0x61); db(0x00); db(0xff); db(0x4c);
+ db(0x4e); db(0x75); db(0x4a); db(0xa8); db(0x00); db(0x14); db(0x67); db(0x08);
+ db(0x70); db(0x00); db(0x61); db(0x00); db(0xff); db(0xb8); db(0x4e); db(0x75);
+ db(0x70); db(0x01); db(0x61); db(0x00); db(0xff); db(0xb0); db(0x4e); db(0x75);
+ db(0x4a); db(0x2b); db(0x00); db(0xac); db(0x6b); db(0x08); db(0x70); db(0x01);
+ db(0x61); db(0x00); db(0xff); db(0xa2); db(0x4e); db(0x75); db(0x70); db(0x00);
+ db(0x61); db(0x00); db(0xff); db(0x9a); db(0x4e); db(0x75); db(0x61); db(0x00);
+ db(0xfd); db(0xca); db(0x21); db(0x40); db(0x01); db(0x98); db(0x2f); db(0x08);
+ db(0x30); db(0x3c); db(0xff); db(0xfc); db(0x61); db(0x00); db(0x03); db(0x38);
+ db(0x2a); db(0x50); db(0x30); db(0x3c); db(0xff); db(0x28); db(0x61); db(0x00);
+ db(0x03); db(0x2e); db(0x22); db(0x48); db(0x20); db(0x5f); db(0x42); db(0xa8);
+ db(0x01); db(0x90); db(0x42); db(0xa8); db(0x01); db(0x94); db(0x4e); db(0x91);
+ db(0x26); db(0x00); db(0x0c); db(0x83); db(0xff); db(0xff); db(0xff); db(0xfe);
+ db(0x67); db(0x00); db(0xfb); db(0x30); db(0x0c); db(0x83); db(0x00); db(0x00);
+ db(0x00); db(0x02); db(0x67); db(0x0c); db(0xc0); db(0x85); db(0x67); db(0x08);
+ db(0x4a); db(0xa8); db(0x01); db(0x90); db(0x67); db(0x00); db(0xfb); db(0x1c);
+ db(0x20); db(0x28); db(0x01); db(0x90); db(0x67); db(0x12); db(0x2f); db(0x08);
+ db(0x72); db(0x01); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x4e); db(0xae);
+ db(0xff); db(0x3a); db(0x20); db(0x5f); db(0x21); db(0x40); db(0x01); db(0x94);
+ db(0x4a); db(0x83); db(0x6a); db(0x10); db(0x22); db(0x48); db(0x30); db(0x3c);
+ db(0xff); db(0x20); db(0x61); db(0x00); db(0x02); db(0xda); db(0x4e); db(0x90);
+ db(0x60); db(0x00); db(0x00); db(0x28); db(0x2c); db(0x4c); db(0x2f); db(0x08);
+ db(0x4e); db(0xae); db(0xff); db(0x70); db(0x20); db(0x5f); db(0x22); db(0x48);
+ db(0x26); db(0x40); db(0x30); db(0x3c); db(0xff); db(0x20); db(0x61); db(0x00);
+ db(0x02); db(0xbe); db(0x4e); db(0x90); db(0x70); db(0x00); db(0x27); db(0x40);
+ db(0x00); db(0x08); db(0x27); db(0x40); db(0x00); db(0x10); db(0x27); db(0x40);
+ db(0x00); db(0x20); db(0x4a); db(0xa9); db(0x01); db(0x94); db(0x67); db(0x28);
+ db(0x20); db(0x69); db(0x01); db(0x94); db(0x61); db(0x00); db(0xfc); db(0x0a);
+ db(0x48); db(0xe7); db(0x80); db(0xc0); db(0x20); db(0x29); db(0x01); db(0x90);
+ db(0x22); db(0x69); db(0x01); db(0x94); db(0x2c); db(0x78); db(0x00); db(0x04);
+ db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x4c); db(0xdf); db(0x03); db(0x01);
+ db(0x4a); db(0x80); db(0x67); db(0x04); db(0x61); db(0x00); db(0xfb); db(0x94);
+ db(0x4a); db(0x83); db(0x6b); db(0x00); db(0xfa); db(0x96); db(0x30); db(0x3c);
+ db(0xff); db(0x18); db(0x61); db(0x00); db(0x02); db(0x72); db(0x4e); db(0x90);
+ db(0x20); db(0x03); db(0x16); db(0x29); db(0x00); db(0x4f); db(0x4a); db(0x80);
+ db(0x66); db(0x1a); db(0x27); db(0x7c); db(0x00); db(0x00); db(0x0f); db(0xa0);
+ db(0x00); db(0x14); db(0x43); db(0xfa); db(0xf9); db(0xa0); db(0x20); db(0x09);
+ db(0xe4); db(0x88); db(0x27); db(0x40); db(0x00); db(0x20); db(0x70); db(0xff);
+ db(0x27); db(0x40); db(0x00); db(0x24); db(0x4a); db(0x87); db(0x67); db(0x36);
+ db(0x2c); db(0x78); db(0x00); db(0x04); db(0x70); db(0x14); db(0x72); db(0x00);
+ db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x22); db(0x40); db(0x70); db(0x00);
+ db(0x22); db(0x80); db(0x23); db(0x40); db(0x00); db(0x04); db(0x33); db(0x40);
+ db(0x00); db(0x0e); db(0x30); db(0x3c); db(0x10); db(0x00); db(0x80); db(0x03);
+ db(0x33); db(0x40); db(0x00); db(0x08); db(0x23); db(0x6d); db(0x01); db(0x04);
+ db(0x00); db(0x0a); db(0x23); db(0x4b); db(0x00); db(0x10); db(0x41); db(0xec);
+ db(0x00); db(0x4a); db(0x4e); db(0xee); db(0xfe); db(0xf2); db(0x20); db(0x4b);
+ db(0x72); db(0x00); db(0x22); db(0x41); db(0x70); db(0xff); db(0x2c); db(0x4c);
+ db(0x4e); db(0xee); db(0xff); db(0x6a); db(0x2c); db(0x78); db(0x00); db(0x04);
+ db(0x93); db(0xc9); db(0x4e); db(0xae); db(0xfe); db(0xda); db(0x20); db(0x40);
+ db(0x4b); db(0xe8); db(0x00); db(0x5c); db(0x43); db(0xfa); db(0x05); db(0x58);
+ db(0x70); db(0x00); db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x24); db(0x40);
+ db(0x20); db(0x3c); db(0x00); db(0x00); db(0x00); db(0xb5); db(0x22); db(0x3c);
+ db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a);
+ db(0x26); db(0x40); db(0x7c); db(0x00); db(0x26); db(0x86); db(0x27); db(0x46);
+ db(0x00); db(0x04); db(0x27); db(0x46); db(0x00); db(0x08); db(0x27); db(0x4a);
+ db(0x00); db(0xa0); db(0x93); db(0xc9); db(0x4e); db(0xae); db(0xfe); db(0xda);
+ db(0x27); db(0x40); db(0x00); db(0xb0); db(0x61); db(0x00); db(0x02); db(0x98);
+ db(0x27); db(0x40); db(0x00); db(0xa4); db(0x61); db(0x00); db(0x02); db(0xc4);
+ db(0x27); db(0x40); db(0x00); db(0xa8); db(0x7a); db(0x00); db(0x20); db(0x4d);
db(0x4e); db(0xae); db(0xfe); db(0x80); db(0x20); db(0x4d); db(0x4e); db(0xae);
db(0xfe); db(0x8c); db(0x28); db(0x40); db(0x26); db(0x2c); db(0x00); db(0x0a);
- db(0x30); db(0x3c); db(0xff); db(0x40); db(0x61); db(0x00); db(0x01); db(0x5a);
- db(0x70); db(0x00); db(0x4e); db(0x90); db(0x61); db(0x00); db(0x02); db(0x8a);
- db(0x60); db(0x00); db(0x00); db(0xda); db(0x61); db(0x00); db(0x02); db(0x82);
- db(0x20); db(0x4d); db(0x4e); db(0xae); db(0xfe); db(0x80); db(0x20); db(0x4d);
- db(0x4e); db(0xae); db(0xfe); db(0x8c); db(0x28); db(0x40); db(0x0c); db(0x6c);
- db(0x00); db(0x26); db(0x00); db(0x12); db(0x66); db(0x4a); db(0x0c); db(0xac);
- db(0x40); db(0x00); db(0x00); db(0x00); db(0x00); db(0x14); db(0x66); db(0x40);
- db(0x0c); db(0x6c); db(0x12); db(0x34); db(0x00); db(0x18); db(0x66); db(0x38);
- db(0x20); db(0x6c); db(0x00); db(0x1a); db(0x20); db(0x28); db(0x00); db(0x0c);
- db(0x02); db(0x80); db(0x80); db(0x00); db(0x00); db(0x08); db(0x0c); db(0x80);
- db(0x80); db(0x00); db(0x00); db(0x08); db(0x66); db(0x18); db(0x02); db(0xa8);
- db(0x7f); db(0xff); db(0xff); db(0xff); db(0x00); db(0x0c); db(0x20); db(0x68);
- db(0x00); db(0x10); db(0x22); db(0x4c); db(0x12); db(0xbc); db(0x00); db(0x08);
- db(0x4e); db(0xae); db(0xfe); db(0x92); db(0x60); db(0xa6); db(0x22); db(0x4c);
- db(0x70); db(0x26); db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x60); db(0x9c);
- db(0x26); db(0x2c); db(0x00); db(0x0a); db(0x66); db(0x3e); db(0x30); db(0x3c);
- db(0xff); db(0x50); db(0x61); db(0x00); db(0x00); db(0xdc); db(0x70); db(0x01);
- db(0x4e); db(0x90); db(0x45); db(0xeb); db(0x00); db(0x04); db(0x20); db(0x52);
- db(0x20); db(0x08); db(0x67); db(0x00); db(0xff); db(0x80); db(0x22); db(0x50);
- db(0x20); db(0x40); db(0x20); db(0x28); db(0x00); db(0x04); db(0x6a); db(0x16);
- db(0x48); db(0xe7); db(0x00); db(0xc0); db(0x28); db(0x68); db(0x00); db(0x0a);
- db(0x61); db(0x4a); db(0x53); db(0x85); db(0x4c); db(0xdf); db(0x03); db(0x00);
- db(0x24); db(0x89); db(0x20); db(0x49); db(0x60); db(0xda); db(0x24); db(0x48);
- db(0x20); db(0x49); db(0x60); db(0xd4); db(0x0c); db(0x85); db(0x00); db(0x00);
- db(0x00); db(0x14); db(0x65); db(0x00); db(0x00); db(0x0a); db(0x70); db(0x01);
- db(0x29); db(0x40); db(0x00); db(0x04); db(0x60); db(0x12); db(0x61); db(0x32);
- db(0x30); db(0x3c); db(0xff); db(0x30); db(0x61); db(0x00); db(0x00); db(0x8a);
- db(0x4e); db(0x90); db(0x4a); db(0x80); db(0x67); db(0x0e); db(0x52); db(0x85);
- db(0x28); db(0xab); db(0x00); db(0x04); db(0x27); db(0x4c); db(0x00); db(0x04);
- db(0x60); db(0x00); db(0xff); db(0x2a); db(0x28); db(0x43); db(0x61); db(0x04);
- db(0x60); db(0x00); db(0xff); db(0x22); db(0x22); db(0x54); db(0x20); db(0x6c);
- db(0x00); db(0x04); db(0x29); db(0x4d); db(0x00); db(0x04); db(0x4e); db(0xee);
- db(0xfe); db(0x92); db(0x2f); db(0x05); db(0x7a); db(0xfc); db(0x24); db(0x53);
- db(0x2e); db(0x0a); db(0x22); db(0x0a); db(0x67); db(0x00); db(0x00); db(0x0c);
- db(0x52); db(0x85); db(0x67); db(0x1e); db(0x22); db(0x4a); db(0x24); db(0x52);
- db(0x60); db(0xf0); db(0x52); db(0x85); db(0x67); db(0x3c); db(0x24); db(0x47);
- db(0x70); db(0x18); db(0x72); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a);
- db(0x52); db(0x46); db(0x24); db(0x40); db(0x24); db(0x87); db(0x2e); db(0x0a);
- db(0x60); db(0xe8); db(0x20); db(0x12); db(0x67); db(0x24); db(0x20); db(0x40);
- db(0x20); db(0x10); db(0x67); db(0x1e); db(0x20); db(0x40); db(0x20); db(0x10);
- db(0x67); db(0x18); db(0x70); db(0x00); db(0x22); db(0x80); db(0x22); db(0x4a);
- db(0x24); db(0x51); db(0x70); db(0x18); db(0x4e); db(0xae); db(0xff); db(0x2e);
- db(0x06); db(0x86); db(0x00); db(0x01); db(0x00); db(0x00); db(0x20); db(0x0a);
- db(0x66); db(0xec); db(0x26); db(0x87); db(0x2a); db(0x1f); db(0x4e); db(0x75);
- db(0x41); db(0xfa); db(0xf9); db(0x52); db(0x02); db(0x80); db(0x00); db(0x00);
- db(0xff); db(0xff); db(0xd1); db(0xc0); db(0x4e); db(0x75); db(0x00); db(0x00);
- db(0x0c); db(0xaf); db(0x00); db(0x00); db(0x00); db(0x22); db(0x00); db(0x08);
- db(0x66); db(0x30); db(0x48); db(0xe7); db(0xc0); db(0xe2); db(0x2c); db(0x78);
- db(0x00); db(0x04); db(0x93); db(0xc9); db(0x4e); db(0xae); db(0xfe); db(0xda);
- db(0x24); db(0x40); db(0x22); db(0x4a); db(0x70); db(0xec); db(0x4e); db(0xae);
- db(0xfe); db(0xd4); db(0x41); db(0xfa); db(0xff); db(0xda); db(0x32); db(0x10);
- db(0xb2); db(0x50); db(0x67); db(0xfc); db(0x22); db(0x4a); db(0x4e); db(0xae);
- db(0xfe); db(0xd4); db(0x72); db(0x01); db(0x4c); db(0xdf); db(0x47); db(0x03);
- db(0x58); db(0x8f); db(0x4e); db(0x75); db(0x20); db(0x88); db(0x58); db(0x90);
- db(0x42); db(0xa8); db(0x00); db(0x04); db(0x21); db(0x48); db(0x00); db(0x08);
- db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x20); db(0x22); db(0x2c); db(0x79);
- db(0x00); db(0x00); db(0x00); db(0x04); db(0x70); db(0xff); db(0x4e); db(0xae);
- db(0xfe); db(0xb6); db(0x91); db(0xc8); db(0x24); db(0x00); db(0x6b); db(0x32);
- db(0x70); db(0x22); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01);
- db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x91); db(0xc8); db(0x24); db(0x40);
- db(0x4a); db(0x80); db(0x67); db(0x1e); db(0x15); db(0x7c); db(0x00); db(0x04);
- db(0x00); db(0x08); db(0x15); db(0x42); db(0x00); db(0x0f); db(0x93); db(0xc9);
- db(0x4e); db(0xae); db(0xfe); db(0xda); db(0x25); db(0x40); db(0x00); db(0x10);
- db(0x41); db(0xea); db(0x00); db(0x14); db(0x61); db(0x00); db(0xff); db(0xae);
- db(0x20); db(0x4a); db(0x20); db(0x08); db(0x4c); db(0xdf); db(0x44); db(0x04);
- db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x20); db(0x22); db(0x2c); db(0x79);
- db(0x00); db(0x00); db(0x00); db(0x04); db(0x4a); db(0x80); db(0x67); db(0x20);
- db(0x24); db(0x40); db(0x74); db(0x30); db(0x20); db(0x02); db(0x22); db(0x3c);
- db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a);
- db(0x20); db(0x40); db(0x11); db(0x7c); db(0x00); db(0x0a); db(0x00); db(0x08);
- db(0x21); db(0x42); db(0x00); db(0x12); db(0x21); db(0x4a); db(0x00); db(0x0e);
+ db(0x30); db(0x3c); db(0xff); db(0x40); db(0x61); db(0x00); db(0x01); db(0x90);
+ db(0x70); db(0x00); db(0x4e); db(0x90); db(0x61); db(0x00); db(0xfc); db(0x7c);
+ db(0x61); db(0x00); db(0x03); db(0x26); db(0x60); db(0x00); db(0x01); db(0x0c);
+ db(0x61); db(0x00); db(0x03); db(0x1e); db(0x20); db(0x4d); db(0x4e); db(0xae);
+ db(0xfe); db(0x8c); db(0x28); db(0x40); db(0x4a); db(0x80); db(0x66); db(0x10);
+ db(0x70); db(0x00); db(0x12); db(0x2d); db(0x00); db(0x0f); db(0x03); db(0xc0);
+ db(0x08); db(0xc0); db(0x00); db(0x11); db(0x4e); db(0xae); db(0xfe); db(0xc2);
+ db(0x4a); db(0x2b); db(0x00); db(0xac); db(0x67); db(0x08); db(0x61); db(0x00);
+ db(0xfd); db(0xf8); db(0x42); db(0x2b); db(0x00); db(0xac); db(0x20); db(0x0c);
+ db(0x67); db(0xce); db(0x0c); db(0x6c); db(0x00); db(0x26); db(0x00); db(0x12);
+ db(0x66); db(0x4c); db(0x0c); db(0xac); db(0x40); db(0x00); db(0x00); db(0x00);
+ db(0x00); db(0x14); db(0x66); db(0x42); db(0x0c); db(0x6c); db(0x12); db(0x34);
+ db(0x00); db(0x18); db(0x66); db(0x3a); db(0x20); db(0x6c); db(0x00); db(0x1a);
+ db(0x20); db(0x28); db(0x00); db(0x0c); db(0x02); db(0x80); db(0x80); db(0x00);
+ db(0x00); db(0x08); db(0x0c); db(0x80); db(0x80); db(0x00); db(0x00); db(0x08);
+ db(0x66); db(0x18); db(0x02); db(0xa8); db(0x7f); db(0xff); db(0xff); db(0xff);
+ db(0x00); db(0x0c); db(0x20); db(0x68); db(0x00); db(0x10); db(0x22); db(0x4c);
+ db(0x12); db(0xbc); db(0x00); db(0x08); db(0x4e); db(0xae); db(0xfe); db(0x92);
+ db(0x60); db(0x86); db(0x22); db(0x4c); db(0x70); db(0x26); db(0x4e); db(0xae);
+ db(0xff); db(0x2e); db(0x60); db(0x00); db(0xff); db(0x7c); db(0x26); db(0x2c);
+ db(0x00); db(0x0a); db(0x66); db(0x3e); db(0x30); db(0x3c); db(0xff); db(0x50);
+ db(0x61); db(0x00); db(0x00); db(0xec); db(0x70); db(0x01); db(0x4e); db(0x90);
+ db(0x45); db(0xeb); db(0x00); db(0x04); db(0x20); db(0x52); db(0x20); db(0x08);
+ db(0x67); db(0x00); db(0xff); db(0x5e); db(0x22); db(0x50); db(0x20); db(0x40);
+ db(0x20); db(0x28); db(0x00); db(0x04); db(0x6a); db(0x16); db(0x48); db(0xe7);
+ db(0x00); db(0xc0); db(0x28); db(0x68); db(0x00); db(0x0a); db(0x61); db(0x5a);
+ db(0x53); db(0x85); db(0x4c); db(0xdf); db(0x03); db(0x00); db(0x24); db(0x89);
+ db(0x20); db(0x49); db(0x60); db(0xda); db(0x24); db(0x48); db(0x20); db(0x49);
+ db(0x60); db(0xd4); db(0x0c); db(0x85); db(0x00); db(0x00); db(0x00); db(0x14);
+ db(0x65); db(0x00); db(0x00); db(0x0a); db(0x70); db(0x01); db(0x29); db(0x40);
+ db(0x00); db(0x04); db(0x60); db(0x12); db(0x61); db(0x42); db(0x30); db(0x3c);
+ db(0xff); db(0x30); db(0x61); db(0x00); db(0x00); db(0x9a); db(0x4e); db(0x90);
+ db(0x4a); db(0x80); db(0x67); db(0x0e); db(0x52); db(0x85); db(0x28); db(0xab);
+ db(0x00); db(0x04); db(0x27); db(0x4c); db(0x00); db(0x04); db(0x60); db(0x00);
+ db(0xff); db(0x08); db(0x20); db(0x43); db(0x0c); db(0xa8); db(0x00); db(0x00);
+ db(0x00); db(0x1f); db(0x00); db(0x08); db(0x66); db(0xf4); db(0x61); db(0x00);
+ db(0xfd); db(0x02); db(0x28); db(0x43); db(0x61); db(0x04); db(0x60); db(0x00);
+ db(0xfe); db(0xf0); db(0x22); db(0x54); db(0x20); db(0x6c); db(0x00); db(0x04);
+ db(0x29); db(0x4d); db(0x00); db(0x04); db(0x4e); db(0xee); db(0xfe); db(0x92);
+ db(0x2f); db(0x05); db(0x7a); db(0xfc); db(0x24); db(0x53); db(0x2e); db(0x0a);
+ db(0x22); db(0x0a); db(0x67); db(0x00); db(0x00); db(0x0c); db(0x52); db(0x85);
+ db(0x67); db(0x1e); db(0x22); db(0x4a); db(0x24); db(0x52); db(0x60); db(0xf0);
+ db(0x52); db(0x85); db(0x67); db(0x3c); db(0x24); db(0x47); db(0x70); db(0x18);
+ db(0x72); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x52); db(0x46);
+ db(0x24); db(0x40); db(0x24); db(0x87); db(0x2e); db(0x0a); db(0x60); db(0xe8);
+ db(0x20); db(0x12); db(0x67); db(0x24); db(0x20); db(0x40); db(0x20); db(0x10);
+ db(0x67); db(0x1e); db(0x20); db(0x40); db(0x20); db(0x10); db(0x67); db(0x18);
+ db(0x70); db(0x00); db(0x22); db(0x80); db(0x22); db(0x4a); db(0x24); db(0x51);
+ db(0x70); db(0x18); db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x06); db(0x86);
+ db(0x00); db(0x01); db(0x00); db(0x00); db(0x20); db(0x0a); db(0x66); db(0xec);
+ db(0x26); db(0x87); db(0x2a); db(0x1f); db(0x4e); db(0x75); db(0x41); db(0xfa);
+ db(0xf7); db(0x3c); db(0x02); db(0x80); db(0x00); db(0x00); db(0xff); db(0xff);
+ db(0xd1); db(0xc0); db(0x4e); db(0x75); db(0x00); db(0x00); db(0x0c); db(0xaf);
+ db(0x00); db(0x00); db(0x00); db(0x22); db(0x00); db(0x08); db(0x66); db(0x30);
+ db(0x48); db(0xe7); db(0xc0); db(0xe2); db(0x2c); db(0x78); db(0x00); db(0x04);
+ db(0x93); db(0xc9); db(0x4e); db(0xae); db(0xfe); db(0xda); db(0x24); db(0x40);
+ db(0x22); db(0x4a); db(0x70); db(0xec); db(0x4e); db(0xae); db(0xfe); db(0xd4);
+ db(0x41); db(0xfa); db(0xff); db(0xda); db(0x32); db(0x10); db(0xb2); db(0x50);
+ db(0x67); db(0xfc); db(0x22); db(0x4a); db(0x4e); db(0xae); db(0xfe); db(0xd4);
+ db(0x72); db(0x01); db(0x4c); db(0xdf); db(0x47); db(0x03); db(0x58); db(0x8f);
+ db(0x4e); db(0x75); db(0x20); db(0x88); db(0x58); db(0x90); db(0x42); db(0xa8);
+ db(0x00); db(0x04); db(0x21); db(0x48); db(0x00); db(0x08); db(0x4e); db(0x75);
+ db(0x48); db(0xe7); db(0x20); db(0x22); db(0x2c); db(0x79); db(0x00); db(0x00);
+ db(0x00); db(0x04); db(0x70); db(0xff); db(0x4e); db(0xae); db(0xfe); db(0xb6);
+ db(0x91); db(0xc8); db(0x24); db(0x00); db(0x6b); db(0x32); db(0x70); db(0x22);
+ db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae);
+ db(0xff); db(0x3a); db(0x91); db(0xc8); db(0x24); db(0x40); db(0x4a); db(0x80);
+ db(0x67); db(0x1e); db(0x15); db(0x7c); db(0x00); db(0x04); db(0x00); db(0x08);
+ db(0x15); db(0x42); db(0x00); db(0x0f); db(0x93); db(0xc9); db(0x4e); db(0xae);
+ db(0xfe); db(0xda); db(0x25); db(0x40); db(0x00); db(0x10); db(0x41); db(0xea);
+ db(0x00); db(0x14); db(0x61); db(0x00); db(0xff); db(0xae); db(0x20); db(0x4a);
+ db(0x20); db(0x08); db(0x4c); db(0xdf); db(0x44); db(0x04); db(0x4e); db(0x75);
+ db(0x48); db(0xe7); db(0x20); db(0x22); db(0x2c); db(0x79); db(0x00); db(0x00);
+ db(0x00); db(0x04); db(0x4a); db(0x80); db(0x67); db(0x20); db(0x24); db(0x40);
+ db(0x74); db(0x30); db(0x20); db(0x02); db(0x22); db(0x3c); db(0x00); db(0x01);
+ db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x20); db(0x40);
+ db(0x11); db(0x7c); db(0x00); db(0x0a); db(0x00); db(0x08); db(0x21); db(0x42);
+ db(0x00); db(0x12); db(0x21); db(0x4a); db(0x00); db(0x0e); db(0x4a); db(0x80);
db(0x4c); db(0xdf); db(0x44); db(0x04); db(0x4e); db(0x75); db(0x48); db(0xe7);
+ db(0x00); db(0x22); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x61); db(0x00);
+ db(0xff); db(0x70); db(0x61); db(0x00); db(0xff); db(0xbc); db(0x67); db(0x1a);
+ db(0x22); db(0x40); db(0x24); db(0x40); db(0x41); db(0xfa); db(0x02); db(0x38);
+ db(0x70); db(0x00); db(0x72); db(0x00); db(0x4e); db(0xae); db(0xfe); db(0x44);
+ db(0x22); db(0x00); db(0x70); db(0x00); db(0x4a); db(0x81); db(0x66); db(0x02);
+ db(0x20); db(0x0a); db(0x4a); db(0x80); db(0x4c); db(0xdf); db(0x44); db(0x00);
+ db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x00); db(0x22); db(0x2c); db(0x78);
+ db(0x00); db(0x04); db(0x61); db(0x00); db(0xff); db(0x3c); db(0x61); db(0x00);
+ db(0xff); db(0x88); db(0x67); db(0x1a); db(0x24); db(0x40); db(0x22); db(0x40);
+ db(0x41); db(0xfa); db(0x02); db(0x11); db(0x70); db(0x00); db(0x72); db(0x00);
+ db(0x4e); db(0xae); db(0xfe); db(0x44); db(0x22); db(0x00); db(0x70); db(0x00);
+ db(0x4a); db(0x81); db(0x66); db(0x02); db(0x20); db(0x0a); db(0x4a); db(0x80);
+ db(0x4c); db(0xdf); db(0x44); db(0x00); db(0x4e); db(0x75); db(0x48); db(0xe7);
db(0x30); db(0x32); db(0x2c); db(0x79); db(0x00); db(0x00); db(0x00); db(0x04);
db(0x24); db(0x08); db(0x26); db(0x09); db(0x20); db(0x3c); db(0x00); db(0x00);
db(0x08); db(0x5c); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01);
db(0x4e); db(0x75); db(0x00); db(0x00); db(0x00); db(0x00); db(0x00); db(0x00);
db(0x2f); db(0x08); db(0x4a); db(0x2b); db(0x00); db(0x9d); db(0x66); db(0x24);
db(0x41); db(0xfa); db(0xff); db(0xf0); db(0x0c); db(0x10); db(0x00); db(0x01);
- db(0x66); db(0x1a); db(0x41); db(0xfa); db(0x01); db(0xc4); db(0x43); db(0xfa);
+ db(0x66); db(0x1a); db(0x41); db(0xfa); db(0x01); db(0x94); db(0x43); db(0xfa);
db(0x00); db(0x18); db(0x61); db(0x00); db(0xff); db(0x8a); db(0x50); db(0xeb);
db(0x00); db(0x9d); db(0x30); db(0x3c); db(0xff); db(0x38); db(0x61); db(0x00);
- db(0xfe); db(0xa0); db(0x4e); db(0x90); db(0x20); db(0x5f); db(0x4e); db(0x75);
+ db(0xfe); db(0x36); db(0x4e); db(0x90); db(0x20); db(0x5f); db(0x4e); db(0x75);
db(0x2c); db(0x79); db(0x00); db(0x00); db(0x00); db(0x04); db(0x70); db(0xff);
db(0x4e); db(0xae); db(0xfe); db(0xb6); db(0x74); db(0x00); db(0x01); db(0xc2);
db(0x93); db(0xc9); db(0x4e); db(0xae); db(0xfe); db(0xda); db(0x28); db(0x40);
db(0x70); db(0x14); db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0xd4);
- db(0x70); db(0x00); db(0x43); db(0xfa); db(0x01); db(0xae); db(0x4e); db(0xae);
+ db(0x70); db(0x00); db(0x43); db(0xfa); db(0x01); db(0x7e); db(0x4e); db(0xae);
db(0xfd); db(0xd8); db(0x2e); db(0x00); db(0x70); db(0x00); db(0x30); db(0x3c);
db(0x00); db(0x44); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01);
db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x2a); db(0x40); db(0x61); db(0x00);
- db(0xfe); db(0xb2); db(0x61); db(0x00); db(0xfe); db(0xfe); db(0x2b); db(0x40);
- db(0x00); db(0x3c); db(0x67); db(0x00); db(0x00); db(0x7a); db(0x22); db(0x40);
- db(0x41); db(0xfa); db(0x01); db(0x3c); db(0x70); db(0x00); db(0x72); db(0x00);
- db(0x4e); db(0xae); db(0xfe); db(0x44); db(0x4a); db(0x80); db(0x66); db(0x00);
- db(0x00); db(0x66); db(0x61); db(0x00); db(0xfe); db(0x8e); db(0x61); db(0x00);
- db(0xfe); db(0xda); db(0x2b); db(0x40); db(0x00); db(0x40); db(0x67); db(0x00);
- db(0x00); db(0x56); db(0x22); db(0x40); db(0x41); db(0xfa); db(0x01); db(0x25);
- db(0x70); db(0x00); db(0x72); db(0x00); db(0x4e); db(0xae); db(0xfe); db(0x44);
- db(0x4a); db(0x80); db(0x66); db(0x00); db(0x00); db(0x42); db(0x47); db(0xed);
+ db(0xfe); db(0xce); db(0x2b); db(0x40); db(0x00); db(0x3c); db(0x67); db(0x00);
+ db(0x00); db(0x4e); db(0x61); db(0x00); db(0xfe); db(0xf6); db(0x2b); db(0x40);
+ db(0x00); db(0x40); db(0x67); db(0x00); db(0x00); db(0x42); db(0x47); db(0xed);
db(0x00); db(0x16); db(0x27); db(0x4c); db(0x00); db(0x0c); db(0x27); db(0x42);
db(0x00); db(0x08); db(0x70); db(0xff); db(0x26); db(0x80); db(0x27); db(0x40);
db(0x00); db(0x04); db(0x43); db(0xed); db(0x00); db(0x00); db(0x13); db(0x7c);
db(0x22); db(0x6d); db(0x00); db(0x40); db(0x25); db(0x69); db(0x00); db(0x20);
db(0x00); db(0x0e); db(0x25); db(0x69); db(0x00); db(0x24); db(0x00); db(0x12);
db(0x22); db(0x6d); db(0x00); db(0x3c); db(0x4e); db(0xae); db(0xfe); db(0x38);
- db(0x60); db(0x00); db(0xff); db(0x76); db(0x30); db(0x3a); db(0xfe); db(0x76);
- db(0x48); db(0xc0); db(0x32); db(0x3a); db(0xfe); db(0x72); db(0x48); db(0xc1);
+ db(0x60); db(0x00); db(0xff); db(0x76); db(0x30); db(0x3a); db(0xfe); db(0xa6);
+ db(0x48); db(0xc0); db(0x32); db(0x3a); db(0xfe); db(0xa2); db(0x48); db(0xc1);
db(0xb0); db(0x91); db(0x66); db(0x00); db(0x00); db(0x0a); db(0xb2); db(0xa9);
db(0x00); db(0x04); db(0x67); db(0x00); db(0x00); db(0x18); db(0x23); db(0x41);
db(0x00); db(0x04); db(0x22); db(0x80); db(0x20); db(0x29); db(0x00); db(0x08);
#define DEBUG_FPP 0
-STATIC_INLINE int isfpu(struct regstruct *regs)
-{
- if (regs->pcr & 2)
- return FALSE;
- if (currprefs.fpu_model <= 0)
- return FALSE;
- return TRUE;
-}
-
STATIC_INLINE int isinrom (void)
{
return (munge24 (m68k_getpc (®s)) & 0xFFF80000) == 0xF80000;
}
-static void fpu_op_illg (uae_u32 opcode, struct regstruct *regs, int pcoffset)
-{
- if ((currprefs.cpu_model == 68060 && (currprefs.fpu_model == 0 || (regs->pcr & 2)))
- || (currprefs.cpu_model == 68040 && currprefs.fpu_model == 0)) {
- /* 68040 unimplemented/68060 FPU disabled exception.
- * Line F exception with different stack frame.. */
- uaecptr newpc = m68k_getpc(regs);
- uaecptr oldpc = newpc - pcoffset;
- MakeSR(regs);
- if (!regs->s) {
- regs->usp = m68k_areg(regs, 7);
- m68k_areg(regs, 7) = regs->isp;
- }
- regs->s = 1;
- m68k_areg(regs, 7) -= 4;
- put_long (m68k_areg(regs, 7), oldpc);
- m68k_areg(regs, 7) -= 4;
- put_long (m68k_areg(regs, 7), oldpc);
- m68k_areg(regs, 7) -= 2;
- put_word (m68k_areg(regs, 7), 0x4000 + 11 * 4);
- m68k_areg(regs, 7) -= 4;
- put_long (m68k_areg(regs, 7), newpc);
- m68k_areg(regs, 7) -= 2;
- put_word (m68k_areg(regs, 7), regs->sr);
- write_log("68040/060 FPU disabled exception PC=%x\n", newpc);
- newpc = get_long (regs->vbr + 11 * 4);
- m68k_setpc(regs, newpc);
- set_special(regs, SPCFLAG_END_COMPILE);
- return;
- }
- op_illg (opcode, regs);
-}
-
static uae_u32 xhex_pi[] ={0x2168c235, 0xc90fdaa2, 0x4000};
uae_u32 xhex_exp_1[] ={0xa2bb4a9a, 0xadf85458, 0x4000};
static uae_u32 xhex_l2_e[] ={0x5c17f0bc, 0xb8aa3b29, 0x3fff};
typedef uae_s32 tointtype;
#endif
+static void fpu_op_illg (uae_u32 opcode, struct regstruct *regs, int pcoffset)
+{
+ if ((currprefs.cpu_model == 68060 && (currprefs.fpu_model == 0 || (regs->pcr & 2)))
+ || (currprefs.cpu_model == 68040 && currprefs.fpu_model == 0)) {
+ /* 68040 unimplemented/68060 FPU disabled exception.
+ * Line F exception with different stack frame.. */
+ uaecptr newpc = m68k_getpc(regs);
+ uaecptr oldpc = newpc - pcoffset;
+ MakeSR(regs);
+ if (!regs->s) {
+ regs->usp = m68k_areg(regs, 7);
+ m68k_areg(regs, 7) = regs->isp;
+ }
+ regs->s = 1;
+ m68k_areg(regs, 7) -= 4;
+ put_long (m68k_areg(regs, 7), oldpc);
+ m68k_areg(regs, 7) -= 4;
+ put_long (m68k_areg(regs, 7), oldpc);
+ m68k_areg(regs, 7) -= 2;
+ put_word (m68k_areg(regs, 7), 0x4000 + 11 * 4);
+ m68k_areg(regs, 7) -= 4;
+ put_long (m68k_areg(regs, 7), newpc);
+ m68k_areg(regs, 7) -= 2;
+ put_word (m68k_areg(regs, 7), regs->sr);
+ write_log("68040/060 FPU disabled exception PC=%x\n", newpc);
+ newpc = get_long (regs->vbr + 11 * 4);
+ m68k_setpc(regs, newpc);
+ set_special(regs, SPCFLAG_END_COMPILE);
+ return;
+ }
+ op_illg (opcode, regs);
+}
+
+STATIC_INLINE int fault_if_no_fpu(uae_u32 opcode, struct regstruct *regs, int pcoffset)
+{
+ if ((regs->pcr & 2) || currprefs.fpu_model <= 0) {
+ fpu_op_illg (opcode, regs, pcoffset);
+ return 1;
+ }
+ return 0;
+}
+
static int get_fpu_version(void)
{
int v = 0;
+
if (currprefs.fpu_revision >= 0)
return currprefs.fpu_revision;
switch (currprefs.fpu_model)
void fpuop_dbcc (uae_u32 opcode, struct regstruct *regs, uae_u16 extra)
{
uaecptr pc = (uae_u32) m68k_getpc (regs);
- uae_s32 disp = (uae_s32) (uae_s16) next_iword (regs);
+ uae_s32 disp;
int cc;
#if DEBUG_FPP
if (!isinrom ())
write_log ("fdbcc_opp at %08lx\n", m68k_getpc (regs));
#endif
+ if (fault_if_no_fpu (opcode, regs, 4))
+ return;
+
+ disp = (uae_s32) (uae_s16) next_iword (regs);
cc = fpp_cond (opcode, extra & 0x3f);
- if (cc == -1 || !isfpu(regs)) {
+ if (cc == -1) {
fpu_op_illg (opcode, regs, 4);
} else if (!cc) {
int reg = opcode & 0x7;
if (!isinrom ())
write_log ("fscc_opp at %08lx\n", m68k_getpc (regs));
#endif
+ if (fault_if_no_fpu (opcode, regs, 4))
+ return;
cc = fpp_cond (opcode, extra & 0x3f);
- if (cc == -1 || !isfpu(regs)) {
+ if (cc == -1) {
fpu_op_illg (opcode, regs, 4);
} else if ((opcode & 0x38) == 0) {
m68k_dreg (regs, opcode & 7) = (m68k_dreg (regs, opcode & 7) & ~0xff) | (cc ? 0xff : 0x00);
if (!isinrom ())
write_log ("ftrapcc_opp at %08lx\n", m68k_getpc (regs));
#endif
+ if (fault_if_no_fpu (opcode, regs, m68k_getpc(regs) - oldpc))
+ return;
+
cc = fpp_cond (opcode, opcode & 0x3f);
- if (cc == -1 || !isfpu(regs)) {
+ if (cc == -1) {
fpu_op_illg (opcode, regs, m68k_getpc(regs) - oldpc);
}
if (cc)
if (!isinrom ())
write_log ("fbcc_opp at %08lx\n", m68k_getpc (regs));
#endif
+ if (fault_if_no_fpu (opcode, regs, m68k_getpc(regs) - pc))
+ return;
+
cc = fpp_cond (opcode, opcode & 0x3f);
- if (cc == -1 || !isfpu(regs)) {
+ if (cc == -1) {
fpu_op_illg (opcode, regs, m68k_getpc(regs) - pc);
} else if (cc) {
if ((opcode & 0x40) == 0)
if (!isinrom ())
write_log ("fsave_opp at %08lx\n", m68k_getpc (regs));
#endif
- if (!isfpu (regs) || get_fp_ad (opcode, &ad) == 0) {
+ if (fault_if_no_fpu (opcode, regs, 2))
+ return;
+
+ if (get_fp_ad (opcode, &ad) == 0) {
fpu_op_illg (opcode, regs, 2);
return;
}
if (!isinrom ())
write_log ("frestore_opp at %08lx\n", m68k_getpc (regs));
#endif
- if (!isfpu(regs) || get_fp_ad (opcode, &ad) == 0) {
+ if (fault_if_no_fpu (opcode, regs, 2))
+ return;
+
+ if (get_fp_ad (opcode, &ad) == 0) {
fpu_op_illg (opcode, regs, 2);
return;
}
if (!isinrom ())
write_log ("FPP %04lx %04x at %08lx\n", opcode & 0xffff, extra, m68k_getpc (regs) - 4);
#endif
- if (!isfpu(regs)) {
- m68k_setpc (regs, m68k_getpc (regs) - 4);
- fpu_op_illg (opcode, regs, 4);
+ if (fault_if_no_fpu (opcode, regs, 4))
return;
- }
switch ((extra >> 13) & 0x7) {
changed_prefs.fpu_model = currprefs.fpu_model = restore_u32();
flags = restore_u32 ();
- changed_prefs.cpu_level = currprefs.cpu_level;
for (i = 0; i < 8; i++) {
uae_u32 w1 = restore_u32 ();
uae_u32 w2 = restore_u32 ();
addr &= 0xffff;
if (MBRES_LOG > 0)
- write_log ("MBRES_WRITE %08X=%08X (%d) PC=%08X\n", addr, val, size, M68K_GETPC);
- if (addr == 0x1002)
- garyidoffset = -1;
- if (addr == 0x03)
- ramsey_config = val;
- if (addr == 0x02)
- gary_coldboot = (val & 0x80) ? 1 : 0;
- if (addr == 0x01)
- gary_toenb = (val & 0x80) ? 1 : 0;
- if (addr == 0x00)
- gary_timeout = (val & 0x80) ? 1 : 0;
+ write_log ("MBRES_WRITE %08X=%08X (%d) PC=%08X S=%d\n", addr, val, size, M68K_GETPC, regs.s);
+ if (regs.s) { /* CPU FC = supervisor only */
+ if (addr == 0x1002)
+ garyidoffset = -1;
+ if (addr == 0x03)
+ ramsey_config = val;
+ if (addr == 0x02)
+ gary_coldboot = (val & 0x80) ? 1 : 0;
+ if (addr == 0x01)
+ gary_toenb = (val & 0x80) ? 1 : 0;
+ if (addr == 0x00)
+ gary_timeout = (val & 0x80) ? 1 : 0;
+ } else {
+ custom_bank.wput (addr, val);
+ }
}
static uae_u32 mbres_read (uaecptr addr, int size)
uae_u32 v = 0;
addr &= 0xffff;
- /* Gary ID (I don't think this exists in real chips..) */
- if (addr == 0x1002 && currprefs.cs_fatgaryrev >= 0) {
- garyidoffset++;
- garyidoffset &= 7;
- v = (currprefs.cs_fatgaryrev << garyidoffset) & 0x80;
- }
- if (addr == 0x43) { /* RAMSEY revision */
- if (currprefs.cs_ramseyrev >= 0)
- v = currprefs.cs_ramseyrev;
- }
- if (addr == 0x03) { /* RAMSEY config */
- if (currprefs.cs_ramseyrev >= 0)
- v = ramsey_config;
- }
- if (addr == 0x02) { /* coldreboot flag */
- if (currprefs.cs_fatgaryrev >= 0)
- v = gary_coldboot ? 0x80 : 0x00;
- }
- if (addr == 0x01) { /* toenb flag */
- if (currprefs.cs_fatgaryrev >= 0)
- v = gary_toenb ? 0x80 : 0x00;
- }
- if (addr == 0x00) { /* timeout flag */
- if (currprefs.cs_fatgaryrev >= 0)
- v = gary_timeout ? 0x80 : 0x00;
+ if (regs.s) { /* CPU FC = supervisor only */
+ /* Gary ID (I don't think this exists in real chips..) */
+ if (addr == 0x1002 && currprefs.cs_fatgaryrev >= 0) {
+ garyidoffset++;
+ garyidoffset &= 7;
+ v = (currprefs.cs_fatgaryrev << garyidoffset) & 0x80;
+ }
+ if (addr == 0x43) { /* RAMSEY revision */
+ if (currprefs.cs_ramseyrev >= 0)
+ v = currprefs.cs_ramseyrev;
+ }
+ if (addr == 0x03) { /* RAMSEY config */
+ if (currprefs.cs_ramseyrev >= 0)
+ v = ramsey_config;
+ }
+ if (addr == 0x02) { /* coldreboot flag */
+ if (currprefs.cs_fatgaryrev >= 0)
+ v = gary_coldboot ? 0x80 : 0x00;
+ }
+ if (addr == 0x01) { /* toenb flag */
+ if (currprefs.cs_fatgaryrev >= 0)
+ v = gary_toenb ? 0x80 : 0x00;
+ }
+ if (addr == 0x00) { /* timeout flag */
+ if (currprefs.cs_fatgaryrev >= 0)
+ v = gary_timeout ? 0x80 : 0x00;
+ }
+ } else {
+ v = custom_bank.wget (addr);
}
if (MBRES_LOG > 0)
- write_log ("MBRES_READ %08X=%08X (%d) PC=%08X\n", addr, v, size, M68K_GETPC);
+ write_log ("MBRES_READ %08X=%08X (%d) PC=%08X S=%d\n", addr, v, size, M68K_GETPC, regs.s);
return v;
}
#endif
if (a_is_on) printf("uae_u32 preva = 0;\n");
if (b_is_on) printf("uae_u32 prevb = 0, srcb = b->bltbhold;\n");
- printf("uae_u32 srcc = b->bltcdat;\n");
+ if (c_is_on) printf("uae_u32 srcc = b->bltcdat;\n");
printf("uae_u32 dstd=0;\n");
printf("uaecptr dstp = 0;\n");
printf("for (j = 0; j < b->vblitsize; j++) {\n");
printf("\tif (ptd) ptd += b->bltdmod;\n");
printf("}\n");
if (b_is_on) printf("b->bltbhold = srcb;\n");
- printf("b->bltcdat = srcc;\n");
+ if (c_is_on) printf("b->bltcdat = srcc;\n");
printf("\t\tif (dstp) chipmem_agnus_wput (dstp, dstd);\n");
#if 0
printf("}\n");
#endif
if (a_is_on) printf("uae_u32 preva = 0;\n");
if (b_is_on) printf("uae_u32 prevb = 0, srcb = b->bltbhold;\n");
- printf("uae_u32 srcc = b->bltcdat;\n");
- printf("uae_u32 dstd=0;\n");
+ if (c_is_on) printf("uae_u32 srcc = b->bltcdat;\n");
+ printf("uae_u32 dstd = 0;\n");
printf("uaecptr dstp = 0;\n");
printf("for (j = 0; j < b->vblitsize; j++) {\n");
printf("\tfor (i = 0; i < b->hblitsize; i++) {\n\t\tuae_u32 bltadat, srca;\n");
printf("\tif (ptd) ptd -= b->bltdmod;\n");
printf("}\n");
if (b_is_on) printf("b->bltbhold = srcb;\n");
- printf("b->bltcdat = srcc;\n");
+ if (c_is_on) printf("b->bltcdat = srcc;\n");
printf("\t\tif (dstp) chipmem_agnus_wput (dstp, dstd);\n");
#if 0
printf("}\n");
#define GF_NOREFILL 8
#define GF_PREFETCH 16
-
/* For the current opcode, the next lower level that will have different code.
* Initialized to -1 for each opcode. If it remains unchanged, indicates we
* are done with that opcode. */
static int *opcode_next_clev;
static int *opcode_last_postfix;
static unsigned long *counts;
+static int generate_stbl;
static void read_counts (void)
{
int nr = 0;
memset (counts, 0, 65536 * sizeof *counts);
- count = 0;
+ count = 0;
file = fopen ("frequent.68k", "r");
if (file) {
fscanf (file, "Total: %lu\n", &total);
while (fscanf (file, "%lx: %lu %s\n", &opcode, &count, name) == 3) {
- opcode_next_clev[nr] = 6;
+ opcode_next_clev[nr] = 5;
opcode_last_postfix[nr] = -1;
opcode_map[nr++] = opcode;
counts[opcode] = count;
if (table68k[opcode].handler == -1 && table68k[opcode].mnemo != i_ILLG
&& counts[opcode] == 0)
{
- opcode_next_clev[nr] = 6;
+ opcode_next_clev[nr] = 5;
opcode_last_postfix[nr] = -1;
opcode_map[nr++] = opcode;
counts[opcode] = count;
return;
if (opcode_next_clev[rp] != cpu_level) {
- fprintf (stblfile, "{ CPUFUNC(op_%04lx_%d), %ld }, /* %s */\n", opcode, opcode_last_postfix[rp],
+ if (generate_stbl)
+ fprintf (stblfile, "{ CPUFUNC(op_%04lx_%d), %ld }, /* %s */\n", opcode, opcode_last_postfix[rp],
opcode, lookuptab[i].name);
return;
}
- if (i68000)
- fprintf (stblfile, "#ifndef CPUEMU_68000_ONLY\n");
- fprintf (stblfile, "{ %sCPUFUNC(op_%04lx_%d), %ld }, /* %s */\n",
- using_ce ? "(cpuop_func*)" : "", opcode, postfix, opcode, lookuptab[i].name);
- if (i68000)
- fprintf (stblfile, "#endif\n");
+ if (generate_stbl) {
+ if (i68000)
+ fprintf (stblfile, "#ifndef CPUEMU_68000_ONLY\n");
+ fprintf (stblfile, "{ %sCPUFUNC(op_%04lx_%d), %ld }, /* %s */\n",
+ using_ce ? "(cpuop_func*)" : "", opcode, postfix, opcode, lookuptab[i].name);
+ if (i68000)
+ fprintf (stblfile, "#endif\n");
+ }
fprintf (headerfile, "extern %s op_%04lx_%d_nf;\n",
using_ce ? "cpuop_func_ce" : "cpuop_func", opcode, postfix);
fprintf (headerfile, "extern %s op_%04lx_%d_ff;\n",
printf ("#endif\n\n");
}
- fprintf (stblfile, "{ 0, 0 }};\n");
+ if (generate_stbl)
+ fprintf (stblfile, "{ 0, 0 }};\n");
}
int main (int argc, char **argv)
postfix2 = -1;
for (i = 0; i < 13; i++) {
postfix = i;
- if (i >= 7 && i < 11)
+ if (i >= 6 && i < 11)
continue;
+ generate_stbl = 1;
if (i == 0 || i == 11 || i == 12) {
- fprintf (stblfile, "#ifdef CPUEMU_%d\n", postfix);
+ if (generate_stbl)
+ fprintf (stblfile, "#ifdef CPUEMU_%d\n", postfix);
postfix2 = postfix;
sprintf (fname, "cpuemu_%d.c", postfix);
freopen (fname, "wb", stdout);
generate_includes (stdout);
}
- cpu_level = 6 - i;
+ cpu_level = 5 - i;
if (i == 11 || i == 12) {
cpu_level = 0;
using_prefetch = 1;
for (rp = 0; rp < nr_cpuop_funcs; rp++)
opcode_next_clev[rp] = 0;
}
- if (i > 0 && i < 7)
- fprintf (stblfile, "#ifndef CPUEMU_68000_ONLY\n");
- fprintf (stblfile, "const struct cputbl CPUFUNC(op_smalltbl_%d)[] = {\n", postfix);
+ if (generate_stbl) {
+ if (i > 0 && i < 10)
+ fprintf (stblfile, "#ifndef CPUEMU_68000_ONLY\n");
+ fprintf (stblfile, "const struct cputbl CPUFUNC(op_smalltbl_%d)[] = {\n", postfix);
+ }
generate_func ();
- if (i > 0 && i < 7)
- fprintf (stblfile, "#endif /* CPUEMU_68000_ONLY */\n");
- if (postfix2 >= 0)
- fprintf (stblfile, "#endif /* CPUEMU_%d */\n", postfix2);
+ if (generate_stbl) {
+ if (i > 0 && i < 10)
+ fprintf (stblfile, "#endif /* CPUEMU_68000_ONLY */\n");
+ if (postfix2 >= 0)
+ fprintf (stblfile, "#endif /* CPUEMU_%d */\n", postfix2);
+ }
postfix2 = -1;
}
#define BOOL_TYPE "int"
-static int optimized_flags;
+static FILE *headerfile;
+static FILE *stblfile;
+
+static int using_prefetch;
+static int using_exception_3;
+static int cpu_level;
+
+/* For the current opcode, the next lower level that will have different code.
+ * Initialized to -1 for each opcode. If it remains unchanged, indicates we
+ * are done with that opcode. */
+static int next_cpu_level;
static int *opcode_map;
static int *opcode_next_clev;
int nr = 0;
memset (counts, 0, 65536 * sizeof *counts);
- count = 0;
file = fopen ("frequent.68k", "r");
if (file) {
fscanf (file, "Total: %lu\n", &total);
while (fscanf (file, "%lx: %lu %s\n", &opcode, &count, name) == 3) {
- opcode_next_clev[nr] = 6;
+ opcode_next_clev[nr] = 5;
opcode_last_postfix[nr] = -1;
opcode_map[nr++] = opcode;
counts[opcode] = count;
if (table68k[opcode].handler == -1 && table68k[opcode].mnemo != i_ILLG
&& counts[opcode] == 0)
{
- opcode_next_clev[nr] = 6;
+ opcode_next_clev[nr] = 5;
opcode_last_postfix[nr] = -1;
opcode_map[nr++] = opcode;
counts[opcode] = count;
static int endlabelno = 0;
static int need_endlabel;
-static int n_braces = 0, limit_braces;
+static int n_braces = 0;
static int m68k_pc_offset = 0;
-static int insn_n_cycles;
-
-static int isreg(amodes mode)
-{
- if (mode == Dreg || mode == Areg)
- return 1;
- return 0;
-}
static void start_brace (void)
{
return 0;
}
-static void gen_nextilong (char *type, char *name, int norefill)
+static const char *gen_nextilong (void)
{
+ static char buffer[80];
int r = m68k_pc_offset;
m68k_pc_offset += 4;
- printf ("\t%s %s = get_ilong (regs, %d);\n", type, name, r);
+ sprintf (buffer, "xget_ilong(%d)", r);
+ return buffer;
}
-static const char *gen_nextiword (int norefill)
+static const char *gen_nextiword (void)
{
static char buffer[80];
int r = m68k_pc_offset;
m68k_pc_offset += 2;
- sprintf (buffer, "get_iword (regs, %d)", r);
+ sprintf (buffer, "xget_iword(%d)", r);
return buffer;
}
-static const char *gen_nextibyte (int norefill)
+static const char *gen_nextibyte (void)
{
static char buffer[80];
int r = m68k_pc_offset;
m68k_pc_offset += 2;
- sprintf (buffer, "get_ibyte (regs, %d)", r);
+ sprintf (buffer, "xget_ibyte(%d)", r);
return buffer;
}
{
if (m68k_pc_offset == 0)
return;
- printf ("\tmini_m68k_incpc (regs, %d);\n", m68k_pc_offset);
+ printf ("xm68k_incpc(%d);\n", m68k_pc_offset);
m68k_pc_offset = 0;
}
/* getv == 1: fetch data; getv != 0: check for odd address. If movem != 0,
* the calling routine handles Apdi and Aipi modes.
* gb-- movem == 2 means the same thing but for a MOVE16 instruction */
-static void genamode2 (amodes mode, char *reg, wordsizes size, char *name, int getv, int movem, int flags, int e3fudge)
+static void genamode (amodes mode, char *reg, wordsizes size, char *name, int getv, int movem)
{
- char namea[100];
- int m68k_pc_offset_last = m68k_pc_offset;
-
- sprintf (namea, "%sa", name);
-
start_brace ();
switch (mode) {
case Dreg:
if (getv == 1)
switch (size) {
case sz_byte:
- printf ("\tuae_s8 %s = m68k_dreg (regs, %s);\n", name, reg);
+#if defined(AMIGA) && !defined(WARPUP)
+ /* sam: I don't know why gcc.2.7.2.1 produces a code worse */
+ /* if it is not done like that: */
+ printf ("\tuae_s8 %s = ((uae_u8*)&m68k_dreg(regs, %s))[3];\n", name, reg);
+#else
+ printf ("\tuae_s8 %s = xm68k_dreg(%s);\n", name, reg);
+#endif
break;
case sz_word:
- printf ("\tuae_s16 %s = m68k_dreg(regs, %s);\n", name, reg);
+#if defined(AMIGA) && !defined(WARPUP)
+ printf ("\tuae_s16 %s = ((uae_s16*)&m68k_dreg(regs, %s))[1];\n", name, reg);
+#else
+ printf ("\tuae_s16 %s = xm68k_dreg(%s);\n", name, reg);
+#endif
break;
case sz_long:
- printf ("\tuae_s32 %s = m68k_dreg(regs, %s);\n", name, reg);
+ printf ("\tuae_s32 %s = xm68k_dreg(%s);\n", name, reg);
break;
default:
abort ();
if (getv == 1)
switch (size) {
case sz_word:
- printf ("\tuae_s16 %s = m68k_areg(regs, %s);\n", name, reg);
+ printf ("\tuae_s16 %s = xm68k_areg(%s);\n", name, reg);
break;
case sz_long:
- printf ("\tuae_s32 %s = m68k_areg(regs, %s);\n", name, reg);
+ printf ("\tuae_s32 %s = xm68k_areg(%s);\n", name, reg);
break;
default:
abort ();
}
return;
case Aind:
- printf ("\tuaecptr %sa = m68k_areg(regs, %s);\n", name, reg);
+ printf ("\tuaecptr %sa = xm68k_areg(%s);\n", name, reg);
break;
case Aipi:
- printf ("\tuaecptr %sa = m68k_areg(regs, %s);\n", name, reg);
+ printf ("\tuaecptr %sa = xm68k_areg(%s);\n", name, reg);
break;
case Apdi:
- printf ("\tuaecptr %sa;\n", name);
switch (size) {
case sz_byte:
if (movem)
- printf ("\t%sa = m68k_areg(regs, %s);\n", name, reg);
+ printf ("\tuaecptr %sa = xm68k_areg(%s);\n", name, reg);
else
- printf ("\t%sa = m68k_areg(regs, %s) - areg_byteinc[%s];\n", name, reg, reg);
+ printf ("\tuaecptr %sa = xm68k_areg(%s) - xareg_byteinc[%s];\n", name, reg, reg);
break;
case sz_word:
- printf ("\t%sa = m68k_areg(regs, %s) - %d;\n", name, reg, movem ? 0 : 2);
+ printf ("\tuaecptr %sa = xm68k_areg(%s) - %d;\n", name, reg, movem ? 0 : 2);
break;
case sz_long:
- printf ("\t%sa = m68k_areg(regs, %s) - %d;\n", name, reg, movem ? 0 : 4);
+ printf ("\tuaecptr %sa = xm68k_areg(%s) - %d;\n", name, reg, movem ? 0 : 4);
break;
default:
abort ();
}
break;
case Ad16:
- printf ("\tuaecptr %sa = m68k_areg(regs, %s) + (uae_s32)(uae_s16)%s;\n", name, reg, gen_nextiword ());
+ printf ("\tuaecptr %sa = xm68k_areg(%s) + (uae_s32)(uae_s16)%s;\n", name, reg, gen_nextiword ());
break;
case Ad8r:
- printf ("\tuaecptr %sa;\n", name);
- printf ("\t%sa = get_disp_ea_000(regs, m68k_areg(regs, %s), %s);\n", name, reg, gen_nextiword ());
+ if (cpu_level > 1) {
+ if (next_cpu_level < 1)
+ next_cpu_level = 1;
+ sync_m68k_pc ();
+ start_brace ();
+ /* This would ordinarily be done in gen_nextiword, which we bypass. */
+ printf ("\tuaecptr %sa = xget_disp_ea_020(xm68k_areg(%s), xnext_iword());\n", name, reg);
+ } else
+ printf ("\tuaecptr %sa = xget_disp_ea_000(xm68k_areg(%s), %s);\n", name, reg, gen_nextiword ());
+
break;
case PC16:
- printf ("\tuaecptr %sa = m68k_getpc (regs) + %d;\n", name, m68k_pc_offset);
- printf ("\t%sa += (uae_s32)(uae_s16)%s;\n", name, gen_nextiword (flags & GF_NOREFILL));
+ printf ("\tuaecptr %sa = xm68k_getpc () + %d;\n", name, m68k_pc_offset);
+ printf ("\t%sa += (uae_s32)(uae_s16)%s;\n", name, gen_nextiword ());
break;
case PC8r:
- printf ("\tuaecptr tmppc;\n");
- printf ("\tuaecptr %sa;\n", name);
- printf ("\ttmppc = mini_m68k_getpc(regs) + %d;\n", m68k_pc_offset);
- printf ("\t%sa = get_disp_ea_000(regs, tmppc, %s);\n", name, gen_nextiword (flags & GF_NOREFILL));
+ if (cpu_level > 1) {
+ if (next_cpu_level < 1)
+ next_cpu_level = 1;
+ sync_m68k_pc ();
+ start_brace ();
+ /* This would ordinarily be done in gen_nextiword, which we bypass. */
+ printf ("\tuaecptr tmppc = xm68k_getpc();\n");
+ printf ("\tuaecptr %sa = xget_disp_ea_020(tmppc, xnext_iword());\n", name);
+ } else {
+ printf ("\tuaecptr tmppc = xm68k_getpc() + %d;\n", m68k_pc_offset);
+ printf ("\tuaecptr %sa = xget_disp_ea_000(tmppc, %s);\n", name, gen_nextiword ());
+ }
+
break;
case absw:
- printf ("\tuaecptr %sa = (uae_s32)(uae_s16)%s;\n", name, gen_nextiword (flags & GF_NOREFILL));
+ printf ("\tuaecptr %sa = (uae_s32)(uae_s16)%s;\n", name, gen_nextiword ());
break;
case absl:
- gen_nextilong ("uaecptr", namea, flags & GF_NOREFILL);
+ printf ("\tuaecptr %sa = %s;\n", name, gen_nextilong ());
break;
case imm:
if (getv != 1)
printf ("\tuae_s16 %s = %s;\n", name, gen_nextiword ());
break;
case sz_long:
- gen_nextilong ("uae_s32", name);
+ printf ("\tuae_s32 %s = %s;\n", name, gen_nextilong ());
break;
default:
abort ();
case imm2:
if (getv != 1)
abort ();
- gen_nextilong ("uae_s32", name);
+ printf ("\tuae_s32 %s = %s;\n", name, gen_nextilong ());
return;
case immi:
if (getv != 1)
abort ();
}
- /* We get here for all non-reg non-immediate addressing modes to
- * actually fetch the value. */
-
if (getv == 1) {
start_brace ();
- if (using_ce) {
- switch (size) {
- case sz_byte: printf ("\tuae_s8 %s = mini_get_byte_ce (%sa);\n", name, name); break;
- case sz_word: printf ("\tuae_s16 %s = mini_get_word_ce (%sa);\n", name, name); break;
- case sz_long: printf ("\tuae_s32 %s = mini_get_word_ce (%sa) << 16; %s |= mini_get_word_ce (%sa + 2);\n", name, name, name, name); break;
- default: abort ();
- }
- } else {
- switch (size) {
- case sz_byte: insn_n_cycles += 4; printf ("\tuae_s8 %s = mini_get_byte (%sa);\n", name, name); break;
- case sz_word: insn_n_cycles += 4; printf ("\tuae_s16 %s = mini_get_word (%sa);\n", name, name); break;
- case sz_long: insn_n_cycles += 8; printf ("\tuae_s32 %s = mini_get_long (%sa);\n", name, name); break;
- default: abort ();
- }
+ switch (size) {
+ case sz_byte: printf ("\tuae_s8 %s = xget_byte(%sa);\n", name, name); break;
+ case sz_word: printf ("\tuae_s16 %s = xget_word(%sa);\n", name, name); break;
+ case sz_long: printf ("\tuae_s32 %s = xget_long(%sa);\n", name, name); break;
+ default: abort ();
}
}
case Aipi:
switch (size) {
case sz_byte:
- printf ("\tm68k_areg(regs, %s) += areg_byteinc[%s];\n", reg, reg);
+ printf ("\txm68k_areg(%s) += xareg_byteinc[%s];\n", reg, reg);
break;
case sz_word:
- printf ("\tm68k_areg(regs, %s) += 2;\n", reg);
+ printf ("\txm68k_areg(%s) += 2;\n", reg);
break;
case sz_long:
- printf ("\tm68k_areg(regs, %s) += 4;\n", reg);
+ printf ("\txm68k_areg(%s) += 4;\n", reg);
break;
default:
abort ();
}
break;
case Apdi:
- printf ("\tm68k_areg (regs, %s) = %sa;\n", reg, name);
+ printf ("\txm68k_areg (%s) = %sa;\n", reg, name);
break;
default:
break;
}
}
-static void genamode (amodes mode, char *reg, wordsizes size, char *name, int getv, int movem, int flags)
-{
- genamode2 (mode, reg, size, name, getv, movem, flags, 0);
-}
-static void genamode_e3 (amodes mode, char *reg, wordsizes size, char *name, int getv, int movem, int flags, int e3fudge)
-{
- genamode2 (mode, reg, size, name, getv, movem, flags, e3fudge);
-}
-
-static void genastore_2 (char *from, amodes mode, char *reg, wordsizes size, char *to, int store_dir)
+static void genastore (char *from, amodes mode, char *reg, wordsizes size, char *to)
{
switch (mode) {
case Dreg:
switch (size) {
case sz_byte:
- printf ("\tm68k_dreg(regs, %s) = (m68k_dreg(regs, %s) & ~0xff) | ((%s) & 0xff);\n", reg, reg, from);
+ printf ("\txm68k_dreg(%s) = (xm68k_dreg(%s) & ~0xff) | ((%s) & 0xff);\n", reg, reg, from);
break;
case sz_word:
- printf ("\tm68k_dreg(regs, %s) = (m68k_dreg(regs, %s) & ~0xffff) | ((%s) & 0xffff);\n", reg, reg, from);
+ printf ("\txm68k_dreg(%s) = (xm68k_dreg(%s) & ~0xffff) | ((%s) & 0xffff);\n", reg, reg, from);
break;
case sz_long:
- printf ("\tm68k_dreg(regs, %s) = (%s);\n", reg, from);
+ printf ("\txm68k_dreg(%s) = (%s);\n", reg, from);
break;
default:
abort ();
case Areg:
switch (size) {
case sz_word:
- printf ("\tm68k_areg(regs, %s) = (uae_s32)(uae_s16)(%s);\n", reg, from);
+ printf ("\txm68k_areg(%s) = (uae_s32)(uae_s16)(%s);\n", reg, from);
break;
case sz_long:
- printf ("\tm68k_areg(regs, %s) = (%s);\n", reg, from);
+ printf ("\txm68k_areg(%s) = (%s);\n", reg, from);
break;
default:
abort ();
case absl:
case PC16:
case PC8r:
- switch (size) {
- case sz_byte:
- printf ("\tmini_put_byte (%sa,%s);\n", to, from);
- break;
- case sz_word:
- printf ("\tmini_put_word (%sa,%s);\n", to, from);
- break;
- case sz_long:
- printf ("\tmini_put_long (%sa,%s);\n", to, from);
- break;
- default:
+ if (using_prefetch)
+ sync_m68k_pc ();
+ switch (size) {
+ case sz_byte:
+ printf ("\txput_byte(%sa,%s);\n", to, from);
+ break;
+ case sz_word:
+ if (cpu_level < 2 && (mode == PC16 || mode == PC8r))
abort ();
- }
+ printf ("\txput_word(%sa,%s);\n", to, from);
+ break;
+ case sz_long:
+ if (cpu_level < 2 && (mode == PC16 || mode == PC8r))
+ abort ();
+ printf ("\txput_long(%sa,%s);\n", to, from);
+ break;
+ default:
+ abort ();
}
break;
case imm:
}
}
-static void genastore (char *from, amodes mode, char *reg, wordsizes size, char *to)
-{
- genastore_2 (from, mode, reg, size, to, 0);
-}
-static void genastore_rev (char *from, amodes mode, char *reg, wordsizes size, char *to)
-{
- genastore_2 (from, mode, reg, size, to, 1);
-}
-
-
static void genmovemel (uae_u16 opcode)
{
char getcode[100];
int size = table68k[opcode].size == sz_long ? 4 : 2;
if (table68k[opcode].size == sz_long) {
- strcpy (getcode, "get_long(srca)");
+ strcpy (getcode, "xget_long(srca)");
} else {
- strcpy (getcode, "(uae_s32)(uae_s16)get_word(srca)");
+ strcpy (getcode, "(uae_s32)(uae_s16)xget_word(srca)");
}
- printf ("\tuae_u16 mask = %s;\n", gen_nextiword (0));
+ printf ("\tuae_u16 mask = %s;\n", gen_nextiword ());
printf ("\tunsigned int dmask = mask & 0xff, amask = (mask >> 8) & 0xff;\n");
- genamode (table68k[opcode].dmode, "dstreg", table68k[opcode].size, "src", 2, 1, 0);
+ genamode (table68k[opcode].dmode, "dstreg", table68k[opcode].size, "src", 2, 1);
start_brace ();
- printf ("\twhile (dmask) { m68k_dreg(regs, movem_index1[dmask]) = %s; srca += %d; dmask = movem_next[dmask]; }\n",
+ printf ("\twhile (dmask) { xm68k_dreg(xmovem_index1[dmask]) = %s; srca += %d; dmask = xmovem_next[dmask]; }\n",
getcode, size);
- printf ("\twhile (amask) { m68k_areg(regs, movem_index1[amask]) = %s; srca += %d; amask = movem_next[amask]; }\n",
+ printf ("\twhile (amask) { xm68k_areg(xmovem_index1[amask]) = %s; srca += %d; amask = xmovem_next[amask]; }\n",
getcode, size);
if (table68k[opcode].dmode == Aipi)
- printf ("\tm68k_areg(regs, dstreg) = srca;\n");
+ printf ("\txm68k_areg(dstreg) = srca;\n");
}
static void genmovemle (uae_u16 opcode)
char putcode[100];
int size = table68k[opcode].size == sz_long ? 4 : 2;
if (table68k[opcode].size == sz_long) {
- strcpy (putcode, "put_long(srca");
+ strcpy (putcode, "xput_long(srca,");
} else {
- strcpy (putcode, "put_word(srca");
+ strcpy (putcode, "xput_word(srca,");
}
- printf ("\tuae_u16 mask = %s;\n", gen_nextiword (0));
- genamode (table68k[opcode].dmode, "dstreg", table68k[opcode].size, "src", 2, 1, 0);
+ printf ("\tuae_u16 mask = %s;\n", gen_nextiword ());
+ genamode (table68k[opcode].dmode, "dstreg", table68k[opcode].size, "src", 2, 1);
if (using_prefetch)
sync_m68k_pc ();
start_brace ();
if (table68k[opcode].dmode == Apdi) {
printf ("\tuae_u16 amask = mask & 0xff, dmask = (mask >> 8) & 0xff;\n");
- printf ("\tint type = get_cpu_model() >= 68020;\n");
- printf ("\twhile (amask) {\n");
- printf ("\t\tsrca -= %d;\n", size);
- printf ("\t\tif (type) m68k_areg(regs, dstreg) = srca;\n");
- printf ("\t\t%s, m68k_areg(regs, movem_index2[amask]));\n", putcode);
- printf ("\t\tamask = movem_next[amask];\n");
- printf ("\t}\n");
- printf ("\twhile (dmask) { srca -= %d; %s, m68k_dreg(regs, movem_index2[dmask])); dmask = movem_next[dmask]; }\n",
- size, putcode);
- printf ("\tm68k_areg(regs, dstreg) = srca;\n");
+ printf ("\twhile (amask) { srca -= %d; %s xm68k_areg(xmovem_index2[amask])); amask = xmovem_next[amask]; }\n",
+ size, putcode);
+ printf ("\twhile (dmask) { srca -= %d; %s xm68k_dreg(xmovem_index2[dmask])); dmask = xmovem_next[dmask]; }\n",
+ size, putcode);
+ printf ("\txm68k_areg(dstreg) = srca;\n");
} else {
printf ("\tuae_u16 dmask = mask & 0xff, amask = (mask >> 8) & 0xff;\n");
- printf ("\twhile (dmask) { %s, m68k_dreg(regs, movem_index1[dmask])); srca += %d; dmask = movem_next[dmask]; }\n",
+ printf ("\twhile (dmask) { %s xm68k_dreg(xmovem_index1[dmask])); srca += %d; dmask = xmovem_next[dmask]; }\n",
putcode, size);
- printf ("\twhile (amask) { %s, m68k_areg(regs, movem_index1[amask])); srca += %d; amask = movem_next[amask]; }\n",
+ printf ("\twhile (amask) { %s xm68k_areg(xmovem_index1[amask])); srca += %d; amask = xmovem_next[amask]; }\n",
putcode, size);
}
}
-static void duplicate_carry (int n)
+static void duplicate_carry (void)
{
- int i;
- for (i = 0; i <= n; i++)
- printf ("\t");
- printf ("COPY_CARRY (®s->ccrflags);\n");
+ printf ("\tXCOPY_CARRY;\n");
}
typedef enum
switch (type) {
case flag_logical:
- printf ("\tCLEAR_CZNV (®s->ccrflags);\n");
- printf ("\tSET_ZFLG (®s->ccrflags, %s == 0);\n", vstr);
- printf ("\tSET_NFLG (®s->ccrflags, %s < 0);\n", vstr);
+ printf ("\tXCLEAR_CZNV;\n");
+ printf ("\tXSET_ZFLG (%s == 0);\n", vstr);
+ printf ("\tXSET_NFLG (%s < 0);\n", vstr);
break;
case flag_logical_noclobber:
- printf ("\tSET_ZFLG (®s->ccrflags, %s == 0);\n", vstr);
- printf ("\tSET_NFLG (®s->ccrflags, %s < 0);\n", vstr);
+ printf ("\tXSET_ZFLG (%s == 0);\n", vstr);
+ printf ("\tXSET_NFLG (%s < 0);\n", vstr);
break;
case flag_av:
- printf ("\tSET_VFLG (®s->ccrflags, (flgs ^ flgn) & (flgo ^ flgn));\n");
+ printf ("\tXSET_VFLG ((flgs ^ flgn) & (flgo ^ flgn));\n");
break;
case flag_sv:
- printf ("\tSET_VFLG (®s->ccrflags, (flgs ^ flgo) & (flgn ^ flgo));\n");
+ printf ("\tXSET_VFLG ((flgs ^ flgo) & (flgn ^ flgo));\n");
break;
case flag_zn:
- printf ("\tSET_ZFLG (®s->ccrflags, GET_ZFLG (&(regs->ccrflags)) & (%s == 0));\n", vstr);
- printf ("\tSET_NFLG (®s->ccrflags, %s < 0);\n", vstr);
+ printf ("\tXSET_ZFLG (XGET_ZFLG & (%s == 0));\n", vstr);
+ printf ("\tXSET_NFLG (%s < 0);\n", vstr);
break;
case flag_add:
- printf ("\tSET_ZFLG (®s->ccrflags, %s == 0);\n", vstr);
- printf ("\tSET_VFLG (®s->ccrflags, (flgs ^ flgn) & (flgo ^ flgn));\n");
- printf ("\tSET_CFLG (®s->ccrflags, %s < %s);\n", undstr, usstr);
- duplicate_carry (0);
- printf ("\tSET_NFLG (®s->ccrflags, flgn != 0);\n");
+ printf ("\tXSET_ZFLG (%s == 0);\n", vstr);
+ printf ("\tXSET_VFLG ((flgs ^ flgn) & (flgo ^ flgn));\n");
+ printf ("\tXSET_CFLG (%s < %s);\n", undstr, usstr);
+ duplicate_carry ();
+ printf ("\tXSET_NFLG (flgn != 0);\n");
break;
case flag_sub:
- printf ("\tSET_ZFLG (®s->ccrflags, %s == 0);\n", vstr);
- printf ("\tSET_VFLG (®s->ccrflags, (flgs ^ flgo) & (flgn ^ flgo));\n");
- printf ("\tSET_CFLG (®s->ccrflags, %s > %s);\n", usstr, udstr);
- duplicate_carry (0);
- printf ("\tSET_NFLG (®s->ccrflags, flgn != 0);\n");
+ printf ("\tXSET_ZFLG (%s == 0);\n", vstr);
+ printf ("\tXSET_VFLG ((flgs ^ flgo) & (flgn ^ flgo));\n");
+ printf ("\tXSET_CFLG (%s > %s);\n", usstr, udstr);
+ duplicate_carry ();
+ printf ("\tXSET_NFLG (flgn != 0);\n");
break;
case flag_addx:
- printf ("\tSET_VFLG (®s->ccrflags, (flgs ^ flgn) & (flgo ^ flgn));\n"); /* minterm SON: 0x42 */
- printf ("\tSET_CFLG (®s->ccrflags, flgs ^ ((flgs ^ flgo) & (flgo ^ flgn)));\n"); /* minterm SON: 0xD4 */
- duplicate_carry (0);
+ printf ("\tXSET_VFLG ((flgs ^ flgn) & (flgo ^ flgn));\n"); /* minterm SON: 0x42 */
+ printf ("\tXSET_CFLG (flgs ^ ((flgs ^ flgo) & (flgo ^ flgn)));\n"); /* minterm SON: 0xD4 */
+ duplicate_carry ();
break;
case flag_subx:
- printf ("\tSET_VFLG (®s->ccrflags, (flgs ^ flgo) & (flgo ^ flgn));\n"); /* minterm SON: 0x24 */
- printf ("\tSET_CFLG (®s->ccrflags, flgs ^ ((flgs ^ flgn) & (flgo ^ flgn)));\n"); /* minterm SON: 0xB2 */
- duplicate_carry (0);
+ printf ("\tXSET_VFLG ((flgs ^ flgo) & (flgo ^ flgn));\n"); /* minterm SON: 0x24 */
+ printf ("\tXSET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn)));\n"); /* minterm SON: 0xB2 */
+ duplicate_carry ();
break;
case flag_cmp:
- printf ("\tSET_ZFLG (®s->ccrflags, %s == 0);\n", vstr);
- printf ("\tSET_VFLG (®s->ccrflags, (flgs != flgo) && (flgn != flgo));\n");
- printf ("\tSET_CFLG (®s->ccrflags, %s > %s);\n", usstr, udstr);
- printf ("\tSET_NFLG (®s->ccrflags, flgn != 0);\n");
+ printf ("\tXSET_ZFLG (%s == 0);\n", vstr);
+ printf ("\tXSET_VFLG ((flgs != flgo) && (flgn != flgo));\n");
+ printf ("\tXSET_CFLG (%s > %s);\n", usstr, udstr);
+ printf ("\tXSET_NFLG (flgn != 0);\n");
break;
}
}
/* Temporarily deleted 68k/ARM flag optimizations. I'd prefer to have
them in the appropriate m68k.h files and use just one copy of this
code here. The API can be changed if necessary. */
- if (optimized_flags) {
+#ifdef OPTIMIZED_FLAGS
switch (type) {
case flag_add:
case flag_sub:
case flag_logical_noclobber:
printf ("\t{uae_u32 oldcznv = GET_CZNV & ~(FLAGVAL_Z | FLAGVAL_N);\n");
if (strcmp (value, "0") == 0) {
- printf ("\tSET_CZNV (®s->ccrflags, olcznv | FLAGVAL_Z);\n");
+ printf ("\tSET_CZNV (olcznv | FLAGVAL_Z);\n");
} else {
switch (size) {
- case sz_byte: printf ("\toptflag_testb (regs, (uae_s8)(%s));\n", value); break;
- case sz_word: printf ("\toptflag_testw (regs, (uae_s16)(%s));\n", value); break;
- case sz_long: printf ("\toptflag_testl (regs, (uae_s32)(%s));\n", value); break;
+ case sz_byte: printf ("\toptflag_testb ((uae_s8)(%s));\n", value); break;
+ case sz_word: printf ("\toptflag_testw ((uae_s16)(%s));\n", value); break;
+ case sz_long: printf ("\toptflag_testl ((uae_s32)(%s));\n", value); break;
}
- printf ("\tIOR_CZNV (®s->ccrflags, oldcznv);\n");
+ printf ("\tIOR_CZNV (oldcznv);\n");
}
printf ("\t}\n");
return;
case flag_logical:
if (strcmp (value, "0") == 0) {
- printf ("\tSET_CZNV (®s->ccrflags, FLAGVAL_Z);\n");
+ printf ("\tSET_CZNV (FLAGVAL_Z);\n");
} else {
switch (size) {
- case sz_byte: printf ("\toptflag_testb (regs, (uae_s8)(%s));\n", value); break;
- case sz_word: printf ("\toptflag_testw (regs, (uae_s16)(%s));\n", value); break;
- case sz_long: printf ("\toptflag_testl (regs, (uae_s32)(%s));\n", value); break;
+ case sz_byte: printf ("\toptflag_testb ((uae_s8)(%s));\n", value); break;
+ case sz_word: printf ("\toptflag_testw ((uae_s16)(%s));\n", value); break;
+ case sz_long: printf ("\toptflag_testl ((uae_s32)(%s));\n", value); break;
}
}
return;
case flag_add:
switch (size) {
- case sz_byte: printf ("\toptflag_addb (regs, %s, (uae_s8)(%s), (uae_s8)(%s));\n", value, src, dst); break;
- case sz_word: printf ("\toptflag_addw (regs, %s, (uae_s16)(%s), (uae_s16)(%s));\n", value, src, dst); break;
- case sz_long: printf ("\toptflag_addl (regs, %s, (uae_s32)(%s), (uae_s32)(%s));\n", value, src, dst); break;
+ case sz_byte: printf ("\toptflag_addb (%s, (uae_s8)(%s), (uae_s8)(%s));\n", value, src, dst); break;
+ case sz_word: printf ("\toptflag_addw (%s, (uae_s16)(%s), (uae_s16)(%s));\n", value, src, dst); break;
+ case sz_long: printf ("\toptflag_addl (%s, (uae_s32)(%s), (uae_s32)(%s));\n", value, src, dst); break;
}
return;
case flag_sub:
switch (size) {
- case sz_byte: printf ("\toptflag_subb (regs, %s, (uae_s8)(%s), (uae_s8)(%s));\n", value, src, dst); break;
- case sz_word: printf ("\toptflag_subw (regs, %s, (uae_s16)(%s), (uae_s16)(%s));\n", value, src, dst); break;
- case sz_long: printf ("\toptflag_subl (regs, %s, (uae_s32)(%s), (uae_s32)(%s));\n", value, src, dst); break;
+ case sz_byte: printf ("\toptflag_subb (%s, (uae_s8)(%s), (uae_s8)(%s));\n", value, src, dst); break;
+ case sz_word: printf ("\toptflag_subw (%s, (uae_s16)(%s), (uae_s16)(%s));\n", value, src, dst); break;
+ case sz_long: printf ("\toptflag_subl (%s, (uae_s32)(%s), (uae_s32)(%s));\n", value, src, dst); break;
}
return;
case flag_cmp:
switch (size) {
- case sz_byte: printf ("\toptflag_cmpb (regs, (uae_s8)(%s), (uae_s8)(%s));\n", src, dst); break;
- case sz_word: printf ("\toptflag_cmpw (regs, (uae_s16)(%s), (uae_s16)(%s));\n", src, dst); break;
- case sz_long: printf ("\toptflag_cmpl (regs, (uae_s32)(%s), (uae_s32)(%s));\n", src, dst); break;
+ case sz_byte: printf ("\toptflag_cmpb ((uae_s8)(%s), (uae_s8)(%s));\n", src, dst); break;
+ case sz_word: printf ("\toptflag_cmpw ((uae_s16)(%s), (uae_s16)(%s));\n", src, dst); break;
+ case sz_long: printf ("\toptflag_cmpl ((uae_s32)(%s), (uae_s32)(%s));\n", src, dst); break;
}
return;
-
+
default:
break;
}
- }
+#endif
genflags_normal (type, size, value, src, dst);
}
return i->stype == 3;
}
-static void shift_ce (amodes dmode, int size)
-{
- if (using_ce && isreg (dmode)) {
- printf ("\t{\n");
- printf ("\t\tint cycles = %d * %d;\n", size == sz_long ? 8 : 6, CYCLE_UNIT / 2);
- printf ("\t\tcycles += 2 * %d * ccnt;\n", CYCLE_UNIT / 2);
- addcycles3 ("\t\t");
- printf ("\t}\n");
- }
-}
-
static void gen_opcode (unsigned long int opcode)
{
struct instr *curi = table68k + opcode;
- int tmpc = 0;
- insn_n_cycles = using_prefetch ? 0 : 4;
- start_brace ();
+ switch (curi->plev) {
+ case 0: /* not privileged */
+ break;
+ case 1: /* unprivileged only on 68000 */
+ if (cpu_level == 0)
+ break;
+ if (next_cpu_level < 0)
+ next_cpu_level = 0;
+
+ /* fall through */
+ case 2:
+ case 3:
+ return;
+ }
+
m68k_pc_offset = 2;
- if (curi->plev)
- return;
+ start_brace ();
+
switch (curi->mnemo) {
case i_OR:
case i_AND:
case i_EOR:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0);
- genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0);
printf ("\tsrc %c= dst;\n", curi->mnemo == i_OR ? '|' : curi->mnemo == i_AND ? '&' : '^');
genflags (flag_logical, curi->size, "src", "", "");
- if (curi->size == sz_long && isreg (curi->dmode))
- addcycles (curi->mnemo == i_AND ? 2 : 4);
- fill_prefetch_next ();
genastore ("src", curi->dmode, "dstreg", curi->size, "dst");
break;
case i_SUB:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0);
- genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, 0);
- if (isreg (curi->dmode)) {
- if (curi->dmode == Dreg && curi->size == sz_long)
- addcycles ((curi->smode == imm || curi->smode == immi) ? 4 : 2);
- }
- fill_prefetch_next ();
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0);
start_brace ();
genflags (flag_sub, curi->size, "newv", "src", "dst");
genastore ("newv", curi->dmode, "dstreg", curi->size, "dst");
break;
case i_SUBA:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0);
- genamode (curi->dmode, "dstreg", sz_long, "dst", 1, 0, 0);
- if (isreg (curi->dmode) && curi->dmode == Areg) {
- tmpc += curi->size == sz_long ? 2 : 4;
- if (curi->size == sz_long)
- tmpc += (isreg (curi->smode) || curi->smode == imm) ? 2 : 0;
- addcycles (4);
- }
- fill_prefetch_next ();
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
+ genamode (curi->dmode, "dstreg", sz_long, "dst", 1, 0);
start_brace ();
printf ("\tuae_u32 newv = dst - src;\n");
genastore ("newv", curi->dmode, "dstreg", sz_long, "dst");
break;
case i_SUBX:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, GF_AA);
- genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, GF_AA);
- if ((isreg (curi->smode) && curi->size == sz_long) || !isreg (curi->smode))
- addcycles (2);
- fill_prefetch_next ();
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0);
start_brace ();
- printf ("\tuae_u32 newv = dst - src - (GET_XFLG (®s->ccrflags) ? 1 : 0);\n");
+ printf ("\tuae_u32 newv = dst - src - (XGET_XFLG ? 1 : 0);\n");
genflags (flag_subx, curi->size, "newv", "src", "dst");
genflags (flag_zn, curi->size, "newv", "", "");
genastore ("newv", curi->dmode, "dstreg", curi->size, "dst");
break;
case i_SBCD:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, GF_AA);
- genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, GF_AA);
- fill_prefetch_next ();
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0);
start_brace ();
- printf ("\tuae_u16 newv_lo = (dst & 0xF) - (src & 0xF) - (GET_XFLG (®s->ccrflags) ? 1 : 0);\n");
+ printf ("\tuae_u16 newv_lo = (dst & 0xF) - (src & 0xF) - (XGET_XFLG ? 1 : 0);\n");
printf ("\tuae_u16 newv_hi = (dst & 0xF0) - (src & 0xF0);\n");
printf ("\tuae_u16 newv, tmp_newv;\n");
printf ("\tint bcd = 0;\n");
printf ("\tnewv = tmp_newv = newv_hi + newv_lo;\n");
printf ("\tif (newv_lo & 0xF0) { newv -= 6; bcd = 6; };\n");
- printf ("\tif ((((dst & 0xFF) - (src & 0xFF) - (GET_XFLG (®s->ccrflags) ? 1 : 0)) & 0x100) > 0xFF) { newv -= 0x60; }\n");
- printf ("\tSET_CFLG (®s->ccrflags, (((dst & 0xFF) - (src & 0xFF) - bcd - (GET_XFLG (®s->ccrflags) ? 1 : 0)) & 0x300) > 0xFF);\n");
- duplicate_carry (0);
+ printf ("\tif ((((dst & 0xFF) - (src & 0xFF) - (XGET_XFLG ? 1 : 0)) & 0x100) > 0xFF) { newv -= 0x60; }\n");
+ printf ("\tXSET_CFLG ((((dst & 0xFF) - (src & 0xFF) - bcd - (XGET_XFLG ? 1 : 0)) & 0x300) > 0xFF);\n");
+ duplicate_carry ();
genflags (flag_zn, curi->size, "newv", "", "");
- printf ("\tSET_VFLG (®s->ccrflags, (tmp_newv & 0x80) != 0 && (newv & 0x80) == 0);\n");
- addcycles (2);
+ printf ("\tXSET_VFLG ((tmp_newv & 0x80) != 0 && (newv & 0x80) == 0);\n");
genastore ("newv", curi->dmode, "dstreg", curi->size, "dst");
break;
case i_ADD:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0);
- genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, 0);
- if (isreg (curi->dmode)) {
- if (curi->dmode == Dreg && curi->size == sz_long)
- addcycles ((curi->smode == imm || curi->smode == immi) ? 4 : 2);
- }
- fill_prefetch_next ();
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0);
start_brace ();
genflags (flag_add, curi->size, "newv", "src", "dst");
genastore ("newv", curi->dmode, "dstreg", curi->size, "dst");
break;
case i_ADDA:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0);
- genamode (curi->dmode, "dstreg", sz_long, "dst", 1, 0, 0);
- if (isreg (curi->dmode) && curi->dmode == Areg) {
- tmpc += curi->size == sz_long ? 2 : 4;
- if (curi->size == sz_long)
- tmpc += (isreg (curi->smode) || curi->smode == imm) ? 2 : 0;
- addcycles (tmpc);
- }
- fill_prefetch_next ();
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
+ genamode (curi->dmode, "dstreg", sz_long, "dst", 1, 0);
start_brace ();
printf ("\tuae_u32 newv = dst + src;\n");
genastore ("newv", curi->dmode, "dstreg", sz_long, "dst");
break;
case i_ADDX:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, GF_AA);
- genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, GF_AA);
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0);
start_brace ();
- printf ("\tuae_u32 newv = dst + src + (GET_XFLG (®s->ccrflags) ? 1 : 0);\n");
+ printf ("\tuae_u32 newv = dst + src + (XGET_XFLG ? 1 : 0);\n");
genflags (flag_addx, curi->size, "newv", "src", "dst");
genflags (flag_zn, curi->size, "newv", "", "");
genastore ("newv", curi->dmode, "dstreg", curi->size, "dst");
break;
case i_ABCD:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, GF_AA);
- genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, GF_AA);
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0);
start_brace ();
- printf ("\tuae_u16 newv_lo = (src & 0xF) + (dst & 0xF) + (GET_XFLG (®s->ccrflags) ? 1 : 0);\n");
+ printf ("\tuae_u16 newv_lo = (src & 0xF) + (dst & 0xF) + (XGET_XFLG ? 1 : 0);\n");
printf ("\tuae_u16 newv_hi = (src & 0xF0) + (dst & 0xF0);\n");
printf ("\tuae_u16 newv, tmp_newv;\n");
printf ("\tint cflg;\n");
printf ("\tif (newv_lo > 9) { newv += 6; }\n");
printf ("\tcflg = (newv & 0x3F0) > 0x90;\n");
printf ("\tif (cflg) newv += 0x60;\n");
- printf ("\tSET_CFLG (®s->ccrflags, cflg);\n");
- duplicate_carry (0);
+ printf ("\tXSET_CFLG (cflg);\n");
+ duplicate_carry ();
genflags (flag_zn, curi->size, "newv", "", "");
- printf ("\tSET_VFLG (®s->ccrflags, (tmp_newv & 0x80) == 0 && (newv & 0x80) != 0);\n");
- addcycles (2);
+ printf ("\tXSET_VFLG ((tmp_newv & 0x80) == 0 && (newv & 0x80) != 0);\n");
genastore ("newv", curi->dmode, "dstreg", curi->size, "dst");
break;
case i_NEG:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
start_brace ();
genflags (flag_sub, curi->size, "dst", "src", "0");
- genastore_rev ("dst", curi->smode, "srcreg", curi->size, "src");
+ genastore ("dst", curi->smode, "srcreg", curi->size, "src");
break;
case i_NEGX:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
start_brace ();
- printf ("\tuae_u32 newv = 0 - src - (GET_XFLG (®s->ccrflags) ? 1 : 0);\n");
+ printf ("\tuae_u32 newv = 0 - src - (XGET_XFLG ? 1 : 0);\n");
genflags (flag_subx, curi->size, "newv", "src", "0");
genflags (flag_zn, curi->size, "newv", "", "");
- genastore_rev ("newv", curi->smode, "srcreg", curi->size, "src");
+ genastore ("newv", curi->smode, "srcreg", curi->size, "src");
break;
case i_NBCD:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
start_brace ();
- printf ("\tuae_u16 newv_lo = - (src & 0xF) - (GET_XFLG (®s->ccrflags) ? 1 : 0);\n");
+ printf ("\tuae_u16 newv_lo = - (src & 0xF) - (XGET_XFLG ? 1 : 0);\n");
printf ("\tuae_u16 newv_hi = - (src & 0xF0);\n");
printf ("\tuae_u16 newv;\n");
printf ("\tint cflg;\n");
printf ("\tnewv = newv_hi + newv_lo;");
printf ("\tcflg = (newv & 0x1F0) > 0x90;\n");
printf ("\tif (cflg) newv -= 0x60;\n");
- printf ("\tSET_CFLG (®s->ccrflags, cflg);\n");
- duplicate_carry(0);
+ printf ("\tXSET_CFLG (cflg);\n");
+ duplicate_carry();
genflags (flag_zn, curi->size, "newv", "", "");
genastore ("newv", curi->smode, "srcreg", curi->size, "src");
break;
case i_CLR:
- genamode (curi->smode, "srcreg", curi->size, "src", cpu_level == 0 ? 1 : 2, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "src", 2, 0);
genflags (flag_logical, curi->size, "0", "", "");
- genastore_rev ("0", curi->smode, "srcreg", curi->size, "src");
+ genastore ("0", curi->smode, "srcreg", curi->size, "src");
break;
case i_NOT:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
start_brace ();
printf ("\tuae_u32 dst = ~src;\n");
genflags (flag_logical, curi->size, "dst", "", "");
- genastore_rev ("dst", curi->smode, "srcreg", curi->size, "src");
+ genastore ("dst", curi->smode, "srcreg", curi->size, "src");
break;
case i_TST:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
genflags (flag_logical, curi->size, "src", "", "");
break;
case i_BTST:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0);
- genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0);
if (curi->size == sz_byte)
printf ("\tsrc &= 7;\n");
else
printf ("\tsrc &= 31;\n");
- printf ("\tSET_ZFLG (®s->ccrflags, 1 ^ ((dst >> src) & 1));\n");
+ printf ("\tXSET_ZFLG (1 ^ ((dst >> src) & 1));\n");
break;
case i_BCHG:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0);
- genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0);
if (curi->size == sz_byte)
printf ("\tsrc &= 7;\n");
else
printf ("\tsrc &= 31;\n");
printf ("\tdst ^= (1 << src);\n");
- printf ("\tSET_ZFLG (®s->ccrflags, ((uae_u32)dst & (1 << src)) >> src);\n");
+ printf ("\tXSET_ZFLG (((uae_u32)dst & (1 << src)) >> src);\n");
genastore ("dst", curi->dmode, "dstreg", curi->size, "dst");
break;
case i_BCLR:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0);
- genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0);
if (curi->size == sz_byte)
printf ("\tsrc &= 7;\n");
else
printf ("\tsrc &= 31;\n");
- printf ("\tSET_ZFLG (®s->ccrflags, 1 ^ ((dst >> src) & 1));\n");
+ printf ("\tXSET_ZFLG (1 ^ ((dst >> src) & 1));\n");
printf ("\tdst &= ~(1 << src);\n");
genastore ("dst", curi->dmode, "dstreg", curi->size, "dst");
break;
case i_BSET:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0);
- genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0);
if (curi->size == sz_byte)
printf ("\tsrc &= 7;\n");
else
printf ("\tsrc &= 31;\n");
- printf ("\tSET_ZFLG (®s->ccrflags, 1 ^ ((dst >> src) & 1));\n");
+ printf ("\tXSET_ZFLG (1 ^ ((dst >> src) & 1));\n");
printf ("\tdst |= (1 << src);\n");
genastore ("dst", curi->dmode, "dstreg", curi->size, "dst");
break;
case i_CMPM:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, GF_AA);
- genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, GF_AA);
- start_brace ();
- genflags (flag_cmp, curi->size, "newv", "src", "dst");
- break;
case i_CMP:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0);
- genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0);
start_brace ();
genflags (flag_cmp, curi->size, "newv", "src", "dst");
break;
case i_CMPA:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0);
- genamode (curi->dmode, "dstreg", sz_long, "dst", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
+ genamode (curi->dmode, "dstreg", sz_long, "dst", 1, 0);
start_brace ();
genflags (flag_cmp, sz_long, "newv", "src", "dst");
break;
/* The next two are coded a little unconventional, but they are doing
* weird things... */
case i_MVPRM:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0);
- printf ("\tuaecptr memp = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)%s;\n", gen_nextiword (0));
- if (curi->size == sz_word) {
- printf ("\tmini_put_byte (memp, src >> 8); mini_put_byte (memp + 2, src);\n");
- } else {
- printf ("\tmini_put_byte (memp, src >> 24); mini_put_byte (memp + 2, src >> 16);\n");
- printf ("\tmini_put_byte (memp + 4, src >> 8); mini_put_byte (memp + 6, src);\n");
- }
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
+
+ printf ("\tuaecptr memp = xm68k_areg(dstreg) + (uae_s32)(uae_s16)%s;\n", gen_nextiword ());
+ if (curi->size == sz_word) {
+ printf ("\txput_byte(memp, src >> 8); xput_byte(memp + 2, src);\n");
+ } else {
+ printf ("\txput_byte(memp, src >> 24); xput_byte(memp + 2, src >> 16);\n");
+ printf ("\txput_byte(memp + 4, src >> 8); xput_byte(memp + 6, src);\n");
+ }
break;
case i_MVPMR:
- printf ("\tuaecptr memp = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)%s;\n", gen_nextiword (0));
- genamode (curi->dmode, "dstreg", curi->size, "dst", 2, 0, 0);
- if (curi->size == sz_word) {
- printf ("\tuae_u16 val = (mini_get_byte (memp) << 8) + mini_get_byte (memp + 2);\n");
- } else {
- printf ("\tuae_u32 val = (mini_get_byte (memp) << 24) + (mini_get_byte (memp + 2) << 16)\n");
- printf (" + (mini_get_byte (memp + 4) << 8) + mini_get_byte (memp + 6);\n");
- }
+ printf ("\tuaecptr memp = xm68k_areg(srcreg) + (uae_s32)(uae_s16)%s;\n", gen_nextiword ());
+ genamode (curi->dmode, "dstreg", curi->size, "dst", 2, 0);
+ if (curi->size == sz_word) {
+ printf ("\tuae_u16 val = (xget_byte(memp) << 8) + xget_byte(memp + 2);\n");
+ } else {
+ printf ("\tuae_u32 val = (xget_byte(memp) << 24) + (xget_byte(memp + 2) << 16)\n");
+ printf (" + (xget_byte(memp + 4) << 8) + xget_byte(memp + 6);\n");
+ }
genastore ("val", curi->dmode, "dstreg", curi->size, "dst");
break;
case i_MOVE:
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "dst", 2, 0);
+ genflags (flag_logical, curi->size, "src", "", "");
+ genastore ("src", curi->dmode, "dstreg", curi->size, "dst");
+ break;
case i_MOVEA:
- {
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0);
- genamode_e3 (curi->dmode, "dstreg", curi->size, "dst", 2, 0, 1, curi->smode == Dreg && curi->dmode == Aind ? 2 : 0);
- if (curi->mnemo == i_MOVEA && curi->size == sz_word)
- printf ("\tsrc = (uae_s32)(uae_s16)src;\n");
- genastore ("src", curi->dmode, "dstreg", curi->size, "dst");
- if (curi->mnemo == i_MOVE)
- genflags (flag_logical, curi->size, "src", "", "");
- sync_m68k_pc ();
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "dst", 2, 0);
+ if (curi->size == sz_word) {
+ printf ("\tuae_u32 val = (uae_s32)(uae_s16)src;\n");
+ } else {
+ printf ("\tuae_u32 val = src;\n");
}
+ genastore ("val", curi->dmode, "dstreg", sz_long, "dst");
break;
case i_SWAP:
- genamode (curi->smode, "srcreg", sz_long, "src", 1, 0, 0);
- fill_prefetch_next ();
+ genamode (curi->smode, "srcreg", sz_long, "src", 1, 0);
start_brace ();
printf ("\tuae_u32 dst = ((src >> 16)&0xFFFF) | ((src&0xFFFF)<<16);\n");
genflags (flag_logical, sz_long, "dst", "", "");
genastore ("dst", curi->smode, "srcreg", sz_long, "src");
break;
case i_EXG:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0);
- genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, 0);
- addcycles (2);
- fill_prefetch_next ();
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0);
genastore ("dst", curi->smode, "srcreg", curi->size, "src");
genastore ("src", curi->dmode, "dstreg", curi->size, "dst");
break;
case i_EXT:
- genamode (curi->smode, "srcreg", sz_long, "src", 1, 0, 0);
- fill_prefetch_next ();
+ genamode (curi->smode, "srcreg", sz_long, "src", 1, 0);
start_brace ();
switch (curi->size) {
case sz_byte: printf ("\tuae_u32 dst = (uae_s32)(uae_s8)src;\n"); break;
curi->size == sz_word ? sz_word : sz_long, "src");
break;
case i_MVMEL:
- genmovemel (opcode);
+ genmovemel (opcode);
break;
case i_MVMLE:
- genmovemle (opcode);
+ genmovemle (opcode);
break;
case i_NOP:
break;
- case i_RTD:
- genamode (Aipi, "7", sz_long, "pc", 1, 0, 0);
- genamode (curi->smode, "srcreg", curi->size, "offs", 1, 0, 0);
- printf ("\tm68k_areg(regs, 7) += offs;\n");
- printf ("\tm68k_setpc(regs, pc);\n");
- /* PC is set and prefetch filled. */
- m68k_pc_offset = 0;
- break;
case i_LINK:
- genamode (Apdi, "7", sz_long, "old", 2, 0, GF_AA);
- genamode (curi->smode, "srcreg", sz_long, "src", 1, 0, GF_AA);
+ genamode (Apdi, "7", sz_long, "old", 2, 0);
+ genamode (curi->smode, "srcreg", sz_long, "src", 1, 0);
genastore ("src", Apdi, "7", sz_long, "old");
- genastore ("m68k_areg(regs, 7)", curi->smode, "srcreg", sz_long, "src");
- genamode (curi->dmode, "dstreg", curi->size, "offs", 1, 0, 0);
- printf ("\tm68k_areg(regs, 7) += offs;\n");
+ genastore ("xm68k_areg(7)", curi->smode, "srcreg", sz_long, "src");
+ genamode (curi->dmode, "dstreg", curi->size, "offs", 1, 0);
+ printf ("\txm68k_areg(7) += offs;\n");
break;
case i_UNLK:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0);
- printf ("\tm68k_areg(regs, 7) = src;\n");
- genamode (Aipi, "7", sz_long, "old", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
+ printf ("\txm68k_areg(7) = src;\n");
+ genamode (Aipi, "7", sz_long, "old", 1, 0);
genastore ("old", curi->smode, "srcreg", curi->size, "src");
break;
case i_RTS:
- printf ("\tmini_m68k_do_rts(regs);\n");
+ printf ("\txm68k_setpc(xget_long(xm68k_areg(7)));\n");
+ printf ("\txm68k_areg(7) += 4;\n");
m68k_pc_offset = 0;
break;
case i_JSR:
- genamode (curi->smode, "srcreg", curi->size, "src", 0, 0, GF_AA|GF_NOREFILL);
- start_brace ();
- printf ("\tuaecptr oldpc = mini_m68k_getpc(regs) + %d;\n", m68k_pc_offset);
- printf ("\tmini_m68k_setpc (regs, srca);\n");
+ genamode (curi->smode, "srcreg", curi->size, "src", 0, 0);
+ printf ("\txm68k_areg(7) -= 4;\n");
+ printf ("\txput_long(xm68k_areg(7), xm68k_getpc() + %d);\n", m68k_pc_offset);
+ printf ("\txm68k_setpc(srca);\n");
m68k_pc_offset = 0;
- printf("\tmini_m68k_areg (regs, 7) -= 4;\n");
- printf("\tmini_put_long (m68k_areg (regs, 7), oldpc);\n");
break;
case i_JMP:
- genamode (curi->smode, "srcreg", curi->size, "src", 0, 0, GF_AA|GF_NOREFILL);
- printf ("\tmini_m68k_setpc(regs, srca);\n");
+ genamode (curi->smode, "srcreg", curi->size, "src", 0, 0);
+ printf ("\txm68k_setpc(srca);\n");
m68k_pc_offset = 0;
- break;
+ break;
case i_BSR:
- printf ("\tuae_s32 s;\n");
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, GF_AA|GF_NOREFILL);
- printf ("\ts = (uae_s32)src + 2;\n");
- printf ("\tmini_m68k_do_bsr (regs, mini_m68k_getpc(regs) + %d, s);\n", m68k_pc_offset);
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
+ printf ("\tuae_s32 s = (uae_s32)src + 2;\n");
+ printf ("\txm68k_areg(7) -= 4;\n");
+ printf ("\txput_long(xm68k_areg(7), xm68k_getpc() + %d);\n", m68k_pc_offset);
+ printf ("\txm68k_incpc(s);\n");
m68k_pc_offset = 0;
- fill_prefetch_full ();
break;
case i_Bcc:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, GF_AA | GF_NOREFILL);
- printf ("\tif (!cctrue(®s->ccrflags, %d)) goto didnt_jump;\n", curi->cc);
- printf ("\tm68k_incpc (regs, (uae_s32)src + 2);\n");
+ if (curi->size == sz_long) {
+ if (next_cpu_level < 1)
+ next_cpu_level = 1;
+ }
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
+ printf ("\tif (!xcctrue(%d)) goto didnt_jump;\n", curi->cc);
+ printf ("\txm68k_incpc ((uae_s32)src + 2);\n");
+ printf ("\treturn;\n");
printf ("didnt_jump:;\n");
need_endlabel = 1;
- sync_m68k_pc ();
break;
case i_LEA:
- genamode (curi->smode, "srcreg", curi->size, "src", 0, 0, GF_AA);
- genamode (curi->dmode, "dstreg", curi->size, "dst", 2, 0, GF_AA);
+ genamode (curi->smode, "srcreg", curi->size, "src", 0, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "dst", 2, 0);
genastore ("srca", curi->dmode, "dstreg", curi->size, "dst");
break;
case i_PEA:
- genamode (curi->smode, "srcreg", curi->size, "src", 0, 0, GF_AA);
- genamode (Apdi, "7", sz_long, "dst", 2, 0, GF_AA);
+ genamode (curi->smode, "srcreg", curi->size, "src", 0, 0);
+ genamode (Apdi, "7", sz_long, "dst", 2, 0);
genastore ("srca", Apdi, "7", sz_long, "dst");
break;
case i_DBcc:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, GF_AA | GF_NOREFILL);
- genamode (curi->dmode, "dstreg", curi->size, "offs", 1, 0, GF_AA | GF_NOREFILL);
- printf ("\tuaecptr oldpc = m68k_getpc(regs);\n");
- printf ("\tif (!cctrue(®s->ccrflags, %d)) {\n", curi->cc);
- printf ("\t\tm68k_incpc(regs, (uae_s32)offs + 2);\n");
- printf ("\t");
- printf ("\t");
+ genamode (curi->smode, "srcreg", curi->size, "src", 1, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "offs", 1, 0);
+ printf ("\tif (!xcctrue(%d)) {\n", curi->cc);
genastore ("(src-1)", curi->smode, "srcreg", curi->size, "src");
- printf ("\tmini_m68k_setpc (regs, oldpc + %d);\n", m68k_pc_offset);
- m68k_pc_offset = 0;
+ printf ("\t\tif (src) {\n");
+ printf ("\t\t\txm68k_incpc((uae_s32)offs + 2);\n");
+ printf ("\t\t}\n");
+ printf ("\t}\n");
need_endlabel = 1;
break;
case i_Scc:
- genamode (curi->smode, "srcreg", curi->size, "src", cpu_level == 0 ? 1 : 2, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "src", 2, 0);
start_brace ();
- printf ("\tint val = cctrue(®s->ccrflags, %d) ? 0xff : 0;\n", curi->cc);
+ printf ("\tint val = xcctrue(%d) ? 0xff : 0;\n", curi->cc);
genastore ("val", curi->smode, "srcreg", curi->size, "src");
break;
case i_DIVU:
- printf ("\tuaecptr oldpc = mini_m68k_getpc(regs);\n");
- genamode (curi->smode, "srcreg", sz_word, "src", 1, 0, 0);
- genamode (curi->dmode, "dstreg", sz_long, "dst", 1, 0, 0);
- printf ("\tCLEAR_CZNV (®s->ccrflags);\n");
- printf ("\tif (src == 0) {\n");
- printf ("\t} else {\n");
- printf ("\t\tuae_u32 newv = (uae_u32)dst / (uae_u32)(uae_u16)src;\n");
- printf ("\t\tuae_u32 rem = (uae_u32)dst %% (uae_u32)(uae_u16)src;\n");
- printf ("\t\tif (newv > 0xffff) {\n");
- printf ("\t\t\tSET_VFLG (®s->ccrflags, 1);\n");
- printf ("\t\t\tSET_NFLG (®s->ccrflags, 1);\n");
- printf ("\t\t} else {\n");
- printf ("\t\t");
- genflags (flag_logical, sz_word, "newv", "", "");
- printf ("\t\t\tnewv = (newv & 0xffff) | ((uae_u32)rem << 16);\n");
- printf ("\t\t"); genastore ("newv", curi->dmode, "dstreg", sz_long, "dst");
- printf ("\t\t}\n");
- fill_prefetch_next ();
+ printf ("\tuaecptr oldpc = xm68k_getpc();\n");
+ genamode (curi->smode, "srcreg", sz_word, "src", 1, 0);
+ genamode (curi->dmode, "dstreg", sz_long, "dst", 1, 0);
sync_m68k_pc ();
+ start_brace ();
+ /* Clear V flag when dividing by zero - Alcatraz Odyssey demo depends
+ * on this (actually, it's doing a DIVS). */
+ printf ("\tuae_u32 newv = (uae_u32)dst / (uae_u32)(uae_u16)src;\n");
+ printf ("\tuae_u32 rem = (uae_u32)dst %% (uae_u32)(uae_u16)src;\n");
+ /* The N flag appears to be set each time there is an overflow.
+ * Weird. */
+ printf ("\tif (newv > 0xffff) { XSET_VFLG (1); XSET_NFLG (1); XSET_CFLG (0); } else\n\t{\n");
+ genflags (flag_logical, sz_word, "newv", "", "");
+ printf ("\tnewv = (newv & 0xffff) | ((uae_u32)rem << 16);\n");
+ genastore ("newv", curi->dmode, "dstreg", sz_long, "dst");
printf ("\t}\n");
- insn_n_cycles += 136 - (136 - 76) / 2; /* average */
need_endlabel = 1;
break;
case i_DIVS:
- printf ("\tuaecptr oldpc = mini_m68k_getpc(regs);\n");
- genamode (curi->smode, "srcreg", sz_word, "src", 1, 0, 0);
- genamode (curi->dmode, "dstreg", sz_long, "dst", 1, 0, 0);
- printf ("\tCLEAR_CZNV (®s->ccrflags);\n");
- printf ("\tif (src == 0) {\n");
- printf ("\t\tgoto %s;\n", endlabelstr);
- printf ("\t} else {\n");
- printf ("\t\tuae_s32 newv = (uae_s32)dst / (uae_s32)(uae_s16)src;\n");
- printf ("\t\tuae_u16 rem = (uae_s32)dst %% (uae_s32)(uae_s16)src;\n");
- printf ("\t\tif ((newv & 0xffff8000) != 0 && (newv & 0xffff8000) != 0xffff8000) {\n");
- printf ("\t\t\tSET_VFLG (®s->ccrflags, 1);\n");
- printf ("\t\t\tSET_NFLG (®s->ccrflags, 1);\n");
- printf ("\t\t} else {\n");
- printf ("\t\t\tif (((uae_s16)rem < 0) != ((uae_s32)dst < 0)) rem = -rem;\n");
- genflags (flag_logical, sz_word, "newv", "", "");
- printf ("\t\t\tnewv = (newv & 0xffff) | ((uae_u32)rem << 16);\n");
- printf ("\t\t"); genastore ("newv", curi->dmode, "dstreg", sz_long, "dst");
- printf ("\t\t}\n");
+ printf ("\tuaecptr oldpc = xm68k_getpc();\n");
+ genamode (curi->smode, "srcreg", sz_word, "src", 1, 0);
+ genamode (curi->dmode, "dstreg", sz_long, "dst", 1, 0);
sync_m68k_pc ();
+ start_brace ();
+ printf ("\tuae_s32 newv = (uae_s32)dst / (uae_s32)(uae_s16)src;\n");
+ printf ("\tuae_u16 rem = (uae_s32)dst %% (uae_s32)(uae_s16)src;\n");
+ printf ("\tif ((newv & 0xffff8000) != 0 && (newv & 0xffff8000) != 0xffff8000) { XSET_VFLG (1); XSET_NFLG (1); XSET_CFLG (0); } else\n\t{\n");
+ printf ("\tif (((uae_s16)rem < 0) != ((uae_s32)dst < 0)) rem = -rem;\n");
+ genflags (flag_logical, sz_word, "newv", "", "");
+ printf ("\tnewv = (newv & 0xffff) | ((uae_u32)rem << 16);\n");
+ genastore ("newv", curi->dmode, "dstreg", sz_long, "dst");
printf ("\t}\n");
need_endlabel = 1;
break;
case i_MULU:
- genamode (curi->smode, "srcreg", sz_word, "src", 1, 0, 0);
- genamode (curi->dmode, "dstreg", sz_word, "dst", 1, 0, 0);
+ genamode (curi->smode, "srcreg", sz_word, "src", 1, 0);
+ genamode (curi->dmode, "dstreg", sz_word, "dst", 1, 0);
start_brace ();
printf ("\tuae_u32 newv = (uae_u32)(uae_u16)dst * (uae_u32)(uae_u16)src;\n");
genflags (flag_logical, sz_long, "newv", "", "");
genastore ("newv", curi->dmode, "dstreg", sz_long, "dst");
- sync_m68k_pc ();
break;
case i_MULS:
- genamode (curi->smode, "srcreg", sz_word, "src", 1, 0, 0);
- genamode (curi->dmode, "dstreg", sz_word, "dst", 1, 0, 0);
+ genamode (curi->smode, "srcreg", sz_word, "src", 1, 0);
+ genamode (curi->dmode, "dstreg", sz_word, "dst", 1, 0);
start_brace ();
printf ("\tuae_u32 newv = (uae_s32)(uae_s16)dst * (uae_s32)(uae_s16)src;\n");
genflags (flag_logical, sz_long, "newv", "", "");
genastore ("newv", curi->dmode, "dstreg", sz_long, "dst");
break;
case i_ASR:
- genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0, 0);
- genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0);
start_brace ();
switch (curi->size) {
case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break;
default: abort ();
}
printf ("\tuae_u32 sign = (%s & val) >> %d;\n", cmask (curi->size), bit_size (curi->size) - 1);
- printf ("\tint ccnt = cnt & 63;\n");
printf ("\tcnt &= 63;\n");
- printf ("\tCLEAR_CZNV (®s->ccrflags);\n");
+ printf ("\tXCLEAR_CZNV;\n");
printf ("\tif (cnt >= %d) {\n", bit_size (curi->size));
printf ("\t\tval = %s & (uae_u32)-sign;\n", bit_mask (curi->size));
- printf ("\t\tSET_CFLG (®s->ccrflags, sign);\n");
- duplicate_carry (1);
+ printf ("\t\tXSET_CFLG (sign);\n");
+ duplicate_carry ();
if (source_is_imm1_8 (curi))
printf ("\t} else {\n");
else
printf ("\t} else if (cnt > 0) {\n");
printf ("\t\tval >>= cnt - 1;\n");
- printf ("\t\tSET_CFLG (®s->ccrflags, val & 1);\n");
- duplicate_carry (1);
+ printf ("\t\tXSET_CFLG (val & 1);\n");
+ duplicate_carry ();
printf ("\t\tval >>= 1;\n");
printf ("\t\tval |= (%s << (%d - cnt)) & (uae_u32)-sign;\n",
bit_mask (curi->size),
printf ("\t\tval &= %s;\n", bit_mask (curi->size));
printf ("\t}\n");
genflags (flag_logical_noclobber, curi->size, "val", "", "");
- shift_ce (curi->dmode, curi->size);
genastore ("val", curi->dmode, "dstreg", curi->size, "data");
break;
case i_ASL:
- genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0, 0);
- genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0);
start_brace ();
switch (curi->size) {
case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break;
case sz_long: printf ("\tuae_u32 val = data;\n"); break;
default: abort ();
}
- printf ("\tint ccnt = cnt & 63;\n");
printf ("\tcnt &= 63;\n");
- printf ("\tCLEAR_CZNV (®s->ccrflags);\n");
+ printf ("\tXCLEAR_CZNV;\n");
printf ("\tif (cnt >= %d) {\n", bit_size (curi->size));
- printf ("\t\tSET_VFLG (®s->ccrflags, val != 0);\n");
- printf ("\t\tSET_CFLG (®s->ccrflags, cnt == %d ? val & 1 : 0);\n",
+ printf ("\t\tXSET_VFLG (val != 0);\n");
+ printf ("\t\tXSET_CFLG (cnt == %d ? val & 1 : 0);\n",
bit_size (curi->size));
- duplicate_carry (1);
+ duplicate_carry ();
printf ("\t\tval = 0;\n");
if (source_is_imm1_8 (curi))
printf ("\t} else {\n");
bit_mask (curi->size),
bit_size (curi->size) - 1,
bit_mask (curi->size));
- printf ("\t\tSET_VFLG (®s->ccrflags, (val & mask) != mask && (val & mask) != 0);\n");
+ printf ("\t\tXSET_VFLG ((val & mask) != mask && (val & mask) != 0);\n");
printf ("\t\tval <<= cnt - 1;\n");
- printf ("\t\tSET_CFLG (®s->ccrflags, (val & %s) >> %d);\n", cmask (curi->size), bit_size (curi->size) - 1);
- duplicate_carry (1);
+ printf ("\t\tXSET_CFLG ((val & %s) >> %d);\n", cmask (curi->size), bit_size (curi->size) - 1);
+ duplicate_carry ();
printf ("\t\tval <<= 1;\n");
printf ("\t\tval &= %s;\n", bit_mask (curi->size));
printf ("\t}\n");
genflags (flag_logical_noclobber, curi->size, "val", "", "");
- shift_ce (curi->dmode, curi->size);
genastore ("val", curi->dmode, "dstreg", curi->size, "data");
break;
case i_LSR:
- genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0, 0);
- genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0);
start_brace ();
switch (curi->size) {
case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break;
case sz_long: printf ("\tuae_u32 val = data;\n"); break;
default: abort ();
}
- printf ("\tint ccnt = cnt & 63;\n");
printf ("\tcnt &= 63;\n");
- printf ("\tCLEAR_CZNV (®s->ccrflags);\n");
+ printf ("\tXCLEAR_CZNV;\n");
printf ("\tif (cnt >= %d) {\n", bit_size (curi->size));
- printf ("\t\tSET_CFLG (®s->ccrflags, (cnt == %d) & (val >> %d));\n",
+ printf ("\t\tXSET_CFLG ((cnt == %d) & (val >> %d));\n",
bit_size (curi->size), bit_size (curi->size) - 1);
- duplicate_carry (1);
+ duplicate_carry ();
printf ("\t\tval = 0;\n");
if (source_is_imm1_8 (curi))
printf ("\t} else {\n");
else
printf ("\t} else if (cnt > 0) {\n");
printf ("\t\tval >>= cnt - 1;\n");
- printf ("\t\tSET_CFLG (®s->ccrflags, val & 1);\n");
- duplicate_carry (1);
+ printf ("\t\tXSET_CFLG (val & 1);\n");
+ duplicate_carry ();
printf ("\t\tval >>= 1;\n");
printf ("\t}\n");
genflags (flag_logical_noclobber, curi->size, "val", "", "");
- shift_ce (curi->dmode, curi->size);
genastore ("val", curi->dmode, "dstreg", curi->size, "data");
break;
case i_LSL:
- genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0, 0);
- genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0);
start_brace ();
switch (curi->size) {
case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break;
case sz_long: printf ("\tuae_u32 val = data;\n"); break;
default: abort ();
}
- printf ("\tint ccnt = cnt & 63;\n");
printf ("\tcnt &= 63;\n");
- printf ("\tCLEAR_CZNV (®s->ccrflags);\n");
+ printf ("\tXCLEAR_CZNV;\n");
printf ("\tif (cnt >= %d) {\n", bit_size (curi->size));
- printf ("\t\tSET_CFLG (®s->ccrflags, cnt == %d ? val & 1 : 0);\n",
+ printf ("\t\tXSET_CFLG (cnt == %d ? val & 1 : 0);\n",
bit_size (curi->size));
- duplicate_carry (1);
+ duplicate_carry ();
printf ("\t\tval = 0;\n");
if (source_is_imm1_8 (curi))
printf ("\t} else {\n");
else
printf ("\t} else if (cnt > 0) {\n");
printf ("\t\tval <<= (cnt - 1);\n");
- printf ("\t\tSET_CFLG (®s->ccrflags, (val & %s) >> %d);\n", cmask (curi->size), bit_size (curi->size) - 1);
- duplicate_carry (1);
+ printf ("\t\tXSET_CFLG ((val & %s) >> %d);\n", cmask (curi->size), bit_size (curi->size) - 1);
+ duplicate_carry ();
printf ("\t\tval <<= 1;\n");
printf ("\tval &= %s;\n", bit_mask (curi->size));
printf ("\t}\n");
genflags (flag_logical_noclobber, curi->size, "val", "", "");
- shift_ce (curi->dmode, curi->size);
genastore ("val", curi->dmode, "dstreg", curi->size, "data");
break;
case i_ROL:
- genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0, 0);
- genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0);
start_brace ();
switch (curi->size) {
case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break;
case sz_long: printf ("\tuae_u32 val = data;\n"); break;
default: abort ();
}
- printf ("\tint ccnt = cnt & 63;\n");
printf ("\tcnt &= 63;\n");
- printf ("\tCLEAR_CZNV (®s->ccrflags);\n");
+ printf ("\tXCLEAR_CZNV;\n");
if (source_is_imm1_8 (curi))
printf ("{");
else
printf ("\tval <<= cnt;\n");
printf ("\tval |= loval;\n");
printf ("\tval &= %s;\n", bit_mask (curi->size));
- printf ("\tSET_CFLG (®s->ccrflags, val & 1);\n");
+ printf ("\tXSET_CFLG (val & 1);\n");
printf ("}\n");
genflags (flag_logical_noclobber, curi->size, "val", "", "");
- shift_ce (curi->dmode, curi->size);
genastore ("val", curi->dmode, "dstreg", curi->size, "data");
break;
case i_ROR:
- genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0, 0);
- genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0);
start_brace ();
switch (curi->size) {
case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break;
case sz_long: printf ("\tuae_u32 val = data;\n"); break;
default: abort ();
}
- printf ("\tint ccnt = cnt & 63;\n");
printf ("\tcnt &= 63;\n");
- printf ("\tCLEAR_CZNV (®s->ccrflags);\n");
+ printf ("\tXCLEAR_CZNV;\n");
if (source_is_imm1_8 (curi))
printf ("{");
else
printf ("\tval >>= cnt;\n");
printf ("\tval |= hival;\n");
printf ("\tval &= %s;\n", bit_mask (curi->size));
- printf ("\tSET_CFLG (®s->ccrflags, (val & %s) >> %d);\n", cmask (curi->size), bit_size (curi->size) - 1);
+ printf ("\tXSET_CFLG ((val & %s) >> %d);\n", cmask (curi->size), bit_size (curi->size) - 1);
printf ("\t}\n");
genflags (flag_logical_noclobber, curi->size, "val", "", "");
- shift_ce (curi->dmode, curi->size);
genastore ("val", curi->dmode, "dstreg", curi->size, "data");
break;
case i_ROXL:
- genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0, 0);
- genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0);
start_brace ();
switch (curi->size) {
case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break;
case sz_long: printf ("\tuae_u32 val = data;\n"); break;
default: abort ();
}
- printf ("\tint ccnt = cnt & 63;\n");
printf ("\tcnt &= 63;\n");
- printf ("\tCLEAR_CZNV (®s->ccrflags);\n");
+ printf ("\tXCLEAR_CZNV;\n");
if (source_is_imm1_8 (curi))
printf ("{");
else {
printf ("\t{\n\tuae_u32 carry;\n");
printf ("\tuae_u32 loval = val >> (%d - cnt);\n", bit_size (curi->size) - 1);
printf ("\tcarry = loval & 1;\n");
- printf ("\tval = (((val << 1) | GET_XFLG (®s->ccrflags)) << cnt) | (loval >> 1);\n");
- printf ("\tSET_XFLG (®s->ccrflags, carry);\n");
+ printf ("\tval = (((val << 1) | XGET_XFLG) << cnt) | (loval >> 1);\n");
+ printf ("\tXSET_XFLG (carry);\n");
printf ("\tval &= %s;\n", bit_mask (curi->size));
printf ("\t} }\n");
- printf ("\tSET_CFLG (®s->ccrflags, GET_XFLG (®s->ccrflags));\n");
+ printf ("\tXSET_CFLG (XGET_XFLG);\n");
genflags (flag_logical_noclobber, curi->size, "val", "", "");
- shift_ce (curi->dmode, curi->size);
genastore ("val", curi->dmode, "dstreg", curi->size, "data");
break;
case i_ROXR:
- genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0, 0);
- genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0);
+ genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0);
start_brace ();
switch (curi->size) {
case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break;
case sz_long: printf ("\tuae_u32 val = data;\n"); break;
default: abort ();
}
- printf ("\tint ccnt = cnt & 63;\n");
printf ("\tcnt &= 63;\n");
- printf ("\tCLEAR_CZNV (®s->ccrflags);\n");
+ printf ("\tXCLEAR_CZNV;\n");
if (source_is_imm1_8 (curi))
printf ("{");
else {
}
printf ("\tcnt--;\n");
printf ("\t{\n\tuae_u32 carry;\n");
- printf ("\tuae_u32 hival = (val << 1) | GET_XFLG (®s->ccrflags);\n");
+ printf ("\tuae_u32 hival = (val << 1) | XGET_XFLG;\n");
printf ("\thival <<= (%d - cnt);\n", bit_size (curi->size) - 1);
printf ("\tval >>= cnt;\n");
printf ("\tcarry = val & 1;\n");
printf ("\tval >>= 1;\n");
printf ("\tval |= hival;\n");
- printf ("\tSET_XFLG (®s->ccrflags, carry);\n");
+ printf ("\tXSET_XFLG (carry);\n");
printf ("\tval &= %s;\n", bit_mask (curi->size));
printf ("\t} }\n");
- printf ("\tSET_CFLG (®s->ccrflags, GET_XFLG (®s->ccrflags));\n");
+ printf ("\tXSET_CFLG (XGET_XFLG);\n");
genflags (flag_logical_noclobber, curi->size, "val", "", "");
- shift_ce (curi->dmode, curi->size);
genastore ("val", curi->dmode, "dstreg", curi->size, "data");
break;
case i_ASRW:
- genamode (curi->smode, "srcreg", curi->size, "data", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "data", 1, 0);
start_brace ();
switch (curi->size) {
case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break;
printf ("\tuae_u32 cflg = val & 1;\n");
printf ("\tval = (val >> 1) | sign;\n");
genflags (flag_logical, curi->size, "val", "", "");
- printf ("\tSET_CFLG (®s->ccrflags, cflg);\n");
- duplicate_carry (0);
+ printf ("\tXSET_CFLG (cflg);\n");
+ duplicate_carry ();
genastore ("val", curi->smode, "srcreg", curi->size, "data");
break;
case i_ASLW:
- genamode (curi->smode, "srcreg", curi->size, "data", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "data", 1, 0);
start_brace ();
switch (curi->size) {
case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break;
printf ("\tval <<= 1;\n");
genflags (flag_logical, curi->size, "val", "", "");
printf ("\tsign2 = %s & val;\n", cmask (curi->size));
- printf ("\tSET_CFLG (®s->ccrflags, sign != 0);\n");
- duplicate_carry (0);
+ printf ("\tXSET_CFLG (sign != 0);\n");
+ duplicate_carry ();
- printf ("\tSET_VFLG (®s->ccrflags, GET_VFLG (®s->ccrflags) | (sign2 != sign));\n");
+ printf ("\tXSET_VFLG (XGET_VFLG | (sign2 != sign));\n");
genastore ("val", curi->smode, "srcreg", curi->size, "data");
break;
case i_LSRW:
- genamode (curi->smode, "srcreg", curi->size, "data", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "data", 1, 0);
start_brace ();
switch (curi->size) {
case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break;
printf ("\tuae_u32 carry = val & 1;\n");
printf ("\tval >>= 1;\n");
genflags (flag_logical, curi->size, "val", "", "");
- printf ("SET_CFLG (®s->ccrflags, carry);\n");
- duplicate_carry (0);
+ printf ("XSET_CFLG (carry);\n");
+ duplicate_carry ();
genastore ("val", curi->smode, "srcreg", curi->size, "data");
break;
case i_LSLW:
- genamode (curi->smode, "srcreg", curi->size, "data", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "data", 1, 0);
start_brace ();
switch (curi->size) {
case sz_byte: printf ("\tuae_u8 val = data;\n"); break;
printf ("\tuae_u32 carry = val & %s;\n", cmask (curi->size));
printf ("\tval <<= 1;\n");
genflags (flag_logical, curi->size, "val", "", "");
- printf ("SET_CFLG (®s->ccrflags, carry >> %d);\n", bit_size (curi->size) - 1);
- duplicate_carry (0);
+ printf ("XSET_CFLG (carry >> %d);\n", bit_size (curi->size) - 1);
+ duplicate_carry ();
genastore ("val", curi->smode, "srcreg", curi->size, "data");
break;
case i_ROLW:
- genamode (curi->smode, "srcreg", curi->size, "data", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "data", 1, 0);
start_brace ();
switch (curi->size) {
case sz_byte: printf ("\tuae_u8 val = data;\n"); break;
printf ("\tval <<= 1;\n");
printf ("\tif (carry) val |= 1;\n");
genflags (flag_logical, curi->size, "val", "", "");
- printf ("SET_CFLG (®s->ccrflags, carry >> %d);\n", bit_size (curi->size) - 1);
+ printf ("XSET_CFLG (carry >> %d);\n", bit_size (curi->size) - 1);
genastore ("val", curi->smode, "srcreg", curi->size, "data");
break;
case i_RORW:
- genamode (curi->smode, "srcreg", curi->size, "data", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "data", 1, 0);
start_brace ();
switch (curi->size) {
case sz_byte: printf ("\tuae_u8 val = data;\n"); break;
printf ("\tval >>= 1;\n");
printf ("\tif (carry) val |= %s;\n", cmask (curi->size));
genflags (flag_logical, curi->size, "val", "", "");
- printf ("SET_CFLG (®s->ccrflags, carry);\n");
+ printf ("XSET_CFLG (carry);\n");
genastore ("val", curi->smode, "srcreg", curi->size, "data");
break;
case i_ROXLW:
- genamode (curi->smode, "srcreg", curi->size, "data", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "data", 1, 0);
start_brace ();
switch (curi->size) {
case sz_byte: printf ("\tuae_u8 val = data;\n"); break;
}
printf ("\tuae_u32 carry = val & %s;\n", cmask (curi->size));
printf ("\tval <<= 1;\n");
- printf ("\tif (GET_XFLG (®s->ccrflags)) val |= 1;\n");
+ printf ("\tif (XGET_XFLG) val |= 1;\n");
genflags (flag_logical, curi->size, "val", "", "");
- printf ("SET_CFLG (®s->ccrflags, carry >> %d);\n", bit_size (curi->size) - 1);
- duplicate_carry (0);
+ printf ("XSET_CFLG (carry >> %d);\n", bit_size (curi->size) - 1);
+ duplicate_carry ();
genastore ("val", curi->smode, "srcreg", curi->size, "data");
break;
case i_ROXRW:
- genamode (curi->smode, "srcreg", curi->size, "data", 1, 0, 0);
+ genamode (curi->smode, "srcreg", curi->size, "data", 1, 0);
start_brace ();
switch (curi->size) {
case sz_byte: printf ("\tuae_u8 val = data;\n"); break;
}
printf ("\tuae_u32 carry = val & 1;\n");
printf ("\tval >>= 1;\n");
- printf ("\tif (GET_XFLG (®s->ccrflags)) val |= %s;\n", cmask (curi->size));
+ printf ("\tif (XGET_XFLG) val |= %s;\n", cmask (curi->size));
genflags (flag_logical, curi->size, "val", "", "");
- printf ("SET_CFLG (®s->ccrflags, carry);\n");
- duplicate_carry (0);
+ printf ("XSET_CFLG (carry);\n");
+ duplicate_carry ();
genastore ("val", curi->smode, "srcreg", curi->size, "data");
break;
- case i_PACK:
- if (curi->smode == Dreg) {
- printf ("\tuae_u16 val = m68k_dreg(regs, srcreg) + %s;\n", gen_nextiword (0));
- printf ("\tm68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & 0xffffff00) | ((val >> 4) & 0xf0) | (val & 0xf);\n");
- } else {
- printf ("\tuae_u16 val;\n");
- printf ("\tm68k_areg(regs, srcreg) -= areg_byteinc[srcreg];\n");
- printf ("\tval = (uae_u16)get_byte(m68k_areg(regs, srcreg));\n");
- printf ("\tm68k_areg(regs, srcreg) -= areg_byteinc[srcreg];\n");
- printf ("\tval = (val | ((uae_u16)mini_get_byte(m68k_areg(regs, srcreg)) << 8)) + %s;\n", gen_nextiword (0));
- printf ("\tm68k_areg(regs, dstreg) -= areg_byteinc[dstreg];\n");
- printf ("\tmini_put_byte(m68k_areg(regs, dstreg),((val >> 4) & 0xf0) | (val & 0xf));\n");
- }
- break;
- case i_UNPK:
- if (curi->smode == Dreg) {
- printf ("\tuae_u16 val = m68k_dreg(regs, srcreg);\n");
- printf ("\tval = (((val << 4) & 0xf00) | (val & 0xf)) + %s;\n", gen_nextiword (0));
- printf ("\tm68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & 0xffff0000) | (val & 0xffff);\n");
- } else {
- printf ("\tuae_u16 val;\n");
- printf ("\tm68k_areg(regs, srcreg) -= areg_byteinc[srcreg];\n");
- printf ("\tval = (uae_u16)get_byte(m68k_areg(regs, srcreg));\n");
- printf ("\tval = (((val << 4) & 0xf00) | (val & 0xf)) + %s;\n", gen_nextiword (0));
- printf ("\tm68k_areg(regs, dstreg) -= areg_byteinc[dstreg];\n");
- printf ("\tmini_put_byte(m68k_areg(regs, dstreg),val);\n");
- printf ("\tm68k_areg(regs, dstreg) -= areg_byteinc[dstreg];\n");
- printf ("\tmini_put_byte(m68k_areg(regs, dstreg),val >> 8);\n");
- }
- break;
- case i_TAS:
- genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0);
- genflags (flag_logical, curi->size, "src", "", "");
- printf ("\tsrc |= 0x80;\n");
- genastore ("src", curi->smode, "srcreg", curi->size, "src");
- break;
default:
- return;
+ m68k_pc_offset = 0;
+ break;
}
finish_braces ();
- if (limit_braces) {
- printf ("\n#endif\n");
- n_braces = limit_braces;
- limit_braces = 0;
- finish_braces ();
- }
sync_m68k_pc ();
}
-static void generate_includes (FILE * f)
-{
- fprintf (f, "#include \"sysconfig.h\"\n");
- fprintf (f, "#include \"sysdeps.h\"\n");
- fprintf (f, "#include \"options.h\"\n");
- fprintf (f, "#include \"memory.h\"\n");
- fprintf (f, "#include \"custom.h\"\n");
- fprintf (f, "#include \"events.h\"\n");
- fprintf (f, "#include \"newcpu.h\"\n");
- fprintf (f, "#include \"cpu_prefetch.h\"\n");
- fprintf (f, "#include \"cputbl.h\"\n");
-
- fprintf (f, "#define CPUFUNC(x) x##_ff\n"
- "#define SET_CFLG_ALWAYS(flags, x) SET_CFLG(flags, x)\n"
- "#define SET_NFLG_ALWAYS(flags, x) SET_NFLG(flags, x)\n"
- "#ifdef NOFLAGS\n"
- "#include \"noflags.h\"\n"
- "#endif\n");
-}
-
static int postfix;
-
-static char *decodeEA (amodes mode, wordsizes size)
-{
- static char buffer[80];
-
- buffer[0] = 0;
- switch (mode){
- case Dreg:
- strcpy (buffer,"Dn");
- break;
- case Areg:
- strcpy (buffer,"An");
- break;
- case Aind:
- strcpy (buffer,"(An)");
- break;
- case Aipi:
- strcpy (buffer,"(An)+");
- break;
- case Apdi:
- strcpy (buffer,"-(An)");
- break;
- case Ad16:
- strcpy (buffer,"(d16,An)");
- break;
- case Ad8r:
- strcpy (buffer,"(d8,An,Xn)");
- break;
- case PC16:
- strcpy (buffer,"(d16,PC)");
- break;
- case PC8r:
- strcpy (buffer,"(d8,PC,Xn)");
- break;
- case absw:
- strcpy (buffer,"(xxx).W");
- break;
- case absl:
- strcpy (buffer,"(xxx).L");
- break;
- case imm:
- switch (size){
- case sz_byte:
- strcpy (buffer,"#<data>.B");
- break;
- case sz_word:
- strcpy (buffer,"#<data>.W");
- break;
- case sz_long:
- strcpy (buffer,"#<data>.L");
- break;
- default:
- break;
- }
- break;
- case imm0:
- strcpy (buffer,"#<data>.B");
- break;
- case imm1:
- strcpy (buffer,"#<data>.W");
- break;
- case imm2:
- strcpy (buffer,"#<data>.L");
- break;
- case immi:
- strcpy (buffer,"#<data>");
- break;
-
- default:
- break;
- }
- return buffer;
-}
-
-static char *outopcode (int opcode)
-{
- static char out[100];
- struct instr *ins;
- int i;
-
- ins = &table68k[opcode];
- for (i = 0; lookuptab[i].name[0]; i++) {
- if (ins->mnemo == lookuptab[i].mnemo)
- break;
- }
- strcpy (out, lookuptab[i].name);
- if (ins->size == sz_byte)
- strcat (out,".B");
- if (ins->size == sz_word)
- strcat (out,".W");
- if (ins->size == sz_long)
- strcat (out,".L");
- strcat (out," ");
- if (ins->suse)
- strcat (out, decodeEA (ins->smode, ins->size));
- if (ins->duse) {
- if (ins->suse) strcat (out,",");
- strcat (out, decodeEA (ins->dmode, ins->size));
- }
- return out;
-}
-
static void generate_one_opcode (int rp)
{
int i;
uae_u16 smsk, dmsk;
long int opcode = opcode_map[rp];
- int i68000 = table68k[opcode].clev > 0;
if (table68k[opcode].mnemo == i_ILLG
|| table68k[opcode].clev > cpu_level)
return;
if (opcode_next_clev[rp] != cpu_level) {
- fprintf (stblfile, "{ CPUFUNC(op_%04lx_%d), %ld }, /* %s */\n", opcode, opcode_last_postfix[rp],
+ fprintf (stblfile, "{ xop_%lx_%d, %ld }, /* %s */\n", opcode, opcode_last_postfix[rp],
opcode, lookuptab[i].name);
return;
}
- if (i68000)
- fprintf (stblfile, "#ifndef CPUEMU_68000_ONLY\n");
- fprintf (stblfile, "{ %sCPUFUNC(op_%04lx_%d), %ld }, /* %s */\n",
- using_ce ? "(cpuop_func*)" : "", opcode, postfix, opcode, lookuptab[i].name);
- if (i68000)
- fprintf (stblfile, "#endif\n");
- fprintf (headerfile, "extern %s op_%04lx_%d_nf;\n",
- using_ce ? "cpuop_func_ce" : "cpuop_func", opcode, postfix);
- fprintf (headerfile, "extern %s op_%04lx_%d_ff;\n",
- using_ce ? "cpuop_func_ce" : "cpuop_func", opcode, postfix);
- printf ("/* %s */\n", outopcode (opcode));
- if (i68000)
- printf("#ifndef CPUEMU_68000_ONLY\n");
- printf ("%s REGPARAM2 CPUFUNC(op_%04lx_%d)(uae_u32 opcode, struct regstruct *regs)\n{\n", using_ce ? "void" : "unsigned long", opcode, postfix);
+ fprintf (stblfile, "{ xop_%lx_%d, %ld }, /* %s */\n", opcode, postfix, opcode, lookuptab[i].name);
+ fprintf (headerfile, "extern xcpuop_func xop_%lx_%d;\n", opcode, postfix);
+ printf ("void xop_%lx_%d(uae_u32 opcode) /* %s */\n{\n", opcode, postfix, lookuptab[i].name);
switch (table68k[opcode].stype) {
case 0: smsk = 7; break;
sprintf (source, "(opcode & %d)", smsk);
if (table68k[opcode].stype == 3)
- printf ("\tuae_u32 srcreg = imm8_table[%s];\n", source);
+ printf ("\tuae_u32 srcreg = ximm8_table[%s];\n", source);
else if (table68k[opcode].stype == 1)
printf ("\tuae_u32 srcreg = (uae_s32)(uae_s8)%s;\n", source);
else
printf ("\tuae_u32 dstreg = %d;\n", (int) table68k[opcode].dreg);
} else {
int pos = table68k[opcode].dpos;
+#if 0
+ /* Check that we can do the little endian optimization safely. */
+ if (pos < 8 && (dmsk >> (8 - pos)) != 0)
+ abort ();
+#endif
if (pos)
printf ("\tuae_u32 dstreg = (opcode >> %d) & %d;\n",
pos, dmsk);
gen_opcode (opcode);
if (need_endlabel)
printf ("%s: ;\n", endlabelstr);
- returncycles ("", insn_n_cycles);
printf ("}\n");
- if (i68000)
- printf("#endif\n");
opcode_next_clev[rp] = next_cpu_level;
opcode_last_postfix[rp] = postfix;
}
static void generate_func (void)
{
- int j, rp;
-
- /* sam: this is for people with low memory (eg. me :)) */
- printf ("\n"
- "#if !defined(PART_1) && !defined(PART_2) && "
- "!defined(PART_3) && !defined(PART_4) && "
- "!defined(PART_5) && !defined(PART_6) && "
- "!defined(PART_7) && !defined(PART_8)"
- "\n"
- "#define PART_1 1\n"
- "#define PART_2 1\n"
- "#define PART_3 1\n"
- "#define PART_4 1\n"
- "#define PART_5 1\n"
- "#define PART_6 1\n"
- "#define PART_7 1\n"
- "#define PART_8 1\n"
- "#endif\n\n");
+ int i, j, rp;
+
+ using_prefetch = 0;
+ using_exception_3 = 0;
+ for (i = 0; i <= 0; i++) {
+ cpu_level = 5;
+
+ postfix = i;
+ fprintf (stblfile, "struct xcputbl xop_smalltbl_%d[] = {\n", postfix);
rp = 0;
- for(j = 1; j <= 8; ++j) {
- int k = (j * nr_cpuop_funcs) / 8;
- printf ("#ifdef PART_%d\n",j);
+ for(j=1;j<=8;++j) {
+ int k = (j*nr_cpuop_funcs)/8;
for (; rp < k; rp++)
generate_one_opcode (rp);
- printf ("#endif\n\n");
}
fprintf (stblfile, "{ 0, 0 }};\n");
+ }
+
}
-int main (int argc, char **argv)
+static void generate_includes (FILE * f)
{
- int i, rp, postfix2;
- char fname[100];
+ fprintf (f, "#include \"cpu_small.h\"\n");
+ fprintf (f, "#include \"cputbl_small.h\"\n");
+}
+int main (int argc, char **argv)
+{
read_table68k ();
do_merges ();
counts = (unsigned long *) xmalloc (65536 * sizeof (unsigned long));
read_counts ();
+ /* It would be a lot nicer to put all in one file (we'd also get rid of
+ * cputbl.h that way), but cpuopti can't cope. That could be fixed, but
+ * I don't dare to touch the 68k version. */
+
+ headerfile = fopen ("cputbl_small.h", "wb");
+ stblfile = fopen ("cpustbl_small.c", "wb");
+ generate_includes (stblfile);
+ freopen ("cpuemu_small.c", "wb", stdout);
+ generate_includes (stdout);
+
generate_func ();
free (table68k);
hf_log ("hardfile_open, unit %d (%d), OK\n", unit, m68k_dreg (&context->regs, 0));
return 0;
}
- if (is_hardfile(unit) == FILESYS_VIRTUAL)
- err = -6;
+ if (unit < 1000 || is_hardfile(unit) == FILESYS_VIRTUAL)
+ err = 50; /* HFERR_NoBoard */
hf_log ("hardfile_open, unit %d (%d), ERR=%d\n", unit, m68k_dreg (&context->regs, 0), err);
put_long (tmp1 + 20, (uae_u32)err);
put_byte (tmp1 + 31, (uae_u8)err);
if (currprefs.sound_stereo == 0)
return 1;
return 0;
-}
\ No newline at end of file
+}
+
+ #define SOUND_MAX_DELAY_BUFFER 1024
+ #define SOUND_MAX_LOG_DELAY 10
+ #define MIXED_STEREO_MAX 16
+ #define MIXED_STEREO_SCALE 32
extern int kill_filesys_unitconfig (struct uae_prefs *p, int nr);
extern int move_filesys_unitconfig (struct uae_prefs *p, int nr, int to);
+int filesys_insert(int nr, char *volume, char *rootdir, int readonly, int flags);
+int filesys_eject(int nr);
+
extern int sprintf_filesys_unit (char *buffer, int num);
extern void filesys_reset (void);
extern void filesys_start_threads (void);
extern void filesys_flush_cache (void);
extern void filesys_free_handles (void);
+extern void filesys_vsync (void);
extern void filesys_install (void);
extern void filesys_install_code (void);
--- /dev/null
+#include "sysconfig.h"
+#include "sysdeps.h"
+
+typedef void xcpuop_func (uae_u32);
+
+struct xcputbl {
+ xcpuop_func *handler;
+ uae_u16 opcode;
+};
+
+struct xcpu
+{
+ uae_u32 regs[16];
+ uae_u32 cznv;
+ uae_u32 x;
+ uae_u32 pc;
+};
+
+extern struct xcpu xregs;
+
+extern struct xcputbl xop_smalltbl_0[];
+
+extern void init_cpu_small(void);
+extern xcpuop_func *xcpufunctbl[65536];
+extern void xop_illg (uae_u32);
+
+extern uae_u32 xget_ibyte(int);
+extern uae_u32 xget_iword(int);
+extern uae_u32 xget_ilong(int);
+
+extern uae_u32 xget_byte(uaecptr);
+extern uae_u32 xget_word(uaecptr);
+extern uae_u32 xget_long(uaecptr);
+
+extern void xput_byte(uaecptr, uae_u32);
+extern void xput_word(uaecptr, uae_u32);
+extern void xput_long(uaecptr, uae_u32);
+
+extern uae_u32 xnext_iword (void);
+extern uae_u32 xnext_ilong (void);
+
+extern void xm68k_incpc(int);
+extern uaecptr xm68k_getpc(void);
+extern void xm68k_setpc(uaecptr);
+
+#define xm68k_dreg(num) (xregs.regs[(num)])
+#define xm68k_areg(num) (xregs.regs[(num + 8)])
+
+extern uae_u32 xget_disp_ea_020 (uae_u32 base, uae_u32 dp);
+extern uae_u32 xget_disp_ea_000 (uae_u32 base, uae_u32 dp);
+
+extern int xcctrue (int cc);
+
+extern const int xareg_byteinc[];
+extern const int ximm8_table[];
+
+int xmovem_index1[256];
+int xmovem_index2[256];
+int xmovem_next[256];
+
+#define XFLAGBIT_N 15
+#define XFLAGBIT_Z 14
+#define XFLAGBIT_C 8
+#define XFLAGBIT_V 0
+#define XFLAGBIT_X 8
+
+#define XFLAGVAL_N (1 << XFLAGBIT_N)
+#define XFLAGVAL_Z (1 << XFLAGBIT_Z)
+#define XFLAGVAL_C (1 << XFLAGBIT_C)
+#define XFLAGVAL_V (1 << XFLAGBIT_V)
+#define XFLAGVAL_X (1 << XFLAGBIT_X)
+
+#define XSET_ZFLG(y) (xregs.cznv = (xregs.cznv & ~XFLAGVAL_Z) | (((y) ? 1 : 0) << XFLAGBIT_Z))
+#define XSET_CFLG(y) (xregs.cznv = (xregs.cznv & ~XFLAGVAL_C) | (((y) ? 1 : 0) << XFLAGBIT_C))
+#define XSET_VFLG(y) (xregs.cznv = (xregs.cznv & ~XFLAGVAL_V) | (((y) ? 1 : 0) << XFLAGBIT_V))
+#define XSET_NFLG(y) (xregs.cznv = (xregs.cznv & ~XFLAGVAL_N) | (((y) ? 1 : 0) << XFLAGBIT_N))
+#define XSET_XFLG(y) (xregs.x = ((y) ? 1 : 0) << XFLAGBIT_X)
+
+#define XGET_ZFLG ((xregs.cznv >> XFLAGBIT_Z) & 1)
+#define XGET_CFLG ((xregs.cznv >> XFLAGBIT_C) & 1)
+#define XGET_VFLG ((xregs.cznv >> XFLAGBIT_V) & 1)
+#define XGET_NFLG ((xregs.cznv >> XFLAGBIT_N) & 1)
+#define XGET_XFLG ((xregs.x >> XFLAGBIT_X) & 1)
+
+#define XCLEAR_CZNV (xregs.cznv = 0)
+#define XGET_CZNV (xregs.cznv)
+#define XIOR_CZNV(X) (xregs.cznv |= (X))
+#define XSET_CZNV(X) (xregs.cznv = (X))
+
+#define XCOPY_CARRY (xregs.x = xregs.cznv)
+
};
void customhack_put (struct customhack *ch, uae_u16 v, int hpos);
uae_u16 customhack_get (struct customhack *ch, int hpos);
+extern void alloc_cycle_ext(int, int);
#define ERROR_DELETE_PROTECTED 222
#define ERROR_WRITE_PROTECTED 223
#define ERROR_READ_PROTECTED 224
+#define ERROR_NOT_A_DOS_DISK 225
+#define ERROR_NO_DISK 226
#define ERROR_NO_MORE_ENTRIES 232
#define ERROR_NOT_IMPLEMENTED 236
unsigned int deleted:1;
/* target volume flag */
unsigned int volflags;
+ /* not equaling unit.mountcount -> not in this volume */
+ unsigned int mountcount;
#ifdef AINO_DEBUG
uae_u32 checksum2;
#endif
#define MYVOLUMEINFO_STREAMS 2
#define MYVOLUMEINFO_ARCHIVE 4
-extern int my_getvolumeinfo (char *root);
+extern int my_getvolumeinfo (const char *root);
#define ROMTYPE_ARCADIABIOS 512
#define ROMTYPE_ARCADIAGAME 1024
#define ROMTYPE_HRTMON 2048
+#define ROMTYPE_NORDIC 4096
+#define ROMTYPE_XPOWER 8192
+#define ROMTYPE_EVEN 16384
+#define ROMTYPE_ODD 32768
+#define ROMTYPE_BYTESWAP 65536
+#define ROMTYPE_SCRAMBLED 131072
struct romheader {
char *name;
int cpu;
int cloanto;
int type;
+ int group;
int title;
uae_u32 crc32;
uae_u32 sha1[5];
extern const struct cputbl op_smalltbl_0_ff[];
/* 68040 */
extern const struct cputbl op_smalltbl_1_ff[];
-/* 68020/68030+FPU */
-extern const struct cputbl op_smalltbl_2_ff[];
/* 68030 */
-extern const struct cputbl op_smalltbl_3_ff[];
+extern const struct cputbl op_smalltbl_2_ff[];
/* 68020 */
-extern const struct cputbl op_smalltbl_4_ff[];
+extern const struct cputbl op_smalltbl_3_ff[];
/* 68010 */
-extern const struct cputbl op_smalltbl_5_ff[];
+extern const struct cputbl op_smalltbl_4_ff[];
/* 68000 */
-extern const struct cputbl op_smalltbl_6_ff[];
+extern const struct cputbl op_smalltbl_5_ff[];
/* 68000 slow but compatible. */
extern const struct cputbl op_smalltbl_11_ff[];
/* 68000 slow but compatible and cycle-exact. */
#define UAEMAJOR 1
#define UAEMINOR 4
-#define UAESUBREV 3
+#define UAESUBREV 4
typedef enum { KBD_LANG_US, KBD_LANG_DK, KBD_LANG_DE, KBD_LANG_SE, KBD_LANG_FR, KBD_LANG_IT, KBD_LANG_ES } KbdLang;
int produce_sound;
int sound_stereo;
int sound_stereo_separation;
- int sound_mixed_stereo;
+ int sound_mixed_stereo_delay;
int sound_bits;
int sound_freq;
int sound_maxbsiz;
char path_rom[256];
int m68k_speed;
- int cpu_level;
int cpu_model;
int cpu060_revision;
int fpu_model;
int parse_cmdline_option (struct uae_prefs *, char, char *);
-extern int cfgfile_yesno (char *option, char *value, char *name, int *location);
-extern int cfgfile_intval (char *option, char *value, char *name, int *location, int scale);
-extern int cfgfile_strval (char *option, char *value, char *name, int *location, const char *table[], int more);
-extern int cfgfile_string (char *option, char *value, char *name, char *location, int maxsz);
+extern int cfgfile_yesno (const char *option, const char *value, const char *name, int *location);
+extern int cfgfile_intval (const char *option, const char *value, const char *name, int *location, int scale);
+extern int cfgfile_strval (const char *option, const char *value, const char *name, int *location, const char *table[], int more);
+extern int cfgfile_string (const char *option, const char *value, const char *name, char *location, int maxsz);
extern char *cfgfile_subst_path (const char *path, const char *subst, const char *file);
extern int target_parse_option (struct uae_prefs *, char *option, char *value);
extern uae_u8 *restore_keyboard (uae_u8 *);
extern uae_u8 *save_keyboard (int *);
+extern uae_u8 *restore_akiko(uae_u8 *src);
+extern uae_u8 *save_akiko(int *len);
+extern void restore_akiko_finish(void);
+
extern uae_u8 *restore_filesys (uae_u8 *src);
extern uae_u8 *save_filesys (int num, int *len);
extern uae_u8 *restore_filesys_common (uae_u8 *src);
extern struct zfile *archive_access_select (struct zfile *zf, unsigned int id, int doselect);
extern struct zfile *archive_access_arcacc_select (struct zfile *zf, unsigned int id);
-
-
extern void archive_access_scan (struct zfile *zf, zfile_callback zc, void *user, unsigned int id);
extern void archive_access_close (void *handle, unsigned int id);
extern struct zfile *archive_getzfile(struct znode *zn, unsigned int id);
+
+extern struct zfile *decompress_zfd (struct zfile*);
\ No newline at end of file
void fixup_cpu(struct uae_prefs *p)
{
- p->cpu_level = 0;
switch(p->cpu_model)
{
case 68000:
- p->cpu_level = 0;
p->address_space_24 = 1;
p->fpu_model = 0;
break;
case 68010:
- p->cpu_level = 1;
p->address_space_24 = 1;
p->fpu_model = 0;
break;
case 68020:
- p->cpu_level = 2;
break;
case 68030:
- p->cpu_level = 3;
p->address_space_24 = 0;
break;
case 68040:
- p->cpu_level = 5;
p->address_space_24 = 0;
if (p->fpu_model)
p->fpu_model = 68040;
break;
case 68060:
- p->cpu_level = 6;
p->address_space_24 = 0;
if (p->fpu_model)
p->fpu_model = 68060;
break;
}
- if ((p->cpu_level == 2 || p->cpu_level == 3) && p->fpu_model)
- p->cpu_level = 4;
}
#ifdef CPU_68000_ONLY
p->cpu_model = 68000;
- p->cpu_level = 0;
p->fpu_model = 0;
#endif
#ifndef CPUEMU_0
return NULL;
}
-#define NEXT_ROM_ID 68
+#define NEXT_ROM_ID 70
static struct romheader romheaders[] = {
{ "Freezer Cartridges", 1 },
};
static struct romdata roms[] = {
- { "Cloanto Amiga Forever ROM key", 0, 0, 0, 0, 0, 2069, 0, 0, 1, ROMTYPE_KEY, 0,
+ { "Cloanto Amiga Forever ROM key", 0, 0, 0, 0, 0, 2069, 0, 0, 1, ROMTYPE_KEY, 0, 0,
0x869ae1b1, 0x801bbab3,0x2e3d3738,0x6dd1636d,0x4f1d6fa7,0xe21d5874 },
- { "Cloanto Amiga Forever 2006 ROM key", 0, 0, 0, 0, 0, 750, 48, 0, 1, ROMTYPE_KEY, 0,
+ { "Cloanto Amiga Forever 2006 ROM key", 0, 0, 0, 0, 0, 750, 48, 0, 1, ROMTYPE_KEY, 0, 0,
0xb01c4b56, 0xbba8e5cd,0x118b8d92,0xafed5693,0x5eeb9770,0x2a662d8f },
- { "KS ROM v1.0 (A1000)(NTSC)", 1, 0, 1, 0, "A1000\0", 262144, 1, 0, 0, ROMTYPE_KICK, 0,
+ { "KS ROM v1.0 (A1000)(NTSC)", 1, 0, 1, 0, "A1000\0", 262144, 1, 0, 0, ROMTYPE_KICK, 0, 0,
0x299790ff, 0x00C15406,0xBEB4B8AB,0x1A16AA66,0xC05860E1,0xA7C1AD79 },
- { "KS ROM v1.1 (A1000)(NTSC)", 1, 1, 31, 34, "A1000\0", 262144, 2, 0, 0, ROMTYPE_KICK, 0,
+ { "KS ROM v1.1 (A1000)(NTSC)", 1, 1, 31, 34, "A1000\0", 262144, 2, 0, 0, ROMTYPE_KICK, 0, 0,
0xd060572a, 0x4192C505,0xD130F446,0xB2ADA6BD,0xC91DAE73,0x0ACAFB4C},
- { "KS ROM v1.1 (A1000)(PAL)", 1, 1, 31, 34, "A1000\0", 262144, 3, 0, 0, ROMTYPE_KICK, 0,
+ { "KS ROM v1.1 (A1000)(PAL)", 1, 1, 31, 34, "A1000\0", 262144, 3, 0, 0, ROMTYPE_KICK, 0, 0,
0xec86dae2, 0x16DF8B5F,0xD524C5A1,0xC7584B24,0x57AC15AF,0xF9E3AD6D },
- { "KS ROM v1.2 (A1000)", 1, 2, 33, 166, "A1000\0", 262144, 4, 0, 0, ROMTYPE_KICK, 0,
+ { "KS ROM v1.2 (A1000)", 1, 2, 33, 166, "A1000\0", 262144, 4, 0, 0, ROMTYPE_KICK, 0, 0,
0x9ed783d0, 0x6A7BFB5D,0xBD6B8F17,0x9F03DA84,0xD8D95282,0x67B6273B },
- { "KS ROM v1.2 (A500,A1000,A2000)", 1, 2, 33, 180, "A500\0A1000\0A2000\0", 262144, 5, 0, 0, ROMTYPE_KICK, 0,
+ { "KS ROM v1.2 (A500,A1000,A2000)", 1, 2, 33, 180, "A500\0A1000\0A2000\0", 262144, 5, 0, 0, ROMTYPE_KICK, 0, 0,
0xa6ce1636, 0x11F9E62C,0xF299F721,0x84835B7B,0x2A70A163,0x33FC0D88 },
- { "KS ROM v1.3 (A500,A1000,A2000)", 1, 3, 34, 5, "A500\0A1000\0A2000\0", 262144, 6, 0, 0, ROMTYPE_KICK, 0,
+ { "KS ROM v1.3 (A500,A1000,A2000)", 1, 3, 34, 5, "A500\0A1000\0A2000\0", 262144, 6, 0, 0, ROMTYPE_KICK, 0, 0,
0xc4f0f55f, 0x891E9A54,0x7772FE0C,0x6C19B610,0xBAF8BC4E,0xA7FCB785 },
- { "KS ROM v1.3 (A3000)(SK)", 1, 3, 34, 5, "A3000\0", 262144, 32, 0, 0, ROMTYPE_KICK, 0,
+ { "KS ROM v1.3 (A3000)(SK)", 1, 3, 34, 5, "A3000\0", 262144, 32, 0, 0, ROMTYPE_KICK, 0, 0,
0xe0f37258, 0xC39BD909,0x4D4E5F4E,0x28C1411F,0x30869504,0x06062E87 },
- { "KS ROM v1.4 (A3000)", 1, 4, 36, 16, "A3000\0", 524288, 59, 3, 0, ROMTYPE_KICK, 0,
+ { "KS ROM v1.4 (A3000)", 1, 4, 36, 16, "A3000\0", 524288, 59, 3, 0, ROMTYPE_KICK, 0, 0,
0xbc0ec13f, 0xF76316BF,0x36DFF14B,0x20FA349E,0xD02E4B11,0xDD932B07 },
- { "KS ROM v2.04 (A500+)", 2, 4, 37, 175, "A500+\0", 524288, 7, 0, 0, ROMTYPE_KICK, 0,
+ { "KS ROM v2.04 (A500+)", 2, 4, 37, 175, "A500+\0", 524288, 7, 0, 0, ROMTYPE_KICK, 0, 0,
0xc3bdb240, 0xC5839F5C,0xB98A7A89,0x47065C3E,0xD2F14F5F,0x42E334A1 },
- { "KS ROM v2.05 (A600)", 2, 5, 37, 299, "A600\0", 524288, 8, 0, 0, ROMTYPE_KICK, 0,
+ { "KS ROM v2.05 (A600)", 2, 5, 37, 299, "A600\0", 524288, 8, 0, 0, ROMTYPE_KICK, 0, 0,
0x83028fb5, 0x87508DE8,0x34DC7EB4,0x7359CEDE,0x72D2E3C8,0xA2E5D8DB },
- { "KS ROM v2.05 (A600HD)", 2, 5, 37, 300, "A600HD\0A600\0", 524288, 9, 0, 0, ROMTYPE_KICK, 0,
+ { "KS ROM v2.05 (A600HD)", 2, 5, 37, 300, "A600HD\0A600\0", 524288, 9, 0, 0, ROMTYPE_KICK, 0, 0,
0x64466c2a, 0xF72D8914,0x8DAC39C6,0x96E30B10,0x859EBC85,0x9226637B },
- { "KS ROM v2.05 (A600HD)", 2, 5, 37, 350, "A600HD\0A600\0", 524288, 10, 0, 0, ROMTYPE_KICK, 0,
+ { "KS ROM v2.05 (A600HD)", 2, 5, 37, 350, "A600HD\0A600\0", 524288, 10, 0, 0, ROMTYPE_KICK, 0, 0,
0x43b0df7b, 0x02843C42,0x53BBD29A,0xBA535B0A,0xA3BD9A85,0x034ECDE4 },
- { "KS ROM v3.0 (A1200)", 3, 0, 39, 106, "A1200\0", 524288, 11, 0, 0, ROMTYPE_KICK, 0,
+ { "KS ROM v3.0 (A1200)", 3, 0, 39, 106, "A1200\0", 524288, 11, 0, 0, ROMTYPE_KICK, 0, 0,
0x6c9b07d2, 0x70033828,0x182FFFC7,0xED106E53,0x73A8B89D,0xDA76FAA5 },
- { "KS ROM v3.0 (A4000)", 3, 0, 39, 106, "A4000\0", 524288, 12, 2 | 4, 0, ROMTYPE_KICK, 0,
+ { "KS ROM v3.0 (A4000)", 3, 0, 39, 106, "A4000\0", 524288, 12, 2 | 4, 0, ROMTYPE_KICK, 0, 0,
0x9e6ac152, 0xF0B4E9E2,0x9E12218C,0x2D5BD702,0x0E4E7852,0x97D91FD7 },
- { "KS ROM v3.1 (A4000)", 3, 1, 40, 70, "A4000\0", 524288, 13, 2 | 4, 0, ROMTYPE_KICK, 0,
+ { "KS ROM v3.1 (A4000)", 3, 1, 40, 70, "A4000\0", 524288, 13, 2 | 4, 0, ROMTYPE_KICK, 0, 0,
0x2b4566f1, 0x81c631dd,0x096bbb31,0xd2af9029,0x9c76b774,0xdb74076c },
- { "KS ROM v3.1 (A500,A600,A2000)", 3, 1, 40, 63, "A500\0A600\0A2000\0", 524288, 14, 0, 0, ROMTYPE_KICK, 0,
+ { "KS ROM v3.1 (A500,A600,A2000)", 3, 1, 40, 63, "A500\0A600\0A2000\0", 524288, 14, 0, 0, ROMTYPE_KICK, 0, 0,
0xfc24ae0d, 0x3B7F1493,0xB27E2128,0x30F989F2,0x6CA76C02,0x049F09CA },
- { "KS ROM v3.1 (A1200)", 3, 1, 40, 68, "A1200\0", 524288, 15, 1, 0, ROMTYPE_KICK, 0,
+ { "KS ROM v3.1 (A1200)", 3, 1, 40, 68, "A1200\0", 524288, 15, 1, 0, ROMTYPE_KICK, 0, 0,
0x1483a091, 0xE2154572,0x3FE8374E,0x91342617,0x604F1B3D,0x703094F1 },
- { "KS ROM v3.1 (A3000)", 3, 1, 40, 68, "A3000\0", 524288, 61, 2, 0, ROMTYPE_KICK, 0,
+ { "KS ROM v3.1 (A3000)", 3, 1, 40, 68, "A3000\0", 524288, 61, 2, 0, ROMTYPE_KICK, 0, 0,
0xefb239cc, 0xF8E210D7,0x2B4C4853,0xE0C9B85D,0x223BA20E,0x3D1B36EE },
- { "KS ROM v3.1 (A4000)(Cloanto)", 3, 1, 40, 68, "A4000\0", 524288, 31, 2 | 4, 1, ROMTYPE_KICK, 0,
+ { "KS ROM v3.1 (A4000)(Cloanto)", 3, 1, 40, 68, "A4000\0", 524288, 31, 2 | 4, 1, ROMTYPE_KICK, 0, 0,
0x43b6dd22, 0xC3C48116,0x0866E60D,0x085E436A,0x24DB3617,0xFF60B5F9 },
- { "KS ROM v3.1 (A4000)", 3, 1, 40, 68, "A4000\0", 524288, 16, 2 | 4, 0, ROMTYPE_KICK, 0,
+ { "KS ROM v3.1 (A4000)", 3, 1, 40, 68, "A4000\0", 524288, 16, 2 | 4, 0, ROMTYPE_KICK, 0, 0,
0xd6bae334, 0x5FE04842,0xD04A4897,0x20F0F4BB,0x0E469481,0x99406F49 },
- { "KS ROM v3.1 (A4000T)", 3, 1, 40, 70, "A4000T\0", 524288, 17, 2 | 4, 0, ROMTYPE_KICK, 0,
+ { "KS ROM v3.1 (A4000T)", 3, 1, 40, 70, "A4000T\0", 524288, 17, 2 | 4, 0, ROMTYPE_KICK, 0, 0,
0x75932c3a, 0xB0EC8B84,0xD6768321,0xE01209F1,0x1E6248F2,0xF5281A21 },
- { "KS ROM v3.X (A4000)(Cloanto)", 3, 10, 45, 57, "A4000\0", 524288, 46, 2 | 4, 0, ROMTYPE_KICK, 0,
+ { "KS ROM v3.X (A4000)(Cloanto)", 3, 10, 45, 57, "A4000\0", 524288, 46, 2 | 4, 0, ROMTYPE_KICK, 0, 0,
0x08b69382, 0x81D3AEA3,0x0DB7FBBB,0x4AFEE41C,0x21C5ED66,0x2B70CA53 },
- { "CD32 KS ROM v3.1", 3, 1, 40, 60, "CD32\0", 524288, 18, 1, 0, ROMTYPE_KICKCD32, 0,
+ { "CD32 KS ROM v3.1", 3, 1, 40, 60, "CD32\0", 524288, 18, 1, 0, ROMTYPE_KICKCD32, 0, 0,
0x1e62d4a5, 0x3525BE88,0x87F79B59,0x29E017B4,0x2380A79E,0xDFEE542D },
- { "CD32 extended ROM", 3, 1, 40, 60, "CD32\0", 524288, 19, 1, 0, ROMTYPE_EXTCD32, 0,
+ { "CD32 extended ROM", 3, 1, 40, 60, "CD32\0", 524288, 19, 1, 0, ROMTYPE_EXTCD32, 0, 0,
0x87746be2, 0x5BEF3D62,0x8CE59CC0,0x2A66E6E4,0xAE0DA48F,0x60E78F7F },
- { "CD32 ROM (KS + extended)", 3, 1, 40, 60, "CD32\0", 2 * 524288, 64, 1, 0, ROMTYPE_KICKCD32, 0,
+ { "CD32 ROM (KS + extended)", 3, 1, 40, 60, "CD32\0", 2 * 524288, 64, 1, 0, ROMTYPE_KICKCD32 | ROMTYPE_EXTCD32, 0, 0,
0xd3837ae4, 0x06807db3,0x18163745,0x5f4d4658,0x2d9972af,0xec8956d9 },
- { "CDTV extended ROM v1.00", 1, 0, 1, 0, "CDTV\0", 262144, 20, 0, 0, ROMTYPE_EXTCDTV, 0,
+ { "CDTV extended ROM v1.00", 1, 0, 1, 0, "CDTV\0", 262144, 20, 0, 0, ROMTYPE_EXTCDTV, 0, 0,
0x42baa124, 0x7BA40FFA,0x17E500ED,0x9FED041F,0x3424BD81,0xD9C907BE },
- { "CDTV extended ROM v2.07", 2, 7, 2, 7, "CDTV\0", 262144, 22, 0, 0, ROMTYPE_EXTCDTV, 0,
+ { "CDTV extended ROM v2.07", 2, 7, 2, 7, "CDTV\0", 262144, 22, 0, 0, ROMTYPE_EXTCDTV, 0, 0,
0xceae68d2, 0x5BC114BB,0xA29F60A6,0x14A31174,0x5B3E2464,0xBFA06846 },
- { "CDTV extended ROM v2.30", 2, 30, 2, 30, "CDTV\0", 262144, 21, 0, 0, ROMTYPE_EXTCDTV, 0,
+ { "CDTV extended ROM v2.30", 2, 30, 2, 30, "CDTV\0", 262144, 21, 0, 0, ROMTYPE_EXTCDTV, 0, 0,
0x30b54232, 0xED7E461D,0x1FFF3CDA,0x321631AE,0x42B80E3C,0xD4FA5EBB },
- { "A1000 bootstrap ROM", 0, 0, 0, 0, "A1000\0", 8192, 23, 0, 0, ROMTYPE_KICK, 0,
+ { "A1000 bootstrap ROM", 0, 0, 0, 0, "A1000\0", 8192, 23, 0, 0, ROMTYPE_KICK, 0, 0,
0x62f11c04, 0xC87F9FAD,0xA4EE4E69,0xF3CCA0C3,0x6193BE82,0x2B9F5FE6 },
- { "A1000 bootstrap ROM", 0, 0, 0, 0, "A1000\0", 65536, 24, 0, 0, ROMTYPE_KICK, 0,
+ { "A1000 bootstrap ROM", 0, 0, 0, 0, "A1000\0", 65536, 24, 0, 0, ROMTYPE_KICK, 0, 0,
0x0b1ad2d0, 0xBA93B8B8,0x5CA0D83A,0x68225CC3,0x3B95050D,0x72D2FDD7 },
- { "Freezer: Action Replay Mk I v1.00", 1, 0, 1, 0, "AR\0", 65536, 52, 0, 0, ROMTYPE_AR, 1,
+ { "Freezer: Action Replay Mk I v1.00", 1, 0, 1, 0, "AR\0", 65536, 52, 0, 0, ROMTYPE_AR, 0, 1,
0x2d921771, 0x1EAD9DDA,0x2DAD2914,0x6441F5EF,0x72183750,0x22E01248 },
- { "Freezer: Action Replay Mk I v1.50", 1, 50, 1, 50, "AR\0", 65536, 25, 0, 0, ROMTYPE_AR, 1,
+ { "Freezer: Action Replay Mk I v1.50", 1, 50, 1, 50, "AR\0", 65536, 25, 0, 0, ROMTYPE_AR, 0, 1,
0xd4ce0675, 0x843B433B,0x2C56640E,0x045D5FDC,0x854DC6B1,0xA4964E7C },
- { "Freezer: Action Replay Mk II v2.05", 2, 5, 2, 5, "AR\0", 131072, 26, 0, 0, ROMTYPE_AR, 1,
+ { "Freezer: Action Replay Mk II v2.05", 2, 5, 2, 5, "AR\0", 131072, 26, 0, 0, ROMTYPE_AR, 0, 1,
0x1287301f, 0xF6601DE8,0x888F0050,0x72BF562B,0x9F533BBC,0xAF1B0074 },
- { "Freezer: Action Replay Mk II v2.12", 2, 12, 2, 12, "AR\0", 131072, 27, 0, 0, ROMTYPE_AR, 1,
+ { "Freezer: Action Replay Mk II v2.12", 2, 12, 2, 12, "AR\0", 131072, 27, 0, 0, ROMTYPE_AR, 0, 1,
0x804d0361, 0x3194A07A,0x0A82D8B5,0xF2B6AEFA,0x3CA581D6,0x8BA8762B },
- { "Freezer: Action Replay Mk II v2.14", 2, 14, 2, 14, "AR\0", 131072, 28, 0, 0, ROMTYPE_AR, 1,
+ { "Freezer: Action Replay Mk II v2.14", 2, 14, 2, 14, "AR\0", 131072, 28, 0, 0, ROMTYPE_AR, 0, 1,
0x49650e4f, 0x255D6DF6,0x3A4EAB0A,0x838EB1A1,0x6A267B09,0x59DFF634 },
- { "Freezer: Action Replay Mk III v3.09", 3, 9, 3, 9, "AR\0", 262144, 29, 0, 0, ROMTYPE_AR, 1,
+ { "Freezer: Action Replay Mk III v3.09", 3, 9, 3, 9, "AR\0", 262144, 29, 0, 0, ROMTYPE_AR, 0, 1,
0x0ed9b5aa, 0x0FF3170A,0xBBF0CA64,0xC9DD93D6,0xEC0C7A01,0xB5436824 },
- { "Freezer: Action Replay Mk III v3.17", 3, 17, 3, 17, "AR\0", 262144, 30, 0, 0, ROMTYPE_AR, 1,
+ { "Freezer: Action Replay Mk III v3.17", 3, 17, 3, 17, "AR\0", 262144, 30, 0, 0, ROMTYPE_AR, 0, 1,
0xc8a16406, 0x5D4987C2,0xE3FFEA8B,0x1B02E314,0x30EF190F,0x2DB76542 },
- { "Freezer: Action Replay 1200", 0, 0, 0, 0, "AR\0", 262144, 47, 0, 0, ROMTYPE_AR, 1,
+ { "Freezer: Action Replay 1200", 0, 0, 0, 0, "AR\0", 262144, 47, 0, 0, ROMTYPE_AR, 0, 1,
0x8d760101, 0x0F6AB834,0x2810094A,0xC0642F62,0xBA42F78B,0xC0B07E6A },
- { "Freezer: Action Cartridge Super IV Professional", 0, 0, 0, 0, "SUPERIV\0", 0, 62, 0, 0, ROMTYPE_SUPERIV, 1,
+ { "Freezer: Action Cartridge Super IV Professional", 0, 0, 0, 0, "SUPERIV\0", 0, 62, 0, 0, ROMTYPE_SUPERIV, 0, 1,
0xffffffff, 0, 0, 0, 0, 0, "SuperIV" },
- { "Freezer: Action Cart. Super IV Pro (+ROM v4.3)", 4, 3, 4, 3, "SUPERIV\0", 170368, 60, 0, 0, ROMTYPE_SUPERIV, 1,
+ { "Freezer: Action Cart. Super IV Pro (+ROM v4.3)", 4, 3, 4, 3, "SUPERIV\0", 170368, 60, 0, 0, ROMTYPE_SUPERIV, 0, 1,
0xe668a0be, 0x633A6E65,0xA93580B8,0xDDB0BE9C,0x9A64D4A1,0x7D4B4801 },
- { "Freezer: X-Power Professional 500 v1.2", 1, 2, 1, 2, "XPOWER\0", 131072, 65, 0, 0, ROMTYPE_SUPERIV, 1,
+ { "Freezer: X-Power Professional 500 v1.2", 1, 2, 1, 2, "XPOWER\0", 131072, 65, 0, 0, ROMTYPE_XPOWER, 0, 1,
0x9e70c231, 0xa2977a1c,0x41a8ca7d,0x4af4a168,0x726da542,0x179d5963 },
- /* v1.0 is bad dump */
- { "Freezer: Nordic Power v1.0", 0, 0, 0, 0, "NPOWER\0", 65536, 66, 0, 0, ROMTYPE_SUPERIV, 1, },
- //0xdd16cdec, 0xfd882967,0x87e2da5f,0x4ef6be32,0x5f7c9324,0xb5bd8e64 },
- { "Freezer: Nordic Power v2.0", 2, 0, 2, 0, "NPOWER\0", 65536, 67, 0, 0, ROMTYPE_SUPERIV, 1,
+ { "Freezer: X-Power Professional 500 v1.3", 1, 2, 1, 2, "XPOWER\0", 131072, 68, 0, 0, ROMTYPE_XPOWER, 0, 1,
+ 0x31e057f0, 0x84650266,0x465d1859,0x7fd71dee,0x00775930,0xb7e450ee },
+ { "Freezer: Nordic Power v1.5", 1, 5, 1, 5, "NPOWER\0", 65536, 69, 0, 0, ROMTYPE_NORDIC, 0, 1,
+ 0x83b4b21c, 0xc56ced25,0x506a5aab,0x3fa13813,0x4fc9e5ae,0x0f9d3709 },
+ { "Freezer: Nordic Power v2.0", 2, 0, 2, 0, "NPOWER\0", 65536, 67, 0, 0, ROMTYPE_NORDIC, 0, 1,
0xa4db2906, 0x0aec68f7,0x25470c89,0x6b699ff4,0x6623dec5,0xc777466e },
- { "Freezer: HRTMon v2.30 (built-in)", 0, 0, 0, 0, "HRTMON\0", 0, 63, 0, 0, ROMTYPE_HRTMON, 1,
+ { "Freezer: HRTMon v2.30 (built-in)", 0, 0, 0, 0, "HRTMON\0", 0, 63, 0, 0, ROMTYPE_HRTMON, 0, 1,
0xffffffff, 0, 0, 0, 0, 0, "HRTMon" },
- { "A590/A2091 SCSI boot ROM", 0, 0, 6, 0, "A590\0A2091\0", 16384, 53, 0, 0, ROMTYPE_A2091BOOT, 0,
+ { "A590/A2091 SCSI boot ROM", 0, 0, 6, 0, "A590\0A2091\0", 16384, 53, 0, 0, ROMTYPE_A2091BOOT, 0, 0,
0x8396cf4e, 0x5E03BC61,0x8C862ABE,0x7BF79723,0xB4EEF4D2,0x1859A0F2 },
- { "A590/A2091 SCSI boot ROM", 0, 0, 6, 6, "A590\0A2091\0", 16384, 54, 0, 0, ROMTYPE_A2091BOOT, 0,
+ { "A590/A2091 SCSI boot ROM", 0, 0, 6, 6, "A590\0A2091\0", 16384, 54, 0, 0, ROMTYPE_A2091BOOT, 0, 0,
0x33e00a7a, 0x739BB828,0xE874F064,0x9360F59D,0x26B5ED3F,0xBC99BB66 },
- { "A590/A2091 SCSI boot ROM", 0, 0, 7, 0, "A590\0A2091\0", 16384, 55, 0, 0, ROMTYPE_A2091BOOT, 0,
+ { "A590/A2091 SCSI boot ROM", 0, 0, 7, 0, "A590\0A2091\0", 16384, 55, 0, 0, ROMTYPE_A2091BOOT, 0, 0,
0x714a97a2, 0xE50F01BA,0xF2899892,0x85547863,0x72A82C33,0x3C91276E },
- { "A590/A2091 SCSI Guru boot ROM", 0, 0, 6, 14, "A590\0A2091\0", 32768, 56, 0, 0, ROMTYPE_A2091BOOT, 0,
+ { "A590/A2091 SCSI Guru boot ROM", 0, 0, 6, 14, "A590\0A2091\0", 32768, 56, 0, 0, ROMTYPE_A2091BOOT, 0, 0,
0x04e52f93, 0x6DA21B6F,0x5E8F8837,0xD64507CD,0x8A4D5CDC,0xAC4F426B },
- { "A4091 SCSI boot ROM", 0, 0, 40, 9, "A4091\0", 32768, 57, 0, 0, ROMTYPE_A4091BOOT, 0,
+ { "A4091 SCSI boot ROM", 0, 0, 40, 9, "A4091\0", 32768, 57, 0, 0, ROMTYPE_A4091BOOT, 0, 0,
0x00000000, 0, 0, 0, 0, 0 },
- { "A4091 SCSI boot ROM", 0, 0, 40, 13, "A4091\0", 32768, 58, 0, 0, ROMTYPE_A4091BOOT, 0,
+ { "A4091 SCSI boot ROM", 0, 0, 40, 13, "A4091\0", 32768, 58, 0, 0, ROMTYPE_A4091BOOT, 0, 0,
0x54cb9e85, 0x3CE66919,0xF6FD6797,0x4923A12D,0x91B730F1,0xFFB4A7BA },
- { "Arcadia OnePlay 2.11", 0, 0, 0, 0, "ARCADIA\0", 0, 49, 0, 0, ROMTYPE_ARCADIABIOS, 0 },
- { "Arcadia TenPlay 2.11", 0, 0, 0, 0, "ARCADIA\0", 0, 50, 0, 0, ROMTYPE_ARCADIABIOS, 0 },
- { "Arcadia OnePlay 3.00", 0, 0, 0, 0, "ARCADIA\0", 0, 51, 0, 0, ROMTYPE_ARCADIABIOS, 0 },
-
- { "Arcadia SportTime Table Hockey", 0, 0, 0, 0, "ARCADIA\0", 0, 33, 0, 0, ROMTYPE_ARCADIAGAME, 2 },
- { "Arcadia SportTime Bowling", 0, 0, 0, 0, "ARCADIA\0", 0, 34, 0, 0, ROMTYPE_ARCADIAGAME, 2 },
- { "Arcadia World Darts", 0, 0, 0, 0, "ARCADIA\0", 0, 35, 0, 0, ROMTYPE_ARCADIAGAME, 2 },
- { "Arcadia Magic Johnson's Fast Break", 0, 0, 0, 0, "ARCADIA\0", 0, 36, 0, 0, ROMTYPE_ARCADIAGAME, 2 },
- { "Arcadia Leader Board Golf", 0, 0, 0, 0, "ARCADIA\0", 0, 37, 0, 0, ROMTYPE_ARCADIAGAME, 2 },
- { "Arcadia Leader Board Golf (alt)", 0, 0, 0, 0, "ARCADIA\0", 0, 38, 0, 0, ROMTYPE_ARCADIAGAME, 2 },
- { "Arcadia Ninja Mission", 0, 0, 0, 0, "ARCADIA\0", 0, 39, 0, 0, ROMTYPE_ARCADIAGAME, 2 },
- { "Arcadia Road Wars", 0, 0, 0, 0, "ARCADIA\0", 0, 40, 0, 0, ROMTYPE_ARCADIAGAME, 2 },
- { "Arcadia Sidewinder", 0, 0, 0, 0, "ARCADIA\0", 0, 41, 0, 0, ROMTYPE_ARCADIAGAME, 2 },
- { "Arcadia Spot", 0, 0, 0, 0, "ARCADIA\0", 0, 42, 0, 0, ROMTYPE_ARCADIAGAME, 2 },
- { "Arcadia Space Ranger", 0, 0, 0, 0, "ARCADIA\0", 0, 43, 0, 0, ROMTYPE_ARCADIAGAME, 2 },
- { "Arcadia Xenon", 0, 0, 0, 0, "ARCADIA\0", 0, 44, 0, 0, ROMTYPE_ARCADIAGAME, 2 },
- { "Arcadia World Trophy Soccer", 0, 0, 0, 0, "ARCADIA\0", 0, 45, 0, 0, ROMTYPE_ARCADIAGAME, 2 },
+ { "Arcadia OnePlay 2.11", 0, 0, 0, 0, "ARCADIA\0", 0, 49, 0, 0, ROMTYPE_ARCADIABIOS, 0, 0 },
+ { "Arcadia TenPlay 2.11", 0, 0, 0, 0, "ARCADIA\0", 0, 50, 0, 0, ROMTYPE_ARCADIABIOS, 0, 0 },
+ { "Arcadia OnePlay 3.00", 0, 0, 0, 0, "ARCADIA\0", 0, 51, 0, 0, ROMTYPE_ARCADIABIOS, 0, 0 },
+
+ { "Arcadia SportTime Table Hockey", 0, 0, 0, 0, "ARCADIA\0", 0, 33, 0, 0, ROMTYPE_ARCADIAGAME, 0, 2 },
+ { "Arcadia SportTime Bowling", 0, 0, 0, 0, "ARCADIA\0", 0, 34, 0, 0, ROMTYPE_ARCADIAGAME, 0, 2 },
+ { "Arcadia World Darts", 0, 0, 0, 0, "ARCADIA\0", 0, 35, 0, 0, ROMTYPE_ARCADIAGAME, 0, 2 },
+ { "Arcadia Magic Johnson's Fast Break", 0, 0, 0, 0, "ARCADIA\0", 0, 36, 0, 0, ROMTYPE_ARCADIAGAME, 0, 2 },
+ { "Arcadia Leader Board Golf", 0, 0, 0, 0, "ARCADIA\0", 0, 37, 0, 0, ROMTYPE_ARCADIAGAME, 0, 2 },
+ { "Arcadia Leader Board Golf (alt)", 0, 0, 0, 0, "ARCADIA\0", 0, 38, 0, 0, ROMTYPE_ARCADIAGAME, 0, 2 },
+ { "Arcadia Ninja Mission", 0, 0, 0, 0, "ARCADIA\0", 0, 39, 0, 0, ROMTYPE_ARCADIAGAME, 0, 2 },
+ { "Arcadia Road Wars", 0, 0, 0, 0, "ARCADIA\0", 0, 40, 0, 0, ROMTYPE_ARCADIAGAME, 0, 2 },
+ { "Arcadia Sidewinder", 0, 0, 0, 0, "ARCADIA\0", 0, 41, 0, 0, ROMTYPE_ARCADIAGAME, 0, 2 },
+ { "Arcadia Spot", 0, 0, 0, 0, "ARCADIA\0", 0, 42, 0, 0, ROMTYPE_ARCADIAGAME, 0, 2 },
+ { "Arcadia Space Ranger", 0, 0, 0, 0, "ARCADIA\0", 0, 43, 0, 0, ROMTYPE_ARCADIAGAME, 0, 2 },
+ { "Arcadia Xenon", 0, 0, 0, 0, "ARCADIA\0", 0, 44, 0, 0, ROMTYPE_ARCADIAGAME, 0, 2 },
+ { "Arcadia World Trophy Soccer", 0, 0, 0, 0, "ARCADIA\0", 0, 45, 0, 0, ROMTYPE_ARCADIAGAME, 0, 2 },
{ NULL }
chipmem_lget, chipmem_wget, ABFLAG_RAM
};
-addrbank chipmem_agnus_bank = {
- chipmem_agnus_lget, chipmem_agnus_wget, chipmem_agnus_bget,
- chipmem_agnus_lput, chipmem_agnus_wput, chipmem_agnus_bput,
- chipmem_xlate, chipmem_check, NULL, "Chip memory",
- chipmem_agnus_lget, chipmem_agnus_wget, ABFLAG_RAM
-};
#ifdef AGA
addrbank chipmem_bank_ce2 = {
static int load_extendedkickstart (void)
{
struct zfile *f;
- int size;
+ int size, off;
if (strlen(currprefs.romextfile) == 0)
return 0;
}
zfile_fseek (f, 0, SEEK_END);
size = zfile_ftell (f);
+ off = 0;
if (size > 300000) {
extendedkickmem_size = 524288;
extendedkickmem_type = EXTENDED_ROM_CD32;
+ if (size >= 524288 * 2)
+ off = 524288;
} else {
extendedkickmem_size = 262144;
extendedkickmem_type = EXTENDED_ROM_CDTV;
}
- zfile_fseek (f, 0, SEEK_SET);
+ zfile_fseek (f, off, SEEK_SET);
switch (extendedkickmem_type) {
case EXTENDED_ROM_CDTV:
void ncr_bput2(uaecptr addr, uae_u32 val)
{
+ uae_u32 v = val;
addr &= board_mask;
if (addr >= NCR_REGS)
return;
switch (addr)
{
- case SBCL_REG:
+ case ISTAT_REG:
+ if (val & 0x80)
+ val |= 1;
+ val &= ~0x80;
+ INT2();
break;
- case SCNTL1_REG:
- break;
- case ISTAT_REG:
- ncrregs[ISTAT_REG] = 0;
- break;
- case SCID_REG:
- break;
-
-
}
- write_log("%s write %04.4X (%s) = %02.2X PC=%08.8X\n", NCRNAME, addr, regname(addr), val & 0xff, M68K_GETPC);
+ write_log("%s write %04.4X (%s) = %02.2X PC=%08.8X\n", NCRNAME, addr, regname(addr), v & 0xff, M68K_GETPC);
ncrregs[addr] = val;
}
uae_u32 ncr_bget2(uaecptr addr)
{
- uae_u32 v = 0;
+ uae_u32 v = 0, v2;
addr &= board_mask;
if (rom && addr >= ROM_VECTOR && addr >= ROM_OFFSET)
return read_rom(addr);
if (addr >= NCR_REGS)
return v;
- v = ncrregs[addr];
+ v2 = v = ncrregs[addr];
switch (addr)
{
+ case ISTAT_REG:
+ v2 &= ~3;
+ break;
case SSTAT2_REG:
v &= ~7;
v |= ncrregs[SBCL_REG] & 7;
break;
- case SSTAT0_REG:
- v |= 0x20;
- break;
- case ISTAT_REG:
- break;
case CTEST8_REG:
v &= 0x0f; // revision 0
break;
}
-
write_log("%s read %04.4X (%s) = %02.2X PC=%08.8X\n", NCRNAME, addr, regname(addr), v, M68K_GETPC);
+ if (v2 != v)
+ ncrregs[addr] = v2;
return v;
}
int i, opcnt;
unsigned long opcode;
const struct cputbl *tbl = 0;
- int fpu_model = 0;
+ int lvl;
- switch (currprefs.cpu_level)
+ switch (currprefs.cpu_model)
{
#ifdef CPUEMU_0
#ifndef CPUEMU_68000_ONLY
- case 6: /* 68060 */
+ case 68060:
+ lvl = 5;
tbl = op_smalltbl_0_ff;
break;
- case 5: /* 68040 */
- tbl = op_smalltbl_0_ff;
+ case 68040:
+ lvl = 4;
+ tbl = op_smalltbl_1_ff;
break;
- case 4: /* 68020/68030 + 68881+68882 */
+ case 68030:
+ lvl = 3;
tbl = op_smalltbl_2_ff;
break;
- case 3: /* 68030 */
+ case 68020:
+ lvl = 2;
tbl = op_smalltbl_3_ff;
break;
- case 2: /* 68020 */
+ case 68010:
+ lvl = 1;
tbl = op_smalltbl_4_ff;
- break;
- case 1: /* 68010 */
- tbl = op_smalltbl_5_ff;
- break;
+ break;
#endif
#endif
- case 0: /* 68000 */
- tbl = op_smalltbl_6_ff;
+ case 68000:
+ lvl = 0;
+ tbl = op_smalltbl_5_ff;
#ifdef CPUEMU_11
if (currprefs.cpu_compatible)
tbl = op_smalltbl_11_ff; /* prefetch */
for (opcode = 0; opcode < 65536; opcode++) {
cpuop_func *f;
- if (table68k[opcode].mnemo == i_ILLG || table68k[opcode].clev > currprefs.cpu_level)
+ if (table68k[opcode].mnemo == i_ILLG || table68k[opcode].clev > lvl)
continue;
if (table68k[opcode].handler != -1) {
}
}
write_log ("Building CPU, %d opcodes (%d %d %d). CPU=%d, FPU=%d, JIT=%d.\n",
- opcnt, currprefs.cpu_level,
+ opcnt, lvl,
currprefs.cpu_cycle_exact ? -1 : currprefs.cpu_compatible ? 1 : 0,
currprefs.address_space_24, currprefs.cpu_model, currprefs.fpu_model,
currprefs.cachesize);
static void prefs_changed_cpu (void)
{
fixup_cpu (&changed_prefs);
- currprefs.cpu_level = changed_prefs.cpu_level;
currprefs.cpu_model = changed_prefs.cpu_model;
currprefs.fpu_model = changed_prefs.fpu_model;
currprefs.cpu_compatible = changed_prefs.cpu_compatible;
/* some delays are interleaved with stack pushes, not bothered yet..
*/
if (c)
- do_cycles (c * CYCLE_UNIT / 2);
+ do_cycles_ce (c * CYCLE_UNIT / 2);
if (!regs->s) {
regs->usp = m68k_areg(regs, 7);
m68k_areg(regs, 7) = regs->isp;
a3000_fakekick(0);
/* only (E)nable bit is zeroed when CPU is reset, A3000 SuperKickstart expects this */
tc_030 &= ~0x80000000;
+ tt0_030 &= ~0x80000000;
+ tt1_030 &= ~0x80000000;
if (hardreset) {
srp_030 = crp_030 = 0;
tt0_030 = tt1_030 = tc_030 = 0;
if ((base->volflags & MYVOLUMEINFO_STREAMS) && read_uaefsdb (aino->nname, NULL, fsdb)) {
aino->amigaos_mode = do_get_mem_long ((uae_u32 *)(fsdb + 1));
xfree (aino->comment);
+ aino->comment = NULL;
if (fsdb[5 + 2 * 257])
aino->comment = my_strdup (fsdb + 5 + 2 * 257);
xfree (aino_from_buf (base, fsdb, &winmode));
typedef BOOL (CALLBACK* GETVOLUMEPATHNAME)
(LPCTSTR lpszFileName, LPTSTR lpszVolumePathName, DWORD cchBufferLength);
-int my_getvolumeinfo (char *root)
+int my_getvolumeinfo (const char *root)
{
DWORD v, err;
int ret = 0;
OutputDirectory=".\Release"
IntermediateDirectory=".\Release"
ConfigurationType="1"
- InheritedPropertySheets="..\..\..\..\..\msvs\VC\VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
OutputDirectory=".\Debug"
IntermediateDirectory=".\Debug"
ConfigurationType="1"
- InheritedPropertySheets="..\..\..\..\..\msvs\VC\VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="..\..\..\..\..\msvs\VC\VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="..\..\..\..\..\msvs\VC\VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
--- /dev/null
+struct xcputbl XCPUFUNC(xop_smalltbl_0)[] = {
+{ XCPUFUNC(op_0_0), 0, 0 }, /* OR */
+{ XCPUFUNC(op_10_0), 0, 16 }, /* OR */
+{ XCPUFUNC(op_18_0), 0, 24 }, /* OR */
+{ XCPUFUNC(op_20_0), 0, 32 }, /* OR */
+{ XCPUFUNC(op_28_0), 0, 40 }, /* OR */
+{ XCPUFUNC(op_30_0), 0, 48 }, /* OR */
+{ XCPUFUNC(op_38_0), 0, 56 }, /* OR */
+{ XCPUFUNC(op_39_0), 0, 57 }, /* OR */
+{ XCPUFUNC(op_3c_0), 0, 60 }, /* ORSR */
+{ XCPUFUNC(op_40_0), 0, 64 }, /* OR */
+{ XCPUFUNC(op_50_0), 0, 80 }, /* OR */
+{ XCPUFUNC(op_58_0), 0, 88 }, /* OR */
+{ XCPUFUNC(op_60_0), 0, 96 }, /* OR */
+{ XCPUFUNC(op_68_0), 0, 104 }, /* OR */
+{ XCPUFUNC(op_70_0), 0, 112 }, /* OR */
+{ XCPUFUNC(op_78_0), 0, 120 }, /* OR */
+{ XCPUFUNC(op_79_0), 0, 121 }, /* OR */
+{ XCPUFUNC(op_7c_0), 0, 124 }, /* ORSR */
+{ XCPUFUNC(op_80_0), 0, 128 }, /* OR */
+{ XCPUFUNC(op_90_0), 0, 144 }, /* OR */
+{ XCPUFUNC(op_98_0), 0, 152 }, /* OR */
+{ XCPUFUNC(op_a0_0), 0, 160 }, /* OR */
+{ XCPUFUNC(op_a8_0), 0, 168 }, /* OR */
+{ XCPUFUNC(op_b0_0), 0, 176 }, /* OR */
+{ XCPUFUNC(op_b8_0), 0, 184 }, /* OR */
+{ XCPUFUNC(op_b9_0), 0, 185 }, /* OR */
+{ XCPUFUNC(op_d0_0), 0, 208 }, /* CHK2 */
+{ XCPUFUNC(op_e8_0), 0, 232 }, /* CHK2 */
+{ XCPUFUNC(op_f0_0), 0, 240 }, /* CHK2 */
+{ XCPUFUNC(op_f8_0), 0, 248 }, /* CHK2 */
+{ XCPUFUNC(op_f9_0), 0, 249 }, /* CHK2 */
+{ XCPUFUNC(op_fa_0), 0, 250 }, /* CHK2 */
+{ XCPUFUNC(op_fb_0), 0, 251 }, /* CHK2 */
+{ XCPUFUNC(op_100_0), 0, 256 }, /* BTST */
+{ XCPUFUNC(op_108_0), 0, 264 }, /* MVPMR */
+{ XCPUFUNC(op_110_0), 0, 272 }, /* BTST */
+{ XCPUFUNC(op_118_0), 0, 280 }, /* BTST */
+{ XCPUFUNC(op_120_0), 0, 288 }, /* BTST */
+{ XCPUFUNC(op_128_0), 0, 296 }, /* BTST */
+{ XCPUFUNC(op_130_0), 0, 304 }, /* BTST */
+{ XCPUFUNC(op_138_0), 0, 312 }, /* BTST */
+{ XCPUFUNC(op_139_0), 0, 313 }, /* BTST */
+{ XCPUFUNC(op_13a_0), 0, 314 }, /* BTST */
+{ XCPUFUNC(op_13b_0), 0, 315 }, /* BTST */
+{ XCPUFUNC(op_13c_0), 0, 316 }, /* BTST */
+{ XCPUFUNC(op_140_0), 0, 320 }, /* BCHG */
+{ XCPUFUNC(op_148_0), 0, 328 }, /* MVPMR */
+{ XCPUFUNC(op_150_0), 0, 336 }, /* BCHG */
+{ XCPUFUNC(op_158_0), 0, 344 }, /* BCHG */
+{ XCPUFUNC(op_160_0), 0, 352 }, /* BCHG */
+{ XCPUFUNC(op_168_0), 0, 360 }, /* BCHG */
+{ XCPUFUNC(op_170_0), 0, 368 }, /* BCHG */
+{ XCPUFUNC(op_178_0), 0, 376 }, /* BCHG */
+{ XCPUFUNC(op_179_0), 0, 377 }, /* BCHG */
+{ XCPUFUNC(op_17a_0), 0, 378 }, /* BCHG */
+{ XCPUFUNC(op_17b_0), 0, 379 }, /* BCHG */
+{ XCPUFUNC(op_180_0), 0, 384 }, /* BCLR */
+{ XCPUFUNC(op_188_0), 0, 392 }, /* MVPRM */
+{ XCPUFUNC(op_190_0), 0, 400 }, /* BCLR */
+{ XCPUFUNC(op_198_0), 0, 408 }, /* BCLR */
+{ XCPUFUNC(op_1a0_0), 0, 416 }, /* BCLR */
+{ XCPUFUNC(op_1a8_0), 0, 424 }, /* BCLR */
+{ XCPUFUNC(op_1b0_0), 0, 432 }, /* BCLR */
+{ XCPUFUNC(op_1b8_0), 0, 440 }, /* BCLR */
+{ XCPUFUNC(op_1b9_0), 0, 441 }, /* BCLR */
+{ XCPUFUNC(op_1ba_0), 0, 442 }, /* BCLR */
+{ XCPUFUNC(op_1bb_0), 0, 443 }, /* BCLR */
+{ XCPUFUNC(op_1c0_0), 0, 448 }, /* BSET */
+{ XCPUFUNC(op_1c8_0), 0, 456 }, /* MVPRM */
+{ XCPUFUNC(op_1d0_0), 0, 464 }, /* BSET */
+{ XCPUFUNC(op_1d8_0), 0, 472 }, /* BSET */
+{ XCPUFUNC(op_1e0_0), 0, 480 }, /* BSET */
+{ XCPUFUNC(op_1e8_0), 0, 488 }, /* BSET */
+{ XCPUFUNC(op_1f0_0), 0, 496 }, /* BSET */
+{ XCPUFUNC(op_1f8_0), 0, 504 }, /* BSET */
+{ XCPUFUNC(op_1f9_0), 0, 505 }, /* BSET */
+{ XCPUFUNC(op_1fa_0), 0, 506 }, /* BSET */
+{ XCPUFUNC(op_1fb_0), 0, 507 }, /* BSET */
+{ XCPUFUNC(op_200_0), 0, 512 }, /* AND */
+{ XCPUFUNC(op_210_0), 0, 528 }, /* AND */
+{ XCPUFUNC(op_218_0), 0, 536 }, /* AND */
+{ XCPUFUNC(op_220_0), 0, 544 }, /* AND */
+{ XCPUFUNC(op_228_0), 0, 552 }, /* AND */
+{ XCPUFUNC(op_230_0), 0, 560 }, /* AND */
+{ XCPUFUNC(op_238_0), 0, 568 }, /* AND */
+{ XCPUFUNC(op_239_0), 0, 569 }, /* AND */
+{ XCPUFUNC(op_23c_0), 0, 572 }, /* ANDSR */
+{ XCPUFUNC(op_240_0), 0, 576 }, /* AND */
+{ XCPUFUNC(op_250_0), 0, 592 }, /* AND */
+{ XCPUFUNC(op_258_0), 0, 600 }, /* AND */
+{ XCPUFUNC(op_260_0), 0, 608 }, /* AND */
+{ XCPUFUNC(op_268_0), 0, 616 }, /* AND */
+{ XCPUFUNC(op_270_0), 0, 624 }, /* AND */
+{ XCPUFUNC(op_278_0), 0, 632 }, /* AND */
+{ XCPUFUNC(op_279_0), 0, 633 }, /* AND */
+{ XCPUFUNC(op_27c_0), 0, 636 }, /* ANDSR */
+{ XCPUFUNC(op_280_0), 0, 640 }, /* AND */
+{ XCPUFUNC(op_290_0), 0, 656 }, /* AND */
+{ XCPUFUNC(op_298_0), 0, 664 }, /* AND */
+{ XCPUFUNC(op_2a0_0), 0, 672 }, /* AND */
+{ XCPUFUNC(op_2a8_0), 0, 680 }, /* AND */
+{ XCPUFUNC(op_2b0_0), 0, 688 }, /* AND */
+{ XCPUFUNC(op_2b8_0), 0, 696 }, /* AND */
+{ XCPUFUNC(op_2b9_0), 0, 697 }, /* AND */
+{ XCPUFUNC(op_2d0_0), 0, 720 }, /* CHK2 */
+{ XCPUFUNC(op_2e8_0), 0, 744 }, /* CHK2 */
+{ XCPUFUNC(op_2f0_0), 0, 752 }, /* CHK2 */
+{ XCPUFUNC(op_2f8_0), 0, 760 }, /* CHK2 */
+{ XCPUFUNC(op_2f9_0), 0, 761 }, /* CHK2 */
+{ XCPUFUNC(op_2fa_0), 0, 762 }, /* CHK2 */
+{ XCPUFUNC(op_2fb_0), 0, 763 }, /* CHK2 */
+{ XCPUFUNC(op_400_0), 0, 1024 }, /* SUB */
+{ XCPUFUNC(op_410_0), 0, 1040 }, /* SUB */
+{ XCPUFUNC(op_418_0), 0, 1048 }, /* SUB */
+{ XCPUFUNC(op_420_0), 0, 1056 }, /* SUB */
+{ XCPUFUNC(op_428_0), 0, 1064 }, /* SUB */
+{ XCPUFUNC(op_430_0), 0, 1072 }, /* SUB */
+{ XCPUFUNC(op_438_0), 0, 1080 }, /* SUB */
+{ XCPUFUNC(op_439_0), 0, 1081 }, /* SUB */
+{ XCPUFUNC(op_440_0), 0, 1088 }, /* SUB */
+{ XCPUFUNC(op_450_0), 0, 1104 }, /* SUB */
+{ XCPUFUNC(op_458_0), 0, 1112 }, /* SUB */
+{ XCPUFUNC(op_460_0), 0, 1120 }, /* SUB */
+{ XCPUFUNC(op_468_0), 0, 1128 }, /* SUB */
+{ XCPUFUNC(op_470_0), 0, 1136 }, /* SUB */
+{ XCPUFUNC(op_478_0), 0, 1144 }, /* SUB */
+{ XCPUFUNC(op_479_0), 0, 1145 }, /* SUB */
+{ XCPUFUNC(op_480_0), 0, 1152 }, /* SUB */
+{ XCPUFUNC(op_490_0), 0, 1168 }, /* SUB */
+{ XCPUFUNC(op_498_0), 0, 1176 }, /* SUB */
+{ XCPUFUNC(op_4a0_0), 0, 1184 }, /* SUB */
+{ XCPUFUNC(op_4a8_0), 0, 1192 }, /* SUB */
+{ XCPUFUNC(op_4b0_0), 0, 1200 }, /* SUB */
+{ XCPUFUNC(op_4b8_0), 0, 1208 }, /* SUB */
+{ XCPUFUNC(op_4b9_0), 0, 1209 }, /* SUB */
+{ XCPUFUNC(op_4d0_0), 0, 1232 }, /* CHK2 */
+{ XCPUFUNC(op_4e8_0), 0, 1256 }, /* CHK2 */
+{ XCPUFUNC(op_4f0_0), 0, 1264 }, /* CHK2 */
+{ XCPUFUNC(op_4f8_0), 0, 1272 }, /* CHK2 */
+{ XCPUFUNC(op_4f9_0), 0, 1273 }, /* CHK2 */
+{ XCPUFUNC(op_4fa_0), 0, 1274 }, /* CHK2 */
+{ XCPUFUNC(op_4fb_0), 0, 1275 }, /* CHK2 */
+{ XCPUFUNC(op_600_0), 0, 1536 }, /* ADD */
+{ XCPUFUNC(op_610_0), 0, 1552 }, /* ADD */
+{ XCPUFUNC(op_618_0), 0, 1560 }, /* ADD */
+{ XCPUFUNC(op_620_0), 0, 1568 }, /* ADD */
+{ XCPUFUNC(op_628_0), 0, 1576 }, /* ADD */
+{ XCPUFUNC(op_630_0), 0, 1584 }, /* ADD */
+{ XCPUFUNC(op_638_0), 0, 1592 }, /* ADD */
+{ XCPUFUNC(op_639_0), 0, 1593 }, /* ADD */
+{ XCPUFUNC(op_640_0), 0, 1600 }, /* ADD */
+{ XCPUFUNC(op_650_0), 0, 1616 }, /* ADD */
+{ XCPUFUNC(op_658_0), 0, 1624 }, /* ADD */
+{ XCPUFUNC(op_660_0), 0, 1632 }, /* ADD */
+{ XCPUFUNC(op_668_0), 0, 1640 }, /* ADD */
+{ XCPUFUNC(op_670_0), 0, 1648 }, /* ADD */
+{ XCPUFUNC(op_678_0), 0, 1656 }, /* ADD */
+{ XCPUFUNC(op_679_0), 0, 1657 }, /* ADD */
+{ XCPUFUNC(op_680_0), 0, 1664 }, /* ADD */
+{ XCPUFUNC(op_690_0), 0, 1680 }, /* ADD */
+{ XCPUFUNC(op_698_0), 0, 1688 }, /* ADD */
+{ XCPUFUNC(op_6a0_0), 0, 1696 }, /* ADD */
+{ XCPUFUNC(op_6a8_0), 0, 1704 }, /* ADD */
+{ XCPUFUNC(op_6b0_0), 0, 1712 }, /* ADD */
+{ XCPUFUNC(op_6b8_0), 0, 1720 }, /* ADD */
+{ XCPUFUNC(op_6b9_0), 0, 1721 }, /* ADD */
+{ XCPUFUNC(op_6c0_0), 0, 1728 }, /* RTM */
+{ XCPUFUNC(op_6c8_0), 0, 1736 }, /* RTM */
+{ XCPUFUNC(op_6d0_0), 0, 1744 }, /* CALLM */
+{ XCPUFUNC(op_6e8_0), 0, 1768 }, /* CALLM */
+{ XCPUFUNC(op_6f0_0), 0, 1776 }, /* CALLM */
+{ XCPUFUNC(op_6f8_0), 0, 1784 }, /* CALLM */
+{ XCPUFUNC(op_6f9_0), 0, 1785 }, /* CALLM */
+{ XCPUFUNC(op_6fa_0), 0, 1786 }, /* CALLM */
+{ XCPUFUNC(op_6fb_0), 0, 1787 }, /* CALLM */
+{ XCPUFUNC(op_800_0), 0, 2048 }, /* BTST */
+{ XCPUFUNC(op_810_0), 0, 2064 }, /* BTST */
+{ XCPUFUNC(op_818_0), 0, 2072 }, /* BTST */
+{ XCPUFUNC(op_820_0), 0, 2080 }, /* BTST */
+{ XCPUFUNC(op_828_0), 0, 2088 }, /* BTST */
+{ XCPUFUNC(op_830_0), 0, 2096 }, /* BTST */
+{ XCPUFUNC(op_838_0), 0, 2104 }, /* BTST */
+{ XCPUFUNC(op_839_0), 0, 2105 }, /* BTST */
+{ XCPUFUNC(op_83a_0), 0, 2106 }, /* BTST */
+{ XCPUFUNC(op_83b_0), 0, 2107 }, /* BTST */
+{ XCPUFUNC(op_83c_0), 0, 2108 }, /* BTST */
+{ XCPUFUNC(op_840_0), 0, 2112 }, /* BCHG */
+{ XCPUFUNC(op_850_0), 0, 2128 }, /* BCHG */
+{ XCPUFUNC(op_858_0), 0, 2136 }, /* BCHG */
+{ XCPUFUNC(op_860_0), 0, 2144 }, /* BCHG */
+{ XCPUFUNC(op_868_0), 0, 2152 }, /* BCHG */
+{ XCPUFUNC(op_870_0), 0, 2160 }, /* BCHG */
+{ XCPUFUNC(op_878_0), 0, 2168 }, /* BCHG */
+{ XCPUFUNC(op_879_0), 0, 2169 }, /* BCHG */
+{ XCPUFUNC(op_87a_0), 0, 2170 }, /* BCHG */
+{ XCPUFUNC(op_87b_0), 0, 2171 }, /* BCHG */
+{ XCPUFUNC(op_880_0), 0, 2176 }, /* BCLR */
+{ XCPUFUNC(op_890_0), 0, 2192 }, /* BCLR */
+{ XCPUFUNC(op_898_0), 0, 2200 }, /* BCLR */
+{ XCPUFUNC(op_8a0_0), 0, 2208 }, /* BCLR */
+{ XCPUFUNC(op_8a8_0), 0, 2216 }, /* BCLR */
+{ XCPUFUNC(op_8b0_0), 0, 2224 }, /* BCLR */
+{ XCPUFUNC(op_8b8_0), 0, 2232 }, /* BCLR */
+{ XCPUFUNC(op_8b9_0), 0, 2233 }, /* BCLR */
+{ XCPUFUNC(op_8ba_0), 0, 2234 }, /* BCLR */
+{ XCPUFUNC(op_8bb_0), 0, 2235 }, /* BCLR */
+{ XCPUFUNC(op_8c0_0), 0, 2240 }, /* BSET */
+{ XCPUFUNC(op_8d0_0), 0, 2256 }, /* BSET */
+{ XCPUFUNC(op_8d8_0), 0, 2264 }, /* BSET */
+{ XCPUFUNC(op_8e0_0), 0, 2272 }, /* BSET */
+{ XCPUFUNC(op_8e8_0), 0, 2280 }, /* BSET */
+{ XCPUFUNC(op_8f0_0), 0, 2288 }, /* BSET */
+{ XCPUFUNC(op_8f8_0), 0, 2296 }, /* BSET */
+{ XCPUFUNC(op_8f9_0), 0, 2297 }, /* BSET */
+{ XCPUFUNC(op_8fa_0), 0, 2298 }, /* BSET */
+{ XCPUFUNC(op_8fb_0), 0, 2299 }, /* BSET */
+{ XCPUFUNC(op_a00_0), 0, 2560 }, /* EOR */
+{ XCPUFUNC(op_a10_0), 0, 2576 }, /* EOR */
+{ XCPUFUNC(op_a18_0), 0, 2584 }, /* EOR */
+{ XCPUFUNC(op_a20_0), 0, 2592 }, /* EOR */
+{ XCPUFUNC(op_a28_0), 0, 2600 }, /* EOR */
+{ XCPUFUNC(op_a30_0), 0, 2608 }, /* EOR */
+{ XCPUFUNC(op_a38_0), 0, 2616 }, /* EOR */
+{ XCPUFUNC(op_a39_0), 0, 2617 }, /* EOR */
+{ XCPUFUNC(op_a3c_0), 0, 2620 }, /* EORSR */
+{ XCPUFUNC(op_a40_0), 0, 2624 }, /* EOR */
+{ XCPUFUNC(op_a50_0), 0, 2640 }, /* EOR */
+{ XCPUFUNC(op_a58_0), 0, 2648 }, /* EOR */
+{ XCPUFUNC(op_a60_0), 0, 2656 }, /* EOR */
+{ XCPUFUNC(op_a68_0), 0, 2664 }, /* EOR */
+{ XCPUFUNC(op_a70_0), 0, 2672 }, /* EOR */
+{ XCPUFUNC(op_a78_0), 0, 2680 }, /* EOR */
+{ XCPUFUNC(op_a79_0), 0, 2681 }, /* EOR */
+{ XCPUFUNC(op_a7c_0), 0, 2684 }, /* EORSR */
+{ XCPUFUNC(op_a80_0), 0, 2688 }, /* EOR */
+{ XCPUFUNC(op_a90_0), 0, 2704 }, /* EOR */
+{ XCPUFUNC(op_a98_0), 0, 2712 }, /* EOR */
+{ XCPUFUNC(op_aa0_0), 0, 2720 }, /* EOR */
+{ XCPUFUNC(op_aa8_0), 0, 2728 }, /* EOR */
+{ XCPUFUNC(op_ab0_0), 0, 2736 }, /* EOR */
+{ XCPUFUNC(op_ab8_0), 0, 2744 }, /* EOR */
+{ XCPUFUNC(op_ab9_0), 0, 2745 }, /* EOR */
+{ XCPUFUNC(op_ad0_0), 0, 2768 }, /* CAS */
+{ XCPUFUNC(op_ad8_0), 0, 2776 }, /* CAS */
+{ XCPUFUNC(op_ae0_0), 0, 2784 }, /* CAS */
+{ XCPUFUNC(op_ae8_0), 0, 2792 }, /* CAS */
+{ XCPUFUNC(op_af0_0), 0, 2800 }, /* CAS */
+{ XCPUFUNC(op_af8_0), 0, 2808 }, /* CAS */
+{ XCPUFUNC(op_af9_0), 0, 2809 }, /* CAS */
+{ XCPUFUNC(op_c00_0), 0, 3072 }, /* CMP */
+{ XCPUFUNC(op_c10_0), 0, 3088 }, /* CMP */
+{ XCPUFUNC(op_c18_0), 0, 3096 }, /* CMP */
+{ XCPUFUNC(op_c20_0), 0, 3104 }, /* CMP */
+{ XCPUFUNC(op_c28_0), 0, 3112 }, /* CMP */
+{ XCPUFUNC(op_c30_0), 0, 3120 }, /* CMP */
+{ XCPUFUNC(op_c38_0), 0, 3128 }, /* CMP */
+{ XCPUFUNC(op_c39_0), 0, 3129 }, /* CMP */
+{ XCPUFUNC(op_c3a_0), 0, 3130 }, /* CMP */
+{ XCPUFUNC(op_c3b_0), 0, 3131 }, /* CMP */
+{ XCPUFUNC(op_c40_0), 0, 3136 }, /* CMP */
+{ XCPUFUNC(op_c50_0), 0, 3152 }, /* CMP */
+{ XCPUFUNC(op_c58_0), 0, 3160 }, /* CMP */
+{ XCPUFUNC(op_c60_0), 0, 3168 }, /* CMP */
+{ XCPUFUNC(op_c68_0), 0, 3176 }, /* CMP */
+{ XCPUFUNC(op_c70_0), 0, 3184 }, /* CMP */
+{ XCPUFUNC(op_c78_0), 0, 3192 }, /* CMP */
+{ XCPUFUNC(op_c79_0), 0, 3193 }, /* CMP */
+{ XCPUFUNC(op_c7a_0), 0, 3194 }, /* CMP */
+{ XCPUFUNC(op_c7b_0), 0, 3195 }, /* CMP */
+{ XCPUFUNC(op_c80_0), 0, 3200 }, /* CMP */
+{ XCPUFUNC(op_c90_0), 0, 3216 }, /* CMP */
+{ XCPUFUNC(op_c98_0), 0, 3224 }, /* CMP */
+{ XCPUFUNC(op_ca0_0), 0, 3232 }, /* CMP */
+{ XCPUFUNC(op_ca8_0), 0, 3240 }, /* CMP */
+{ XCPUFUNC(op_cb0_0), 0, 3248 }, /* CMP */
+{ XCPUFUNC(op_cb8_0), 0, 3256 }, /* CMP */
+{ XCPUFUNC(op_cb9_0), 0, 3257 }, /* CMP */
+{ XCPUFUNC(op_cba_0), 0, 3258 }, /* CMP */
+{ XCPUFUNC(op_cbb_0), 0, 3259 }, /* CMP */
+{ XCPUFUNC(op_cd0_0), 0, 3280 }, /* CAS */
+{ XCPUFUNC(op_cd8_0), 0, 3288 }, /* CAS */
+{ XCPUFUNC(op_ce0_0), 0, 3296 }, /* CAS */
+{ XCPUFUNC(op_ce8_0), 0, 3304 }, /* CAS */
+{ XCPUFUNC(op_cf0_0), 0, 3312 }, /* CAS */
+{ XCPUFUNC(op_cf8_0), 0, 3320 }, /* CAS */
+{ XCPUFUNC(op_cf9_0), 0, 3321 }, /* CAS */
+{ XCPUFUNC(op_cfc_0), 0, 3324 }, /* CAS2 */
+{ XCPUFUNC(op_e10_0), 0, 3600 }, /* MOVES */
+{ XCPUFUNC(op_e18_0), 0, 3608 }, /* MOVES */
+{ XCPUFUNC(op_e20_0), 0, 3616 }, /* MOVES */
+{ XCPUFUNC(op_e28_0), 0, 3624 }, /* MOVES */
+{ XCPUFUNC(op_e30_0), 0, 3632 }, /* MOVES */
+{ XCPUFUNC(op_e38_0), 0, 3640 }, /* MOVES */
+{ XCPUFUNC(op_e39_0), 0, 3641 }, /* MOVES */
+{ XCPUFUNC(op_e50_0), 0, 3664 }, /* MOVES */
+{ XCPUFUNC(op_e58_0), 0, 3672 }, /* MOVES */
+{ XCPUFUNC(op_e60_0), 0, 3680 }, /* MOVES */
+{ XCPUFUNC(op_e68_0), 0, 3688 }, /* MOVES */
+{ XCPUFUNC(op_e70_0), 0, 3696 }, /* MOVES */
+{ XCPUFUNC(op_e78_0), 0, 3704 }, /* MOVES */
+{ XCPUFUNC(op_e79_0), 0, 3705 }, /* MOVES */
+{ XCPUFUNC(op_e90_0), 0, 3728 }, /* MOVES */
+{ XCPUFUNC(op_e98_0), 0, 3736 }, /* MOVES */
+{ XCPUFUNC(op_ea0_0), 0, 3744 }, /* MOVES */
+{ XCPUFUNC(op_ea8_0), 0, 3752 }, /* MOVES */
+{ XCPUFUNC(op_eb0_0), 0, 3760 }, /* MOVES */
+{ XCPUFUNC(op_eb8_0), 0, 3768 }, /* MOVES */
+{ XCPUFUNC(op_eb9_0), 0, 3769 }, /* MOVES */
+{ XCPUFUNC(op_ed0_0), 0, 3792 }, /* CAS */
+{ XCPUFUNC(op_ed8_0), 0, 3800 }, /* CAS */
+{ XCPUFUNC(op_ee0_0), 0, 3808 }, /* CAS */
+{ XCPUFUNC(op_ee8_0), 0, 3816 }, /* CAS */
+{ XCPUFUNC(op_ef0_0), 0, 3824 }, /* CAS */
+{ XCPUFUNC(op_ef8_0), 0, 3832 }, /* CAS */
+{ XCPUFUNC(op_ef9_0), 0, 3833 }, /* CAS */
+{ XCPUFUNC(op_efc_0), 0, 3836 }, /* CAS2 */
+{ XCPUFUNC(op_1000_0), 0, 4096 }, /* MOVE */
+{ XCPUFUNC(op_1010_0), 0, 4112 }, /* MOVE */
+{ XCPUFUNC(op_1018_0), 0, 4120 }, /* MOVE */
+{ XCPUFUNC(op_1020_0), 0, 4128 }, /* MOVE */
+{ XCPUFUNC(op_1028_0), 0, 4136 }, /* MOVE */
+{ XCPUFUNC(op_1030_0), 0, 4144 }, /* MOVE */
+{ XCPUFUNC(op_1038_0), 0, 4152 }, /* MOVE */
+{ XCPUFUNC(op_1039_0), 0, 4153 }, /* MOVE */
+{ XCPUFUNC(op_103a_0), 0, 4154 }, /* MOVE */
+{ XCPUFUNC(op_103b_0), 0, 4155 }, /* MOVE */
+{ XCPUFUNC(op_103c_0), 0, 4156 }, /* MOVE */
+{ XCPUFUNC(op_1080_0), 0, 4224 }, /* MOVE */
+{ XCPUFUNC(op_1090_0), 0, 4240 }, /* MOVE */
+{ XCPUFUNC(op_1098_0), 0, 4248 }, /* MOVE */
+{ XCPUFUNC(op_10a0_0), 0, 4256 }, /* MOVE */
+{ XCPUFUNC(op_10a8_0), 0, 4264 }, /* MOVE */
+{ XCPUFUNC(op_10b0_0), 0, 4272 }, /* MOVE */
+{ XCPUFUNC(op_10b8_0), 0, 4280 }, /* MOVE */
+{ XCPUFUNC(op_10b9_0), 0, 4281 }, /* MOVE */
+{ XCPUFUNC(op_10ba_0), 0, 4282 }, /* MOVE */
+{ XCPUFUNC(op_10bb_0), 0, 4283 }, /* MOVE */
+{ XCPUFUNC(op_10bc_0), 0, 4284 }, /* MOVE */
+{ XCPUFUNC(op_10c0_0), 0, 4288 }, /* MOVE */
+{ XCPUFUNC(op_10d0_0), 0, 4304 }, /* MOVE */
+{ XCPUFUNC(op_10d8_0), 0, 4312 }, /* MOVE */
+{ XCPUFUNC(op_10e0_0), 0, 4320 }, /* MOVE */
+{ XCPUFUNC(op_10e8_0), 0, 4328 }, /* MOVE */
+{ XCPUFUNC(op_10f0_0), 0, 4336 }, /* MOVE */
+{ XCPUFUNC(op_10f8_0), 0, 4344 }, /* MOVE */
+{ XCPUFUNC(op_10f9_0), 0, 4345 }, /* MOVE */
+{ XCPUFUNC(op_10fa_0), 0, 4346 }, /* MOVE */
+{ XCPUFUNC(op_10fb_0), 0, 4347 }, /* MOVE */
+{ XCPUFUNC(op_10fc_0), 0, 4348 }, /* MOVE */
+{ XCPUFUNC(op_1100_0), 0, 4352 }, /* MOVE */
+{ XCPUFUNC(op_1110_0), 0, 4368 }, /* MOVE */
+{ XCPUFUNC(op_1118_0), 0, 4376 }, /* MOVE */
+{ XCPUFUNC(op_1120_0), 0, 4384 }, /* MOVE */
+{ XCPUFUNC(op_1128_0), 0, 4392 }, /* MOVE */
+{ XCPUFUNC(op_1130_0), 0, 4400 }, /* MOVE */
+{ XCPUFUNC(op_1138_0), 0, 4408 }, /* MOVE */
+{ XCPUFUNC(op_1139_0), 0, 4409 }, /* MOVE */
+{ XCPUFUNC(op_113a_0), 0, 4410 }, /* MOVE */
+{ XCPUFUNC(op_113b_0), 0, 4411 }, /* MOVE */
+{ XCPUFUNC(op_113c_0), 0, 4412 }, /* MOVE */
+{ XCPUFUNC(op_1140_0), 0, 4416 }, /* MOVE */
+{ XCPUFUNC(op_1150_0), 0, 4432 }, /* MOVE */
+{ XCPUFUNC(op_1158_0), 0, 4440 }, /* MOVE */
+{ XCPUFUNC(op_1160_0), 0, 4448 }, /* MOVE */
+{ XCPUFUNC(op_1168_0), 0, 4456 }, /* MOVE */
+{ XCPUFUNC(op_1170_0), 0, 4464 }, /* MOVE */
+{ XCPUFUNC(op_1178_0), 0, 4472 }, /* MOVE */
+{ XCPUFUNC(op_1179_0), 0, 4473 }, /* MOVE */
+{ XCPUFUNC(op_117a_0), 0, 4474 }, /* MOVE */
+{ XCPUFUNC(op_117b_0), 0, 4475 }, /* MOVE */
+{ XCPUFUNC(op_117c_0), 0, 4476 }, /* MOVE */
+{ XCPUFUNC(op_1180_0), 0, 4480 }, /* MOVE */
+{ XCPUFUNC(op_1190_0), 0, 4496 }, /* MOVE */
+{ XCPUFUNC(op_1198_0), 0, 4504 }, /* MOVE */
+{ XCPUFUNC(op_11a0_0), 0, 4512 }, /* MOVE */
+{ XCPUFUNC(op_11a8_0), 0, 4520 }, /* MOVE */
+{ XCPUFUNC(op_11b0_0), 0, 4528 }, /* MOVE */
+{ XCPUFUNC(op_11b8_0), 0, 4536 }, /* MOVE */
+{ XCPUFUNC(op_11b9_0), 0, 4537 }, /* MOVE */
+{ XCPUFUNC(op_11ba_0), 0, 4538 }, /* MOVE */
+{ XCPUFUNC(op_11bb_0), 0, 4539 }, /* MOVE */
+{ XCPUFUNC(op_11bc_0), 0, 4540 }, /* MOVE */
+{ XCPUFUNC(op_11c0_0), 0, 4544 }, /* MOVE */
+{ XCPUFUNC(op_11d0_0), 0, 4560 }, /* MOVE */
+{ XCPUFUNC(op_11d8_0), 0, 4568 }, /* MOVE */
+{ XCPUFUNC(op_11e0_0), 0, 4576 }, /* MOVE */
+{ XCPUFUNC(op_11e8_0), 0, 4584 }, /* MOVE */
+{ XCPUFUNC(op_11f0_0), 0, 4592 }, /* MOVE */
+{ XCPUFUNC(op_11f8_0), 0, 4600 }, /* MOVE */
+{ XCPUFUNC(op_11f9_0), 0, 4601 }, /* MOVE */
+{ XCPUFUNC(op_11fa_0), 0, 4602 }, /* MOVE */
+{ XCPUFUNC(op_11fb_0), 0, 4603 }, /* MOVE */
+{ XCPUFUNC(op_11fc_0), 0, 4604 }, /* MOVE */
+{ XCPUFUNC(op_13c0_0), 0, 5056 }, /* MOVE */
+{ XCPUFUNC(op_13d0_0), 0, 5072 }, /* MOVE */
+{ XCPUFUNC(op_13d8_0), 0, 5080 }, /* MOVE */
+{ XCPUFUNC(op_13e0_0), 0, 5088 }, /* MOVE */
+{ XCPUFUNC(op_13e8_0), 0, 5096 }, /* MOVE */
+{ XCPUFUNC(op_13f0_0), 0, 5104 }, /* MOVE */
+{ XCPUFUNC(op_13f8_0), 0, 5112 }, /* MOVE */
+{ XCPUFUNC(op_13f9_0), 0, 5113 }, /* MOVE */
+{ XCPUFUNC(op_13fa_0), 0, 5114 }, /* MOVE */
+{ XCPUFUNC(op_13fb_0), 0, 5115 }, /* MOVE */
+{ XCPUFUNC(op_13fc_0), 0, 5116 }, /* MOVE */
+{ XCPUFUNC(op_2000_0), 0, 8192 }, /* MOVE */
+{ XCPUFUNC(op_2008_0), 0, 8200 }, /* MOVE */
+{ XCPUFUNC(op_2010_0), 0, 8208 }, /* MOVE */
+{ XCPUFUNC(op_2018_0), 0, 8216 }, /* MOVE */
+{ XCPUFUNC(op_2020_0), 0, 8224 }, /* MOVE */
+{ XCPUFUNC(op_2028_0), 0, 8232 }, /* MOVE */
+{ XCPUFUNC(op_2030_0), 0, 8240 }, /* MOVE */
+{ XCPUFUNC(op_2038_0), 0, 8248 }, /* MOVE */
+{ XCPUFUNC(op_2039_0), 0, 8249 }, /* MOVE */
+{ XCPUFUNC(op_203a_0), 0, 8250 }, /* MOVE */
+{ XCPUFUNC(op_203b_0), 0, 8251 }, /* MOVE */
+{ XCPUFUNC(op_203c_0), 0, 8252 }, /* MOVE */
+{ XCPUFUNC(op_2040_0), 0, 8256 }, /* MOVEA */
+{ XCPUFUNC(op_2048_0), 0, 8264 }, /* MOVEA */
+{ XCPUFUNC(op_2050_0), 0, 8272 }, /* MOVEA */
+{ XCPUFUNC(op_2058_0), 0, 8280 }, /* MOVEA */
+{ XCPUFUNC(op_2060_0), 0, 8288 }, /* MOVEA */
+{ XCPUFUNC(op_2068_0), 0, 8296 }, /* MOVEA */
+{ XCPUFUNC(op_2070_0), 0, 8304 }, /* MOVEA */
+{ XCPUFUNC(op_2078_0), 0, 8312 }, /* MOVEA */
+{ XCPUFUNC(op_2079_0), 0, 8313 }, /* MOVEA */
+{ XCPUFUNC(op_207a_0), 0, 8314 }, /* MOVEA */
+{ XCPUFUNC(op_207b_0), 0, 8315 }, /* MOVEA */
+{ XCPUFUNC(op_207c_0), 0, 8316 }, /* MOVEA */
+{ XCPUFUNC(op_2080_0), 0, 8320 }, /* MOVE */
+{ XCPUFUNC(op_2088_0), 0, 8328 }, /* MOVE */
+{ XCPUFUNC(op_2090_0), 0, 8336 }, /* MOVE */
+{ XCPUFUNC(op_2098_0), 0, 8344 }, /* MOVE */
+{ XCPUFUNC(op_20a0_0), 0, 8352 }, /* MOVE */
+{ XCPUFUNC(op_20a8_0), 0, 8360 }, /* MOVE */
+{ XCPUFUNC(op_20b0_0), 0, 8368 }, /* MOVE */
+{ XCPUFUNC(op_20b8_0), 0, 8376 }, /* MOVE */
+{ XCPUFUNC(op_20b9_0), 0, 8377 }, /* MOVE */
+{ XCPUFUNC(op_20ba_0), 0, 8378 }, /* MOVE */
+{ XCPUFUNC(op_20bb_0), 0, 8379 }, /* MOVE */
+{ XCPUFUNC(op_20bc_0), 0, 8380 }, /* MOVE */
+{ XCPUFUNC(op_20c0_0), 0, 8384 }, /* MOVE */
+{ XCPUFUNC(op_20c8_0), 0, 8392 }, /* MOVE */
+{ XCPUFUNC(op_20d0_0), 0, 8400 }, /* MOVE */
+{ XCPUFUNC(op_20d8_0), 0, 8408 }, /* MOVE */
+{ XCPUFUNC(op_20e0_0), 0, 8416 }, /* MOVE */
+{ XCPUFUNC(op_20e8_0), 0, 8424 }, /* MOVE */
+{ XCPUFUNC(op_20f0_0), 0, 8432 }, /* MOVE */
+{ XCPUFUNC(op_20f8_0), 0, 8440 }, /* MOVE */
+{ XCPUFUNC(op_20f9_0), 0, 8441 }, /* MOVE */
+{ XCPUFUNC(op_20fa_0), 0, 8442 }, /* MOVE */
+{ XCPUFUNC(op_20fb_0), 0, 8443 }, /* MOVE */
+{ XCPUFUNC(op_20fc_0), 0, 8444 }, /* MOVE */
+{ XCPUFUNC(op_2100_0), 0, 8448 }, /* MOVE */
+{ XCPUFUNC(op_2108_0), 0, 8456 }, /* MOVE */
+{ XCPUFUNC(op_2110_0), 0, 8464 }, /* MOVE */
+{ XCPUFUNC(op_2118_0), 0, 8472 }, /* MOVE */
+{ XCPUFUNC(op_2120_0), 0, 8480 }, /* MOVE */
+{ XCPUFUNC(op_2128_0), 0, 8488 }, /* MOVE */
+{ XCPUFUNC(op_2130_0), 0, 8496 }, /* MOVE */
+{ XCPUFUNC(op_2138_0), 0, 8504 }, /* MOVE */
+{ XCPUFUNC(op_2139_0), 0, 8505 }, /* MOVE */
+{ XCPUFUNC(op_213a_0), 0, 8506 }, /* MOVE */
+{ XCPUFUNC(op_213b_0), 0, 8507 }, /* MOVE */
+{ XCPUFUNC(op_213c_0), 0, 8508 }, /* MOVE */
+{ XCPUFUNC(op_2140_0), 0, 8512 }, /* MOVE */
+{ XCPUFUNC(op_2148_0), 0, 8520 }, /* MOVE */
+{ XCPUFUNC(op_2150_0), 0, 8528 }, /* MOVE */
+{ XCPUFUNC(op_2158_0), 0, 8536 }, /* MOVE */
+{ XCPUFUNC(op_2160_0), 0, 8544 }, /* MOVE */
+{ XCPUFUNC(op_2168_0), 0, 8552 }, /* MOVE */
+{ XCPUFUNC(op_2170_0), 0, 8560 }, /* MOVE */
+{ XCPUFUNC(op_2178_0), 0, 8568 }, /* MOVE */
+{ XCPUFUNC(op_2179_0), 0, 8569 }, /* MOVE */
+{ XCPUFUNC(op_217a_0), 0, 8570 }, /* MOVE */
+{ XCPUFUNC(op_217b_0), 0, 8571 }, /* MOVE */
+{ XCPUFUNC(op_217c_0), 0, 8572 }, /* MOVE */
+{ XCPUFUNC(op_2180_0), 0, 8576 }, /* MOVE */
+{ XCPUFUNC(op_2188_0), 0, 8584 }, /* MOVE */
+{ XCPUFUNC(op_2190_0), 0, 8592 }, /* MOVE */
+{ XCPUFUNC(op_2198_0), 0, 8600 }, /* MOVE */
+{ XCPUFUNC(op_21a0_0), 0, 8608 }, /* MOVE */
+{ XCPUFUNC(op_21a8_0), 0, 8616 }, /* MOVE */
+{ XCPUFUNC(op_21b0_0), 0, 8624 }, /* MOVE */
+{ XCPUFUNC(op_21b8_0), 0, 8632 }, /* MOVE */
+{ XCPUFUNC(op_21b9_0), 0, 8633 }, /* MOVE */
+{ XCPUFUNC(op_21ba_0), 0, 8634 }, /* MOVE */
+{ XCPUFUNC(op_21bb_0), 0, 8635 }, /* MOVE */
+{ XCPUFUNC(op_21bc_0), 0, 8636 }, /* MOVE */
+{ XCPUFUNC(op_21c0_0), 0, 8640 }, /* MOVE */
+{ XCPUFUNC(op_21c8_0), 0, 8648 }, /* MOVE */
+{ XCPUFUNC(op_21d0_0), 0, 8656 }, /* MOVE */
+{ XCPUFUNC(op_21d8_0), 0, 8664 }, /* MOVE */
+{ XCPUFUNC(op_21e0_0), 0, 8672 }, /* MOVE */
+{ XCPUFUNC(op_21e8_0), 0, 8680 }, /* MOVE */
+{ XCPUFUNC(op_21f0_0), 0, 8688 }, /* MOVE */
+{ XCPUFUNC(op_21f8_0), 0, 8696 }, /* MOVE */
+{ XCPUFUNC(op_21f9_0), 0, 8697 }, /* MOVE */
+{ XCPUFUNC(op_21fa_0), 0, 8698 }, /* MOVE */
+{ XCPUFUNC(op_21fb_0), 0, 8699 }, /* MOVE */
+{ XCPUFUNC(op_21fc_0), 0, 8700 }, /* MOVE */
+{ XCPUFUNC(op_23c0_0), 0, 9152 }, /* MOVE */
+{ XCPUFUNC(op_23c8_0), 0, 9160 }, /* MOVE */
+{ XCPUFUNC(op_23d0_0), 0, 9168 }, /* MOVE */
+{ XCPUFUNC(op_23d8_0), 0, 9176 }, /* MOVE */
+{ XCPUFUNC(op_23e0_0), 0, 9184 }, /* MOVE */
+{ XCPUFUNC(op_23e8_0), 0, 9192 }, /* MOVE */
+{ XCPUFUNC(op_23f0_0), 0, 9200 }, /* MOVE */
+{ XCPUFUNC(op_23f8_0), 0, 9208 }, /* MOVE */
+{ XCPUFUNC(op_23f9_0), 0, 9209 }, /* MOVE */
+{ XCPUFUNC(op_23fa_0), 0, 9210 }, /* MOVE */
+{ XCPUFUNC(op_23fb_0), 0, 9211 }, /* MOVE */
+{ XCPUFUNC(op_23fc_0), 0, 9212 }, /* MOVE */
+{ XCPUFUNC(op_3000_0), 0, 12288 }, /* MOVE */
+{ XCPUFUNC(op_3008_0), 0, 12296 }, /* MOVE */
+{ XCPUFUNC(op_3010_0), 0, 12304 }, /* MOVE */
+{ XCPUFUNC(op_3018_0), 0, 12312 }, /* MOVE */
+{ XCPUFUNC(op_3020_0), 0, 12320 }, /* MOVE */
+{ XCPUFUNC(op_3028_0), 0, 12328 }, /* MOVE */
+{ XCPUFUNC(op_3030_0), 0, 12336 }, /* MOVE */
+{ XCPUFUNC(op_3038_0), 0, 12344 }, /* MOVE */
+{ XCPUFUNC(op_3039_0), 0, 12345 }, /* MOVE */
+{ XCPUFUNC(op_303a_0), 0, 12346 }, /* MOVE */
+{ XCPUFUNC(op_303b_0), 0, 12347 }, /* MOVE */
+{ XCPUFUNC(op_303c_0), 0, 12348 }, /* MOVE */
+{ XCPUFUNC(op_3040_0), 0, 12352 }, /* MOVEA */
+{ XCPUFUNC(op_3048_0), 0, 12360 }, /* MOVEA */
+{ XCPUFUNC(op_3050_0), 0, 12368 }, /* MOVEA */
+{ XCPUFUNC(op_3058_0), 0, 12376 }, /* MOVEA */
+{ XCPUFUNC(op_3060_0), 0, 12384 }, /* MOVEA */
+{ XCPUFUNC(op_3068_0), 0, 12392 }, /* MOVEA */
+{ XCPUFUNC(op_3070_0), 0, 12400 }, /* MOVEA */
+{ XCPUFUNC(op_3078_0), 0, 12408 }, /* MOVEA */
+{ XCPUFUNC(op_3079_0), 0, 12409 }, /* MOVEA */
+{ XCPUFUNC(op_307a_0), 0, 12410 }, /* MOVEA */
+{ XCPUFUNC(op_307b_0), 0, 12411 }, /* MOVEA */
+{ XCPUFUNC(op_307c_0), 0, 12412 }, /* MOVEA */
+{ XCPUFUNC(op_3080_0), 0, 12416 }, /* MOVE */
+{ XCPUFUNC(op_3088_0), 0, 12424 }, /* MOVE */
+{ XCPUFUNC(op_3090_0), 0, 12432 }, /* MOVE */
+{ XCPUFUNC(op_3098_0), 0, 12440 }, /* MOVE */
+{ XCPUFUNC(op_30a0_0), 0, 12448 }, /* MOVE */
+{ XCPUFUNC(op_30a8_0), 0, 12456 }, /* MOVE */
+{ XCPUFUNC(op_30b0_0), 0, 12464 }, /* MOVE */
+{ XCPUFUNC(op_30b8_0), 0, 12472 }, /* MOVE */
+{ XCPUFUNC(op_30b9_0), 0, 12473 }, /* MOVE */
+{ XCPUFUNC(op_30ba_0), 0, 12474 }, /* MOVE */
+{ XCPUFUNC(op_30bb_0), 0, 12475 }, /* MOVE */
+{ XCPUFUNC(op_30bc_0), 0, 12476 }, /* MOVE */
+{ XCPUFUNC(op_30c0_0), 0, 12480 }, /* MOVE */
+{ XCPUFUNC(op_30c8_0), 0, 12488 }, /* MOVE */
+{ XCPUFUNC(op_30d0_0), 0, 12496 }, /* MOVE */
+{ XCPUFUNC(op_30d8_0), 0, 12504 }, /* MOVE */
+{ XCPUFUNC(op_30e0_0), 0, 12512 }, /* MOVE */
+{ XCPUFUNC(op_30e8_0), 0, 12520 }, /* MOVE */
+{ XCPUFUNC(op_30f0_0), 0, 12528 }, /* MOVE */
+{ XCPUFUNC(op_30f8_0), 0, 12536 }, /* MOVE */
+{ XCPUFUNC(op_30f9_0), 0, 12537 }, /* MOVE */
+{ XCPUFUNC(op_30fa_0), 0, 12538 }, /* MOVE */
+{ XCPUFUNC(op_30fb_0), 0, 12539 }, /* MOVE */
+{ XCPUFUNC(op_30fc_0), 0, 12540 }, /* MOVE */
+{ XCPUFUNC(op_3100_0), 0, 12544 }, /* MOVE */
+{ XCPUFUNC(op_3108_0), 0, 12552 }, /* MOVE */
+{ XCPUFUNC(op_3110_0), 0, 12560 }, /* MOVE */
+{ XCPUFUNC(op_3118_0), 0, 12568 }, /* MOVE */
+{ XCPUFUNC(op_3120_0), 0, 12576 }, /* MOVE */
+{ XCPUFUNC(op_3128_0), 0, 12584 }, /* MOVE */
+{ XCPUFUNC(op_3130_0), 0, 12592 }, /* MOVE */
+{ XCPUFUNC(op_3138_0), 0, 12600 }, /* MOVE */
+{ XCPUFUNC(op_3139_0), 0, 12601 }, /* MOVE */
+{ XCPUFUNC(op_313a_0), 0, 12602 }, /* MOVE */
+{ XCPUFUNC(op_313b_0), 0, 12603 }, /* MOVE */
+{ XCPUFUNC(op_313c_0), 0, 12604 }, /* MOVE */
+{ XCPUFUNC(op_3140_0), 0, 12608 }, /* MOVE */
+{ XCPUFUNC(op_3148_0), 0, 12616 }, /* MOVE */
+{ XCPUFUNC(op_3150_0), 0, 12624 }, /* MOVE */
+{ XCPUFUNC(op_3158_0), 0, 12632 }, /* MOVE */
+{ XCPUFUNC(op_3160_0), 0, 12640 }, /* MOVE */
+{ XCPUFUNC(op_3168_0), 0, 12648 }, /* MOVE */
+{ XCPUFUNC(op_3170_0), 0, 12656 }, /* MOVE */
+{ XCPUFUNC(op_3178_0), 0, 12664 }, /* MOVE */
+{ XCPUFUNC(op_3179_0), 0, 12665 }, /* MOVE */
+{ XCPUFUNC(op_317a_0), 0, 12666 }, /* MOVE */
+{ XCPUFUNC(op_317b_0), 0, 12667 }, /* MOVE */
+{ XCPUFUNC(op_317c_0), 0, 12668 }, /* MOVE */
+{ XCPUFUNC(op_3180_0), 0, 12672 }, /* MOVE */
+{ XCPUFUNC(op_3188_0), 0, 12680 }, /* MOVE */
+{ XCPUFUNC(op_3190_0), 0, 12688 }, /* MOVE */
+{ XCPUFUNC(op_3198_0), 0, 12696 }, /* MOVE */
+{ XCPUFUNC(op_31a0_0), 0, 12704 }, /* MOVE */
+{ XCPUFUNC(op_31a8_0), 0, 12712 }, /* MOVE */
+{ XCPUFUNC(op_31b0_0), 0, 12720 }, /* MOVE */
+{ XCPUFUNC(op_31b8_0), 0, 12728 }, /* MOVE */
+{ XCPUFUNC(op_31b9_0), 0, 12729 }, /* MOVE */
+{ XCPUFUNC(op_31ba_0), 0, 12730 }, /* MOVE */
+{ XCPUFUNC(op_31bb_0), 0, 12731 }, /* MOVE */
+{ XCPUFUNC(op_31bc_0), 0, 12732 }, /* MOVE */
+{ XCPUFUNC(op_31c0_0), 0, 12736 }, /* MOVE */
+{ XCPUFUNC(op_31c8_0), 0, 12744 }, /* MOVE */
+{ XCPUFUNC(op_31d0_0), 0, 12752 }, /* MOVE */
+{ XCPUFUNC(op_31d8_0), 0, 12760 }, /* MOVE */
+{ XCPUFUNC(op_31e0_0), 0, 12768 }, /* MOVE */
+{ XCPUFUNC(op_31e8_0), 0, 12776 }, /* MOVE */
+{ XCPUFUNC(op_31f0_0), 0, 12784 }, /* MOVE */
+{ XCPUFUNC(op_31f8_0), 0, 12792 }, /* MOVE */
+{ XCPUFUNC(op_31f9_0), 0, 12793 }, /* MOVE */
+{ XCPUFUNC(op_31fa_0), 0, 12794 }, /* MOVE */
+{ XCPUFUNC(op_31fb_0), 0, 12795 }, /* MOVE */
+{ XCPUFUNC(op_31fc_0), 0, 12796 }, /* MOVE */
+{ XCPUFUNC(op_33c0_0), 0, 13248 }, /* MOVE */
+{ XCPUFUNC(op_33c8_0), 0, 13256 }, /* MOVE */
+{ XCPUFUNC(op_33d0_0), 0, 13264 }, /* MOVE */
+{ XCPUFUNC(op_33d8_0), 0, 13272 }, /* MOVE */
+{ XCPUFUNC(op_33e0_0), 0, 13280 }, /* MOVE */
+{ XCPUFUNC(op_33e8_0), 0, 13288 }, /* MOVE */
+{ XCPUFUNC(op_33f0_0), 0, 13296 }, /* MOVE */
+{ XCPUFUNC(op_33f8_0), 0, 13304 }, /* MOVE */
+{ XCPUFUNC(op_33f9_0), 0, 13305 }, /* MOVE */
+{ XCPUFUNC(op_33fa_0), 0, 13306 }, /* MOVE */
+{ XCPUFUNC(op_33fb_0), 0, 13307 }, /* MOVE */
+{ XCPUFUNC(op_33fc_0), 0, 13308 }, /* MOVE */
+{ XCPUFUNC(op_4000_0), 0, 16384 }, /* NEGX */
+{ XCPUFUNC(op_4010_0), 0, 16400 }, /* NEGX */
+{ XCPUFUNC(op_4018_0), 0, 16408 }, /* NEGX */
+{ XCPUFUNC(op_4020_0), 0, 16416 }, /* NEGX */
+{ XCPUFUNC(op_4028_0), 0, 16424 }, /* NEGX */
+{ XCPUFUNC(op_4030_0), 0, 16432 }, /* NEGX */
+{ XCPUFUNC(op_4038_0), 0, 16440 }, /* NEGX */
+{ XCPUFUNC(op_4039_0), 0, 16441 }, /* NEGX */
+{ XCPUFUNC(op_4040_0), 0, 16448 }, /* NEGX */
+{ XCPUFUNC(op_4050_0), 0, 16464 }, /* NEGX */
+{ XCPUFUNC(op_4058_0), 0, 16472 }, /* NEGX */
+{ XCPUFUNC(op_4060_0), 0, 16480 }, /* NEGX */
+{ XCPUFUNC(op_4068_0), 0, 16488 }, /* NEGX */
+{ XCPUFUNC(op_4070_0), 0, 16496 }, /* NEGX */
+{ XCPUFUNC(op_4078_0), 0, 16504 }, /* NEGX */
+{ XCPUFUNC(op_4079_0), 0, 16505 }, /* NEGX */
+{ XCPUFUNC(op_4080_0), 0, 16512 }, /* NEGX */
+{ XCPUFUNC(op_4090_0), 0, 16528 }, /* NEGX */
+{ XCPUFUNC(op_4098_0), 0, 16536 }, /* NEGX */
+{ XCPUFUNC(op_40a0_0), 0, 16544 }, /* NEGX */
+{ XCPUFUNC(op_40a8_0), 0, 16552 }, /* NEGX */
+{ XCPUFUNC(op_40b0_0), 0, 16560 }, /* NEGX */
+{ XCPUFUNC(op_40b8_0), 0, 16568 }, /* NEGX */
+{ XCPUFUNC(op_40b9_0), 0, 16569 }, /* NEGX */
+{ XCPUFUNC(op_40c0_0), 0, 16576 }, /* MVSR2 */
+{ XCPUFUNC(op_40d0_0), 0, 16592 }, /* MVSR2 */
+{ XCPUFUNC(op_40d8_0), 0, 16600 }, /* MVSR2 */
+{ XCPUFUNC(op_40e0_0), 0, 16608 }, /* MVSR2 */
+{ XCPUFUNC(op_40e8_0), 0, 16616 }, /* MVSR2 */
+{ XCPUFUNC(op_40f0_0), 0, 16624 }, /* MVSR2 */
+{ XCPUFUNC(op_40f8_0), 0, 16632 }, /* MVSR2 */
+{ XCPUFUNC(op_40f9_0), 0, 16633 }, /* MVSR2 */
+{ XCPUFUNC(op_4100_0), 0, 16640 }, /* CHK */
+{ XCPUFUNC(op_4110_0), 0, 16656 }, /* CHK */
+{ XCPUFUNC(op_4118_0), 0, 16664 }, /* CHK */
+{ XCPUFUNC(op_4120_0), 0, 16672 }, /* CHK */
+{ XCPUFUNC(op_4128_0), 0, 16680 }, /* CHK */
+{ XCPUFUNC(op_4130_0), 0, 16688 }, /* CHK */
+{ XCPUFUNC(op_4138_0), 0, 16696 }, /* CHK */
+{ XCPUFUNC(op_4139_0), 0, 16697 }, /* CHK */
+{ XCPUFUNC(op_413a_0), 0, 16698 }, /* CHK */
+{ XCPUFUNC(op_413b_0), 0, 16699 }, /* CHK */
+{ XCPUFUNC(op_413c_0), 0, 16700 }, /* CHK */
+{ XCPUFUNC(op_4180_0), 0, 16768 }, /* CHK */
+{ XCPUFUNC(op_4190_0), 0, 16784 }, /* CHK */
+{ XCPUFUNC(op_4198_0), 0, 16792 }, /* CHK */
+{ XCPUFUNC(op_41a0_0), 0, 16800 }, /* CHK */
+{ XCPUFUNC(op_41a8_0), 0, 16808 }, /* CHK */
+{ XCPUFUNC(op_41b0_0), 0, 16816 }, /* CHK */
+{ XCPUFUNC(op_41b8_0), 0, 16824 }, /* CHK */
+{ XCPUFUNC(op_41b9_0), 0, 16825 }, /* CHK */
+{ XCPUFUNC(op_41ba_0), 0, 16826 }, /* CHK */
+{ XCPUFUNC(op_41bb_0), 0, 16827 }, /* CHK */
+{ XCPUFUNC(op_41bc_0), 0, 16828 }, /* CHK */
+{ XCPUFUNC(op_41d0_0), 0, 16848 }, /* LEA */
+{ XCPUFUNC(op_41e8_0), 0, 16872 }, /* LEA */
+{ XCPUFUNC(op_41f0_0), 0, 16880 }, /* LEA */
+{ XCPUFUNC(op_41f8_0), 0, 16888 }, /* LEA */
+{ XCPUFUNC(op_41f9_0), 0, 16889 }, /* LEA */
+{ XCPUFUNC(op_41fa_0), 0, 16890 }, /* LEA */
+{ XCPUFUNC(op_41fb_0), 0, 16891 }, /* LEA */
+{ XCPUFUNC(op_4200_0), 0, 16896 }, /* CLR */
+{ XCPUFUNC(op_4210_0), 0, 16912 }, /* CLR */
+{ XCPUFUNC(op_4218_0), 0, 16920 }, /* CLR */
+{ XCPUFUNC(op_4220_0), 0, 16928 }, /* CLR */
+{ XCPUFUNC(op_4228_0), 0, 16936 }, /* CLR */
+{ XCPUFUNC(op_4230_0), 0, 16944 }, /* CLR */
+{ XCPUFUNC(op_4238_0), 0, 16952 }, /* CLR */
+{ XCPUFUNC(op_4239_0), 0, 16953 }, /* CLR */
+{ XCPUFUNC(op_4240_0), 0, 16960 }, /* CLR */
+{ XCPUFUNC(op_4250_0), 0, 16976 }, /* CLR */
+{ XCPUFUNC(op_4258_0), 0, 16984 }, /* CLR */
+{ XCPUFUNC(op_4260_0), 0, 16992 }, /* CLR */
+{ XCPUFUNC(op_4268_0), 0, 17000 }, /* CLR */
+{ XCPUFUNC(op_4270_0), 0, 17008 }, /* CLR */
+{ XCPUFUNC(op_4278_0), 0, 17016 }, /* CLR */
+{ XCPUFUNC(op_4279_0), 0, 17017 }, /* CLR */
+{ XCPUFUNC(op_4280_0), 0, 17024 }, /* CLR */
+{ XCPUFUNC(op_4290_0), 0, 17040 }, /* CLR */
+{ XCPUFUNC(op_4298_0), 0, 17048 }, /* CLR */
+{ XCPUFUNC(op_42a0_0), 0, 17056 }, /* CLR */
+{ XCPUFUNC(op_42a8_0), 0, 17064 }, /* CLR */
+{ XCPUFUNC(op_42b0_0), 0, 17072 }, /* CLR */
+{ XCPUFUNC(op_42b8_0), 0, 17080 }, /* CLR */
+{ XCPUFUNC(op_42b9_0), 0, 17081 }, /* CLR */
+{ XCPUFUNC(op_42c0_0), 0, 17088 }, /* MVSR2 */
+{ XCPUFUNC(op_42d0_0), 0, 17104 }, /* MVSR2 */
+{ XCPUFUNC(op_42d8_0), 0, 17112 }, /* MVSR2 */
+{ XCPUFUNC(op_42e0_0), 0, 17120 }, /* MVSR2 */
+{ XCPUFUNC(op_42e8_0), 0, 17128 }, /* MVSR2 */
+{ XCPUFUNC(op_42f0_0), 0, 17136 }, /* MVSR2 */
+{ XCPUFUNC(op_42f8_0), 0, 17144 }, /* MVSR2 */
+{ XCPUFUNC(op_42f9_0), 0, 17145 }, /* MVSR2 */
+{ XCPUFUNC(op_4400_0), 0, 17408 }, /* NEG */
+{ XCPUFUNC(op_4410_0), 0, 17424 }, /* NEG */
+{ XCPUFUNC(op_4418_0), 0, 17432 }, /* NEG */
+{ XCPUFUNC(op_4420_0), 0, 17440 }, /* NEG */
+{ XCPUFUNC(op_4428_0), 0, 17448 }, /* NEG */
+{ XCPUFUNC(op_4430_0), 0, 17456 }, /* NEG */
+{ XCPUFUNC(op_4438_0), 0, 17464 }, /* NEG */
+{ XCPUFUNC(op_4439_0), 0, 17465 }, /* NEG */
+{ XCPUFUNC(op_4440_0), 0, 17472 }, /* NEG */
+{ XCPUFUNC(op_4450_0), 0, 17488 }, /* NEG */
+{ XCPUFUNC(op_4458_0), 0, 17496 }, /* NEG */
+{ XCPUFUNC(op_4460_0), 0, 17504 }, /* NEG */
+{ XCPUFUNC(op_4468_0), 0, 17512 }, /* NEG */
+{ XCPUFUNC(op_4470_0), 0, 17520 }, /* NEG */
+{ XCPUFUNC(op_4478_0), 0, 17528 }, /* NEG */
+{ XCPUFUNC(op_4479_0), 0, 17529 }, /* NEG */
+{ XCPUFUNC(op_4480_0), 0, 17536 }, /* NEG */
+{ XCPUFUNC(op_4490_0), 0, 17552 }, /* NEG */
+{ XCPUFUNC(op_4498_0), 0, 17560 }, /* NEG */
+{ XCPUFUNC(op_44a0_0), 0, 17568 }, /* NEG */
+{ XCPUFUNC(op_44a8_0), 0, 17576 }, /* NEG */
+{ XCPUFUNC(op_44b0_0), 0, 17584 }, /* NEG */
+{ XCPUFUNC(op_44b8_0), 0, 17592 }, /* NEG */
+{ XCPUFUNC(op_44b9_0), 0, 17593 }, /* NEG */
+{ XCPUFUNC(op_44c0_0), 0, 17600 }, /* MV2SR */
+{ XCPUFUNC(op_44d0_0), 0, 17616 }, /* MV2SR */
+{ XCPUFUNC(op_44d8_0), 0, 17624 }, /* MV2SR */
+{ XCPUFUNC(op_44e0_0), 0, 17632 }, /* MV2SR */
+{ XCPUFUNC(op_44e8_0), 0, 17640 }, /* MV2SR */
+{ XCPUFUNC(op_44f0_0), 0, 17648 }, /* MV2SR */
+{ XCPUFUNC(op_44f8_0), 0, 17656 }, /* MV2SR */
+{ XCPUFUNC(op_44f9_0), 0, 17657 }, /* MV2SR */
+{ XCPUFUNC(op_44fa_0), 0, 17658 }, /* MV2SR */
+{ XCPUFUNC(op_44fb_0), 0, 17659 }, /* MV2SR */
+{ XCPUFUNC(op_44fc_0), 0, 17660 }, /* MV2SR */
+{ XCPUFUNC(op_4600_0), 0, 17920 }, /* NOT */
+{ XCPUFUNC(op_4610_0), 0, 17936 }, /* NOT */
+{ XCPUFUNC(op_4618_0), 0, 17944 }, /* NOT */
+{ XCPUFUNC(op_4620_0), 0, 17952 }, /* NOT */
+{ XCPUFUNC(op_4628_0), 0, 17960 }, /* NOT */
+{ XCPUFUNC(op_4630_0), 0, 17968 }, /* NOT */
+{ XCPUFUNC(op_4638_0), 0, 17976 }, /* NOT */
+{ XCPUFUNC(op_4639_0), 0, 17977 }, /* NOT */
+{ XCPUFUNC(op_4640_0), 0, 17984 }, /* NOT */
+{ XCPUFUNC(op_4650_0), 0, 18000 }, /* NOT */
+{ XCPUFUNC(op_4658_0), 0, 18008 }, /* NOT */
+{ XCPUFUNC(op_4660_0), 0, 18016 }, /* NOT */
+{ XCPUFUNC(op_4668_0), 0, 18024 }, /* NOT */
+{ XCPUFUNC(op_4670_0), 0, 18032 }, /* NOT */
+{ XCPUFUNC(op_4678_0), 0, 18040 }, /* NOT */
+{ XCPUFUNC(op_4679_0), 0, 18041 }, /* NOT */
+{ XCPUFUNC(op_4680_0), 0, 18048 }, /* NOT */
+{ XCPUFUNC(op_4690_0), 0, 18064 }, /* NOT */
+{ XCPUFUNC(op_4698_0), 0, 18072 }, /* NOT */
+{ XCPUFUNC(op_46a0_0), 0, 18080 }, /* NOT */
+{ XCPUFUNC(op_46a8_0), 0, 18088 }, /* NOT */
+{ XCPUFUNC(op_46b0_0), 0, 18096 }, /* NOT */
+{ XCPUFUNC(op_46b8_0), 0, 18104 }, /* NOT */
+{ XCPUFUNC(op_46b9_0), 0, 18105 }, /* NOT */
+{ XCPUFUNC(op_46c0_0), 0, 18112 }, /* MV2SR */
+{ XCPUFUNC(op_46d0_0), 0, 18128 }, /* MV2SR */
+{ XCPUFUNC(op_46d8_0), 0, 18136 }, /* MV2SR */
+{ XCPUFUNC(op_46e0_0), 0, 18144 }, /* MV2SR */
+{ XCPUFUNC(op_46e8_0), 0, 18152 }, /* MV2SR */
+{ XCPUFUNC(op_46f0_0), 0, 18160 }, /* MV2SR */
+{ XCPUFUNC(op_46f8_0), 0, 18168 }, /* MV2SR */
+{ XCPUFUNC(op_46f9_0), 0, 18169 }, /* MV2SR */
+{ XCPUFUNC(op_46fa_0), 0, 18170 }, /* MV2SR */
+{ XCPUFUNC(op_46fb_0), 0, 18171 }, /* MV2SR */
+{ XCPUFUNC(op_46fc_0), 0, 18172 }, /* MV2SR */
+{ XCPUFUNC(op_4800_0), 0, 18432 }, /* NBCD */
+{ XCPUFUNC(op_4808_0), 0, 18440 }, /* LINK */
+{ XCPUFUNC(op_4810_0), 0, 18448 }, /* NBCD */
+{ XCPUFUNC(op_4818_0), 0, 18456 }, /* NBCD */
+{ XCPUFUNC(op_4820_0), 0, 18464 }, /* NBCD */
+{ XCPUFUNC(op_4828_0), 0, 18472 }, /* NBCD */
+{ XCPUFUNC(op_4830_0), 0, 18480 }, /* NBCD */
+{ XCPUFUNC(op_4838_0), 0, 18488 }, /* NBCD */
+{ XCPUFUNC(op_4839_0), 0, 18489 }, /* NBCD */
+{ XCPUFUNC(op_4840_0), 0, 18496 }, /* SWAP */
+{ XCPUFUNC(op_4848_0), 0, 18504 }, /* BKPT */
+{ XCPUFUNC(op_4850_0), 0, 18512 }, /* PEA */
+{ XCPUFUNC(op_4868_0), 0, 18536 }, /* PEA */
+{ XCPUFUNC(op_4870_0), 0, 18544 }, /* PEA */
+{ XCPUFUNC(op_4878_0), 0, 18552 }, /* PEA */
+{ XCPUFUNC(op_4879_0), 0, 18553 }, /* PEA */
+{ XCPUFUNC(op_487a_0), 0, 18554 }, /* PEA */
+{ XCPUFUNC(op_487b_0), 0, 18555 }, /* PEA */
+{ XCPUFUNC(op_4880_0), 0, 18560 }, /* EXT */
+{ XCPUFUNC(op_4890_0), 0, 18576 }, /* MVMLE */
+{ XCPUFUNC(op_48a0_0), 0, 18592 }, /* MVMLE */
+{ XCPUFUNC(op_48a8_0), 0, 18600 }, /* MVMLE */
+{ XCPUFUNC(op_48b0_0), 0, 18608 }, /* MVMLE */
+{ XCPUFUNC(op_48b8_0), 0, 18616 }, /* MVMLE */
+{ XCPUFUNC(op_48b9_0), 0, 18617 }, /* MVMLE */
+{ XCPUFUNC(op_48c0_0), 0, 18624 }, /* EXT */
+{ XCPUFUNC(op_48d0_0), 0, 18640 }, /* MVMLE */
+{ XCPUFUNC(op_48e0_0), 0, 18656 }, /* MVMLE */
+{ XCPUFUNC(op_48e8_0), 0, 18664 }, /* MVMLE */
+{ XCPUFUNC(op_48f0_0), 0, 18672 }, /* MVMLE */
+{ XCPUFUNC(op_48f8_0), 0, 18680 }, /* MVMLE */
+{ XCPUFUNC(op_48f9_0), 0, 18681 }, /* MVMLE */
+{ XCPUFUNC(op_49c0_0), 0, 18880 }, /* EXT */
+{ XCPUFUNC(op_4a00_0), 0, 18944 }, /* TST */
+{ XCPUFUNC(op_4a10_0), 0, 18960 }, /* TST */
+{ XCPUFUNC(op_4a18_0), 0, 18968 }, /* TST */
+{ XCPUFUNC(op_4a20_0), 0, 18976 }, /* TST */
+{ XCPUFUNC(op_4a28_0), 0, 18984 }, /* TST */
+{ XCPUFUNC(op_4a30_0), 0, 18992 }, /* TST */
+{ XCPUFUNC(op_4a38_0), 0, 19000 }, /* TST */
+{ XCPUFUNC(op_4a39_0), 0, 19001 }, /* TST */
+{ XCPUFUNC(op_4a3a_0), 0, 19002 }, /* TST */
+{ XCPUFUNC(op_4a3b_0), 0, 19003 }, /* TST */
+{ XCPUFUNC(op_4a3c_0), 0, 19004 }, /* TST */
+{ XCPUFUNC(op_4a40_0), 0, 19008 }, /* TST */
+{ XCPUFUNC(op_4a48_0), 0, 19016 }, /* TST */
+{ XCPUFUNC(op_4a50_0), 0, 19024 }, /* TST */
+{ XCPUFUNC(op_4a58_0), 0, 19032 }, /* TST */
+{ XCPUFUNC(op_4a60_0), 0, 19040 }, /* TST */
+{ XCPUFUNC(op_4a68_0), 0, 19048 }, /* TST */
+{ XCPUFUNC(op_4a70_0), 0, 19056 }, /* TST */
+{ XCPUFUNC(op_4a78_0), 0, 19064 }, /* TST */
+{ XCPUFUNC(op_4a79_0), 0, 19065 }, /* TST */
+{ XCPUFUNC(op_4a7a_0), 0, 19066 }, /* TST */
+{ XCPUFUNC(op_4a7b_0), 0, 19067 }, /* TST */
+{ XCPUFUNC(op_4a7c_0), 0, 19068 }, /* TST */
+{ XCPUFUNC(op_4a80_0), 0, 19072 }, /* TST */
+{ XCPUFUNC(op_4a88_0), 0, 19080 }, /* TST */
+{ XCPUFUNC(op_4a90_0), 0, 19088 }, /* TST */
+{ XCPUFUNC(op_4a98_0), 0, 19096 }, /* TST */
+{ XCPUFUNC(op_4aa0_0), 0, 19104 }, /* TST */
+{ XCPUFUNC(op_4aa8_0), 0, 19112 }, /* TST */
+{ XCPUFUNC(op_4ab0_0), 0, 19120 }, /* TST */
+{ XCPUFUNC(op_4ab8_0), 0, 19128 }, /* TST */
+{ XCPUFUNC(op_4ab9_0), 0, 19129 }, /* TST */
+{ XCPUFUNC(op_4aba_0), 0, 19130 }, /* TST */
+{ XCPUFUNC(op_4abb_0), 0, 19131 }, /* TST */
+{ XCPUFUNC(op_4abc_0), 0, 19132 }, /* TST */
+{ XCPUFUNC(op_4ac0_0), 0, 19136 }, /* TAS */
+{ XCPUFUNC(op_4ad0_0), 0, 19152 }, /* TAS */
+{ XCPUFUNC(op_4ad8_0), 0, 19160 }, /* TAS */
+{ XCPUFUNC(op_4ae0_0), 0, 19168 }, /* TAS */
+{ XCPUFUNC(op_4ae8_0), 0, 19176 }, /* TAS */
+{ XCPUFUNC(op_4af0_0), 0, 19184 }, /* TAS */
+{ XCPUFUNC(op_4af8_0), 0, 19192 }, /* TAS */
+{ XCPUFUNC(op_4af9_0), 0, 19193 }, /* TAS */
+{ XCPUFUNC(op_4c00_0), 0, 19456 }, /* MULL */
+{ XCPUFUNC(op_4c10_0), 0, 19472 }, /* MULL */
+{ XCPUFUNC(op_4c18_0), 0, 19480 }, /* MULL */
+{ XCPUFUNC(op_4c20_0), 0, 19488 }, /* MULL */
+{ XCPUFUNC(op_4c28_0), 0, 19496 }, /* MULL */
+{ XCPUFUNC(op_4c30_0), 0, 19504 }, /* MULL */
+{ XCPUFUNC(op_4c38_0), 0, 19512 }, /* MULL */
+{ XCPUFUNC(op_4c39_0), 0, 19513 }, /* MULL */
+{ XCPUFUNC(op_4c3a_0), 0, 19514 }, /* MULL */
+{ XCPUFUNC(op_4c3b_0), 0, 19515 }, /* MULL */
+{ XCPUFUNC(op_4c3c_0), 0, 19516 }, /* MULL */
+{ XCPUFUNC(op_4c40_0), 0, 19520 }, /* DIVL */
+{ XCPUFUNC(op_4c50_0), 0, 19536 }, /* DIVL */
+{ XCPUFUNC(op_4c58_0), 0, 19544 }, /* DIVL */
+{ XCPUFUNC(op_4c60_0), 0, 19552 }, /* DIVL */
+{ XCPUFUNC(op_4c68_0), 0, 19560 }, /* DIVL */
+{ XCPUFUNC(op_4c70_0), 0, 19568 }, /* DIVL */
+{ XCPUFUNC(op_4c78_0), 0, 19576 }, /* DIVL */
+{ XCPUFUNC(op_4c79_0), 0, 19577 }, /* DIVL */
+{ XCPUFUNC(op_4c7a_0), 0, 19578 }, /* DIVL */
+{ XCPUFUNC(op_4c7b_0), 0, 19579 }, /* DIVL */
+{ XCPUFUNC(op_4c7c_0), 0, 19580 }, /* DIVL */
+{ XCPUFUNC(op_4c90_0), 0, 19600 }, /* MVMEL */
+{ XCPUFUNC(op_4c98_0), 0, 19608 }, /* MVMEL */
+{ XCPUFUNC(op_4ca8_0), 0, 19624 }, /* MVMEL */
+{ XCPUFUNC(op_4cb0_0), 0, 19632 }, /* MVMEL */
+{ XCPUFUNC(op_4cb8_0), 0, 19640 }, /* MVMEL */
+{ XCPUFUNC(op_4cb9_0), 0, 19641 }, /* MVMEL */
+{ XCPUFUNC(op_4cba_0), 0, 19642 }, /* MVMEL */
+{ XCPUFUNC(op_4cbb_0), 0, 19643 }, /* MVMEL */
+{ XCPUFUNC(op_4cd0_0), 0, 19664 }, /* MVMEL */
+{ XCPUFUNC(op_4cd8_0), 0, 19672 }, /* MVMEL */
+{ XCPUFUNC(op_4ce8_0), 0, 19688 }, /* MVMEL */
+{ XCPUFUNC(op_4cf0_0), 0, 19696 }, /* MVMEL */
+{ XCPUFUNC(op_4cf8_0), 0, 19704 }, /* MVMEL */
+{ XCPUFUNC(op_4cf9_0), 0, 19705 }, /* MVMEL */
+{ XCPUFUNC(op_4cfa_0), 0, 19706 }, /* MVMEL */
+{ XCPUFUNC(op_4cfb_0), 0, 19707 }, /* MVMEL */
+{ XCPUFUNC(op_4e40_0), 0, 20032 }, /* TRAP */
+{ XCPUFUNC(op_4e50_0), 0, 20048 }, /* LINK */
+{ XCPUFUNC(op_4e58_0), 0, 20056 }, /* UNLK */
+{ XCPUFUNC(op_4e60_0), 0, 20064 }, /* MVR2USP */
+{ XCPUFUNC(op_4e68_0), 0, 20072 }, /* MVUSP2R */
+{ XCPUFUNC(op_4e70_0), 0, 20080 }, /* RESET */
+{ XCPUFUNC(op_4e71_0), 0, 20081 }, /* NOP */
+{ XCPUFUNC(op_4e72_0), 0, 20082 }, /* STOP */
+{ XCPUFUNC(op_4e73_0), 0, 20083 }, /* RTE */
+{ XCPUFUNC(op_4e74_0), 0, 20084 }, /* RTD */
+{ XCPUFUNC(op_4e75_0), 0, 20085 }, /* RTS */
+{ XCPUFUNC(op_4e76_0), 0, 20086 }, /* TRAPV */
+{ XCPUFUNC(op_4e77_0), 0, 20087 }, /* RTR */
+{ XCPUFUNC(op_4e7a_0), 0, 20090 }, /* MOVEC2 */
+{ XCPUFUNC(op_4e7b_0), 0, 20091 }, /* MOVE2C */
+{ XCPUFUNC(op_4e90_0), 0, 20112 }, /* JSR */
+{ XCPUFUNC(op_4ea8_0), 0, 20136 }, /* JSR */
+{ XCPUFUNC(op_4eb0_0), 0, 20144 }, /* JSR */
+{ XCPUFUNC(op_4eb8_0), 0, 20152 }, /* JSR */
+{ XCPUFUNC(op_4eb9_0), 0, 20153 }, /* JSR */
+{ XCPUFUNC(op_4eba_0), 0, 20154 }, /* JSR */
+{ XCPUFUNC(op_4ebb_0), 0, 20155 }, /* JSR */
+{ XCPUFUNC(op_4ed0_0), 0, 20176 }, /* JMP */
+{ XCPUFUNC(op_4ee8_0), 0, 20200 }, /* JMP */
+{ XCPUFUNC(op_4ef0_0), 0, 20208 }, /* JMP */
+{ XCPUFUNC(op_4ef8_0), 0, 20216 }, /* JMP */
+{ XCPUFUNC(op_4ef9_0), 0, 20217 }, /* JMP */
+{ XCPUFUNC(op_4efa_0), 0, 20218 }, /* JMP */
+{ XCPUFUNC(op_4efb_0), 0, 20219 }, /* JMP */
+{ XCPUFUNC(op_5000_0), 0, 20480 }, /* ADD */
+{ XCPUFUNC(op_5010_0), 0, 20496 }, /* ADD */
+{ XCPUFUNC(op_5018_0), 0, 20504 }, /* ADD */
+{ XCPUFUNC(op_5020_0), 0, 20512 }, /* ADD */
+{ XCPUFUNC(op_5028_0), 0, 20520 }, /* ADD */
+{ XCPUFUNC(op_5030_0), 0, 20528 }, /* ADD */
+{ XCPUFUNC(op_5038_0), 0, 20536 }, /* ADD */
+{ XCPUFUNC(op_5039_0), 0, 20537 }, /* ADD */
+{ XCPUFUNC(op_5040_0), 0, 20544 }, /* ADD */
+{ XCPUFUNC(op_5048_0), 0, 20552 }, /* ADDA */
+{ XCPUFUNC(op_5050_0), 0, 20560 }, /* ADD */
+{ XCPUFUNC(op_5058_0), 0, 20568 }, /* ADD */
+{ XCPUFUNC(op_5060_0), 0, 20576 }, /* ADD */
+{ XCPUFUNC(op_5068_0), 0, 20584 }, /* ADD */
+{ XCPUFUNC(op_5070_0), 0, 20592 }, /* ADD */
+{ XCPUFUNC(op_5078_0), 0, 20600 }, /* ADD */
+{ XCPUFUNC(op_5079_0), 0, 20601 }, /* ADD */
+{ XCPUFUNC(op_5080_0), 0, 20608 }, /* ADD */
+{ XCPUFUNC(op_5088_0), 0, 20616 }, /* ADDA */
+{ XCPUFUNC(op_5090_0), 0, 20624 }, /* ADD */
+{ XCPUFUNC(op_5098_0), 0, 20632 }, /* ADD */
+{ XCPUFUNC(op_50a0_0), 0, 20640 }, /* ADD */
+{ XCPUFUNC(op_50a8_0), 0, 20648 }, /* ADD */
+{ XCPUFUNC(op_50b0_0), 0, 20656 }, /* ADD */
+{ XCPUFUNC(op_50b8_0), 0, 20664 }, /* ADD */
+{ XCPUFUNC(op_50b9_0), 0, 20665 }, /* ADD */
+{ XCPUFUNC(op_50c0_0), 0, 20672 }, /* Scc */
+{ XCPUFUNC(op_50c8_0), 0, 20680 }, /* DBcc */
+{ XCPUFUNC(op_50d0_0), 0, 20688 }, /* Scc */
+{ XCPUFUNC(op_50d8_0), 0, 20696 }, /* Scc */
+{ XCPUFUNC(op_50e0_0), 0, 20704 }, /* Scc */
+{ XCPUFUNC(op_50e8_0), 0, 20712 }, /* Scc */
+{ XCPUFUNC(op_50f0_0), 0, 20720 }, /* Scc */
+{ XCPUFUNC(op_50f8_0), 0, 20728 }, /* Scc */
+{ XCPUFUNC(op_50f9_0), 0, 20729 }, /* Scc */
+{ XCPUFUNC(op_50fa_0), 0, 20730 }, /* TRAPcc */
+{ XCPUFUNC(op_50fb_0), 0, 20731 }, /* TRAPcc */
+{ XCPUFUNC(op_50fc_0), 0, 20732 }, /* TRAPcc */
+{ XCPUFUNC(op_5100_0), 0, 20736 }, /* SUB */
+{ XCPUFUNC(op_5110_0), 0, 20752 }, /* SUB */
+{ XCPUFUNC(op_5118_0), 0, 20760 }, /* SUB */
+{ XCPUFUNC(op_5120_0), 0, 20768 }, /* SUB */
+{ XCPUFUNC(op_5128_0), 0, 20776 }, /* SUB */
+{ XCPUFUNC(op_5130_0), 0, 20784 }, /* SUB */
+{ XCPUFUNC(op_5138_0), 0, 20792 }, /* SUB */
+{ XCPUFUNC(op_5139_0), 0, 20793 }, /* SUB */
+{ XCPUFUNC(op_5140_0), 0, 20800 }, /* SUB */
+{ XCPUFUNC(op_5148_0), 0, 20808 }, /* SUBA */
+{ XCPUFUNC(op_5150_0), 0, 20816 }, /* SUB */
+{ XCPUFUNC(op_5158_0), 0, 20824 }, /* SUB */
+{ XCPUFUNC(op_5160_0), 0, 20832 }, /* SUB */
+{ XCPUFUNC(op_5168_0), 0, 20840 }, /* SUB */
+{ XCPUFUNC(op_5170_0), 0, 20848 }, /* SUB */
+{ XCPUFUNC(op_5178_0), 0, 20856 }, /* SUB */
+{ XCPUFUNC(op_5179_0), 0, 20857 }, /* SUB */
+{ XCPUFUNC(op_5180_0), 0, 20864 }, /* SUB */
+{ XCPUFUNC(op_5188_0), 0, 20872 }, /* SUBA */
+{ XCPUFUNC(op_5190_0), 0, 20880 }, /* SUB */
+{ XCPUFUNC(op_5198_0), 0, 20888 }, /* SUB */
+{ XCPUFUNC(op_51a0_0), 0, 20896 }, /* SUB */
+{ XCPUFUNC(op_51a8_0), 0, 20904 }, /* SUB */
+{ XCPUFUNC(op_51b0_0), 0, 20912 }, /* SUB */
+{ XCPUFUNC(op_51b8_0), 0, 20920 }, /* SUB */
+{ XCPUFUNC(op_51b9_0), 0, 20921 }, /* SUB */
+{ XCPUFUNC(op_51c0_0), 0, 20928 }, /* Scc */
+{ XCPUFUNC(op_51c8_0), 0, 20936 }, /* DBcc */
+{ XCPUFUNC(op_51d0_0), 0, 20944 }, /* Scc */
+{ XCPUFUNC(op_51d8_0), 0, 20952 }, /* Scc */
+{ XCPUFUNC(op_51e0_0), 0, 20960 }, /* Scc */
+{ XCPUFUNC(op_51e8_0), 0, 20968 }, /* Scc */
+{ XCPUFUNC(op_51f0_0), 0, 20976 }, /* Scc */
+{ XCPUFUNC(op_51f8_0), 0, 20984 }, /* Scc */
+{ XCPUFUNC(op_51f9_0), 0, 20985 }, /* Scc */
+{ XCPUFUNC(op_51fa_0), 0, 20986 }, /* TRAPcc */
+{ XCPUFUNC(op_51fb_0), 0, 20987 }, /* TRAPcc */
+{ XCPUFUNC(op_51fc_0), 0, 20988 }, /* TRAPcc */
+{ XCPUFUNC(op_52c0_0), 0, 21184 }, /* Scc */
+{ XCPUFUNC(op_52c8_0), 0, 21192 }, /* DBcc */
+{ XCPUFUNC(op_52d0_0), 0, 21200 }, /* Scc */
+{ XCPUFUNC(op_52d8_0), 0, 21208 }, /* Scc */
+{ XCPUFUNC(op_52e0_0), 0, 21216 }, /* Scc */
+{ XCPUFUNC(op_52e8_0), 0, 21224 }, /* Scc */
+{ XCPUFUNC(op_52f0_0), 0, 21232 }, /* Scc */
+{ XCPUFUNC(op_52f8_0), 0, 21240 }, /* Scc */
+{ XCPUFUNC(op_52f9_0), 0, 21241 }, /* Scc */
+{ XCPUFUNC(op_52fa_0), 0, 21242 }, /* TRAPcc */
+{ XCPUFUNC(op_52fb_0), 0, 21243 }, /* TRAPcc */
+{ XCPUFUNC(op_52fc_0), 0, 21244 }, /* TRAPcc */
+{ XCPUFUNC(op_53c0_0), 0, 21440 }, /* Scc */
+{ XCPUFUNC(op_53c8_0), 0, 21448 }, /* DBcc */
+{ XCPUFUNC(op_53d0_0), 0, 21456 }, /* Scc */
+{ XCPUFUNC(op_53d8_0), 0, 21464 }, /* Scc */
+{ XCPUFUNC(op_53e0_0), 0, 21472 }, /* Scc */
+{ XCPUFUNC(op_53e8_0), 0, 21480 }, /* Scc */
+{ XCPUFUNC(op_53f0_0), 0, 21488 }, /* Scc */
+{ XCPUFUNC(op_53f8_0), 0, 21496 }, /* Scc */
+{ XCPUFUNC(op_53f9_0), 0, 21497 }, /* Scc */
+{ XCPUFUNC(op_53fa_0), 0, 21498 }, /* TRAPcc */
+{ XCPUFUNC(op_53fb_0), 0, 21499 }, /* TRAPcc */
+{ XCPUFUNC(op_53fc_0), 0, 21500 }, /* TRAPcc */
+{ XCPUFUNC(op_54c0_0), 0, 21696 }, /* Scc */
+{ XCPUFUNC(op_54c8_0), 0, 21704 }, /* DBcc */
+{ XCPUFUNC(op_54d0_0), 0, 21712 }, /* Scc */
+{ XCPUFUNC(op_54d8_0), 0, 21720 }, /* Scc */
+{ XCPUFUNC(op_54e0_0), 0, 21728 }, /* Scc */
+{ XCPUFUNC(op_54e8_0), 0, 21736 }, /* Scc */
+{ XCPUFUNC(op_54f0_0), 0, 21744 }, /* Scc */
+{ XCPUFUNC(op_54f8_0), 0, 21752 }, /* Scc */
+{ XCPUFUNC(op_54f9_0), 0, 21753 }, /* Scc */
+{ XCPUFUNC(op_54fa_0), 0, 21754 }, /* TRAPcc */
+{ XCPUFUNC(op_54fb_0), 0, 21755 }, /* TRAPcc */
+{ XCPUFUNC(op_54fc_0), 0, 21756 }, /* TRAPcc */
+{ XCPUFUNC(op_55c0_0), 0, 21952 }, /* Scc */
+{ XCPUFUNC(op_55c8_0), 0, 21960 }, /* DBcc */
+{ XCPUFUNC(op_55d0_0), 0, 21968 }, /* Scc */
+{ XCPUFUNC(op_55d8_0), 0, 21976 }, /* Scc */
+{ XCPUFUNC(op_55e0_0), 0, 21984 }, /* Scc */
+{ XCPUFUNC(op_55e8_0), 0, 21992 }, /* Scc */
+{ XCPUFUNC(op_55f0_0), 0, 22000 }, /* Scc */
+{ XCPUFUNC(op_55f8_0), 0, 22008 }, /* Scc */
+{ XCPUFUNC(op_55f9_0), 0, 22009 }, /* Scc */
+{ XCPUFUNC(op_55fa_0), 0, 22010 }, /* TRAPcc */
+{ XCPUFUNC(op_55fb_0), 0, 22011 }, /* TRAPcc */
+{ XCPUFUNC(op_55fc_0), 0, 22012 }, /* TRAPcc */
+{ XCPUFUNC(op_56c0_0), 0, 22208 }, /* Scc */
+{ XCPUFUNC(op_56c8_0), 0, 22216 }, /* DBcc */
+{ XCPUFUNC(op_56d0_0), 0, 22224 }, /* Scc */
+{ XCPUFUNC(op_56d8_0), 0, 22232 }, /* Scc */
+{ XCPUFUNC(op_56e0_0), 0, 22240 }, /* Scc */
+{ XCPUFUNC(op_56e8_0), 0, 22248 }, /* Scc */
+{ XCPUFUNC(op_56f0_0), 0, 22256 }, /* Scc */
+{ XCPUFUNC(op_56f8_0), 0, 22264 }, /* Scc */
+{ XCPUFUNC(op_56f9_0), 0, 22265 }, /* Scc */
+{ XCPUFUNC(op_56fa_0), 0, 22266 }, /* TRAPcc */
+{ XCPUFUNC(op_56fb_0), 0, 22267 }, /* TRAPcc */
+{ XCPUFUNC(op_56fc_0), 0, 22268 }, /* TRAPcc */
+{ XCPUFUNC(op_57c0_0), 0, 22464 }, /* Scc */
+{ XCPUFUNC(op_57c8_0), 0, 22472 }, /* DBcc */
+{ XCPUFUNC(op_57d0_0), 0, 22480 }, /* Scc */
+{ XCPUFUNC(op_57d8_0), 0, 22488 }, /* Scc */
+{ XCPUFUNC(op_57e0_0), 0, 22496 }, /* Scc */
+{ XCPUFUNC(op_57e8_0), 0, 22504 }, /* Scc */
+{ XCPUFUNC(op_57f0_0), 0, 22512 }, /* Scc */
+{ XCPUFUNC(op_57f8_0), 0, 22520 }, /* Scc */
+{ XCPUFUNC(op_57f9_0), 0, 22521 }, /* Scc */
+{ XCPUFUNC(op_57fa_0), 0, 22522 }, /* TRAPcc */
+{ XCPUFUNC(op_57fb_0), 0, 22523 }, /* TRAPcc */
+{ XCPUFUNC(op_57fc_0), 0, 22524 }, /* TRAPcc */
+{ XCPUFUNC(op_58c0_0), 0, 22720 }, /* Scc */
+{ XCPUFUNC(op_58c8_0), 0, 22728 }, /* DBcc */
+{ XCPUFUNC(op_58d0_0), 0, 22736 }, /* Scc */
+{ XCPUFUNC(op_58d8_0), 0, 22744 }, /* Scc */
+{ XCPUFUNC(op_58e0_0), 0, 22752 }, /* Scc */
+{ XCPUFUNC(op_58e8_0), 0, 22760 }, /* Scc */
+{ XCPUFUNC(op_58f0_0), 0, 22768 }, /* Scc */
+{ XCPUFUNC(op_58f8_0), 0, 22776 }, /* Scc */
+{ XCPUFUNC(op_58f9_0), 0, 22777 }, /* Scc */
+{ XCPUFUNC(op_58fa_0), 0, 22778 }, /* TRAPcc */
+{ XCPUFUNC(op_58fb_0), 0, 22779 }, /* TRAPcc */
+{ XCPUFUNC(op_58fc_0), 0, 22780 }, /* TRAPcc */
+{ XCPUFUNC(op_59c0_0), 0, 22976 }, /* Scc */
+{ XCPUFUNC(op_59c8_0), 0, 22984 }, /* DBcc */
+{ XCPUFUNC(op_59d0_0), 0, 22992 }, /* Scc */
+{ XCPUFUNC(op_59d8_0), 0, 23000 }, /* Scc */
+{ XCPUFUNC(op_59e0_0), 0, 23008 }, /* Scc */
+{ XCPUFUNC(op_59e8_0), 0, 23016 }, /* Scc */
+{ XCPUFUNC(op_59f0_0), 0, 23024 }, /* Scc */
+{ XCPUFUNC(op_59f8_0), 0, 23032 }, /* Scc */
+{ XCPUFUNC(op_59f9_0), 0, 23033 }, /* Scc */
+{ XCPUFUNC(op_59fa_0), 0, 23034 }, /* TRAPcc */
+{ XCPUFUNC(op_59fb_0), 0, 23035 }, /* TRAPcc */
+{ XCPUFUNC(op_59fc_0), 0, 23036 }, /* TRAPcc */
+{ XCPUFUNC(op_5ac0_0), 0, 23232 }, /* Scc */
+{ XCPUFUNC(op_5ac8_0), 0, 23240 }, /* DBcc */
+{ XCPUFUNC(op_5ad0_0), 0, 23248 }, /* Scc */
+{ XCPUFUNC(op_5ad8_0), 0, 23256 }, /* Scc */
+{ XCPUFUNC(op_5ae0_0), 0, 23264 }, /* Scc */
+{ XCPUFUNC(op_5ae8_0), 0, 23272 }, /* Scc */
+{ XCPUFUNC(op_5af0_0), 0, 23280 }, /* Scc */
+{ XCPUFUNC(op_5af8_0), 0, 23288 }, /* Scc */
+{ XCPUFUNC(op_5af9_0), 0, 23289 }, /* Scc */
+{ XCPUFUNC(op_5afa_0), 0, 23290 }, /* TRAPcc */
+{ XCPUFUNC(op_5afb_0), 0, 23291 }, /* TRAPcc */
+{ XCPUFUNC(op_5afc_0), 0, 23292 }, /* TRAPcc */
+{ XCPUFUNC(op_5bc0_0), 0, 23488 }, /* Scc */
+{ XCPUFUNC(op_5bc8_0), 0, 23496 }, /* DBcc */
+{ XCPUFUNC(op_5bd0_0), 0, 23504 }, /* Scc */
+{ XCPUFUNC(op_5bd8_0), 0, 23512 }, /* Scc */
+{ XCPUFUNC(op_5be0_0), 0, 23520 }, /* Scc */
+{ XCPUFUNC(op_5be8_0), 0, 23528 }, /* Scc */
+{ XCPUFUNC(op_5bf0_0), 0, 23536 }, /* Scc */
+{ XCPUFUNC(op_5bf8_0), 0, 23544 }, /* Scc */
+{ XCPUFUNC(op_5bf9_0), 0, 23545 }, /* Scc */
+{ XCPUFUNC(op_5bfa_0), 0, 23546 }, /* TRAPcc */
+{ XCPUFUNC(op_5bfb_0), 0, 23547 }, /* TRAPcc */
+{ XCPUFUNC(op_5bfc_0), 0, 23548 }, /* TRAPcc */
+{ XCPUFUNC(op_5cc0_0), 0, 23744 }, /* Scc */
+{ XCPUFUNC(op_5cc8_0), 0, 23752 }, /* DBcc */
+{ XCPUFUNC(op_5cd0_0), 0, 23760 }, /* Scc */
+{ XCPUFUNC(op_5cd8_0), 0, 23768 }, /* Scc */
+{ XCPUFUNC(op_5ce0_0), 0, 23776 }, /* Scc */
+{ XCPUFUNC(op_5ce8_0), 0, 23784 }, /* Scc */
+{ XCPUFUNC(op_5cf0_0), 0, 23792 }, /* Scc */
+{ XCPUFUNC(op_5cf8_0), 0, 23800 }, /* Scc */
+{ XCPUFUNC(op_5cf9_0), 0, 23801 }, /* Scc */
+{ XCPUFUNC(op_5cfa_0), 0, 23802 }, /* TRAPcc */
+{ XCPUFUNC(op_5cfb_0), 0, 23803 }, /* TRAPcc */
+{ XCPUFUNC(op_5cfc_0), 0, 23804 }, /* TRAPcc */
+{ XCPUFUNC(op_5dc0_0), 0, 24000 }, /* Scc */
+{ XCPUFUNC(op_5dc8_0), 0, 24008 }, /* DBcc */
+{ XCPUFUNC(op_5dd0_0), 0, 24016 }, /* Scc */
+{ XCPUFUNC(op_5dd8_0), 0, 24024 }, /* Scc */
+{ XCPUFUNC(op_5de0_0), 0, 24032 }, /* Scc */
+{ XCPUFUNC(op_5de8_0), 0, 24040 }, /* Scc */
+{ XCPUFUNC(op_5df0_0), 0, 24048 }, /* Scc */
+{ XCPUFUNC(op_5df8_0), 0, 24056 }, /* Scc */
+{ XCPUFUNC(op_5df9_0), 0, 24057 }, /* Scc */
+{ XCPUFUNC(op_5dfa_0), 0, 24058 }, /* TRAPcc */
+{ XCPUFUNC(op_5dfb_0), 0, 24059 }, /* TRAPcc */
+{ XCPUFUNC(op_5dfc_0), 0, 24060 }, /* TRAPcc */
+{ XCPUFUNC(op_5ec0_0), 0, 24256 }, /* Scc */
+{ XCPUFUNC(op_5ec8_0), 0, 24264 }, /* DBcc */
+{ XCPUFUNC(op_5ed0_0), 0, 24272 }, /* Scc */
+{ XCPUFUNC(op_5ed8_0), 0, 24280 }, /* Scc */
+{ XCPUFUNC(op_5ee0_0), 0, 24288 }, /* Scc */
+{ XCPUFUNC(op_5ee8_0), 0, 24296 }, /* Scc */
+{ XCPUFUNC(op_5ef0_0), 0, 24304 }, /* Scc */
+{ XCPUFUNC(op_5ef8_0), 0, 24312 }, /* Scc */
+{ XCPUFUNC(op_5ef9_0), 0, 24313 }, /* Scc */
+{ XCPUFUNC(op_5efa_0), 0, 24314 }, /* TRAPcc */
+{ XCPUFUNC(op_5efb_0), 0, 24315 }, /* TRAPcc */
+{ XCPUFUNC(op_5efc_0), 0, 24316 }, /* TRAPcc */
+{ XCPUFUNC(op_5fc0_0), 0, 24512 }, /* Scc */
+{ XCPUFUNC(op_5fc8_0), 0, 24520 }, /* DBcc */
+{ XCPUFUNC(op_5fd0_0), 0, 24528 }, /* Scc */
+{ XCPUFUNC(op_5fd8_0), 0, 24536 }, /* Scc */
+{ XCPUFUNC(op_5fe0_0), 0, 24544 }, /* Scc */
+{ XCPUFUNC(op_5fe8_0), 0, 24552 }, /* Scc */
+{ XCPUFUNC(op_5ff0_0), 0, 24560 }, /* Scc */
+{ XCPUFUNC(op_5ff8_0), 0, 24568 }, /* Scc */
+{ XCPUFUNC(op_5ff9_0), 0, 24569 }, /* Scc */
+{ XCPUFUNC(op_5ffa_0), 0, 24570 }, /* TRAPcc */
+{ XCPUFUNC(op_5ffb_0), 0, 24571 }, /* TRAPcc */
+{ XCPUFUNC(op_5ffc_0), 0, 24572 }, /* TRAPcc */
+{ XCPUFUNC(op_6000_0), 0, 24576 }, /* Bcc */
+{ XCPUFUNC(op_6001_0), 0, 24577 }, /* Bcc */
+{ XCPUFUNC(op_60ff_0), 0, 24831 }, /* Bcc */
+{ XCPUFUNC(op_6100_0), 0, 24832 }, /* BSR */
+{ XCPUFUNC(op_6101_0), 0, 24833 }, /* BSR */
+{ XCPUFUNC(op_61ff_0), 0, 25087 }, /* BSR */
+{ XCPUFUNC(op_6200_0), 0, 25088 }, /* Bcc */
+{ XCPUFUNC(op_6201_0), 0, 25089 }, /* Bcc */
+{ XCPUFUNC(op_62ff_0), 0, 25343 }, /* Bcc */
+{ XCPUFUNC(op_6300_0), 0, 25344 }, /* Bcc */
+{ XCPUFUNC(op_6301_0), 0, 25345 }, /* Bcc */
+{ XCPUFUNC(op_63ff_0), 0, 25599 }, /* Bcc */
+{ XCPUFUNC(op_6400_0), 0, 25600 }, /* Bcc */
+{ XCPUFUNC(op_6401_0), 0, 25601 }, /* Bcc */
+{ XCPUFUNC(op_64ff_0), 0, 25855 }, /* Bcc */
+{ XCPUFUNC(op_6500_0), 0, 25856 }, /* Bcc */
+{ XCPUFUNC(op_6501_0), 0, 25857 }, /* Bcc */
+{ XCPUFUNC(op_65ff_0), 0, 26111 }, /* Bcc */
+{ XCPUFUNC(op_6600_0), 0, 26112 }, /* Bcc */
+{ XCPUFUNC(op_6601_0), 0, 26113 }, /* Bcc */
+{ XCPUFUNC(op_66ff_0), 0, 26367 }, /* Bcc */
+{ XCPUFUNC(op_6700_0), 0, 26368 }, /* Bcc */
+{ XCPUFUNC(op_6701_0), 0, 26369 }, /* Bcc */
+{ XCPUFUNC(op_67ff_0), 0, 26623 }, /* Bcc */
+{ XCPUFUNC(op_6800_0), 0, 26624 }, /* Bcc */
+{ XCPUFUNC(op_6801_0), 0, 26625 }, /* Bcc */
+{ XCPUFUNC(op_68ff_0), 0, 26879 }, /* Bcc */
+{ XCPUFUNC(op_6900_0), 0, 26880 }, /* Bcc */
+{ XCPUFUNC(op_6901_0), 0, 26881 }, /* Bcc */
+{ XCPUFUNC(op_69ff_0), 0, 27135 }, /* Bcc */
+{ XCPUFUNC(op_6a00_0), 0, 27136 }, /* Bcc */
+{ XCPUFUNC(op_6a01_0), 0, 27137 }, /* Bcc */
+{ XCPUFUNC(op_6aff_0), 0, 27391 }, /* Bcc */
+{ XCPUFUNC(op_6b00_0), 0, 27392 }, /* Bcc */
+{ XCPUFUNC(op_6b01_0), 0, 27393 }, /* Bcc */
+{ XCPUFUNC(op_6bff_0), 0, 27647 }, /* Bcc */
+{ XCPUFUNC(op_6c00_0), 0, 27648 }, /* Bcc */
+{ XCPUFUNC(op_6c01_0), 0, 27649 }, /* Bcc */
+{ XCPUFUNC(op_6cff_0), 0, 27903 }, /* Bcc */
+{ XCPUFUNC(op_6d00_0), 0, 27904 }, /* Bcc */
+{ XCPUFUNC(op_6d01_0), 0, 27905 }, /* Bcc */
+{ XCPUFUNC(op_6dff_0), 0, 28159 }, /* Bcc */
+{ XCPUFUNC(op_6e00_0), 0, 28160 }, /* Bcc */
+{ XCPUFUNC(op_6e01_0), 0, 28161 }, /* Bcc */
+{ XCPUFUNC(op_6eff_0), 0, 28415 }, /* Bcc */
+{ XCPUFUNC(op_6f00_0), 0, 28416 }, /* Bcc */
+{ XCPUFUNC(op_6f01_0), 0, 28417 }, /* Bcc */
+{ XCPUFUNC(op_6fff_0), 0, 28671 }, /* Bcc */
+{ XCPUFUNC(op_7000_0), 0, 28672 }, /* MOVE */
+{ XCPUFUNC(op_8000_0), 0, 32768 }, /* OR */
+{ XCPUFUNC(op_8010_0), 0, 32784 }, /* OR */
+{ XCPUFUNC(op_8018_0), 0, 32792 }, /* OR */
+{ XCPUFUNC(op_8020_0), 0, 32800 }, /* OR */
+{ XCPUFUNC(op_8028_0), 0, 32808 }, /* OR */
+{ XCPUFUNC(op_8030_0), 0, 32816 }, /* OR */
+{ XCPUFUNC(op_8038_0), 0, 32824 }, /* OR */
+{ XCPUFUNC(op_8039_0), 0, 32825 }, /* OR */
+{ XCPUFUNC(op_803a_0), 0, 32826 }, /* OR */
+{ XCPUFUNC(op_803b_0), 0, 32827 }, /* OR */
+{ XCPUFUNC(op_803c_0), 0, 32828 }, /* OR */
+{ XCPUFUNC(op_8040_0), 0, 32832 }, /* OR */
+{ XCPUFUNC(op_8050_0), 0, 32848 }, /* OR */
+{ XCPUFUNC(op_8058_0), 0, 32856 }, /* OR */
+{ XCPUFUNC(op_8060_0), 0, 32864 }, /* OR */
+{ XCPUFUNC(op_8068_0), 0, 32872 }, /* OR */
+{ XCPUFUNC(op_8070_0), 0, 32880 }, /* OR */
+{ XCPUFUNC(op_8078_0), 0, 32888 }, /* OR */
+{ XCPUFUNC(op_8079_0), 0, 32889 }, /* OR */
+{ XCPUFUNC(op_807a_0), 0, 32890 }, /* OR */
+{ XCPUFUNC(op_807b_0), 0, 32891 }, /* OR */
+{ XCPUFUNC(op_807c_0), 0, 32892 }, /* OR */
+{ XCPUFUNC(op_8080_0), 0, 32896 }, /* OR */
+{ XCPUFUNC(op_8090_0), 0, 32912 }, /* OR */
+{ XCPUFUNC(op_8098_0), 0, 32920 }, /* OR */
+{ XCPUFUNC(op_80a0_0), 0, 32928 }, /* OR */
+{ XCPUFUNC(op_80a8_0), 0, 32936 }, /* OR */
+{ XCPUFUNC(op_80b0_0), 0, 32944 }, /* OR */
+{ XCPUFUNC(op_80b8_0), 0, 32952 }, /* OR */
+{ XCPUFUNC(op_80b9_0), 0, 32953 }, /* OR */
+{ XCPUFUNC(op_80ba_0), 0, 32954 }, /* OR */
+{ XCPUFUNC(op_80bb_0), 0, 32955 }, /* OR */
+{ XCPUFUNC(op_80bc_0), 0, 32956 }, /* OR */
+{ XCPUFUNC(op_80c0_0), 0, 32960 }, /* DIVU */
+{ XCPUFUNC(op_80d0_0), 0, 32976 }, /* DIVU */
+{ XCPUFUNC(op_80d8_0), 0, 32984 }, /* DIVU */
+{ XCPUFUNC(op_80e0_0), 0, 32992 }, /* DIVU */
+{ XCPUFUNC(op_80e8_0), 0, 33000 }, /* DIVU */
+{ XCPUFUNC(op_80f0_0), 0, 33008 }, /* DIVU */
+{ XCPUFUNC(op_80f8_0), 0, 33016 }, /* DIVU */
+{ XCPUFUNC(op_80f9_0), 0, 33017 }, /* DIVU */
+{ XCPUFUNC(op_80fa_0), 0, 33018 }, /* DIVU */
+{ XCPUFUNC(op_80fb_0), 0, 33019 }, /* DIVU */
+{ XCPUFUNC(op_80fc_0), 0, 33020 }, /* DIVU */
+{ XCPUFUNC(op_8100_0), 0, 33024 }, /* SBCD */
+{ XCPUFUNC(op_8108_0), 0, 33032 }, /* SBCD */
+{ XCPUFUNC(op_8110_0), 0, 33040 }, /* OR */
+{ XCPUFUNC(op_8118_0), 0, 33048 }, /* OR */
+{ XCPUFUNC(op_8120_0), 0, 33056 }, /* OR */
+{ XCPUFUNC(op_8128_0), 0, 33064 }, /* OR */
+{ XCPUFUNC(op_8130_0), 0, 33072 }, /* OR */
+{ XCPUFUNC(op_8138_0), 0, 33080 }, /* OR */
+{ XCPUFUNC(op_8139_0), 0, 33081 }, /* OR */
+{ XCPUFUNC(op_8140_0), 0, 33088 }, /* PACK */
+{ XCPUFUNC(op_8148_0), 0, 33096 }, /* PACK */
+{ XCPUFUNC(op_8150_0), 0, 33104 }, /* OR */
+{ XCPUFUNC(op_8158_0), 0, 33112 }, /* OR */
+{ XCPUFUNC(op_8160_0), 0, 33120 }, /* OR */
+{ XCPUFUNC(op_8168_0), 0, 33128 }, /* OR */
+{ XCPUFUNC(op_8170_0), 0, 33136 }, /* OR */
+{ XCPUFUNC(op_8178_0), 0, 33144 }, /* OR */
+{ XCPUFUNC(op_8179_0), 0, 33145 }, /* OR */
+{ XCPUFUNC(op_8180_0), 0, 33152 }, /* UNPK */
+{ XCPUFUNC(op_8188_0), 0, 33160 }, /* UNPK */
+{ XCPUFUNC(op_8190_0), 0, 33168 }, /* OR */
+{ XCPUFUNC(op_8198_0), 0, 33176 }, /* OR */
+{ XCPUFUNC(op_81a0_0), 0, 33184 }, /* OR */
+{ XCPUFUNC(op_81a8_0), 0, 33192 }, /* OR */
+{ XCPUFUNC(op_81b0_0), 0, 33200 }, /* OR */
+{ XCPUFUNC(op_81b8_0), 0, 33208 }, /* OR */
+{ XCPUFUNC(op_81b9_0), 0, 33209 }, /* OR */
+{ XCPUFUNC(op_81c0_0), 0, 33216 }, /* DIVS */
+{ XCPUFUNC(op_81d0_0), 0, 33232 }, /* DIVS */
+{ XCPUFUNC(op_81d8_0), 0, 33240 }, /* DIVS */
+{ XCPUFUNC(op_81e0_0), 0, 33248 }, /* DIVS */
+{ XCPUFUNC(op_81e8_0), 0, 33256 }, /* DIVS */
+{ XCPUFUNC(op_81f0_0), 0, 33264 }, /* DIVS */
+{ XCPUFUNC(op_81f8_0), 0, 33272 }, /* DIVS */
+{ XCPUFUNC(op_81f9_0), 0, 33273 }, /* DIVS */
+{ XCPUFUNC(op_81fa_0), 0, 33274 }, /* DIVS */
+{ XCPUFUNC(op_81fb_0), 0, 33275 }, /* DIVS */
+{ XCPUFUNC(op_81fc_0), 0, 33276 }, /* DIVS */
+{ XCPUFUNC(op_9000_0), 0, 36864 }, /* SUB */
+{ XCPUFUNC(op_9010_0), 0, 36880 }, /* SUB */
+{ XCPUFUNC(op_9018_0), 0, 36888 }, /* SUB */
+{ XCPUFUNC(op_9020_0), 0, 36896 }, /* SUB */
+{ XCPUFUNC(op_9028_0), 0, 36904 }, /* SUB */
+{ XCPUFUNC(op_9030_0), 0, 36912 }, /* SUB */
+{ XCPUFUNC(op_9038_0), 0, 36920 }, /* SUB */
+{ XCPUFUNC(op_9039_0), 0, 36921 }, /* SUB */
+{ XCPUFUNC(op_903a_0), 0, 36922 }, /* SUB */
+{ XCPUFUNC(op_903b_0), 0, 36923 }, /* SUB */
+{ XCPUFUNC(op_903c_0), 0, 36924 }, /* SUB */
+{ XCPUFUNC(op_9040_0), 0, 36928 }, /* SUB */
+{ XCPUFUNC(op_9048_0), 0, 36936 }, /* SUB */
+{ XCPUFUNC(op_9050_0), 0, 36944 }, /* SUB */
+{ XCPUFUNC(op_9058_0), 0, 36952 }, /* SUB */
+{ XCPUFUNC(op_9060_0), 0, 36960 }, /* SUB */
+{ XCPUFUNC(op_9068_0), 0, 36968 }, /* SUB */
+{ XCPUFUNC(op_9070_0), 0, 36976 }, /* SUB */
+{ XCPUFUNC(op_9078_0), 0, 36984 }, /* SUB */
+{ XCPUFUNC(op_9079_0), 0, 36985 }, /* SUB */
+{ XCPUFUNC(op_907a_0), 0, 36986 }, /* SUB */
+{ XCPUFUNC(op_907b_0), 0, 36987 }, /* SUB */
+{ XCPUFUNC(op_907c_0), 0, 36988 }, /* SUB */
+{ XCPUFUNC(op_9080_0), 0, 36992 }, /* SUB */
+{ XCPUFUNC(op_9088_0), 0, 37000 }, /* SUB */
+{ XCPUFUNC(op_9090_0), 0, 37008 }, /* SUB */
+{ XCPUFUNC(op_9098_0), 0, 37016 }, /* SUB */
+{ XCPUFUNC(op_90a0_0), 0, 37024 }, /* SUB */
+{ XCPUFUNC(op_90a8_0), 0, 37032 }, /* SUB */
+{ XCPUFUNC(op_90b0_0), 0, 37040 }, /* SUB */
+{ XCPUFUNC(op_90b8_0), 0, 37048 }, /* SUB */
+{ XCPUFUNC(op_90b9_0), 0, 37049 }, /* SUB */
+{ XCPUFUNC(op_90ba_0), 0, 37050 }, /* SUB */
+{ XCPUFUNC(op_90bb_0), 0, 37051 }, /* SUB */
+{ XCPUFUNC(op_90bc_0), 0, 37052 }, /* SUB */
+{ XCPUFUNC(op_90c0_0), 0, 37056 }, /* SUBA */
+{ XCPUFUNC(op_90c8_0), 0, 37064 }, /* SUBA */
+{ XCPUFUNC(op_90d0_0), 0, 37072 }, /* SUBA */
+{ XCPUFUNC(op_90d8_0), 0, 37080 }, /* SUBA */
+{ XCPUFUNC(op_90e0_0), 0, 37088 }, /* SUBA */
+{ XCPUFUNC(op_90e8_0), 0, 37096 }, /* SUBA */
+{ XCPUFUNC(op_90f0_0), 0, 37104 }, /* SUBA */
+{ XCPUFUNC(op_90f8_0), 0, 37112 }, /* SUBA */
+{ XCPUFUNC(op_90f9_0), 0, 37113 }, /* SUBA */
+{ XCPUFUNC(op_90fa_0), 0, 37114 }, /* SUBA */
+{ XCPUFUNC(op_90fb_0), 0, 37115 }, /* SUBA */
+{ XCPUFUNC(op_90fc_0), 0, 37116 }, /* SUBA */
+{ XCPUFUNC(op_9100_0), 0, 37120 }, /* SUBX */
+{ XCPUFUNC(op_9108_0), 0, 37128 }, /* SUBX */
+{ XCPUFUNC(op_9110_0), 0, 37136 }, /* SUB */
+{ XCPUFUNC(op_9118_0), 0, 37144 }, /* SUB */
+{ XCPUFUNC(op_9120_0), 0, 37152 }, /* SUB */
+{ XCPUFUNC(op_9128_0), 0, 37160 }, /* SUB */
+{ XCPUFUNC(op_9130_0), 0, 37168 }, /* SUB */
+{ XCPUFUNC(op_9138_0), 0, 37176 }, /* SUB */
+{ XCPUFUNC(op_9139_0), 0, 37177 }, /* SUB */
+{ XCPUFUNC(op_9140_0), 0, 37184 }, /* SUBX */
+{ XCPUFUNC(op_9148_0), 0, 37192 }, /* SUBX */
+{ XCPUFUNC(op_9150_0), 0, 37200 }, /* SUB */
+{ XCPUFUNC(op_9158_0), 0, 37208 }, /* SUB */
+{ XCPUFUNC(op_9160_0), 0, 37216 }, /* SUB */
+{ XCPUFUNC(op_9168_0), 0, 37224 }, /* SUB */
+{ XCPUFUNC(op_9170_0), 0, 37232 }, /* SUB */
+{ XCPUFUNC(op_9178_0), 0, 37240 }, /* SUB */
+{ XCPUFUNC(op_9179_0), 0, 37241 }, /* SUB */
+{ XCPUFUNC(op_9180_0), 0, 37248 }, /* SUBX */
+{ XCPUFUNC(op_9188_0), 0, 37256 }, /* SUBX */
+{ XCPUFUNC(op_9190_0), 0, 37264 }, /* SUB */
+{ XCPUFUNC(op_9198_0), 0, 37272 }, /* SUB */
+{ XCPUFUNC(op_91a0_0), 0, 37280 }, /* SUB */
+{ XCPUFUNC(op_91a8_0), 0, 37288 }, /* SUB */
+{ XCPUFUNC(op_91b0_0), 0, 37296 }, /* SUB */
+{ XCPUFUNC(op_91b8_0), 0, 37304 }, /* SUB */
+{ XCPUFUNC(op_91b9_0), 0, 37305 }, /* SUB */
+{ XCPUFUNC(op_91c0_0), 0, 37312 }, /* SUBA */
+{ XCPUFUNC(op_91c8_0), 0, 37320 }, /* SUBA */
+{ XCPUFUNC(op_91d0_0), 0, 37328 }, /* SUBA */
+{ XCPUFUNC(op_91d8_0), 0, 37336 }, /* SUBA */
+{ XCPUFUNC(op_91e0_0), 0, 37344 }, /* SUBA */
+{ XCPUFUNC(op_91e8_0), 0, 37352 }, /* SUBA */
+{ XCPUFUNC(op_91f0_0), 0, 37360 }, /* SUBA */
+{ XCPUFUNC(op_91f8_0), 0, 37368 }, /* SUBA */
+{ XCPUFUNC(op_91f9_0), 0, 37369 }, /* SUBA */
+{ XCPUFUNC(op_91fa_0), 0, 37370 }, /* SUBA */
+{ XCPUFUNC(op_91fb_0), 0, 37371 }, /* SUBA */
+{ XCPUFUNC(op_91fc_0), 0, 37372 }, /* SUBA */
+{ XCPUFUNC(op_b000_0), 0, 45056 }, /* CMP */
+{ XCPUFUNC(op_b010_0), 0, 45072 }, /* CMP */
+{ XCPUFUNC(op_b018_0), 0, 45080 }, /* CMP */
+{ XCPUFUNC(op_b020_0), 0, 45088 }, /* CMP */
+{ XCPUFUNC(op_b028_0), 0, 45096 }, /* CMP */
+{ XCPUFUNC(op_b030_0), 0, 45104 }, /* CMP */
+{ XCPUFUNC(op_b038_0), 0, 45112 }, /* CMP */
+{ XCPUFUNC(op_b039_0), 0, 45113 }, /* CMP */
+{ XCPUFUNC(op_b03a_0), 0, 45114 }, /* CMP */
+{ XCPUFUNC(op_b03b_0), 0, 45115 }, /* CMP */
+{ XCPUFUNC(op_b03c_0), 0, 45116 }, /* CMP */
+{ XCPUFUNC(op_b040_0), 0, 45120 }, /* CMP */
+{ XCPUFUNC(op_b048_0), 0, 45128 }, /* CMP */
+{ XCPUFUNC(op_b050_0), 0, 45136 }, /* CMP */
+{ XCPUFUNC(op_b058_0), 0, 45144 }, /* CMP */
+{ XCPUFUNC(op_b060_0), 0, 45152 }, /* CMP */
+{ XCPUFUNC(op_b068_0), 0, 45160 }, /* CMP */
+{ XCPUFUNC(op_b070_0), 0, 45168 }, /* CMP */
+{ XCPUFUNC(op_b078_0), 0, 45176 }, /* CMP */
+{ XCPUFUNC(op_b079_0), 0, 45177 }, /* CMP */
+{ XCPUFUNC(op_b07a_0), 0, 45178 }, /* CMP */
+{ XCPUFUNC(op_b07b_0), 0, 45179 }, /* CMP */
+{ XCPUFUNC(op_b07c_0), 0, 45180 }, /* CMP */
+{ XCPUFUNC(op_b080_0), 0, 45184 }, /* CMP */
+{ XCPUFUNC(op_b088_0), 0, 45192 }, /* CMP */
+{ XCPUFUNC(op_b090_0), 0, 45200 }, /* CMP */
+{ XCPUFUNC(op_b098_0), 0, 45208 }, /* CMP */
+{ XCPUFUNC(op_b0a0_0), 0, 45216 }, /* CMP */
+{ XCPUFUNC(op_b0a8_0), 0, 45224 }, /* CMP */
+{ XCPUFUNC(op_b0b0_0), 0, 45232 }, /* CMP */
+{ XCPUFUNC(op_b0b8_0), 0, 45240 }, /* CMP */
+{ XCPUFUNC(op_b0b9_0), 0, 45241 }, /* CMP */
+{ XCPUFUNC(op_b0ba_0), 0, 45242 }, /* CMP */
+{ XCPUFUNC(op_b0bb_0), 0, 45243 }, /* CMP */
+{ XCPUFUNC(op_b0bc_0), 0, 45244 }, /* CMP */
+{ XCPUFUNC(op_b0c0_0), 0, 45248 }, /* CMPA */
+{ XCPUFUNC(op_b0c8_0), 0, 45256 }, /* CMPA */
+{ XCPUFUNC(op_b0d0_0), 0, 45264 }, /* CMPA */
+{ XCPUFUNC(op_b0d8_0), 0, 45272 }, /* CMPA */
+{ XCPUFUNC(op_b0e0_0), 0, 45280 }, /* CMPA */
+{ XCPUFUNC(op_b0e8_0), 0, 45288 }, /* CMPA */
+{ XCPUFUNC(op_b0f0_0), 0, 45296 }, /* CMPA */
+{ XCPUFUNC(op_b0f8_0), 0, 45304 }, /* CMPA */
+{ XCPUFUNC(op_b0f9_0), 0, 45305 }, /* CMPA */
+{ XCPUFUNC(op_b0fa_0), 0, 45306 }, /* CMPA */
+{ XCPUFUNC(op_b0fb_0), 0, 45307 }, /* CMPA */
+{ XCPUFUNC(op_b0fc_0), 0, 45308 }, /* CMPA */
+{ XCPUFUNC(op_b100_0), 0, 45312 }, /* EOR */
+{ XCPUFUNC(op_b108_0), 0, 45320 }, /* CMPM */
+{ XCPUFUNC(op_b110_0), 0, 45328 }, /* EOR */
+{ XCPUFUNC(op_b118_0), 0, 45336 }, /* EOR */
+{ XCPUFUNC(op_b120_0), 0, 45344 }, /* EOR */
+{ XCPUFUNC(op_b128_0), 0, 45352 }, /* EOR */
+{ XCPUFUNC(op_b130_0), 0, 45360 }, /* EOR */
+{ XCPUFUNC(op_b138_0), 0, 45368 }, /* EOR */
+{ XCPUFUNC(op_b139_0), 0, 45369 }, /* EOR */
+{ XCPUFUNC(op_b140_0), 0, 45376 }, /* EOR */
+{ XCPUFUNC(op_b148_0), 0, 45384 }, /* CMPM */
+{ XCPUFUNC(op_b150_0), 0, 45392 }, /* EOR */
+{ XCPUFUNC(op_b158_0), 0, 45400 }, /* EOR */
+{ XCPUFUNC(op_b160_0), 0, 45408 }, /* EOR */
+{ XCPUFUNC(op_b168_0), 0, 45416 }, /* EOR */
+{ XCPUFUNC(op_b170_0), 0, 45424 }, /* EOR */
+{ XCPUFUNC(op_b178_0), 0, 45432 }, /* EOR */
+{ XCPUFUNC(op_b179_0), 0, 45433 }, /* EOR */
+{ XCPUFUNC(op_b180_0), 0, 45440 }, /* EOR */
+{ XCPUFUNC(op_b188_0), 0, 45448 }, /* CMPM */
+{ XCPUFUNC(op_b190_0), 0, 45456 }, /* EOR */
+{ XCPUFUNC(op_b198_0), 0, 45464 }, /* EOR */
+{ XCPUFUNC(op_b1a0_0), 0, 45472 }, /* EOR */
+{ XCPUFUNC(op_b1a8_0), 0, 45480 }, /* EOR */
+{ XCPUFUNC(op_b1b0_0), 0, 45488 }, /* EOR */
+{ XCPUFUNC(op_b1b8_0), 0, 45496 }, /* EOR */
+{ XCPUFUNC(op_b1b9_0), 0, 45497 }, /* EOR */
+{ XCPUFUNC(op_b1c0_0), 0, 45504 }, /* CMPA */
+{ XCPUFUNC(op_b1c8_0), 0, 45512 }, /* CMPA */
+{ XCPUFUNC(op_b1d0_0), 0, 45520 }, /* CMPA */
+{ XCPUFUNC(op_b1d8_0), 0, 45528 }, /* CMPA */
+{ XCPUFUNC(op_b1e0_0), 0, 45536 }, /* CMPA */
+{ XCPUFUNC(op_b1e8_0), 0, 45544 }, /* CMPA */
+{ XCPUFUNC(op_b1f0_0), 0, 45552 }, /* CMPA */
+{ XCPUFUNC(op_b1f8_0), 0, 45560 }, /* CMPA */
+{ XCPUFUNC(op_b1f9_0), 0, 45561 }, /* CMPA */
+{ XCPUFUNC(op_b1fa_0), 0, 45562 }, /* CMPA */
+{ XCPUFUNC(op_b1fb_0), 0, 45563 }, /* CMPA */
+{ XCPUFUNC(op_b1fc_0), 0, 45564 }, /* CMPA */
+{ XCPUFUNC(op_c000_0), 0, 49152 }, /* AND */
+{ XCPUFUNC(op_c010_0), 0, 49168 }, /* AND */
+{ XCPUFUNC(op_c018_0), 0, 49176 }, /* AND */
+{ XCPUFUNC(op_c020_0), 0, 49184 }, /* AND */
+{ XCPUFUNC(op_c028_0), 0, 49192 }, /* AND */
+{ XCPUFUNC(op_c030_0), 0, 49200 }, /* AND */
+{ XCPUFUNC(op_c038_0), 0, 49208 }, /* AND */
+{ XCPUFUNC(op_c039_0), 0, 49209 }, /* AND */
+{ XCPUFUNC(op_c03a_0), 0, 49210 }, /* AND */
+{ XCPUFUNC(op_c03b_0), 0, 49211 }, /* AND */
+{ XCPUFUNC(op_c03c_0), 0, 49212 }, /* AND */
+{ XCPUFUNC(op_c040_0), 0, 49216 }, /* AND */
+{ XCPUFUNC(op_c050_0), 0, 49232 }, /* AND */
+{ XCPUFUNC(op_c058_0), 0, 49240 }, /* AND */
+{ XCPUFUNC(op_c060_0), 0, 49248 }, /* AND */
+{ XCPUFUNC(op_c068_0), 0, 49256 }, /* AND */
+{ XCPUFUNC(op_c070_0), 0, 49264 }, /* AND */
+{ XCPUFUNC(op_c078_0), 0, 49272 }, /* AND */
+{ XCPUFUNC(op_c079_0), 0, 49273 }, /* AND */
+{ XCPUFUNC(op_c07a_0), 0, 49274 }, /* AND */
+{ XCPUFUNC(op_c07b_0), 0, 49275 }, /* AND */
+{ XCPUFUNC(op_c07c_0), 0, 49276 }, /* AND */
+{ XCPUFUNC(op_c080_0), 0, 49280 }, /* AND */
+{ XCPUFUNC(op_c090_0), 0, 49296 }, /* AND */
+{ XCPUFUNC(op_c098_0), 0, 49304 }, /* AND */
+{ XCPUFUNC(op_c0a0_0), 0, 49312 }, /* AND */
+{ XCPUFUNC(op_c0a8_0), 0, 49320 }, /* AND */
+{ XCPUFUNC(op_c0b0_0), 0, 49328 }, /* AND */
+{ XCPUFUNC(op_c0b8_0), 0, 49336 }, /* AND */
+{ XCPUFUNC(op_c0b9_0), 0, 49337 }, /* AND */
+{ XCPUFUNC(op_c0ba_0), 0, 49338 }, /* AND */
+{ XCPUFUNC(op_c0bb_0), 0, 49339 }, /* AND */
+{ XCPUFUNC(op_c0bc_0), 0, 49340 }, /* AND */
+{ XCPUFUNC(op_c0c0_0), 0, 49344 }, /* MULU */
+{ XCPUFUNC(op_c0d0_0), 0, 49360 }, /* MULU */
+{ XCPUFUNC(op_c0d8_0), 0, 49368 }, /* MULU */
+{ XCPUFUNC(op_c0e0_0), 0, 49376 }, /* MULU */
+{ XCPUFUNC(op_c0e8_0), 0, 49384 }, /* MULU */
+{ XCPUFUNC(op_c0f0_0), 0, 49392 }, /* MULU */
+{ XCPUFUNC(op_c0f8_0), 0, 49400 }, /* MULU */
+{ XCPUFUNC(op_c0f9_0), 0, 49401 }, /* MULU */
+{ XCPUFUNC(op_c0fa_0), 0, 49402 }, /* MULU */
+{ XCPUFUNC(op_c0fb_0), 0, 49403 }, /* MULU */
+{ XCPUFUNC(op_c0fc_0), 0, 49404 }, /* MULU */
+{ XCPUFUNC(op_c100_0), 0, 49408 }, /* ABCD */
+{ XCPUFUNC(op_c108_0), 0, 49416 }, /* ABCD */
+{ XCPUFUNC(op_c110_0), 0, 49424 }, /* AND */
+{ XCPUFUNC(op_c118_0), 0, 49432 }, /* AND */
+{ XCPUFUNC(op_c120_0), 0, 49440 }, /* AND */
+{ XCPUFUNC(op_c128_0), 0, 49448 }, /* AND */
+{ XCPUFUNC(op_c130_0), 0, 49456 }, /* AND */
+{ XCPUFUNC(op_c138_0), 0, 49464 }, /* AND */
+{ XCPUFUNC(op_c139_0), 0, 49465 }, /* AND */
+{ XCPUFUNC(op_c140_0), 0, 49472 }, /* EXG */
+{ XCPUFUNC(op_c148_0), 0, 49480 }, /* EXG */
+{ XCPUFUNC(op_c150_0), 0, 49488 }, /* AND */
+{ XCPUFUNC(op_c158_0), 0, 49496 }, /* AND */
+{ XCPUFUNC(op_c160_0), 0, 49504 }, /* AND */
+{ XCPUFUNC(op_c168_0), 0, 49512 }, /* AND */
+{ XCPUFUNC(op_c170_0), 0, 49520 }, /* AND */
+{ XCPUFUNC(op_c178_0), 0, 49528 }, /* AND */
+{ XCPUFUNC(op_c179_0), 0, 49529 }, /* AND */
+{ XCPUFUNC(op_c188_0), 0, 49544 }, /* EXG */
+{ XCPUFUNC(op_c190_0), 0, 49552 }, /* AND */
+{ XCPUFUNC(op_c198_0), 0, 49560 }, /* AND */
+{ XCPUFUNC(op_c1a0_0), 0, 49568 }, /* AND */
+{ XCPUFUNC(op_c1a8_0), 0, 49576 }, /* AND */
+{ XCPUFUNC(op_c1b0_0), 0, 49584 }, /* AND */
+{ XCPUFUNC(op_c1b8_0), 0, 49592 }, /* AND */
+{ XCPUFUNC(op_c1b9_0), 0, 49593 }, /* AND */
+{ XCPUFUNC(op_c1c0_0), 0, 49600 }, /* MULS */
+{ XCPUFUNC(op_c1d0_0), 0, 49616 }, /* MULS */
+{ XCPUFUNC(op_c1d8_0), 0, 49624 }, /* MULS */
+{ XCPUFUNC(op_c1e0_0), 0, 49632 }, /* MULS */
+{ XCPUFUNC(op_c1e8_0), 0, 49640 }, /* MULS */
+{ XCPUFUNC(op_c1f0_0), 0, 49648 }, /* MULS */
+{ XCPUFUNC(op_c1f8_0), 0, 49656 }, /* MULS */
+{ XCPUFUNC(op_c1f9_0), 0, 49657 }, /* MULS */
+{ XCPUFUNC(op_c1fa_0), 0, 49658 }, /* MULS */
+{ XCPUFUNC(op_c1fb_0), 0, 49659 }, /* MULS */
+{ XCPUFUNC(op_c1fc_0), 0, 49660 }, /* MULS */
+{ XCPUFUNC(op_d000_0), 0, 53248 }, /* ADD */
+{ XCPUFUNC(op_d010_0), 0, 53264 }, /* ADD */
+{ XCPUFUNC(op_d018_0), 0, 53272 }, /* ADD */
+{ XCPUFUNC(op_d020_0), 0, 53280 }, /* ADD */
+{ XCPUFUNC(op_d028_0), 0, 53288 }, /* ADD */
+{ XCPUFUNC(op_d030_0), 0, 53296 }, /* ADD */
+{ XCPUFUNC(op_d038_0), 0, 53304 }, /* ADD */
+{ XCPUFUNC(op_d039_0), 0, 53305 }, /* ADD */
+{ XCPUFUNC(op_d03a_0), 0, 53306 }, /* ADD */
+{ XCPUFUNC(op_d03b_0), 0, 53307 }, /* ADD */
+{ XCPUFUNC(op_d03c_0), 0, 53308 }, /* ADD */
+{ XCPUFUNC(op_d040_0), 0, 53312 }, /* ADD */
+{ XCPUFUNC(op_d048_0), 0, 53320 }, /* ADD */
+{ XCPUFUNC(op_d050_0), 0, 53328 }, /* ADD */
+{ XCPUFUNC(op_d058_0), 0, 53336 }, /* ADD */
+{ XCPUFUNC(op_d060_0), 0, 53344 }, /* ADD */
+{ XCPUFUNC(op_d068_0), 0, 53352 }, /* ADD */
+{ XCPUFUNC(op_d070_0), 0, 53360 }, /* ADD */
+{ XCPUFUNC(op_d078_0), 0, 53368 }, /* ADD */
+{ XCPUFUNC(op_d079_0), 0, 53369 }, /* ADD */
+{ XCPUFUNC(op_d07a_0), 0, 53370 }, /* ADD */
+{ XCPUFUNC(op_d07b_0), 0, 53371 }, /* ADD */
+{ XCPUFUNC(op_d07c_0), 0, 53372 }, /* ADD */
+{ XCPUFUNC(op_d080_0), 0, 53376 }, /* ADD */
+{ XCPUFUNC(op_d088_0), 0, 53384 }, /* ADD */
+{ XCPUFUNC(op_d090_0), 0, 53392 }, /* ADD */
+{ XCPUFUNC(op_d098_0), 0, 53400 }, /* ADD */
+{ XCPUFUNC(op_d0a0_0), 0, 53408 }, /* ADD */
+{ XCPUFUNC(op_d0a8_0), 0, 53416 }, /* ADD */
+{ XCPUFUNC(op_d0b0_0), 0, 53424 }, /* ADD */
+{ XCPUFUNC(op_d0b8_0), 0, 53432 }, /* ADD */
+{ XCPUFUNC(op_d0b9_0), 0, 53433 }, /* ADD */
+{ XCPUFUNC(op_d0ba_0), 0, 53434 }, /* ADD */
+{ XCPUFUNC(op_d0bb_0), 0, 53435 }, /* ADD */
+{ XCPUFUNC(op_d0bc_0), 0, 53436 }, /* ADD */
+{ XCPUFUNC(op_d0c0_0), 0, 53440 }, /* ADDA */
+{ XCPUFUNC(op_d0c8_0), 0, 53448 }, /* ADDA */
+{ XCPUFUNC(op_d0d0_0), 0, 53456 }, /* ADDA */
+{ XCPUFUNC(op_d0d8_0), 0, 53464 }, /* ADDA */
+{ XCPUFUNC(op_d0e0_0), 0, 53472 }, /* ADDA */
+{ XCPUFUNC(op_d0e8_0), 0, 53480 }, /* ADDA */
+{ XCPUFUNC(op_d0f0_0), 0, 53488 }, /* ADDA */
+{ XCPUFUNC(op_d0f8_0), 0, 53496 }, /* ADDA */
+{ XCPUFUNC(op_d0f9_0), 0, 53497 }, /* ADDA */
+{ XCPUFUNC(op_d0fa_0), 0, 53498 }, /* ADDA */
+{ XCPUFUNC(op_d0fb_0), 0, 53499 }, /* ADDA */
+{ XCPUFUNC(op_d0fc_0), 0, 53500 }, /* ADDA */
+{ XCPUFUNC(op_d100_0), 0, 53504 }, /* ADDX */
+{ XCPUFUNC(op_d108_0), 0, 53512 }, /* ADDX */
+{ XCPUFUNC(op_d110_0), 0, 53520 }, /* ADD */
+{ XCPUFUNC(op_d118_0), 0, 53528 }, /* ADD */
+{ XCPUFUNC(op_d120_0), 0, 53536 }, /* ADD */
+{ XCPUFUNC(op_d128_0), 0, 53544 }, /* ADD */
+{ XCPUFUNC(op_d130_0), 0, 53552 }, /* ADD */
+{ XCPUFUNC(op_d138_0), 0, 53560 }, /* ADD */
+{ XCPUFUNC(op_d139_0), 0, 53561 }, /* ADD */
+{ XCPUFUNC(op_d140_0), 0, 53568 }, /* ADDX */
+{ XCPUFUNC(op_d148_0), 0, 53576 }, /* ADDX */
+{ XCPUFUNC(op_d150_0), 0, 53584 }, /* ADD */
+{ XCPUFUNC(op_d158_0), 0, 53592 }, /* ADD */
+{ XCPUFUNC(op_d160_0), 0, 53600 }, /* ADD */
+{ XCPUFUNC(op_d168_0), 0, 53608 }, /* ADD */
+{ XCPUFUNC(op_d170_0), 0, 53616 }, /* ADD */
+{ XCPUFUNC(op_d178_0), 0, 53624 }, /* ADD */
+{ XCPUFUNC(op_d179_0), 0, 53625 }, /* ADD */
+{ XCPUFUNC(op_d180_0), 0, 53632 }, /* ADDX */
+{ XCPUFUNC(op_d188_0), 0, 53640 }, /* ADDX */
+{ XCPUFUNC(op_d190_0), 0, 53648 }, /* ADD */
+{ XCPUFUNC(op_d198_0), 0, 53656 }, /* ADD */
+{ XCPUFUNC(op_d1a0_0), 0, 53664 }, /* ADD */
+{ XCPUFUNC(op_d1a8_0), 0, 53672 }, /* ADD */
+{ XCPUFUNC(op_d1b0_0), 0, 53680 }, /* ADD */
+{ XCPUFUNC(op_d1b8_0), 0, 53688 }, /* ADD */
+{ XCPUFUNC(op_d1b9_0), 0, 53689 }, /* ADD */
+{ XCPUFUNC(op_d1c0_0), 0, 53696 }, /* ADDA */
+{ XCPUFUNC(op_d1c8_0), 0, 53704 }, /* ADDA */
+{ XCPUFUNC(op_d1d0_0), 0, 53712 }, /* ADDA */
+{ XCPUFUNC(op_d1d8_0), 0, 53720 }, /* ADDA */
+{ XCPUFUNC(op_d1e0_0), 0, 53728 }, /* ADDA */
+{ XCPUFUNC(op_d1e8_0), 0, 53736 }, /* ADDA */
+{ XCPUFUNC(op_d1f0_0), 0, 53744 }, /* ADDA */
+{ XCPUFUNC(op_d1f8_0), 0, 53752 }, /* ADDA */
+{ XCPUFUNC(op_d1f9_0), 0, 53753 }, /* ADDA */
+{ XCPUFUNC(op_d1fa_0), 0, 53754 }, /* ADDA */
+{ XCPUFUNC(op_d1fb_0), 0, 53755 }, /* ADDA */
+{ XCPUFUNC(op_d1fc_0), 0, 53756 }, /* ADDA */
+{ XCPUFUNC(op_e000_0), 0, 57344 }, /* ASR */
+{ XCPUFUNC(op_e008_0), 0, 57352 }, /* LSR */
+{ XCPUFUNC(op_e010_0), 0, 57360 }, /* ROXR */
+{ XCPUFUNC(op_e018_0), 0, 57368 }, /* ROR */
+{ XCPUFUNC(op_e020_0), 0, 57376 }, /* ASR */
+{ XCPUFUNC(op_e028_0), 0, 57384 }, /* LSR */
+{ XCPUFUNC(op_e030_0), 0, 57392 }, /* ROXR */
+{ XCPUFUNC(op_e038_0), 0, 57400 }, /* ROR */
+{ XCPUFUNC(op_e040_0), 0, 57408 }, /* ASR */
+{ XCPUFUNC(op_e048_0), 0, 57416 }, /* LSR */
+{ XCPUFUNC(op_e050_0), 0, 57424 }, /* ROXR */
+{ XCPUFUNC(op_e058_0), 0, 57432 }, /* ROR */
+{ XCPUFUNC(op_e060_0), 0, 57440 }, /* ASR */
+{ XCPUFUNC(op_e068_0), 0, 57448 }, /* LSR */
+{ XCPUFUNC(op_e070_0), 0, 57456 }, /* ROXR */
+{ XCPUFUNC(op_e078_0), 0, 57464 }, /* ROR */
+{ XCPUFUNC(op_e080_0), 0, 57472 }, /* ASR */
+{ XCPUFUNC(op_e088_0), 0, 57480 }, /* LSR */
+{ XCPUFUNC(op_e090_0), 0, 57488 }, /* ROXR */
+{ XCPUFUNC(op_e098_0), 0, 57496 }, /* ROR */
+{ XCPUFUNC(op_e0a0_0), 0, 57504 }, /* ASR */
+{ XCPUFUNC(op_e0a8_0), 0, 57512 }, /* LSR */
+{ XCPUFUNC(op_e0b0_0), 0, 57520 }, /* ROXR */
+{ XCPUFUNC(op_e0b8_0), 0, 57528 }, /* ROR */
+{ XCPUFUNC(op_e0d0_0), 0, 57552 }, /* ASRW */
+{ XCPUFUNC(op_e0d8_0), 0, 57560 }, /* ASRW */
+{ XCPUFUNC(op_e0e0_0), 0, 57568 }, /* ASRW */
+{ XCPUFUNC(op_e0e8_0), 0, 57576 }, /* ASRW */
+{ XCPUFUNC(op_e0f0_0), 0, 57584 }, /* ASRW */
+{ XCPUFUNC(op_e0f8_0), 0, 57592 }, /* ASRW */
+{ XCPUFUNC(op_e0f9_0), 0, 57593 }, /* ASRW */
+{ XCPUFUNC(op_e100_0), 0, 57600 }, /* ASL */
+{ XCPUFUNC(op_e108_0), 0, 57608 }, /* LSL */
+{ XCPUFUNC(op_e110_0), 0, 57616 }, /* ROXL */
+{ XCPUFUNC(op_e118_0), 0, 57624 }, /* ROL */
+{ XCPUFUNC(op_e120_0), 0, 57632 }, /* ASL */
+{ XCPUFUNC(op_e128_0), 0, 57640 }, /* LSL */
+{ XCPUFUNC(op_e130_0), 0, 57648 }, /* ROXL */
+{ XCPUFUNC(op_e138_0), 0, 57656 }, /* ROL */
+{ XCPUFUNC(op_e140_0), 0, 57664 }, /* ASL */
+{ XCPUFUNC(op_e148_0), 0, 57672 }, /* LSL */
+{ XCPUFUNC(op_e150_0), 0, 57680 }, /* ROXL */
+{ XCPUFUNC(op_e158_0), 0, 57688 }, /* ROL */
+{ XCPUFUNC(op_e160_0), 0, 57696 }, /* ASL */
+{ XCPUFUNC(op_e168_0), 0, 57704 }, /* LSL */
+{ XCPUFUNC(op_e170_0), 0, 57712 }, /* ROXL */
+{ XCPUFUNC(op_e178_0), 0, 57720 }, /* ROL */
+{ XCPUFUNC(op_e180_0), 0, 57728 }, /* ASL */
+{ XCPUFUNC(op_e188_0), 0, 57736 }, /* LSL */
+{ XCPUFUNC(op_e190_0), 0, 57744 }, /* ROXL */
+{ XCPUFUNC(op_e198_0), 0, 57752 }, /* ROL */
+{ XCPUFUNC(op_e1a0_0), 0, 57760 }, /* ASL */
+{ XCPUFUNC(op_e1a8_0), 0, 57768 }, /* LSL */
+{ XCPUFUNC(op_e1b0_0), 0, 57776 }, /* ROXL */
+{ XCPUFUNC(op_e1b8_0), 0, 57784 }, /* ROL */
+{ XCPUFUNC(op_e1d0_0), 0, 57808 }, /* ASLW */
+{ XCPUFUNC(op_e1d8_0), 0, 57816 }, /* ASLW */
+{ XCPUFUNC(op_e1e0_0), 0, 57824 }, /* ASLW */
+{ XCPUFUNC(op_e1e8_0), 0, 57832 }, /* ASLW */
+{ XCPUFUNC(op_e1f0_0), 0, 57840 }, /* ASLW */
+{ XCPUFUNC(op_e1f8_0), 0, 57848 }, /* ASLW */
+{ XCPUFUNC(op_e1f9_0), 0, 57849 }, /* ASLW */
+{ XCPUFUNC(op_e2d0_0), 0, 58064 }, /* LSRW */
+{ XCPUFUNC(op_e2d8_0), 0, 58072 }, /* LSRW */
+{ XCPUFUNC(op_e2e0_0), 0, 58080 }, /* LSRW */
+{ XCPUFUNC(op_e2e8_0), 0, 58088 }, /* LSRW */
+{ XCPUFUNC(op_e2f0_0), 0, 58096 }, /* LSRW */
+{ XCPUFUNC(op_e2f8_0), 0, 58104 }, /* LSRW */
+{ XCPUFUNC(op_e2f9_0), 0, 58105 }, /* LSRW */
+{ XCPUFUNC(op_e3d0_0), 0, 58320 }, /* LSLW */
+{ XCPUFUNC(op_e3d8_0), 0, 58328 }, /* LSLW */
+{ XCPUFUNC(op_e3e0_0), 0, 58336 }, /* LSLW */
+{ XCPUFUNC(op_e3e8_0), 0, 58344 }, /* LSLW */
+{ XCPUFUNC(op_e3f0_0), 0, 58352 }, /* LSLW */
+{ XCPUFUNC(op_e3f8_0), 0, 58360 }, /* LSLW */
+{ XCPUFUNC(op_e3f9_0), 0, 58361 }, /* LSLW */
+{ XCPUFUNC(op_e4d0_0), 0, 58576 }, /* ROXRW */
+{ XCPUFUNC(op_e4d8_0), 0, 58584 }, /* ROXRW */
+{ XCPUFUNC(op_e4e0_0), 0, 58592 }, /* ROXRW */
+{ XCPUFUNC(op_e4e8_0), 0, 58600 }, /* ROXRW */
+{ XCPUFUNC(op_e4f0_0), 0, 58608 }, /* ROXRW */
+{ XCPUFUNC(op_e4f8_0), 0, 58616 }, /* ROXRW */
+{ XCPUFUNC(op_e4f9_0), 0, 58617 }, /* ROXRW */
+{ XCPUFUNC(op_e5d0_0), 0, 58832 }, /* ROXLW */
+{ XCPUFUNC(op_e5d8_0), 0, 58840 }, /* ROXLW */
+{ XCPUFUNC(op_e5e0_0), 0, 58848 }, /* ROXLW */
+{ XCPUFUNC(op_e5e8_0), 0, 58856 }, /* ROXLW */
+{ XCPUFUNC(op_e5f0_0), 0, 58864 }, /* ROXLW */
+{ XCPUFUNC(op_e5f8_0), 0, 58872 }, /* ROXLW */
+{ XCPUFUNC(op_e5f9_0), 0, 58873 }, /* ROXLW */
+{ XCPUFUNC(op_e6d0_0), 0, 59088 }, /* RORW */
+{ XCPUFUNC(op_e6d8_0), 0, 59096 }, /* RORW */
+{ XCPUFUNC(op_e6e0_0), 0, 59104 }, /* RORW */
+{ XCPUFUNC(op_e6e8_0), 0, 59112 }, /* RORW */
+{ XCPUFUNC(op_e6f0_0), 0, 59120 }, /* RORW */
+{ XCPUFUNC(op_e6f8_0), 0, 59128 }, /* RORW */
+{ XCPUFUNC(op_e6f9_0), 0, 59129 }, /* RORW */
+{ XCPUFUNC(op_e7d0_0), 0, 59344 }, /* ROLW */
+{ XCPUFUNC(op_e7d8_0), 0, 59352 }, /* ROLW */
+{ XCPUFUNC(op_e7e0_0), 0, 59360 }, /* ROLW */
+{ XCPUFUNC(op_e7e8_0), 0, 59368 }, /* ROLW */
+{ XCPUFUNC(op_e7f0_0), 0, 59376 }, /* ROLW */
+{ XCPUFUNC(op_e7f8_0), 0, 59384 }, /* ROLW */
+{ XCPUFUNC(op_e7f9_0), 0, 59385 }, /* ROLW */
+{ XCPUFUNC(op_e8c0_0), 0, 59584 }, /* BFTST */
+{ XCPUFUNC(op_e8d0_0), 0, 59600 }, /* BFTST */
+{ XCPUFUNC(op_e8e8_0), 0, 59624 }, /* BFTST */
+{ XCPUFUNC(op_e8f0_0), 0, 59632 }, /* BFTST */
+{ XCPUFUNC(op_e8f8_0), 0, 59640 }, /* BFTST */
+{ XCPUFUNC(op_e8f9_0), 0, 59641 }, /* BFTST */
+{ XCPUFUNC(op_e8fa_0), 0, 59642 }, /* BFTST */
+{ XCPUFUNC(op_e8fb_0), 0, 59643 }, /* BFTST */
+{ XCPUFUNC(op_e9c0_0), 0, 59840 }, /* BFEXTU */
+{ XCPUFUNC(op_e9d0_0), 0, 59856 }, /* BFEXTU */
+{ XCPUFUNC(op_e9e8_0), 0, 59880 }, /* BFEXTU */
+{ XCPUFUNC(op_e9f0_0), 0, 59888 }, /* BFEXTU */
+{ XCPUFUNC(op_e9f8_0), 0, 59896 }, /* BFEXTU */
+{ XCPUFUNC(op_e9f9_0), 0, 59897 }, /* BFEXTU */
+{ XCPUFUNC(op_e9fa_0), 0, 59898 }, /* BFEXTU */
+{ XCPUFUNC(op_e9fb_0), 0, 59899 }, /* BFEXTU */
+{ XCPUFUNC(op_eac0_0), 0, 60096 }, /* BFCHG */
+{ XCPUFUNC(op_ead0_0), 0, 60112 }, /* BFCHG */
+{ XCPUFUNC(op_eae8_0), 0, 60136 }, /* BFCHG */
+{ XCPUFUNC(op_eaf0_0), 0, 60144 }, /* BFCHG */
+{ XCPUFUNC(op_eaf8_0), 0, 60152 }, /* BFCHG */
+{ XCPUFUNC(op_eaf9_0), 0, 60153 }, /* BFCHG */
+{ XCPUFUNC(op_ebc0_0), 0, 60352 }, /* BFEXTS */
+{ XCPUFUNC(op_ebd0_0), 0, 60368 }, /* BFEXTS */
+{ XCPUFUNC(op_ebe8_0), 0, 60392 }, /* BFEXTS */
+{ XCPUFUNC(op_ebf0_0), 0, 60400 }, /* BFEXTS */
+{ XCPUFUNC(op_ebf8_0), 0, 60408 }, /* BFEXTS */
+{ XCPUFUNC(op_ebf9_0), 0, 60409 }, /* BFEXTS */
+{ XCPUFUNC(op_ebfa_0), 0, 60410 }, /* BFEXTS */
+{ XCPUFUNC(op_ebfb_0), 0, 60411 }, /* BFEXTS */
+{ XCPUFUNC(op_ecc0_0), 0, 60608 }, /* BFCLR */
+{ XCPUFUNC(op_ecd0_0), 0, 60624 }, /* BFCLR */
+{ XCPUFUNC(op_ece8_0), 0, 60648 }, /* BFCLR */
+{ XCPUFUNC(op_ecf0_0), 0, 60656 }, /* BFCLR */
+{ XCPUFUNC(op_ecf8_0), 0, 60664 }, /* BFCLR */
+{ XCPUFUNC(op_ecf9_0), 0, 60665 }, /* BFCLR */
+{ XCPUFUNC(op_edc0_0), 0, 60864 }, /* BFFFO */
+{ XCPUFUNC(op_edd0_0), 0, 60880 }, /* BFFFO */
+{ XCPUFUNC(op_ede8_0), 0, 60904 }, /* BFFFO */
+{ XCPUFUNC(op_edf0_0), 0, 60912 }, /* BFFFO */
+{ XCPUFUNC(op_edf8_0), 0, 60920 }, /* BFFFO */
+{ XCPUFUNC(op_edf9_0), 0, 60921 }, /* BFFFO */
+{ XCPUFUNC(op_edfa_0), 0, 60922 }, /* BFFFO */
+{ XCPUFUNC(op_edfb_0), 0, 60923 }, /* BFFFO */
+{ XCPUFUNC(op_eec0_0), 0, 61120 }, /* BFSET */
+{ XCPUFUNC(op_eed0_0), 0, 61136 }, /* BFSET */
+{ XCPUFUNC(op_eee8_0), 0, 61160 }, /* BFSET */
+{ XCPUFUNC(op_eef0_0), 0, 61168 }, /* BFSET */
+{ XCPUFUNC(op_eef8_0), 0, 61176 }, /* BFSET */
+{ XCPUFUNC(op_eef9_0), 0, 61177 }, /* BFSET */
+{ XCPUFUNC(op_efc0_0), 0, 61376 }, /* BFINS */
+{ XCPUFUNC(op_efd0_0), 0, 61392 }, /* BFINS */
+{ XCPUFUNC(op_efe8_0), 0, 61416 }, /* BFINS */
+{ XCPUFUNC(op_eff0_0), 0, 61424 }, /* BFINS */
+{ XCPUFUNC(op_eff8_0), 0, 61432 }, /* BFINS */
+{ XCPUFUNC(op_eff9_0), 0, 61433 }, /* BFINS */
+{ XCPUFUNC(op_f000_0), 0, 61440 }, /* MMUOP30A */
+{ XCPUFUNC(op_f008_0), 0, 61448 }, /* MMUOP30A */
+{ XCPUFUNC(op_f010_0), 0, 61456 }, /* MMUOP30A */
+{ XCPUFUNC(op_f018_0), 0, 61464 }, /* MMUOP30A */
+{ XCPUFUNC(op_f020_0), 0, 61472 }, /* MMUOP30A */
+{ XCPUFUNC(op_f028_0), 0, 61480 }, /* MMUOP30A */
+{ XCPUFUNC(op_f030_0), 0, 61488 }, /* MMUOP30A */
+{ XCPUFUNC(op_f038_0), 0, 61496 }, /* MMUOP30A */
+{ XCPUFUNC(op_f039_0), 0, 61497 }, /* MMUOP30A */
+{ XCPUFUNC(op_f03a_0), 0, 61498 }, /* MMUOP30A */
+{ XCPUFUNC(op_f03b_0), 0, 61499 }, /* MMUOP30A */
+{ XCPUFUNC(op_f200_0), 0, 61952 }, /* FPP */
+{ XCPUFUNC(op_f208_0), 0, 61960 }, /* FPP */
+{ XCPUFUNC(op_f210_0), 0, 61968 }, /* FPP */
+{ XCPUFUNC(op_f218_0), 0, 61976 }, /* FPP */
+{ XCPUFUNC(op_f220_0), 0, 61984 }, /* FPP */
+{ XCPUFUNC(op_f228_0), 0, 61992 }, /* FPP */
+{ XCPUFUNC(op_f230_0), 0, 62000 }, /* FPP */
+{ XCPUFUNC(op_f238_0), 0, 62008 }, /* FPP */
+{ XCPUFUNC(op_f239_0), 0, 62009 }, /* FPP */
+{ XCPUFUNC(op_f23a_0), 0, 62010 }, /* FPP */
+{ XCPUFUNC(op_f23b_0), 0, 62011 }, /* FPP */
+{ XCPUFUNC(op_f23c_0), 0, 62012 }, /* FPP */
+{ XCPUFUNC(op_f240_0), 0, 62016 }, /* FScc */
+{ XCPUFUNC(op_f248_0), 0, 62024 }, /* FDBcc */
+{ XCPUFUNC(op_f250_0), 0, 62032 }, /* FScc */
+{ XCPUFUNC(op_f258_0), 0, 62040 }, /* FScc */
+{ XCPUFUNC(op_f260_0), 0, 62048 }, /* FScc */
+{ XCPUFUNC(op_f268_0), 0, 62056 }, /* FScc */
+{ XCPUFUNC(op_f270_0), 0, 62064 }, /* FScc */
+{ XCPUFUNC(op_f278_0), 0, 62072 }, /* FScc */
+{ XCPUFUNC(op_f279_0), 0, 62073 }, /* FScc */
+{ XCPUFUNC(op_f27a_0), 0, 62074 }, /* FTRAPcc */
+{ XCPUFUNC(op_f27b_0), 0, 62075 }, /* FTRAPcc */
+{ XCPUFUNC(op_f27c_0), 0, 62076 }, /* FTRAPcc */
+{ XCPUFUNC(op_f280_0), 0, 62080 }, /* FBcc */
+{ XCPUFUNC(op_f2c0_0), 0, 62144 }, /* FBcc */
+{ XCPUFUNC(op_f310_0), 0, 62224 }, /* FSAVE */
+{ XCPUFUNC(op_f320_0), 0, 62240 }, /* FSAVE */
+{ XCPUFUNC(op_f328_0), 0, 62248 }, /* FSAVE */
+{ XCPUFUNC(op_f330_0), 0, 62256 }, /* FSAVE */
+{ XCPUFUNC(op_f338_0), 0, 62264 }, /* FSAVE */
+{ XCPUFUNC(op_f339_0), 0, 62265 }, /* FSAVE */
+{ XCPUFUNC(op_f350_0), 0, 62288 }, /* FRESTORE */
+{ XCPUFUNC(op_f358_0), 0, 62296 }, /* FRESTORE */
+{ XCPUFUNC(op_f368_0), 0, 62312 }, /* FRESTORE */
+{ XCPUFUNC(op_f370_0), 0, 62320 }, /* FRESTORE */
+{ XCPUFUNC(op_f378_0), 0, 62328 }, /* FRESTORE */
+{ XCPUFUNC(op_f379_0), 0, 62329 }, /* FRESTORE */
+{ XCPUFUNC(op_f37a_0), 0, 62330 }, /* FRESTORE */
+{ XCPUFUNC(op_f37b_0), 0, 62331 }, /* FRESTORE */
+{ XCPUFUNC(op_f408_0), 0, 62472 }, /* CINVL */
+{ XCPUFUNC(op_f410_0), 0, 62480 }, /* CINVP */
+{ XCPUFUNC(op_f418_0), 0, 62488 }, /* CINVA */
+{ XCPUFUNC(op_f419_0), 0, 62489 }, /* CINVA */
+{ XCPUFUNC(op_f41a_0), 0, 62490 }, /* CINVA */
+{ XCPUFUNC(op_f41b_0), 0, 62491 }, /* CINVA */
+{ XCPUFUNC(op_f41c_0), 0, 62492 }, /* CINVA */
+{ XCPUFUNC(op_f41d_0), 0, 62493 }, /* CINVA */
+{ XCPUFUNC(op_f41e_0), 0, 62494 }, /* CINVA */
+{ XCPUFUNC(op_f41f_0), 0, 62495 }, /* CINVA */
+{ XCPUFUNC(op_f428_0), 0, 62504 }, /* CPUSHL */
+{ XCPUFUNC(op_f430_0), 0, 62512 }, /* CPUSHP */
+{ XCPUFUNC(op_f438_0), 0, 62520 }, /* CPUSHA */
+{ XCPUFUNC(op_f439_0), 0, 62521 }, /* CPUSHA */
+{ XCPUFUNC(op_f43a_0), 0, 62522 }, /* CPUSHA */
+{ XCPUFUNC(op_f43b_0), 0, 62523 }, /* CPUSHA */
+{ XCPUFUNC(op_f43c_0), 0, 62524 }, /* CPUSHA */
+{ XCPUFUNC(op_f43d_0), 0, 62525 }, /* CPUSHA */
+{ XCPUFUNC(op_f43e_0), 0, 62526 }, /* CPUSHA */
+{ XCPUFUNC(op_f43f_0), 0, 62527 }, /* CPUSHA */
+{ XCPUFUNC(op_f500_0), 0, 62720 }, /* MMUOP */
+{ XCPUFUNC(op_f600_0), 0, 62976 }, /* MOVE16 */
+{ XCPUFUNC(op_f608_0), 0, 62984 }, /* MOVE16 */
+{ XCPUFUNC(op_f610_0), 0, 62992 }, /* MOVE16 */
+{ XCPUFUNC(op_f618_0), 0, 63000 }, /* MOVE16 */
+{ XCPUFUNC(op_f620_0), 0, 63008 }, /* MOVE16 */
+{ XCPUFUNC(op_f800_0), 0, 63488 }, /* MMUOP30B */
+{ XCPUFUNC(op_f808_0), 0, 63496 }, /* MMUOP30B */
+{ XCPUFUNC(op_f810_0), 0, 63504 }, /* MMUOP30B */
+{ XCPUFUNC(op_f818_0), 0, 63512 }, /* MMUOP30B */
+{ XCPUFUNC(op_f820_0), 0, 63520 }, /* MMUOP30B */
+{ XCPUFUNC(op_f828_0), 0, 63528 }, /* MMUOP30B */
+{ XCPUFUNC(op_f830_0), 0, 63536 }, /* MMUOP30B */
+{ XCPUFUNC(op_f838_0), 0, 63544 }, /* MMUOP30B */
+{ XCPUFUNC(op_f839_0), 0, 63545 }, /* MMUOP30B */
+{ XCPUFUNC(op_f83a_0), 0, 63546 }, /* MMUOP30B */
+{ XCPUFUNC(op_f83b_0), 0, 63547 }, /* MMUOP30B */
+{ 0, 0, 0 }};
--- /dev/null
+extern xcpuop_func op_0_0_nf;
+extern xcpuop_func op_0_0_ff;
+extern xcpuop_func op_10_0_nf;
+extern xcpuop_func op_10_0_ff;
+extern xcpuop_func op_18_0_nf;
+extern xcpuop_func op_18_0_ff;
+extern xcpuop_func op_20_0_nf;
+extern xcpuop_func op_20_0_ff;
+extern xcpuop_func op_28_0_nf;
+extern xcpuop_func op_28_0_ff;
+extern xcpuop_func op_30_0_nf;
+extern xcpuop_func op_30_0_ff;
+extern xcpuop_func op_38_0_nf;
+extern xcpuop_func op_38_0_ff;
+extern xcpuop_func op_39_0_nf;
+extern xcpuop_func op_39_0_ff;
+extern xcpuop_func op_3c_0_nf;
+extern xcpuop_func op_3c_0_ff;
+extern xcpuop_func op_40_0_nf;
+extern xcpuop_func op_40_0_ff;
+extern xcpuop_func op_50_0_nf;
+extern xcpuop_func op_50_0_ff;
+extern xcpuop_func op_58_0_nf;
+extern xcpuop_func op_58_0_ff;
+extern xcpuop_func op_60_0_nf;
+extern xcpuop_func op_60_0_ff;
+extern xcpuop_func op_68_0_nf;
+extern xcpuop_func op_68_0_ff;
+extern xcpuop_func op_70_0_nf;
+extern xcpuop_func op_70_0_ff;
+extern xcpuop_func op_78_0_nf;
+extern xcpuop_func op_78_0_ff;
+extern xcpuop_func op_79_0_nf;
+extern xcpuop_func op_79_0_ff;
+extern xcpuop_func op_7c_0_nf;
+extern xcpuop_func op_7c_0_ff;
+extern xcpuop_func op_80_0_nf;
+extern xcpuop_func op_80_0_ff;
+extern xcpuop_func op_90_0_nf;
+extern xcpuop_func op_90_0_ff;
+extern xcpuop_func op_98_0_nf;
+extern xcpuop_func op_98_0_ff;
+extern xcpuop_func op_a0_0_nf;
+extern xcpuop_func op_a0_0_ff;
+extern xcpuop_func op_a8_0_nf;
+extern xcpuop_func op_a8_0_ff;
+extern xcpuop_func op_b0_0_nf;
+extern xcpuop_func op_b0_0_ff;
+extern xcpuop_func op_b8_0_nf;
+extern xcpuop_func op_b8_0_ff;
+extern xcpuop_func op_b9_0_nf;
+extern xcpuop_func op_b9_0_ff;
+extern xcpuop_func op_d0_0_nf;
+extern xcpuop_func op_d0_0_ff;
+extern xcpuop_func op_e8_0_nf;
+extern xcpuop_func op_e8_0_ff;
+extern xcpuop_func op_f0_0_nf;
+extern xcpuop_func op_f0_0_ff;
+extern xcpuop_func op_f8_0_nf;
+extern xcpuop_func op_f8_0_ff;
+extern xcpuop_func op_f9_0_nf;
+extern xcpuop_func op_f9_0_ff;
+extern xcpuop_func op_fa_0_nf;
+extern xcpuop_func op_fa_0_ff;
+extern xcpuop_func op_fb_0_nf;
+extern xcpuop_func op_fb_0_ff;
+extern xcpuop_func op_100_0_nf;
+extern xcpuop_func op_100_0_ff;
+extern xcpuop_func op_108_0_nf;
+extern xcpuop_func op_108_0_ff;
+extern xcpuop_func op_110_0_nf;
+extern xcpuop_func op_110_0_ff;
+extern xcpuop_func op_118_0_nf;
+extern xcpuop_func op_118_0_ff;
+extern xcpuop_func op_120_0_nf;
+extern xcpuop_func op_120_0_ff;
+extern xcpuop_func op_128_0_nf;
+extern xcpuop_func op_128_0_ff;
+extern xcpuop_func op_130_0_nf;
+extern xcpuop_func op_130_0_ff;
+extern xcpuop_func op_138_0_nf;
+extern xcpuop_func op_138_0_ff;
+extern xcpuop_func op_139_0_nf;
+extern xcpuop_func op_139_0_ff;
+extern xcpuop_func op_13a_0_nf;
+extern xcpuop_func op_13a_0_ff;
+extern xcpuop_func op_13b_0_nf;
+extern xcpuop_func op_13b_0_ff;
+extern xcpuop_func op_13c_0_nf;
+extern xcpuop_func op_13c_0_ff;
+extern xcpuop_func op_140_0_nf;
+extern xcpuop_func op_140_0_ff;
+extern xcpuop_func op_148_0_nf;
+extern xcpuop_func op_148_0_ff;
+extern xcpuop_func op_150_0_nf;
+extern xcpuop_func op_150_0_ff;
+extern xcpuop_func op_158_0_nf;
+extern xcpuop_func op_158_0_ff;
+extern xcpuop_func op_160_0_nf;
+extern xcpuop_func op_160_0_ff;
+extern xcpuop_func op_168_0_nf;
+extern xcpuop_func op_168_0_ff;
+extern xcpuop_func op_170_0_nf;
+extern xcpuop_func op_170_0_ff;
+extern xcpuop_func op_178_0_nf;
+extern xcpuop_func op_178_0_ff;
+extern xcpuop_func op_179_0_nf;
+extern xcpuop_func op_179_0_ff;
+extern xcpuop_func op_17a_0_nf;
+extern xcpuop_func op_17a_0_ff;
+extern xcpuop_func op_17b_0_nf;
+extern xcpuop_func op_17b_0_ff;
+extern xcpuop_func op_180_0_nf;
+extern xcpuop_func op_180_0_ff;
+extern xcpuop_func op_188_0_nf;
+extern xcpuop_func op_188_0_ff;
+extern xcpuop_func op_190_0_nf;
+extern xcpuop_func op_190_0_ff;
+extern xcpuop_func op_198_0_nf;
+extern xcpuop_func op_198_0_ff;
+extern xcpuop_func op_1a0_0_nf;
+extern xcpuop_func op_1a0_0_ff;
+extern xcpuop_func op_1a8_0_nf;
+extern xcpuop_func op_1a8_0_ff;
+extern xcpuop_func op_1b0_0_nf;
+extern xcpuop_func op_1b0_0_ff;
+extern xcpuop_func op_1b8_0_nf;
+extern xcpuop_func op_1b8_0_ff;
+extern xcpuop_func op_1b9_0_nf;
+extern xcpuop_func op_1b9_0_ff;
+extern xcpuop_func op_1ba_0_nf;
+extern xcpuop_func op_1ba_0_ff;
+extern xcpuop_func op_1bb_0_nf;
+extern xcpuop_func op_1bb_0_ff;
+extern xcpuop_func op_1c0_0_nf;
+extern xcpuop_func op_1c0_0_ff;
+extern xcpuop_func op_1c8_0_nf;
+extern xcpuop_func op_1c8_0_ff;
+extern xcpuop_func op_1d0_0_nf;
+extern xcpuop_func op_1d0_0_ff;
+extern xcpuop_func op_1d8_0_nf;
+extern xcpuop_func op_1d8_0_ff;
+extern xcpuop_func op_1e0_0_nf;
+extern xcpuop_func op_1e0_0_ff;
+extern xcpuop_func op_1e8_0_nf;
+extern xcpuop_func op_1e8_0_ff;
+extern xcpuop_func op_1f0_0_nf;
+extern xcpuop_func op_1f0_0_ff;
+extern xcpuop_func op_1f8_0_nf;
+extern xcpuop_func op_1f8_0_ff;
+extern xcpuop_func op_1f9_0_nf;
+extern xcpuop_func op_1f9_0_ff;
+extern xcpuop_func op_1fa_0_nf;
+extern xcpuop_func op_1fa_0_ff;
+extern xcpuop_func op_1fb_0_nf;
+extern xcpuop_func op_1fb_0_ff;
+extern xcpuop_func op_200_0_nf;
+extern xcpuop_func op_200_0_ff;
+extern xcpuop_func op_210_0_nf;
+extern xcpuop_func op_210_0_ff;
+extern xcpuop_func op_218_0_nf;
+extern xcpuop_func op_218_0_ff;
+extern xcpuop_func op_220_0_nf;
+extern xcpuop_func op_220_0_ff;
+extern xcpuop_func op_228_0_nf;
+extern xcpuop_func op_228_0_ff;
+extern xcpuop_func op_230_0_nf;
+extern xcpuop_func op_230_0_ff;
+extern xcpuop_func op_238_0_nf;
+extern xcpuop_func op_238_0_ff;
+extern xcpuop_func op_239_0_nf;
+extern xcpuop_func op_239_0_ff;
+extern xcpuop_func op_23c_0_nf;
+extern xcpuop_func op_23c_0_ff;
+extern xcpuop_func op_240_0_nf;
+extern xcpuop_func op_240_0_ff;
+extern xcpuop_func op_250_0_nf;
+extern xcpuop_func op_250_0_ff;
+extern xcpuop_func op_258_0_nf;
+extern xcpuop_func op_258_0_ff;
+extern xcpuop_func op_260_0_nf;
+extern xcpuop_func op_260_0_ff;
+extern xcpuop_func op_268_0_nf;
+extern xcpuop_func op_268_0_ff;
+extern xcpuop_func op_270_0_nf;
+extern xcpuop_func op_270_0_ff;
+extern xcpuop_func op_278_0_nf;
+extern xcpuop_func op_278_0_ff;
+extern xcpuop_func op_279_0_nf;
+extern xcpuop_func op_279_0_ff;
+extern xcpuop_func op_27c_0_nf;
+extern xcpuop_func op_27c_0_ff;
+extern xcpuop_func op_280_0_nf;
+extern xcpuop_func op_280_0_ff;
+extern xcpuop_func op_290_0_nf;
+extern xcpuop_func op_290_0_ff;
+extern xcpuop_func op_298_0_nf;
+extern xcpuop_func op_298_0_ff;
+extern xcpuop_func op_2a0_0_nf;
+extern xcpuop_func op_2a0_0_ff;
+extern xcpuop_func op_2a8_0_nf;
+extern xcpuop_func op_2a8_0_ff;
+extern xcpuop_func op_2b0_0_nf;
+extern xcpuop_func op_2b0_0_ff;
+extern xcpuop_func op_2b8_0_nf;
+extern xcpuop_func op_2b8_0_ff;
+extern xcpuop_func op_2b9_0_nf;
+extern xcpuop_func op_2b9_0_ff;
+extern xcpuop_func op_2d0_0_nf;
+extern xcpuop_func op_2d0_0_ff;
+extern xcpuop_func op_2e8_0_nf;
+extern xcpuop_func op_2e8_0_ff;
+extern xcpuop_func op_2f0_0_nf;
+extern xcpuop_func op_2f0_0_ff;
+extern xcpuop_func op_2f8_0_nf;
+extern xcpuop_func op_2f8_0_ff;
+extern xcpuop_func op_2f9_0_nf;
+extern xcpuop_func op_2f9_0_ff;
+extern xcpuop_func op_2fa_0_nf;
+extern xcpuop_func op_2fa_0_ff;
+extern xcpuop_func op_2fb_0_nf;
+extern xcpuop_func op_2fb_0_ff;
+extern xcpuop_func op_400_0_nf;
+extern xcpuop_func op_400_0_ff;
+extern xcpuop_func op_410_0_nf;
+extern xcpuop_func op_410_0_ff;
+extern xcpuop_func op_418_0_nf;
+extern xcpuop_func op_418_0_ff;
+extern xcpuop_func op_420_0_nf;
+extern xcpuop_func op_420_0_ff;
+extern xcpuop_func op_428_0_nf;
+extern xcpuop_func op_428_0_ff;
+extern xcpuop_func op_430_0_nf;
+extern xcpuop_func op_430_0_ff;
+extern xcpuop_func op_438_0_nf;
+extern xcpuop_func op_438_0_ff;
+extern xcpuop_func op_439_0_nf;
+extern xcpuop_func op_439_0_ff;
+extern xcpuop_func op_440_0_nf;
+extern xcpuop_func op_440_0_ff;
+extern xcpuop_func op_450_0_nf;
+extern xcpuop_func op_450_0_ff;
+extern xcpuop_func op_458_0_nf;
+extern xcpuop_func op_458_0_ff;
+extern xcpuop_func op_460_0_nf;
+extern xcpuop_func op_460_0_ff;
+extern xcpuop_func op_468_0_nf;
+extern xcpuop_func op_468_0_ff;
+extern xcpuop_func op_470_0_nf;
+extern xcpuop_func op_470_0_ff;
+extern xcpuop_func op_478_0_nf;
+extern xcpuop_func op_478_0_ff;
+extern xcpuop_func op_479_0_nf;
+extern xcpuop_func op_479_0_ff;
+extern xcpuop_func op_480_0_nf;
+extern xcpuop_func op_480_0_ff;
+extern xcpuop_func op_490_0_nf;
+extern xcpuop_func op_490_0_ff;
+extern xcpuop_func op_498_0_nf;
+extern xcpuop_func op_498_0_ff;
+extern xcpuop_func op_4a0_0_nf;
+extern xcpuop_func op_4a0_0_ff;
+extern xcpuop_func op_4a8_0_nf;
+extern xcpuop_func op_4a8_0_ff;
+extern xcpuop_func op_4b0_0_nf;
+extern xcpuop_func op_4b0_0_ff;
+extern xcpuop_func op_4b8_0_nf;
+extern xcpuop_func op_4b8_0_ff;
+extern xcpuop_func op_4b9_0_nf;
+extern xcpuop_func op_4b9_0_ff;
+extern xcpuop_func op_4d0_0_nf;
+extern xcpuop_func op_4d0_0_ff;
+extern xcpuop_func op_4e8_0_nf;
+extern xcpuop_func op_4e8_0_ff;
+extern xcpuop_func op_4f0_0_nf;
+extern xcpuop_func op_4f0_0_ff;
+extern xcpuop_func op_4f8_0_nf;
+extern xcpuop_func op_4f8_0_ff;
+extern xcpuop_func op_4f9_0_nf;
+extern xcpuop_func op_4f9_0_ff;
+extern xcpuop_func op_4fa_0_nf;
+extern xcpuop_func op_4fa_0_ff;
+extern xcpuop_func op_4fb_0_nf;
+extern xcpuop_func op_4fb_0_ff;
+extern xcpuop_func op_600_0_nf;
+extern xcpuop_func op_600_0_ff;
+extern xcpuop_func op_610_0_nf;
+extern xcpuop_func op_610_0_ff;
+extern xcpuop_func op_618_0_nf;
+extern xcpuop_func op_618_0_ff;
+extern xcpuop_func op_620_0_nf;
+extern xcpuop_func op_620_0_ff;
+extern xcpuop_func op_628_0_nf;
+extern xcpuop_func op_628_0_ff;
+extern xcpuop_func op_630_0_nf;
+extern xcpuop_func op_630_0_ff;
+extern xcpuop_func op_638_0_nf;
+extern xcpuop_func op_638_0_ff;
+extern xcpuop_func op_639_0_nf;
+extern xcpuop_func op_639_0_ff;
+extern xcpuop_func op_640_0_nf;
+extern xcpuop_func op_640_0_ff;
+extern xcpuop_func op_650_0_nf;
+extern xcpuop_func op_650_0_ff;
+extern xcpuop_func op_658_0_nf;
+extern xcpuop_func op_658_0_ff;
+extern xcpuop_func op_660_0_nf;
+extern xcpuop_func op_660_0_ff;
+extern xcpuop_func op_668_0_nf;
+extern xcpuop_func op_668_0_ff;
+extern xcpuop_func op_670_0_nf;
+extern xcpuop_func op_670_0_ff;
+extern xcpuop_func op_678_0_nf;
+extern xcpuop_func op_678_0_ff;
+extern xcpuop_func op_679_0_nf;
+extern xcpuop_func op_679_0_ff;
+extern xcpuop_func op_680_0_nf;
+extern xcpuop_func op_680_0_ff;
+extern xcpuop_func op_690_0_nf;
+extern xcpuop_func op_690_0_ff;
+extern xcpuop_func op_698_0_nf;
+extern xcpuop_func op_698_0_ff;
+extern xcpuop_func op_6a0_0_nf;
+extern xcpuop_func op_6a0_0_ff;
+extern xcpuop_func op_6a8_0_nf;
+extern xcpuop_func op_6a8_0_ff;
+extern xcpuop_func op_6b0_0_nf;
+extern xcpuop_func op_6b0_0_ff;
+extern xcpuop_func op_6b8_0_nf;
+extern xcpuop_func op_6b8_0_ff;
+extern xcpuop_func op_6b9_0_nf;
+extern xcpuop_func op_6b9_0_ff;
+extern xcpuop_func op_6c0_0_nf;
+extern xcpuop_func op_6c0_0_ff;
+extern xcpuop_func op_6c8_0_nf;
+extern xcpuop_func op_6c8_0_ff;
+extern xcpuop_func op_6d0_0_nf;
+extern xcpuop_func op_6d0_0_ff;
+extern xcpuop_func op_6e8_0_nf;
+extern xcpuop_func op_6e8_0_ff;
+extern xcpuop_func op_6f0_0_nf;
+extern xcpuop_func op_6f0_0_ff;
+extern xcpuop_func op_6f8_0_nf;
+extern xcpuop_func op_6f8_0_ff;
+extern xcpuop_func op_6f9_0_nf;
+extern xcpuop_func op_6f9_0_ff;
+extern xcpuop_func op_6fa_0_nf;
+extern xcpuop_func op_6fa_0_ff;
+extern xcpuop_func op_6fb_0_nf;
+extern xcpuop_func op_6fb_0_ff;
+extern xcpuop_func op_800_0_nf;
+extern xcpuop_func op_800_0_ff;
+extern xcpuop_func op_810_0_nf;
+extern xcpuop_func op_810_0_ff;
+extern xcpuop_func op_818_0_nf;
+extern xcpuop_func op_818_0_ff;
+extern xcpuop_func op_820_0_nf;
+extern xcpuop_func op_820_0_ff;
+extern xcpuop_func op_828_0_nf;
+extern xcpuop_func op_828_0_ff;
+extern xcpuop_func op_830_0_nf;
+extern xcpuop_func op_830_0_ff;
+extern xcpuop_func op_838_0_nf;
+extern xcpuop_func op_838_0_ff;
+extern xcpuop_func op_839_0_nf;
+extern xcpuop_func op_839_0_ff;
+extern xcpuop_func op_83a_0_nf;
+extern xcpuop_func op_83a_0_ff;
+extern xcpuop_func op_83b_0_nf;
+extern xcpuop_func op_83b_0_ff;
+extern xcpuop_func op_83c_0_nf;
+extern xcpuop_func op_83c_0_ff;
+extern xcpuop_func op_840_0_nf;
+extern xcpuop_func op_840_0_ff;
+extern xcpuop_func op_850_0_nf;
+extern xcpuop_func op_850_0_ff;
+extern xcpuop_func op_858_0_nf;
+extern xcpuop_func op_858_0_ff;
+extern xcpuop_func op_860_0_nf;
+extern xcpuop_func op_860_0_ff;
+extern xcpuop_func op_868_0_nf;
+extern xcpuop_func op_868_0_ff;
+extern xcpuop_func op_870_0_nf;
+extern xcpuop_func op_870_0_ff;
+extern xcpuop_func op_878_0_nf;
+extern xcpuop_func op_878_0_ff;
+extern xcpuop_func op_879_0_nf;
+extern xcpuop_func op_879_0_ff;
+extern xcpuop_func op_87a_0_nf;
+extern xcpuop_func op_87a_0_ff;
+extern xcpuop_func op_87b_0_nf;
+extern xcpuop_func op_87b_0_ff;
+extern xcpuop_func op_880_0_nf;
+extern xcpuop_func op_880_0_ff;
+extern xcpuop_func op_890_0_nf;
+extern xcpuop_func op_890_0_ff;
+extern xcpuop_func op_898_0_nf;
+extern xcpuop_func op_898_0_ff;
+extern xcpuop_func op_8a0_0_nf;
+extern xcpuop_func op_8a0_0_ff;
+extern xcpuop_func op_8a8_0_nf;
+extern xcpuop_func op_8a8_0_ff;
+extern xcpuop_func op_8b0_0_nf;
+extern xcpuop_func op_8b0_0_ff;
+extern xcpuop_func op_8b8_0_nf;
+extern xcpuop_func op_8b8_0_ff;
+extern xcpuop_func op_8b9_0_nf;
+extern xcpuop_func op_8b9_0_ff;
+extern xcpuop_func op_8ba_0_nf;
+extern xcpuop_func op_8ba_0_ff;
+extern xcpuop_func op_8bb_0_nf;
+extern xcpuop_func op_8bb_0_ff;
+extern xcpuop_func op_8c0_0_nf;
+extern xcpuop_func op_8c0_0_ff;
+extern xcpuop_func op_8d0_0_nf;
+extern xcpuop_func op_8d0_0_ff;
+extern xcpuop_func op_8d8_0_nf;
+extern xcpuop_func op_8d8_0_ff;
+extern xcpuop_func op_8e0_0_nf;
+extern xcpuop_func op_8e0_0_ff;
+extern xcpuop_func op_8e8_0_nf;
+extern xcpuop_func op_8e8_0_ff;
+extern xcpuop_func op_8f0_0_nf;
+extern xcpuop_func op_8f0_0_ff;
+extern xcpuop_func op_8f8_0_nf;
+extern xcpuop_func op_8f8_0_ff;
+extern xcpuop_func op_8f9_0_nf;
+extern xcpuop_func op_8f9_0_ff;
+extern xcpuop_func op_8fa_0_nf;
+extern xcpuop_func op_8fa_0_ff;
+extern xcpuop_func op_8fb_0_nf;
+extern xcpuop_func op_8fb_0_ff;
+extern xcpuop_func op_a00_0_nf;
+extern xcpuop_func op_a00_0_ff;
+extern xcpuop_func op_a10_0_nf;
+extern xcpuop_func op_a10_0_ff;
+extern xcpuop_func op_a18_0_nf;
+extern xcpuop_func op_a18_0_ff;
+extern xcpuop_func op_a20_0_nf;
+extern xcpuop_func op_a20_0_ff;
+extern xcpuop_func op_a28_0_nf;
+extern xcpuop_func op_a28_0_ff;
+extern xcpuop_func op_a30_0_nf;
+extern xcpuop_func op_a30_0_ff;
+extern xcpuop_func op_a38_0_nf;
+extern xcpuop_func op_a38_0_ff;
+extern xcpuop_func op_a39_0_nf;
+extern xcpuop_func op_a39_0_ff;
+extern xcpuop_func op_a3c_0_nf;
+extern xcpuop_func op_a3c_0_ff;
+extern xcpuop_func op_a40_0_nf;
+extern xcpuop_func op_a40_0_ff;
+extern xcpuop_func op_a50_0_nf;
+extern xcpuop_func op_a50_0_ff;
+extern xcpuop_func op_a58_0_nf;
+extern xcpuop_func op_a58_0_ff;
+extern xcpuop_func op_a60_0_nf;
+extern xcpuop_func op_a60_0_ff;
+extern xcpuop_func op_a68_0_nf;
+extern xcpuop_func op_a68_0_ff;
+extern xcpuop_func op_a70_0_nf;
+extern xcpuop_func op_a70_0_ff;
+extern xcpuop_func op_a78_0_nf;
+extern xcpuop_func op_a78_0_ff;
+extern xcpuop_func op_a79_0_nf;
+extern xcpuop_func op_a79_0_ff;
+extern xcpuop_func op_a7c_0_nf;
+extern xcpuop_func op_a7c_0_ff;
+extern xcpuop_func op_a80_0_nf;
+extern xcpuop_func op_a80_0_ff;
+extern xcpuop_func op_a90_0_nf;
+extern xcpuop_func op_a90_0_ff;
+extern xcpuop_func op_a98_0_nf;
+extern xcpuop_func op_a98_0_ff;
+extern xcpuop_func op_aa0_0_nf;
+extern xcpuop_func op_aa0_0_ff;
+extern xcpuop_func op_aa8_0_nf;
+extern xcpuop_func op_aa8_0_ff;
+extern xcpuop_func op_ab0_0_nf;
+extern xcpuop_func op_ab0_0_ff;
+extern xcpuop_func op_ab8_0_nf;
+extern xcpuop_func op_ab8_0_ff;
+extern xcpuop_func op_ab9_0_nf;
+extern xcpuop_func op_ab9_0_ff;
+extern xcpuop_func op_ad0_0_nf;
+extern xcpuop_func op_ad0_0_ff;
+extern xcpuop_func op_ad8_0_nf;
+extern xcpuop_func op_ad8_0_ff;
+extern xcpuop_func op_ae0_0_nf;
+extern xcpuop_func op_ae0_0_ff;
+extern xcpuop_func op_ae8_0_nf;
+extern xcpuop_func op_ae8_0_ff;
+extern xcpuop_func op_af0_0_nf;
+extern xcpuop_func op_af0_0_ff;
+extern xcpuop_func op_af8_0_nf;
+extern xcpuop_func op_af8_0_ff;
+extern xcpuop_func op_af9_0_nf;
+extern xcpuop_func op_af9_0_ff;
+extern xcpuop_func op_c00_0_nf;
+extern xcpuop_func op_c00_0_ff;
+extern xcpuop_func op_c10_0_nf;
+extern xcpuop_func op_c10_0_ff;
+extern xcpuop_func op_c18_0_nf;
+extern xcpuop_func op_c18_0_ff;
+extern xcpuop_func op_c20_0_nf;
+extern xcpuop_func op_c20_0_ff;
+extern xcpuop_func op_c28_0_nf;
+extern xcpuop_func op_c28_0_ff;
+extern xcpuop_func op_c30_0_nf;
+extern xcpuop_func op_c30_0_ff;
+extern xcpuop_func op_c38_0_nf;
+extern xcpuop_func op_c38_0_ff;
+extern xcpuop_func op_c39_0_nf;
+extern xcpuop_func op_c39_0_ff;
+extern xcpuop_func op_c3a_0_nf;
+extern xcpuop_func op_c3a_0_ff;
+extern xcpuop_func op_c3b_0_nf;
+extern xcpuop_func op_c3b_0_ff;
+extern xcpuop_func op_c40_0_nf;
+extern xcpuop_func op_c40_0_ff;
+extern xcpuop_func op_c50_0_nf;
+extern xcpuop_func op_c50_0_ff;
+extern xcpuop_func op_c58_0_nf;
+extern xcpuop_func op_c58_0_ff;
+extern xcpuop_func op_c60_0_nf;
+extern xcpuop_func op_c60_0_ff;
+extern xcpuop_func op_c68_0_nf;
+extern xcpuop_func op_c68_0_ff;
+extern xcpuop_func op_c70_0_nf;
+extern xcpuop_func op_c70_0_ff;
+extern xcpuop_func op_c78_0_nf;
+extern xcpuop_func op_c78_0_ff;
+extern xcpuop_func op_c79_0_nf;
+extern xcpuop_func op_c79_0_ff;
+extern xcpuop_func op_c7a_0_nf;
+extern xcpuop_func op_c7a_0_ff;
+extern xcpuop_func op_c7b_0_nf;
+extern xcpuop_func op_c7b_0_ff;
+extern xcpuop_func op_c80_0_nf;
+extern xcpuop_func op_c80_0_ff;
+extern xcpuop_func op_c90_0_nf;
+extern xcpuop_func op_c90_0_ff;
+extern xcpuop_func op_c98_0_nf;
+extern xcpuop_func op_c98_0_ff;
+extern xcpuop_func op_ca0_0_nf;
+extern xcpuop_func op_ca0_0_ff;
+extern xcpuop_func op_ca8_0_nf;
+extern xcpuop_func op_ca8_0_ff;
+extern xcpuop_func op_cb0_0_nf;
+extern xcpuop_func op_cb0_0_ff;
+extern xcpuop_func op_cb8_0_nf;
+extern xcpuop_func op_cb8_0_ff;
+extern xcpuop_func op_cb9_0_nf;
+extern xcpuop_func op_cb9_0_ff;
+extern xcpuop_func op_cba_0_nf;
+extern xcpuop_func op_cba_0_ff;
+extern xcpuop_func op_cbb_0_nf;
+extern xcpuop_func op_cbb_0_ff;
+extern xcpuop_func op_cd0_0_nf;
+extern xcpuop_func op_cd0_0_ff;
+extern xcpuop_func op_cd8_0_nf;
+extern xcpuop_func op_cd8_0_ff;
+extern xcpuop_func op_ce0_0_nf;
+extern xcpuop_func op_ce0_0_ff;
+extern xcpuop_func op_ce8_0_nf;
+extern xcpuop_func op_ce8_0_ff;
+extern xcpuop_func op_cf0_0_nf;
+extern xcpuop_func op_cf0_0_ff;
+extern xcpuop_func op_cf8_0_nf;
+extern xcpuop_func op_cf8_0_ff;
+extern xcpuop_func op_cf9_0_nf;
+extern xcpuop_func op_cf9_0_ff;
+extern xcpuop_func op_cfc_0_nf;
+extern xcpuop_func op_cfc_0_ff;
+extern xcpuop_func op_e10_0_nf;
+extern xcpuop_func op_e10_0_ff;
+extern xcpuop_func op_e18_0_nf;
+extern xcpuop_func op_e18_0_ff;
+extern xcpuop_func op_e20_0_nf;
+extern xcpuop_func op_e20_0_ff;
+extern xcpuop_func op_e28_0_nf;
+extern xcpuop_func op_e28_0_ff;
+extern xcpuop_func op_e30_0_nf;
+extern xcpuop_func op_e30_0_ff;
+extern xcpuop_func op_e38_0_nf;
+extern xcpuop_func op_e38_0_ff;
+extern xcpuop_func op_e39_0_nf;
+extern xcpuop_func op_e39_0_ff;
+extern xcpuop_func op_e50_0_nf;
+extern xcpuop_func op_e50_0_ff;
+extern xcpuop_func op_e58_0_nf;
+extern xcpuop_func op_e58_0_ff;
+extern xcpuop_func op_e60_0_nf;
+extern xcpuop_func op_e60_0_ff;
+extern xcpuop_func op_e68_0_nf;
+extern xcpuop_func op_e68_0_ff;
+extern xcpuop_func op_e70_0_nf;
+extern xcpuop_func op_e70_0_ff;
+extern xcpuop_func op_e78_0_nf;
+extern xcpuop_func op_e78_0_ff;
+extern xcpuop_func op_e79_0_nf;
+extern xcpuop_func op_e79_0_ff;
+extern xcpuop_func op_e90_0_nf;
+extern xcpuop_func op_e90_0_ff;
+extern xcpuop_func op_e98_0_nf;
+extern xcpuop_func op_e98_0_ff;
+extern xcpuop_func op_ea0_0_nf;
+extern xcpuop_func op_ea0_0_ff;
+extern xcpuop_func op_ea8_0_nf;
+extern xcpuop_func op_ea8_0_ff;
+extern xcpuop_func op_eb0_0_nf;
+extern xcpuop_func op_eb0_0_ff;
+extern xcpuop_func op_eb8_0_nf;
+extern xcpuop_func op_eb8_0_ff;
+extern xcpuop_func op_eb9_0_nf;
+extern xcpuop_func op_eb9_0_ff;
+extern xcpuop_func op_ed0_0_nf;
+extern xcpuop_func op_ed0_0_ff;
+extern xcpuop_func op_ed8_0_nf;
+extern xcpuop_func op_ed8_0_ff;
+extern xcpuop_func op_ee0_0_nf;
+extern xcpuop_func op_ee0_0_ff;
+extern xcpuop_func op_ee8_0_nf;
+extern xcpuop_func op_ee8_0_ff;
+extern xcpuop_func op_ef0_0_nf;
+extern xcpuop_func op_ef0_0_ff;
+extern xcpuop_func op_ef8_0_nf;
+extern xcpuop_func op_ef8_0_ff;
+extern xcpuop_func op_ef9_0_nf;
+extern xcpuop_func op_ef9_0_ff;
+extern xcpuop_func op_efc_0_nf;
+extern xcpuop_func op_efc_0_ff;
+extern xcpuop_func op_1000_0_nf;
+extern xcpuop_func op_1000_0_ff;
+extern xcpuop_func op_1010_0_nf;
+extern xcpuop_func op_1010_0_ff;
+extern xcpuop_func op_1018_0_nf;
+extern xcpuop_func op_1018_0_ff;
+extern xcpuop_func op_1020_0_nf;
+extern xcpuop_func op_1020_0_ff;
+extern xcpuop_func op_1028_0_nf;
+extern xcpuop_func op_1028_0_ff;
+extern xcpuop_func op_1030_0_nf;
+extern xcpuop_func op_1030_0_ff;
+extern xcpuop_func op_1038_0_nf;
+extern xcpuop_func op_1038_0_ff;
+extern xcpuop_func op_1039_0_nf;
+extern xcpuop_func op_1039_0_ff;
+extern xcpuop_func op_103a_0_nf;
+extern xcpuop_func op_103a_0_ff;
+extern xcpuop_func op_103b_0_nf;
+extern xcpuop_func op_103b_0_ff;
+extern xcpuop_func op_103c_0_nf;
+extern xcpuop_func op_103c_0_ff;
+extern xcpuop_func op_1080_0_nf;
+extern xcpuop_func op_1080_0_ff;
+extern xcpuop_func op_1090_0_nf;
+extern xcpuop_func op_1090_0_ff;
+extern xcpuop_func op_1098_0_nf;
+extern xcpuop_func op_1098_0_ff;
+extern xcpuop_func op_10a0_0_nf;
+extern xcpuop_func op_10a0_0_ff;
+extern xcpuop_func op_10a8_0_nf;
+extern xcpuop_func op_10a8_0_ff;
+extern xcpuop_func op_10b0_0_nf;
+extern xcpuop_func op_10b0_0_ff;
+extern xcpuop_func op_10b8_0_nf;
+extern xcpuop_func op_10b8_0_ff;
+extern xcpuop_func op_10b9_0_nf;
+extern xcpuop_func op_10b9_0_ff;
+extern xcpuop_func op_10ba_0_nf;
+extern xcpuop_func op_10ba_0_ff;
+extern xcpuop_func op_10bb_0_nf;
+extern xcpuop_func op_10bb_0_ff;
+extern xcpuop_func op_10bc_0_nf;
+extern xcpuop_func op_10bc_0_ff;
+extern xcpuop_func op_10c0_0_nf;
+extern xcpuop_func op_10c0_0_ff;
+extern xcpuop_func op_10d0_0_nf;
+extern xcpuop_func op_10d0_0_ff;
+extern xcpuop_func op_10d8_0_nf;
+extern xcpuop_func op_10d8_0_ff;
+extern xcpuop_func op_10e0_0_nf;
+extern xcpuop_func op_10e0_0_ff;
+extern xcpuop_func op_10e8_0_nf;
+extern xcpuop_func op_10e8_0_ff;
+extern xcpuop_func op_10f0_0_nf;
+extern xcpuop_func op_10f0_0_ff;
+extern xcpuop_func op_10f8_0_nf;
+extern xcpuop_func op_10f8_0_ff;
+extern xcpuop_func op_10f9_0_nf;
+extern xcpuop_func op_10f9_0_ff;
+extern xcpuop_func op_10fa_0_nf;
+extern xcpuop_func op_10fa_0_ff;
+extern xcpuop_func op_10fb_0_nf;
+extern xcpuop_func op_10fb_0_ff;
+extern xcpuop_func op_10fc_0_nf;
+extern xcpuop_func op_10fc_0_ff;
+extern xcpuop_func op_1100_0_nf;
+extern xcpuop_func op_1100_0_ff;
+extern xcpuop_func op_1110_0_nf;
+extern xcpuop_func op_1110_0_ff;
+extern xcpuop_func op_1118_0_nf;
+extern xcpuop_func op_1118_0_ff;
+extern xcpuop_func op_1120_0_nf;
+extern xcpuop_func op_1120_0_ff;
+extern xcpuop_func op_1128_0_nf;
+extern xcpuop_func op_1128_0_ff;
+extern xcpuop_func op_1130_0_nf;
+extern xcpuop_func op_1130_0_ff;
+extern xcpuop_func op_1138_0_nf;
+extern xcpuop_func op_1138_0_ff;
+extern xcpuop_func op_1139_0_nf;
+extern xcpuop_func op_1139_0_ff;
+extern xcpuop_func op_113a_0_nf;
+extern xcpuop_func op_113a_0_ff;
+extern xcpuop_func op_113b_0_nf;
+extern xcpuop_func op_113b_0_ff;
+extern xcpuop_func op_113c_0_nf;
+extern xcpuop_func op_113c_0_ff;
+extern xcpuop_func op_1140_0_nf;
+extern xcpuop_func op_1140_0_ff;
+extern xcpuop_func op_1150_0_nf;
+extern xcpuop_func op_1150_0_ff;
+extern xcpuop_func op_1158_0_nf;
+extern xcpuop_func op_1158_0_ff;
+extern xcpuop_func op_1160_0_nf;
+extern xcpuop_func op_1160_0_ff;
+extern xcpuop_func op_1168_0_nf;
+extern xcpuop_func op_1168_0_ff;
+extern xcpuop_func op_1170_0_nf;
+extern xcpuop_func op_1170_0_ff;
+extern xcpuop_func op_1178_0_nf;
+extern xcpuop_func op_1178_0_ff;
+extern xcpuop_func op_1179_0_nf;
+extern xcpuop_func op_1179_0_ff;
+extern xcpuop_func op_117a_0_nf;
+extern xcpuop_func op_117a_0_ff;
+extern xcpuop_func op_117b_0_nf;
+extern xcpuop_func op_117b_0_ff;
+extern xcpuop_func op_117c_0_nf;
+extern xcpuop_func op_117c_0_ff;
+extern xcpuop_func op_1180_0_nf;
+extern xcpuop_func op_1180_0_ff;
+extern xcpuop_func op_1190_0_nf;
+extern xcpuop_func op_1190_0_ff;
+extern xcpuop_func op_1198_0_nf;
+extern xcpuop_func op_1198_0_ff;
+extern xcpuop_func op_11a0_0_nf;
+extern xcpuop_func op_11a0_0_ff;
+extern xcpuop_func op_11a8_0_nf;
+extern xcpuop_func op_11a8_0_ff;
+extern xcpuop_func op_11b0_0_nf;
+extern xcpuop_func op_11b0_0_ff;
+extern xcpuop_func op_11b8_0_nf;
+extern xcpuop_func op_11b8_0_ff;
+extern xcpuop_func op_11b9_0_nf;
+extern xcpuop_func op_11b9_0_ff;
+extern xcpuop_func op_11ba_0_nf;
+extern xcpuop_func op_11ba_0_ff;
+extern xcpuop_func op_11bb_0_nf;
+extern xcpuop_func op_11bb_0_ff;
+extern xcpuop_func op_11bc_0_nf;
+extern xcpuop_func op_11bc_0_ff;
+extern xcpuop_func op_11c0_0_nf;
+extern xcpuop_func op_11c0_0_ff;
+extern xcpuop_func op_11d0_0_nf;
+extern xcpuop_func op_11d0_0_ff;
+extern xcpuop_func op_11d8_0_nf;
+extern xcpuop_func op_11d8_0_ff;
+extern xcpuop_func op_11e0_0_nf;
+extern xcpuop_func op_11e0_0_ff;
+extern xcpuop_func op_11e8_0_nf;
+extern xcpuop_func op_11e8_0_ff;
+extern xcpuop_func op_11f0_0_nf;
+extern xcpuop_func op_11f0_0_ff;
+extern xcpuop_func op_11f8_0_nf;
+extern xcpuop_func op_11f8_0_ff;
+extern xcpuop_func op_11f9_0_nf;
+extern xcpuop_func op_11f9_0_ff;
+extern xcpuop_func op_11fa_0_nf;
+extern xcpuop_func op_11fa_0_ff;
+extern xcpuop_func op_11fb_0_nf;
+extern xcpuop_func op_11fb_0_ff;
+extern xcpuop_func op_11fc_0_nf;
+extern xcpuop_func op_11fc_0_ff;
+extern xcpuop_func op_13c0_0_nf;
+extern xcpuop_func op_13c0_0_ff;
+extern xcpuop_func op_13d0_0_nf;
+extern xcpuop_func op_13d0_0_ff;
+extern xcpuop_func op_13d8_0_nf;
+extern xcpuop_func op_13d8_0_ff;
+extern xcpuop_func op_13e0_0_nf;
+extern xcpuop_func op_13e0_0_ff;
+extern xcpuop_func op_13e8_0_nf;
+extern xcpuop_func op_13e8_0_ff;
+extern xcpuop_func op_13f0_0_nf;
+extern xcpuop_func op_13f0_0_ff;
+extern xcpuop_func op_13f8_0_nf;
+extern xcpuop_func op_13f8_0_ff;
+extern xcpuop_func op_13f9_0_nf;
+extern xcpuop_func op_13f9_0_ff;
+extern xcpuop_func op_13fa_0_nf;
+extern xcpuop_func op_13fa_0_ff;
+extern xcpuop_func op_13fb_0_nf;
+extern xcpuop_func op_13fb_0_ff;
+extern xcpuop_func op_13fc_0_nf;
+extern xcpuop_func op_13fc_0_ff;
+extern xcpuop_func op_2000_0_nf;
+extern xcpuop_func op_2000_0_ff;
+extern xcpuop_func op_2008_0_nf;
+extern xcpuop_func op_2008_0_ff;
+extern xcpuop_func op_2010_0_nf;
+extern xcpuop_func op_2010_0_ff;
+extern xcpuop_func op_2018_0_nf;
+extern xcpuop_func op_2018_0_ff;
+extern xcpuop_func op_2020_0_nf;
+extern xcpuop_func op_2020_0_ff;
+extern xcpuop_func op_2028_0_nf;
+extern xcpuop_func op_2028_0_ff;
+extern xcpuop_func op_2030_0_nf;
+extern xcpuop_func op_2030_0_ff;
+extern xcpuop_func op_2038_0_nf;
+extern xcpuop_func op_2038_0_ff;
+extern xcpuop_func op_2039_0_nf;
+extern xcpuop_func op_2039_0_ff;
+extern xcpuop_func op_203a_0_nf;
+extern xcpuop_func op_203a_0_ff;
+extern xcpuop_func op_203b_0_nf;
+extern xcpuop_func op_203b_0_ff;
+extern xcpuop_func op_203c_0_nf;
+extern xcpuop_func op_203c_0_ff;
+extern xcpuop_func op_2040_0_nf;
+extern xcpuop_func op_2040_0_ff;
+extern xcpuop_func op_2048_0_nf;
+extern xcpuop_func op_2048_0_ff;
+extern xcpuop_func op_2050_0_nf;
+extern xcpuop_func op_2050_0_ff;
+extern xcpuop_func op_2058_0_nf;
+extern xcpuop_func op_2058_0_ff;
+extern xcpuop_func op_2060_0_nf;
+extern xcpuop_func op_2060_0_ff;
+extern xcpuop_func op_2068_0_nf;
+extern xcpuop_func op_2068_0_ff;
+extern xcpuop_func op_2070_0_nf;
+extern xcpuop_func op_2070_0_ff;
+extern xcpuop_func op_2078_0_nf;
+extern xcpuop_func op_2078_0_ff;
+extern xcpuop_func op_2079_0_nf;
+extern xcpuop_func op_2079_0_ff;
+extern xcpuop_func op_207a_0_nf;
+extern xcpuop_func op_207a_0_ff;
+extern xcpuop_func op_207b_0_nf;
+extern xcpuop_func op_207b_0_ff;
+extern xcpuop_func op_207c_0_nf;
+extern xcpuop_func op_207c_0_ff;
+extern xcpuop_func op_2080_0_nf;
+extern xcpuop_func op_2080_0_ff;
+extern xcpuop_func op_2088_0_nf;
+extern xcpuop_func op_2088_0_ff;
+extern xcpuop_func op_2090_0_nf;
+extern xcpuop_func op_2090_0_ff;
+extern xcpuop_func op_2098_0_nf;
+extern xcpuop_func op_2098_0_ff;
+extern xcpuop_func op_20a0_0_nf;
+extern xcpuop_func op_20a0_0_ff;
+extern xcpuop_func op_20a8_0_nf;
+extern xcpuop_func op_20a8_0_ff;
+extern xcpuop_func op_20b0_0_nf;
+extern xcpuop_func op_20b0_0_ff;
+extern xcpuop_func op_20b8_0_nf;
+extern xcpuop_func op_20b8_0_ff;
+extern xcpuop_func op_20b9_0_nf;
+extern xcpuop_func op_20b9_0_ff;
+extern xcpuop_func op_20ba_0_nf;
+extern xcpuop_func op_20ba_0_ff;
+extern xcpuop_func op_20bb_0_nf;
+extern xcpuop_func op_20bb_0_ff;
+extern xcpuop_func op_20bc_0_nf;
+extern xcpuop_func op_20bc_0_ff;
+extern xcpuop_func op_20c0_0_nf;
+extern xcpuop_func op_20c0_0_ff;
+extern xcpuop_func op_20c8_0_nf;
+extern xcpuop_func op_20c8_0_ff;
+extern xcpuop_func op_20d0_0_nf;
+extern xcpuop_func op_20d0_0_ff;
+extern xcpuop_func op_20d8_0_nf;
+extern xcpuop_func op_20d8_0_ff;
+extern xcpuop_func op_20e0_0_nf;
+extern xcpuop_func op_20e0_0_ff;
+extern xcpuop_func op_20e8_0_nf;
+extern xcpuop_func op_20e8_0_ff;
+extern xcpuop_func op_20f0_0_nf;
+extern xcpuop_func op_20f0_0_ff;
+extern xcpuop_func op_20f8_0_nf;
+extern xcpuop_func op_20f8_0_ff;
+extern xcpuop_func op_20f9_0_nf;
+extern xcpuop_func op_20f9_0_ff;
+extern xcpuop_func op_20fa_0_nf;
+extern xcpuop_func op_20fa_0_ff;
+extern xcpuop_func op_20fb_0_nf;
+extern xcpuop_func op_20fb_0_ff;
+extern xcpuop_func op_20fc_0_nf;
+extern xcpuop_func op_20fc_0_ff;
+extern xcpuop_func op_2100_0_nf;
+extern xcpuop_func op_2100_0_ff;
+extern xcpuop_func op_2108_0_nf;
+extern xcpuop_func op_2108_0_ff;
+extern xcpuop_func op_2110_0_nf;
+extern xcpuop_func op_2110_0_ff;
+extern xcpuop_func op_2118_0_nf;
+extern xcpuop_func op_2118_0_ff;
+extern xcpuop_func op_2120_0_nf;
+extern xcpuop_func op_2120_0_ff;
+extern xcpuop_func op_2128_0_nf;
+extern xcpuop_func op_2128_0_ff;
+extern xcpuop_func op_2130_0_nf;
+extern xcpuop_func op_2130_0_ff;
+extern xcpuop_func op_2138_0_nf;
+extern xcpuop_func op_2138_0_ff;
+extern xcpuop_func op_2139_0_nf;
+extern xcpuop_func op_2139_0_ff;
+extern xcpuop_func op_213a_0_nf;
+extern xcpuop_func op_213a_0_ff;
+extern xcpuop_func op_213b_0_nf;
+extern xcpuop_func op_213b_0_ff;
+extern xcpuop_func op_213c_0_nf;
+extern xcpuop_func op_213c_0_ff;
+extern xcpuop_func op_2140_0_nf;
+extern xcpuop_func op_2140_0_ff;
+extern xcpuop_func op_2148_0_nf;
+extern xcpuop_func op_2148_0_ff;
+extern xcpuop_func op_2150_0_nf;
+extern xcpuop_func op_2150_0_ff;
+extern xcpuop_func op_2158_0_nf;
+extern xcpuop_func op_2158_0_ff;
+extern xcpuop_func op_2160_0_nf;
+extern xcpuop_func op_2160_0_ff;
+extern xcpuop_func op_2168_0_nf;
+extern xcpuop_func op_2168_0_ff;
+extern xcpuop_func op_2170_0_nf;
+extern xcpuop_func op_2170_0_ff;
+extern xcpuop_func op_2178_0_nf;
+extern xcpuop_func op_2178_0_ff;
+extern xcpuop_func op_2179_0_nf;
+extern xcpuop_func op_2179_0_ff;
+extern xcpuop_func op_217a_0_nf;
+extern xcpuop_func op_217a_0_ff;
+extern xcpuop_func op_217b_0_nf;
+extern xcpuop_func op_217b_0_ff;
+extern xcpuop_func op_217c_0_nf;
+extern xcpuop_func op_217c_0_ff;
+extern xcpuop_func op_2180_0_nf;
+extern xcpuop_func op_2180_0_ff;
+extern xcpuop_func op_2188_0_nf;
+extern xcpuop_func op_2188_0_ff;
+extern xcpuop_func op_2190_0_nf;
+extern xcpuop_func op_2190_0_ff;
+extern xcpuop_func op_2198_0_nf;
+extern xcpuop_func op_2198_0_ff;
+extern xcpuop_func op_21a0_0_nf;
+extern xcpuop_func op_21a0_0_ff;
+extern xcpuop_func op_21a8_0_nf;
+extern xcpuop_func op_21a8_0_ff;
+extern xcpuop_func op_21b0_0_nf;
+extern xcpuop_func op_21b0_0_ff;
+extern xcpuop_func op_21b8_0_nf;
+extern xcpuop_func op_21b8_0_ff;
+extern xcpuop_func op_21b9_0_nf;
+extern xcpuop_func op_21b9_0_ff;
+extern xcpuop_func op_21ba_0_nf;
+extern xcpuop_func op_21ba_0_ff;
+extern xcpuop_func op_21bb_0_nf;
+extern xcpuop_func op_21bb_0_ff;
+extern xcpuop_func op_21bc_0_nf;
+extern xcpuop_func op_21bc_0_ff;
+extern xcpuop_func op_21c0_0_nf;
+extern xcpuop_func op_21c0_0_ff;
+extern xcpuop_func op_21c8_0_nf;
+extern xcpuop_func op_21c8_0_ff;
+extern xcpuop_func op_21d0_0_nf;
+extern xcpuop_func op_21d0_0_ff;
+extern xcpuop_func op_21d8_0_nf;
+extern xcpuop_func op_21d8_0_ff;
+extern xcpuop_func op_21e0_0_nf;
+extern xcpuop_func op_21e0_0_ff;
+extern xcpuop_func op_21e8_0_nf;
+extern xcpuop_func op_21e8_0_ff;
+extern xcpuop_func op_21f0_0_nf;
+extern xcpuop_func op_21f0_0_ff;
+extern xcpuop_func op_21f8_0_nf;
+extern xcpuop_func op_21f8_0_ff;
+extern xcpuop_func op_21f9_0_nf;
+extern xcpuop_func op_21f9_0_ff;
+extern xcpuop_func op_21fa_0_nf;
+extern xcpuop_func op_21fa_0_ff;
+extern xcpuop_func op_21fb_0_nf;
+extern xcpuop_func op_21fb_0_ff;
+extern xcpuop_func op_21fc_0_nf;
+extern xcpuop_func op_21fc_0_ff;
+extern xcpuop_func op_23c0_0_nf;
+extern xcpuop_func op_23c0_0_ff;
+extern xcpuop_func op_23c8_0_nf;
+extern xcpuop_func op_23c8_0_ff;
+extern xcpuop_func op_23d0_0_nf;
+extern xcpuop_func op_23d0_0_ff;
+extern xcpuop_func op_23d8_0_nf;
+extern xcpuop_func op_23d8_0_ff;
+extern xcpuop_func op_23e0_0_nf;
+extern xcpuop_func op_23e0_0_ff;
+extern xcpuop_func op_23e8_0_nf;
+extern xcpuop_func op_23e8_0_ff;
+extern xcpuop_func op_23f0_0_nf;
+extern xcpuop_func op_23f0_0_ff;
+extern xcpuop_func op_23f8_0_nf;
+extern xcpuop_func op_23f8_0_ff;
+extern xcpuop_func op_23f9_0_nf;
+extern xcpuop_func op_23f9_0_ff;
+extern xcpuop_func op_23fa_0_nf;
+extern xcpuop_func op_23fa_0_ff;
+extern xcpuop_func op_23fb_0_nf;
+extern xcpuop_func op_23fb_0_ff;
+extern xcpuop_func op_23fc_0_nf;
+extern xcpuop_func op_23fc_0_ff;
+extern xcpuop_func op_3000_0_nf;
+extern xcpuop_func op_3000_0_ff;
+extern xcpuop_func op_3008_0_nf;
+extern xcpuop_func op_3008_0_ff;
+extern xcpuop_func op_3010_0_nf;
+extern xcpuop_func op_3010_0_ff;
+extern xcpuop_func op_3018_0_nf;
+extern xcpuop_func op_3018_0_ff;
+extern xcpuop_func op_3020_0_nf;
+extern xcpuop_func op_3020_0_ff;
+extern xcpuop_func op_3028_0_nf;
+extern xcpuop_func op_3028_0_ff;
+extern xcpuop_func op_3030_0_nf;
+extern xcpuop_func op_3030_0_ff;
+extern xcpuop_func op_3038_0_nf;
+extern xcpuop_func op_3038_0_ff;
+extern xcpuop_func op_3039_0_nf;
+extern xcpuop_func op_3039_0_ff;
+extern xcpuop_func op_303a_0_nf;
+extern xcpuop_func op_303a_0_ff;
+extern xcpuop_func op_303b_0_nf;
+extern xcpuop_func op_303b_0_ff;
+extern xcpuop_func op_303c_0_nf;
+extern xcpuop_func op_303c_0_ff;
+extern xcpuop_func op_3040_0_nf;
+extern xcpuop_func op_3040_0_ff;
+extern xcpuop_func op_3048_0_nf;
+extern xcpuop_func op_3048_0_ff;
+extern xcpuop_func op_3050_0_nf;
+extern xcpuop_func op_3050_0_ff;
+extern xcpuop_func op_3058_0_nf;
+extern xcpuop_func op_3058_0_ff;
+extern xcpuop_func op_3060_0_nf;
+extern xcpuop_func op_3060_0_ff;
+extern xcpuop_func op_3068_0_nf;
+extern xcpuop_func op_3068_0_ff;
+extern xcpuop_func op_3070_0_nf;
+extern xcpuop_func op_3070_0_ff;
+extern xcpuop_func op_3078_0_nf;
+extern xcpuop_func op_3078_0_ff;
+extern xcpuop_func op_3079_0_nf;
+extern xcpuop_func op_3079_0_ff;
+extern xcpuop_func op_307a_0_nf;
+extern xcpuop_func op_307a_0_ff;
+extern xcpuop_func op_307b_0_nf;
+extern xcpuop_func op_307b_0_ff;
+extern xcpuop_func op_307c_0_nf;
+extern xcpuop_func op_307c_0_ff;
+extern xcpuop_func op_3080_0_nf;
+extern xcpuop_func op_3080_0_ff;
+extern xcpuop_func op_3088_0_nf;
+extern xcpuop_func op_3088_0_ff;
+extern xcpuop_func op_3090_0_nf;
+extern xcpuop_func op_3090_0_ff;
+extern xcpuop_func op_3098_0_nf;
+extern xcpuop_func op_3098_0_ff;
+extern xcpuop_func op_30a0_0_nf;
+extern xcpuop_func op_30a0_0_ff;
+extern xcpuop_func op_30a8_0_nf;
+extern xcpuop_func op_30a8_0_ff;
+extern xcpuop_func op_30b0_0_nf;
+extern xcpuop_func op_30b0_0_ff;
+extern xcpuop_func op_30b8_0_nf;
+extern xcpuop_func op_30b8_0_ff;
+extern xcpuop_func op_30b9_0_nf;
+extern xcpuop_func op_30b9_0_ff;
+extern xcpuop_func op_30ba_0_nf;
+extern xcpuop_func op_30ba_0_ff;
+extern xcpuop_func op_30bb_0_nf;
+extern xcpuop_func op_30bb_0_ff;
+extern xcpuop_func op_30bc_0_nf;
+extern xcpuop_func op_30bc_0_ff;
+extern xcpuop_func op_30c0_0_nf;
+extern xcpuop_func op_30c0_0_ff;
+extern xcpuop_func op_30c8_0_nf;
+extern xcpuop_func op_30c8_0_ff;
+extern xcpuop_func op_30d0_0_nf;
+extern xcpuop_func op_30d0_0_ff;
+extern xcpuop_func op_30d8_0_nf;
+extern xcpuop_func op_30d8_0_ff;
+extern xcpuop_func op_30e0_0_nf;
+extern xcpuop_func op_30e0_0_ff;
+extern xcpuop_func op_30e8_0_nf;
+extern xcpuop_func op_30e8_0_ff;
+extern xcpuop_func op_30f0_0_nf;
+extern xcpuop_func op_30f0_0_ff;
+extern xcpuop_func op_30f8_0_nf;
+extern xcpuop_func op_30f8_0_ff;
+extern xcpuop_func op_30f9_0_nf;
+extern xcpuop_func op_30f9_0_ff;
+extern xcpuop_func op_30fa_0_nf;
+extern xcpuop_func op_30fa_0_ff;
+extern xcpuop_func op_30fb_0_nf;
+extern xcpuop_func op_30fb_0_ff;
+extern xcpuop_func op_30fc_0_nf;
+extern xcpuop_func op_30fc_0_ff;
+extern xcpuop_func op_3100_0_nf;
+extern xcpuop_func op_3100_0_ff;
+extern xcpuop_func op_3108_0_nf;
+extern xcpuop_func op_3108_0_ff;
+extern xcpuop_func op_3110_0_nf;
+extern xcpuop_func op_3110_0_ff;
+extern xcpuop_func op_3118_0_nf;
+extern xcpuop_func op_3118_0_ff;
+extern xcpuop_func op_3120_0_nf;
+extern xcpuop_func op_3120_0_ff;
+extern xcpuop_func op_3128_0_nf;
+extern xcpuop_func op_3128_0_ff;
+extern xcpuop_func op_3130_0_nf;
+extern xcpuop_func op_3130_0_ff;
+extern xcpuop_func op_3138_0_nf;
+extern xcpuop_func op_3138_0_ff;
+extern xcpuop_func op_3139_0_nf;
+extern xcpuop_func op_3139_0_ff;
+extern xcpuop_func op_313a_0_nf;
+extern xcpuop_func op_313a_0_ff;
+extern xcpuop_func op_313b_0_nf;
+extern xcpuop_func op_313b_0_ff;
+extern xcpuop_func op_313c_0_nf;
+extern xcpuop_func op_313c_0_ff;
+extern xcpuop_func op_3140_0_nf;
+extern xcpuop_func op_3140_0_ff;
+extern xcpuop_func op_3148_0_nf;
+extern xcpuop_func op_3148_0_ff;
+extern xcpuop_func op_3150_0_nf;
+extern xcpuop_func op_3150_0_ff;
+extern xcpuop_func op_3158_0_nf;
+extern xcpuop_func op_3158_0_ff;
+extern xcpuop_func op_3160_0_nf;
+extern xcpuop_func op_3160_0_ff;
+extern xcpuop_func op_3168_0_nf;
+extern xcpuop_func op_3168_0_ff;
+extern xcpuop_func op_3170_0_nf;
+extern xcpuop_func op_3170_0_ff;
+extern xcpuop_func op_3178_0_nf;
+extern xcpuop_func op_3178_0_ff;
+extern xcpuop_func op_3179_0_nf;
+extern xcpuop_func op_3179_0_ff;
+extern xcpuop_func op_317a_0_nf;
+extern xcpuop_func op_317a_0_ff;
+extern xcpuop_func op_317b_0_nf;
+extern xcpuop_func op_317b_0_ff;
+extern xcpuop_func op_317c_0_nf;
+extern xcpuop_func op_317c_0_ff;
+extern xcpuop_func op_3180_0_nf;
+extern xcpuop_func op_3180_0_ff;
+extern xcpuop_func op_3188_0_nf;
+extern xcpuop_func op_3188_0_ff;
+extern xcpuop_func op_3190_0_nf;
+extern xcpuop_func op_3190_0_ff;
+extern xcpuop_func op_3198_0_nf;
+extern xcpuop_func op_3198_0_ff;
+extern xcpuop_func op_31a0_0_nf;
+extern xcpuop_func op_31a0_0_ff;
+extern xcpuop_func op_31a8_0_nf;
+extern xcpuop_func op_31a8_0_ff;
+extern xcpuop_func op_31b0_0_nf;
+extern xcpuop_func op_31b0_0_ff;
+extern xcpuop_func op_31b8_0_nf;
+extern xcpuop_func op_31b8_0_ff;
+extern xcpuop_func op_31b9_0_nf;
+extern xcpuop_func op_31b9_0_ff;
+extern xcpuop_func op_31ba_0_nf;
+extern xcpuop_func op_31ba_0_ff;
+extern xcpuop_func op_31bb_0_nf;
+extern xcpuop_func op_31bb_0_ff;
+extern xcpuop_func op_31bc_0_nf;
+extern xcpuop_func op_31bc_0_ff;
+extern xcpuop_func op_31c0_0_nf;
+extern xcpuop_func op_31c0_0_ff;
+extern xcpuop_func op_31c8_0_nf;
+extern xcpuop_func op_31c8_0_ff;
+extern xcpuop_func op_31d0_0_nf;
+extern xcpuop_func op_31d0_0_ff;
+extern xcpuop_func op_31d8_0_nf;
+extern xcpuop_func op_31d8_0_ff;
+extern xcpuop_func op_31e0_0_nf;
+extern xcpuop_func op_31e0_0_ff;
+extern xcpuop_func op_31e8_0_nf;
+extern xcpuop_func op_31e8_0_ff;
+extern xcpuop_func op_31f0_0_nf;
+extern xcpuop_func op_31f0_0_ff;
+extern xcpuop_func op_31f8_0_nf;
+extern xcpuop_func op_31f8_0_ff;
+extern xcpuop_func op_31f9_0_nf;
+extern xcpuop_func op_31f9_0_ff;
+extern xcpuop_func op_31fa_0_nf;
+extern xcpuop_func op_31fa_0_ff;
+extern xcpuop_func op_31fb_0_nf;
+extern xcpuop_func op_31fb_0_ff;
+extern xcpuop_func op_31fc_0_nf;
+extern xcpuop_func op_31fc_0_ff;
+extern xcpuop_func op_33c0_0_nf;
+extern xcpuop_func op_33c0_0_ff;
+extern xcpuop_func op_33c8_0_nf;
+extern xcpuop_func op_33c8_0_ff;
+extern xcpuop_func op_33d0_0_nf;
+extern xcpuop_func op_33d0_0_ff;
+extern xcpuop_func op_33d8_0_nf;
+extern xcpuop_func op_33d8_0_ff;
+extern xcpuop_func op_33e0_0_nf;
+extern xcpuop_func op_33e0_0_ff;
+extern xcpuop_func op_33e8_0_nf;
+extern xcpuop_func op_33e8_0_ff;
+extern xcpuop_func op_33f0_0_nf;
+extern xcpuop_func op_33f0_0_ff;
+extern xcpuop_func op_33f8_0_nf;
+extern xcpuop_func op_33f8_0_ff;
+extern xcpuop_func op_33f9_0_nf;
+extern xcpuop_func op_33f9_0_ff;
+extern xcpuop_func op_33fa_0_nf;
+extern xcpuop_func op_33fa_0_ff;
+extern xcpuop_func op_33fb_0_nf;
+extern xcpuop_func op_33fb_0_ff;
+extern xcpuop_func op_33fc_0_nf;
+extern xcpuop_func op_33fc_0_ff;
+extern xcpuop_func op_4000_0_nf;
+extern xcpuop_func op_4000_0_ff;
+extern xcpuop_func op_4010_0_nf;
+extern xcpuop_func op_4010_0_ff;
+extern xcpuop_func op_4018_0_nf;
+extern xcpuop_func op_4018_0_ff;
+extern xcpuop_func op_4020_0_nf;
+extern xcpuop_func op_4020_0_ff;
+extern xcpuop_func op_4028_0_nf;
+extern xcpuop_func op_4028_0_ff;
+extern xcpuop_func op_4030_0_nf;
+extern xcpuop_func op_4030_0_ff;
+extern xcpuop_func op_4038_0_nf;
+extern xcpuop_func op_4038_0_ff;
+extern xcpuop_func op_4039_0_nf;
+extern xcpuop_func op_4039_0_ff;
+extern xcpuop_func op_4040_0_nf;
+extern xcpuop_func op_4040_0_ff;
+extern xcpuop_func op_4050_0_nf;
+extern xcpuop_func op_4050_0_ff;
+extern xcpuop_func op_4058_0_nf;
+extern xcpuop_func op_4058_0_ff;
+extern xcpuop_func op_4060_0_nf;
+extern xcpuop_func op_4060_0_ff;
+extern xcpuop_func op_4068_0_nf;
+extern xcpuop_func op_4068_0_ff;
+extern xcpuop_func op_4070_0_nf;
+extern xcpuop_func op_4070_0_ff;
+extern xcpuop_func op_4078_0_nf;
+extern xcpuop_func op_4078_0_ff;
+extern xcpuop_func op_4079_0_nf;
+extern xcpuop_func op_4079_0_ff;
+extern xcpuop_func op_4080_0_nf;
+extern xcpuop_func op_4080_0_ff;
+extern xcpuop_func op_4090_0_nf;
+extern xcpuop_func op_4090_0_ff;
+extern xcpuop_func op_4098_0_nf;
+extern xcpuop_func op_4098_0_ff;
+extern xcpuop_func op_40a0_0_nf;
+extern xcpuop_func op_40a0_0_ff;
+extern xcpuop_func op_40a8_0_nf;
+extern xcpuop_func op_40a8_0_ff;
+extern xcpuop_func op_40b0_0_nf;
+extern xcpuop_func op_40b0_0_ff;
+extern xcpuop_func op_40b8_0_nf;
+extern xcpuop_func op_40b8_0_ff;
+extern xcpuop_func op_40b9_0_nf;
+extern xcpuop_func op_40b9_0_ff;
+extern xcpuop_func op_40c0_0_nf;
+extern xcpuop_func op_40c0_0_ff;
+extern xcpuop_func op_40d0_0_nf;
+extern xcpuop_func op_40d0_0_ff;
+extern xcpuop_func op_40d8_0_nf;
+extern xcpuop_func op_40d8_0_ff;
+extern xcpuop_func op_40e0_0_nf;
+extern xcpuop_func op_40e0_0_ff;
+extern xcpuop_func op_40e8_0_nf;
+extern xcpuop_func op_40e8_0_ff;
+extern xcpuop_func op_40f0_0_nf;
+extern xcpuop_func op_40f0_0_ff;
+extern xcpuop_func op_40f8_0_nf;
+extern xcpuop_func op_40f8_0_ff;
+extern xcpuop_func op_40f9_0_nf;
+extern xcpuop_func op_40f9_0_ff;
+extern xcpuop_func op_4100_0_nf;
+extern xcpuop_func op_4100_0_ff;
+extern xcpuop_func op_4110_0_nf;
+extern xcpuop_func op_4110_0_ff;
+extern xcpuop_func op_4118_0_nf;
+extern xcpuop_func op_4118_0_ff;
+extern xcpuop_func op_4120_0_nf;
+extern xcpuop_func op_4120_0_ff;
+extern xcpuop_func op_4128_0_nf;
+extern xcpuop_func op_4128_0_ff;
+extern xcpuop_func op_4130_0_nf;
+extern xcpuop_func op_4130_0_ff;
+extern xcpuop_func op_4138_0_nf;
+extern xcpuop_func op_4138_0_ff;
+extern xcpuop_func op_4139_0_nf;
+extern xcpuop_func op_4139_0_ff;
+extern xcpuop_func op_413a_0_nf;
+extern xcpuop_func op_413a_0_ff;
+extern xcpuop_func op_413b_0_nf;
+extern xcpuop_func op_413b_0_ff;
+extern xcpuop_func op_413c_0_nf;
+extern xcpuop_func op_413c_0_ff;
+extern xcpuop_func op_4180_0_nf;
+extern xcpuop_func op_4180_0_ff;
+extern xcpuop_func op_4190_0_nf;
+extern xcpuop_func op_4190_0_ff;
+extern xcpuop_func op_4198_0_nf;
+extern xcpuop_func op_4198_0_ff;
+extern xcpuop_func op_41a0_0_nf;
+extern xcpuop_func op_41a0_0_ff;
+extern xcpuop_func op_41a8_0_nf;
+extern xcpuop_func op_41a8_0_ff;
+extern xcpuop_func op_41b0_0_nf;
+extern xcpuop_func op_41b0_0_ff;
+extern xcpuop_func op_41b8_0_nf;
+extern xcpuop_func op_41b8_0_ff;
+extern xcpuop_func op_41b9_0_nf;
+extern xcpuop_func op_41b9_0_ff;
+extern xcpuop_func op_41ba_0_nf;
+extern xcpuop_func op_41ba_0_ff;
+extern xcpuop_func op_41bb_0_nf;
+extern xcpuop_func op_41bb_0_ff;
+extern xcpuop_func op_41bc_0_nf;
+extern xcpuop_func op_41bc_0_ff;
+extern xcpuop_func op_41d0_0_nf;
+extern xcpuop_func op_41d0_0_ff;
+extern xcpuop_func op_41e8_0_nf;
+extern xcpuop_func op_41e8_0_ff;
+extern xcpuop_func op_41f0_0_nf;
+extern xcpuop_func op_41f0_0_ff;
+extern xcpuop_func op_41f8_0_nf;
+extern xcpuop_func op_41f8_0_ff;
+extern xcpuop_func op_41f9_0_nf;
+extern xcpuop_func op_41f9_0_ff;
+extern xcpuop_func op_41fa_0_nf;
+extern xcpuop_func op_41fa_0_ff;
+extern xcpuop_func op_41fb_0_nf;
+extern xcpuop_func op_41fb_0_ff;
+extern xcpuop_func op_4200_0_nf;
+extern xcpuop_func op_4200_0_ff;
+extern xcpuop_func op_4210_0_nf;
+extern xcpuop_func op_4210_0_ff;
+extern xcpuop_func op_4218_0_nf;
+extern xcpuop_func op_4218_0_ff;
+extern xcpuop_func op_4220_0_nf;
+extern xcpuop_func op_4220_0_ff;
+extern xcpuop_func op_4228_0_nf;
+extern xcpuop_func op_4228_0_ff;
+extern xcpuop_func op_4230_0_nf;
+extern xcpuop_func op_4230_0_ff;
+extern xcpuop_func op_4238_0_nf;
+extern xcpuop_func op_4238_0_ff;
+extern xcpuop_func op_4239_0_nf;
+extern xcpuop_func op_4239_0_ff;
+extern xcpuop_func op_4240_0_nf;
+extern xcpuop_func op_4240_0_ff;
+extern xcpuop_func op_4250_0_nf;
+extern xcpuop_func op_4250_0_ff;
+extern xcpuop_func op_4258_0_nf;
+extern xcpuop_func op_4258_0_ff;
+extern xcpuop_func op_4260_0_nf;
+extern xcpuop_func op_4260_0_ff;
+extern xcpuop_func op_4268_0_nf;
+extern xcpuop_func op_4268_0_ff;
+extern xcpuop_func op_4270_0_nf;
+extern xcpuop_func op_4270_0_ff;
+extern xcpuop_func op_4278_0_nf;
+extern xcpuop_func op_4278_0_ff;
+extern xcpuop_func op_4279_0_nf;
+extern xcpuop_func op_4279_0_ff;
+extern xcpuop_func op_4280_0_nf;
+extern xcpuop_func op_4280_0_ff;
+extern xcpuop_func op_4290_0_nf;
+extern xcpuop_func op_4290_0_ff;
+extern xcpuop_func op_4298_0_nf;
+extern xcpuop_func op_4298_0_ff;
+extern xcpuop_func op_42a0_0_nf;
+extern xcpuop_func op_42a0_0_ff;
+extern xcpuop_func op_42a8_0_nf;
+extern xcpuop_func op_42a8_0_ff;
+extern xcpuop_func op_42b0_0_nf;
+extern xcpuop_func op_42b0_0_ff;
+extern xcpuop_func op_42b8_0_nf;
+extern xcpuop_func op_42b8_0_ff;
+extern xcpuop_func op_42b9_0_nf;
+extern xcpuop_func op_42b9_0_ff;
+extern xcpuop_func op_42c0_0_nf;
+extern xcpuop_func op_42c0_0_ff;
+extern xcpuop_func op_42d0_0_nf;
+extern xcpuop_func op_42d0_0_ff;
+extern xcpuop_func op_42d8_0_nf;
+extern xcpuop_func op_42d8_0_ff;
+extern xcpuop_func op_42e0_0_nf;
+extern xcpuop_func op_42e0_0_ff;
+extern xcpuop_func op_42e8_0_nf;
+extern xcpuop_func op_42e8_0_ff;
+extern xcpuop_func op_42f0_0_nf;
+extern xcpuop_func op_42f0_0_ff;
+extern xcpuop_func op_42f8_0_nf;
+extern xcpuop_func op_42f8_0_ff;
+extern xcpuop_func op_42f9_0_nf;
+extern xcpuop_func op_42f9_0_ff;
+extern xcpuop_func op_4400_0_nf;
+extern xcpuop_func op_4400_0_ff;
+extern xcpuop_func op_4410_0_nf;
+extern xcpuop_func op_4410_0_ff;
+extern xcpuop_func op_4418_0_nf;
+extern xcpuop_func op_4418_0_ff;
+extern xcpuop_func op_4420_0_nf;
+extern xcpuop_func op_4420_0_ff;
+extern xcpuop_func op_4428_0_nf;
+extern xcpuop_func op_4428_0_ff;
+extern xcpuop_func op_4430_0_nf;
+extern xcpuop_func op_4430_0_ff;
+extern xcpuop_func op_4438_0_nf;
+extern xcpuop_func op_4438_0_ff;
+extern xcpuop_func op_4439_0_nf;
+extern xcpuop_func op_4439_0_ff;
+extern xcpuop_func op_4440_0_nf;
+extern xcpuop_func op_4440_0_ff;
+extern xcpuop_func op_4450_0_nf;
+extern xcpuop_func op_4450_0_ff;
+extern xcpuop_func op_4458_0_nf;
+extern xcpuop_func op_4458_0_ff;
+extern xcpuop_func op_4460_0_nf;
+extern xcpuop_func op_4460_0_ff;
+extern xcpuop_func op_4468_0_nf;
+extern xcpuop_func op_4468_0_ff;
+extern xcpuop_func op_4470_0_nf;
+extern xcpuop_func op_4470_0_ff;
+extern xcpuop_func op_4478_0_nf;
+extern xcpuop_func op_4478_0_ff;
+extern xcpuop_func op_4479_0_nf;
+extern xcpuop_func op_4479_0_ff;
+extern xcpuop_func op_4480_0_nf;
+extern xcpuop_func op_4480_0_ff;
+extern xcpuop_func op_4490_0_nf;
+extern xcpuop_func op_4490_0_ff;
+extern xcpuop_func op_4498_0_nf;
+extern xcpuop_func op_4498_0_ff;
+extern xcpuop_func op_44a0_0_nf;
+extern xcpuop_func op_44a0_0_ff;
+extern xcpuop_func op_44a8_0_nf;
+extern xcpuop_func op_44a8_0_ff;
+extern xcpuop_func op_44b0_0_nf;
+extern xcpuop_func op_44b0_0_ff;
+extern xcpuop_func op_44b8_0_nf;
+extern xcpuop_func op_44b8_0_ff;
+extern xcpuop_func op_44b9_0_nf;
+extern xcpuop_func op_44b9_0_ff;
+extern xcpuop_func op_44c0_0_nf;
+extern xcpuop_func op_44c0_0_ff;
+extern xcpuop_func op_44d0_0_nf;
+extern xcpuop_func op_44d0_0_ff;
+extern xcpuop_func op_44d8_0_nf;
+extern xcpuop_func op_44d8_0_ff;
+extern xcpuop_func op_44e0_0_nf;
+extern xcpuop_func op_44e0_0_ff;
+extern xcpuop_func op_44e8_0_nf;
+extern xcpuop_func op_44e8_0_ff;
+extern xcpuop_func op_44f0_0_nf;
+extern xcpuop_func op_44f0_0_ff;
+extern xcpuop_func op_44f8_0_nf;
+extern xcpuop_func op_44f8_0_ff;
+extern xcpuop_func op_44f9_0_nf;
+extern xcpuop_func op_44f9_0_ff;
+extern xcpuop_func op_44fa_0_nf;
+extern xcpuop_func op_44fa_0_ff;
+extern xcpuop_func op_44fb_0_nf;
+extern xcpuop_func op_44fb_0_ff;
+extern xcpuop_func op_44fc_0_nf;
+extern xcpuop_func op_44fc_0_ff;
+extern xcpuop_func op_4600_0_nf;
+extern xcpuop_func op_4600_0_ff;
+extern xcpuop_func op_4610_0_nf;
+extern xcpuop_func op_4610_0_ff;
+extern xcpuop_func op_4618_0_nf;
+extern xcpuop_func op_4618_0_ff;
+extern xcpuop_func op_4620_0_nf;
+extern xcpuop_func op_4620_0_ff;
+extern xcpuop_func op_4628_0_nf;
+extern xcpuop_func op_4628_0_ff;
+extern xcpuop_func op_4630_0_nf;
+extern xcpuop_func op_4630_0_ff;
+extern xcpuop_func op_4638_0_nf;
+extern xcpuop_func op_4638_0_ff;
+extern xcpuop_func op_4639_0_nf;
+extern xcpuop_func op_4639_0_ff;
+extern xcpuop_func op_4640_0_nf;
+extern xcpuop_func op_4640_0_ff;
+extern xcpuop_func op_4650_0_nf;
+extern xcpuop_func op_4650_0_ff;
+extern xcpuop_func op_4658_0_nf;
+extern xcpuop_func op_4658_0_ff;
+extern xcpuop_func op_4660_0_nf;
+extern xcpuop_func op_4660_0_ff;
+extern xcpuop_func op_4668_0_nf;
+extern xcpuop_func op_4668_0_ff;
+extern xcpuop_func op_4670_0_nf;
+extern xcpuop_func op_4670_0_ff;
+extern xcpuop_func op_4678_0_nf;
+extern xcpuop_func op_4678_0_ff;
+extern xcpuop_func op_4679_0_nf;
+extern xcpuop_func op_4679_0_ff;
+extern xcpuop_func op_4680_0_nf;
+extern xcpuop_func op_4680_0_ff;
+extern xcpuop_func op_4690_0_nf;
+extern xcpuop_func op_4690_0_ff;
+extern xcpuop_func op_4698_0_nf;
+extern xcpuop_func op_4698_0_ff;
+extern xcpuop_func op_46a0_0_nf;
+extern xcpuop_func op_46a0_0_ff;
+extern xcpuop_func op_46a8_0_nf;
+extern xcpuop_func op_46a8_0_ff;
+extern xcpuop_func op_46b0_0_nf;
+extern xcpuop_func op_46b0_0_ff;
+extern xcpuop_func op_46b8_0_nf;
+extern xcpuop_func op_46b8_0_ff;
+extern xcpuop_func op_46b9_0_nf;
+extern xcpuop_func op_46b9_0_ff;
+extern xcpuop_func op_46c0_0_nf;
+extern xcpuop_func op_46c0_0_ff;
+extern xcpuop_func op_46d0_0_nf;
+extern xcpuop_func op_46d0_0_ff;
+extern xcpuop_func op_46d8_0_nf;
+extern xcpuop_func op_46d8_0_ff;
+extern xcpuop_func op_46e0_0_nf;
+extern xcpuop_func op_46e0_0_ff;
+extern xcpuop_func op_46e8_0_nf;
+extern xcpuop_func op_46e8_0_ff;
+extern xcpuop_func op_46f0_0_nf;
+extern xcpuop_func op_46f0_0_ff;
+extern xcpuop_func op_46f8_0_nf;
+extern xcpuop_func op_46f8_0_ff;
+extern xcpuop_func op_46f9_0_nf;
+extern xcpuop_func op_46f9_0_ff;
+extern xcpuop_func op_46fa_0_nf;
+extern xcpuop_func op_46fa_0_ff;
+extern xcpuop_func op_46fb_0_nf;
+extern xcpuop_func op_46fb_0_ff;
+extern xcpuop_func op_46fc_0_nf;
+extern xcpuop_func op_46fc_0_ff;
+extern xcpuop_func op_4800_0_nf;
+extern xcpuop_func op_4800_0_ff;
+extern xcpuop_func op_4808_0_nf;
+extern xcpuop_func op_4808_0_ff;
+extern xcpuop_func op_4810_0_nf;
+extern xcpuop_func op_4810_0_ff;
+extern xcpuop_func op_4818_0_nf;
+extern xcpuop_func op_4818_0_ff;
+extern xcpuop_func op_4820_0_nf;
+extern xcpuop_func op_4820_0_ff;
+extern xcpuop_func op_4828_0_nf;
+extern xcpuop_func op_4828_0_ff;
+extern xcpuop_func op_4830_0_nf;
+extern xcpuop_func op_4830_0_ff;
+extern xcpuop_func op_4838_0_nf;
+extern xcpuop_func op_4838_0_ff;
+extern xcpuop_func op_4839_0_nf;
+extern xcpuop_func op_4839_0_ff;
+extern xcpuop_func op_4840_0_nf;
+extern xcpuop_func op_4840_0_ff;
+extern xcpuop_func op_4848_0_nf;
+extern xcpuop_func op_4848_0_ff;
+extern xcpuop_func op_4850_0_nf;
+extern xcpuop_func op_4850_0_ff;
+extern xcpuop_func op_4868_0_nf;
+extern xcpuop_func op_4868_0_ff;
+extern xcpuop_func op_4870_0_nf;
+extern xcpuop_func op_4870_0_ff;
+extern xcpuop_func op_4878_0_nf;
+extern xcpuop_func op_4878_0_ff;
+extern xcpuop_func op_4879_0_nf;
+extern xcpuop_func op_4879_0_ff;
+extern xcpuop_func op_487a_0_nf;
+extern xcpuop_func op_487a_0_ff;
+extern xcpuop_func op_487b_0_nf;
+extern xcpuop_func op_487b_0_ff;
+extern xcpuop_func op_4880_0_nf;
+extern xcpuop_func op_4880_0_ff;
+extern xcpuop_func op_4890_0_nf;
+extern xcpuop_func op_4890_0_ff;
+extern xcpuop_func op_48a0_0_nf;
+extern xcpuop_func op_48a0_0_ff;
+extern xcpuop_func op_48a8_0_nf;
+extern xcpuop_func op_48a8_0_ff;
+extern xcpuop_func op_48b0_0_nf;
+extern xcpuop_func op_48b0_0_ff;
+extern xcpuop_func op_48b8_0_nf;
+extern xcpuop_func op_48b8_0_ff;
+extern xcpuop_func op_48b9_0_nf;
+extern xcpuop_func op_48b9_0_ff;
+extern xcpuop_func op_48c0_0_nf;
+extern xcpuop_func op_48c0_0_ff;
+extern xcpuop_func op_48d0_0_nf;
+extern xcpuop_func op_48d0_0_ff;
+extern xcpuop_func op_48e0_0_nf;
+extern xcpuop_func op_48e0_0_ff;
+extern xcpuop_func op_48e8_0_nf;
+extern xcpuop_func op_48e8_0_ff;
+extern xcpuop_func op_48f0_0_nf;
+extern xcpuop_func op_48f0_0_ff;
+extern xcpuop_func op_48f8_0_nf;
+extern xcpuop_func op_48f8_0_ff;
+extern xcpuop_func op_48f9_0_nf;
+extern xcpuop_func op_48f9_0_ff;
+extern xcpuop_func op_49c0_0_nf;
+extern xcpuop_func op_49c0_0_ff;
+extern xcpuop_func op_4a00_0_nf;
+extern xcpuop_func op_4a00_0_ff;
+extern xcpuop_func op_4a10_0_nf;
+extern xcpuop_func op_4a10_0_ff;
+extern xcpuop_func op_4a18_0_nf;
+extern xcpuop_func op_4a18_0_ff;
+extern xcpuop_func op_4a20_0_nf;
+extern xcpuop_func op_4a20_0_ff;
+extern xcpuop_func op_4a28_0_nf;
+extern xcpuop_func op_4a28_0_ff;
+extern xcpuop_func op_4a30_0_nf;
+extern xcpuop_func op_4a30_0_ff;
+extern xcpuop_func op_4a38_0_nf;
+extern xcpuop_func op_4a38_0_ff;
+extern xcpuop_func op_4a39_0_nf;
+extern xcpuop_func op_4a39_0_ff;
+extern xcpuop_func op_4a3a_0_nf;
+extern xcpuop_func op_4a3a_0_ff;
+extern xcpuop_func op_4a3b_0_nf;
+extern xcpuop_func op_4a3b_0_ff;
+extern xcpuop_func op_4a3c_0_nf;
+extern xcpuop_func op_4a3c_0_ff;
+extern xcpuop_func op_4a40_0_nf;
+extern xcpuop_func op_4a40_0_ff;
+extern xcpuop_func op_4a48_0_nf;
+extern xcpuop_func op_4a48_0_ff;
+extern xcpuop_func op_4a50_0_nf;
+extern xcpuop_func op_4a50_0_ff;
+extern xcpuop_func op_4a58_0_nf;
+extern xcpuop_func op_4a58_0_ff;
+extern xcpuop_func op_4a60_0_nf;
+extern xcpuop_func op_4a60_0_ff;
+extern xcpuop_func op_4a68_0_nf;
+extern xcpuop_func op_4a68_0_ff;
+extern xcpuop_func op_4a70_0_nf;
+extern xcpuop_func op_4a70_0_ff;
+extern xcpuop_func op_4a78_0_nf;
+extern xcpuop_func op_4a78_0_ff;
+extern xcpuop_func op_4a79_0_nf;
+extern xcpuop_func op_4a79_0_ff;
+extern xcpuop_func op_4a7a_0_nf;
+extern xcpuop_func op_4a7a_0_ff;
+extern xcpuop_func op_4a7b_0_nf;
+extern xcpuop_func op_4a7b_0_ff;
+extern xcpuop_func op_4a7c_0_nf;
+extern xcpuop_func op_4a7c_0_ff;
+extern xcpuop_func op_4a80_0_nf;
+extern xcpuop_func op_4a80_0_ff;
+extern xcpuop_func op_4a88_0_nf;
+extern xcpuop_func op_4a88_0_ff;
+extern xcpuop_func op_4a90_0_nf;
+extern xcpuop_func op_4a90_0_ff;
+extern xcpuop_func op_4a98_0_nf;
+extern xcpuop_func op_4a98_0_ff;
+extern xcpuop_func op_4aa0_0_nf;
+extern xcpuop_func op_4aa0_0_ff;
+extern xcpuop_func op_4aa8_0_nf;
+extern xcpuop_func op_4aa8_0_ff;
+extern xcpuop_func op_4ab0_0_nf;
+extern xcpuop_func op_4ab0_0_ff;
+extern xcpuop_func op_4ab8_0_nf;
+extern xcpuop_func op_4ab8_0_ff;
+extern xcpuop_func op_4ab9_0_nf;
+extern xcpuop_func op_4ab9_0_ff;
+extern xcpuop_func op_4aba_0_nf;
+extern xcpuop_func op_4aba_0_ff;
+extern xcpuop_func op_4abb_0_nf;
+extern xcpuop_func op_4abb_0_ff;
+extern xcpuop_func op_4abc_0_nf;
+extern xcpuop_func op_4abc_0_ff;
+extern xcpuop_func op_4ac0_0_nf;
+extern xcpuop_func op_4ac0_0_ff;
+extern xcpuop_func op_4ad0_0_nf;
+extern xcpuop_func op_4ad0_0_ff;
+extern xcpuop_func op_4ad8_0_nf;
+extern xcpuop_func op_4ad8_0_ff;
+extern xcpuop_func op_4ae0_0_nf;
+extern xcpuop_func op_4ae0_0_ff;
+extern xcpuop_func op_4ae8_0_nf;
+extern xcpuop_func op_4ae8_0_ff;
+extern xcpuop_func op_4af0_0_nf;
+extern xcpuop_func op_4af0_0_ff;
+extern xcpuop_func op_4af8_0_nf;
+extern xcpuop_func op_4af8_0_ff;
+extern xcpuop_func op_4af9_0_nf;
+extern xcpuop_func op_4af9_0_ff;
+extern xcpuop_func op_4c00_0_nf;
+extern xcpuop_func op_4c00_0_ff;
+extern xcpuop_func op_4c10_0_nf;
+extern xcpuop_func op_4c10_0_ff;
+extern xcpuop_func op_4c18_0_nf;
+extern xcpuop_func op_4c18_0_ff;
+extern xcpuop_func op_4c20_0_nf;
+extern xcpuop_func op_4c20_0_ff;
+extern xcpuop_func op_4c28_0_nf;
+extern xcpuop_func op_4c28_0_ff;
+extern xcpuop_func op_4c30_0_nf;
+extern xcpuop_func op_4c30_0_ff;
+extern xcpuop_func op_4c38_0_nf;
+extern xcpuop_func op_4c38_0_ff;
+extern xcpuop_func op_4c39_0_nf;
+extern xcpuop_func op_4c39_0_ff;
+extern xcpuop_func op_4c3a_0_nf;
+extern xcpuop_func op_4c3a_0_ff;
+extern xcpuop_func op_4c3b_0_nf;
+extern xcpuop_func op_4c3b_0_ff;
+extern xcpuop_func op_4c3c_0_nf;
+extern xcpuop_func op_4c3c_0_ff;
+extern xcpuop_func op_4c40_0_nf;
+extern xcpuop_func op_4c40_0_ff;
+extern xcpuop_func op_4c50_0_nf;
+extern xcpuop_func op_4c50_0_ff;
+extern xcpuop_func op_4c58_0_nf;
+extern xcpuop_func op_4c58_0_ff;
+extern xcpuop_func op_4c60_0_nf;
+extern xcpuop_func op_4c60_0_ff;
+extern xcpuop_func op_4c68_0_nf;
+extern xcpuop_func op_4c68_0_ff;
+extern xcpuop_func op_4c70_0_nf;
+extern xcpuop_func op_4c70_0_ff;
+extern xcpuop_func op_4c78_0_nf;
+extern xcpuop_func op_4c78_0_ff;
+extern xcpuop_func op_4c79_0_nf;
+extern xcpuop_func op_4c79_0_ff;
+extern xcpuop_func op_4c7a_0_nf;
+extern xcpuop_func op_4c7a_0_ff;
+extern xcpuop_func op_4c7b_0_nf;
+extern xcpuop_func op_4c7b_0_ff;
+extern xcpuop_func op_4c7c_0_nf;
+extern xcpuop_func op_4c7c_0_ff;
+extern xcpuop_func op_4c90_0_nf;
+extern xcpuop_func op_4c90_0_ff;
+extern xcpuop_func op_4c98_0_nf;
+extern xcpuop_func op_4c98_0_ff;
+extern xcpuop_func op_4ca8_0_nf;
+extern xcpuop_func op_4ca8_0_ff;
+extern xcpuop_func op_4cb0_0_nf;
+extern xcpuop_func op_4cb0_0_ff;
+extern xcpuop_func op_4cb8_0_nf;
+extern xcpuop_func op_4cb8_0_ff;
+extern xcpuop_func op_4cb9_0_nf;
+extern xcpuop_func op_4cb9_0_ff;
+extern xcpuop_func op_4cba_0_nf;
+extern xcpuop_func op_4cba_0_ff;
+extern xcpuop_func op_4cbb_0_nf;
+extern xcpuop_func op_4cbb_0_ff;
+extern xcpuop_func op_4cd0_0_nf;
+extern xcpuop_func op_4cd0_0_ff;
+extern xcpuop_func op_4cd8_0_nf;
+extern xcpuop_func op_4cd8_0_ff;
+extern xcpuop_func op_4ce8_0_nf;
+extern xcpuop_func op_4ce8_0_ff;
+extern xcpuop_func op_4cf0_0_nf;
+extern xcpuop_func op_4cf0_0_ff;
+extern xcpuop_func op_4cf8_0_nf;
+extern xcpuop_func op_4cf8_0_ff;
+extern xcpuop_func op_4cf9_0_nf;
+extern xcpuop_func op_4cf9_0_ff;
+extern xcpuop_func op_4cfa_0_nf;
+extern xcpuop_func op_4cfa_0_ff;
+extern xcpuop_func op_4cfb_0_nf;
+extern xcpuop_func op_4cfb_0_ff;
+extern xcpuop_func op_4e40_0_nf;
+extern xcpuop_func op_4e40_0_ff;
+extern xcpuop_func op_4e50_0_nf;
+extern xcpuop_func op_4e50_0_ff;
+extern xcpuop_func op_4e58_0_nf;
+extern xcpuop_func op_4e58_0_ff;
+extern xcpuop_func op_4e60_0_nf;
+extern xcpuop_func op_4e60_0_ff;
+extern xcpuop_func op_4e68_0_nf;
+extern xcpuop_func op_4e68_0_ff;
+extern xcpuop_func op_4e70_0_nf;
+extern xcpuop_func op_4e70_0_ff;
+extern xcpuop_func op_4e71_0_nf;
+extern xcpuop_func op_4e71_0_ff;
+extern xcpuop_func op_4e72_0_nf;
+extern xcpuop_func op_4e72_0_ff;
+extern xcpuop_func op_4e73_0_nf;
+extern xcpuop_func op_4e73_0_ff;
+extern xcpuop_func op_4e74_0_nf;
+extern xcpuop_func op_4e74_0_ff;
+extern xcpuop_func op_4e75_0_nf;
+extern xcpuop_func op_4e75_0_ff;
+extern xcpuop_func op_4e76_0_nf;
+extern xcpuop_func op_4e76_0_ff;
+extern xcpuop_func op_4e77_0_nf;
+extern xcpuop_func op_4e77_0_ff;
+extern xcpuop_func op_4e7a_0_nf;
+extern xcpuop_func op_4e7a_0_ff;
+extern xcpuop_func op_4e7b_0_nf;
+extern xcpuop_func op_4e7b_0_ff;
+extern xcpuop_func op_4e90_0_nf;
+extern xcpuop_func op_4e90_0_ff;
+extern xcpuop_func op_4ea8_0_nf;
+extern xcpuop_func op_4ea8_0_ff;
+extern xcpuop_func op_4eb0_0_nf;
+extern xcpuop_func op_4eb0_0_ff;
+extern xcpuop_func op_4eb8_0_nf;
+extern xcpuop_func op_4eb8_0_ff;
+extern xcpuop_func op_4eb9_0_nf;
+extern xcpuop_func op_4eb9_0_ff;
+extern xcpuop_func op_4eba_0_nf;
+extern xcpuop_func op_4eba_0_ff;
+extern xcpuop_func op_4ebb_0_nf;
+extern xcpuop_func op_4ebb_0_ff;
+extern xcpuop_func op_4ed0_0_nf;
+extern xcpuop_func op_4ed0_0_ff;
+extern xcpuop_func op_4ee8_0_nf;
+extern xcpuop_func op_4ee8_0_ff;
+extern xcpuop_func op_4ef0_0_nf;
+extern xcpuop_func op_4ef0_0_ff;
+extern xcpuop_func op_4ef8_0_nf;
+extern xcpuop_func op_4ef8_0_ff;
+extern xcpuop_func op_4ef9_0_nf;
+extern xcpuop_func op_4ef9_0_ff;
+extern xcpuop_func op_4efa_0_nf;
+extern xcpuop_func op_4efa_0_ff;
+extern xcpuop_func op_4efb_0_nf;
+extern xcpuop_func op_4efb_0_ff;
+extern xcpuop_func op_5000_0_nf;
+extern xcpuop_func op_5000_0_ff;
+extern xcpuop_func op_5010_0_nf;
+extern xcpuop_func op_5010_0_ff;
+extern xcpuop_func op_5018_0_nf;
+extern xcpuop_func op_5018_0_ff;
+extern xcpuop_func op_5020_0_nf;
+extern xcpuop_func op_5020_0_ff;
+extern xcpuop_func op_5028_0_nf;
+extern xcpuop_func op_5028_0_ff;
+extern xcpuop_func op_5030_0_nf;
+extern xcpuop_func op_5030_0_ff;
+extern xcpuop_func op_5038_0_nf;
+extern xcpuop_func op_5038_0_ff;
+extern xcpuop_func op_5039_0_nf;
+extern xcpuop_func op_5039_0_ff;
+extern xcpuop_func op_5040_0_nf;
+extern xcpuop_func op_5040_0_ff;
+extern xcpuop_func op_5048_0_nf;
+extern xcpuop_func op_5048_0_ff;
+extern xcpuop_func op_5050_0_nf;
+extern xcpuop_func op_5050_0_ff;
+extern xcpuop_func op_5058_0_nf;
+extern xcpuop_func op_5058_0_ff;
+extern xcpuop_func op_5060_0_nf;
+extern xcpuop_func op_5060_0_ff;
+extern xcpuop_func op_5068_0_nf;
+extern xcpuop_func op_5068_0_ff;
+extern xcpuop_func op_5070_0_nf;
+extern xcpuop_func op_5070_0_ff;
+extern xcpuop_func op_5078_0_nf;
+extern xcpuop_func op_5078_0_ff;
+extern xcpuop_func op_5079_0_nf;
+extern xcpuop_func op_5079_0_ff;
+extern xcpuop_func op_5080_0_nf;
+extern xcpuop_func op_5080_0_ff;
+extern xcpuop_func op_5088_0_nf;
+extern xcpuop_func op_5088_0_ff;
+extern xcpuop_func op_5090_0_nf;
+extern xcpuop_func op_5090_0_ff;
+extern xcpuop_func op_5098_0_nf;
+extern xcpuop_func op_5098_0_ff;
+extern xcpuop_func op_50a0_0_nf;
+extern xcpuop_func op_50a0_0_ff;
+extern xcpuop_func op_50a8_0_nf;
+extern xcpuop_func op_50a8_0_ff;
+extern xcpuop_func op_50b0_0_nf;
+extern xcpuop_func op_50b0_0_ff;
+extern xcpuop_func op_50b8_0_nf;
+extern xcpuop_func op_50b8_0_ff;
+extern xcpuop_func op_50b9_0_nf;
+extern xcpuop_func op_50b9_0_ff;
+extern xcpuop_func op_50c0_0_nf;
+extern xcpuop_func op_50c0_0_ff;
+extern xcpuop_func op_50c8_0_nf;
+extern xcpuop_func op_50c8_0_ff;
+extern xcpuop_func op_50d0_0_nf;
+extern xcpuop_func op_50d0_0_ff;
+extern xcpuop_func op_50d8_0_nf;
+extern xcpuop_func op_50d8_0_ff;
+extern xcpuop_func op_50e0_0_nf;
+extern xcpuop_func op_50e0_0_ff;
+extern xcpuop_func op_50e8_0_nf;
+extern xcpuop_func op_50e8_0_ff;
+extern xcpuop_func op_50f0_0_nf;
+extern xcpuop_func op_50f0_0_ff;
+extern xcpuop_func op_50f8_0_nf;
+extern xcpuop_func op_50f8_0_ff;
+extern xcpuop_func op_50f9_0_nf;
+extern xcpuop_func op_50f9_0_ff;
+extern xcpuop_func op_50fa_0_nf;
+extern xcpuop_func op_50fa_0_ff;
+extern xcpuop_func op_50fb_0_nf;
+extern xcpuop_func op_50fb_0_ff;
+extern xcpuop_func op_50fc_0_nf;
+extern xcpuop_func op_50fc_0_ff;
+extern xcpuop_func op_5100_0_nf;
+extern xcpuop_func op_5100_0_ff;
+extern xcpuop_func op_5110_0_nf;
+extern xcpuop_func op_5110_0_ff;
+extern xcpuop_func op_5118_0_nf;
+extern xcpuop_func op_5118_0_ff;
+extern xcpuop_func op_5120_0_nf;
+extern xcpuop_func op_5120_0_ff;
+extern xcpuop_func op_5128_0_nf;
+extern xcpuop_func op_5128_0_ff;
+extern xcpuop_func op_5130_0_nf;
+extern xcpuop_func op_5130_0_ff;
+extern xcpuop_func op_5138_0_nf;
+extern xcpuop_func op_5138_0_ff;
+extern xcpuop_func op_5139_0_nf;
+extern xcpuop_func op_5139_0_ff;
+extern xcpuop_func op_5140_0_nf;
+extern xcpuop_func op_5140_0_ff;
+extern xcpuop_func op_5148_0_nf;
+extern xcpuop_func op_5148_0_ff;
+extern xcpuop_func op_5150_0_nf;
+extern xcpuop_func op_5150_0_ff;
+extern xcpuop_func op_5158_0_nf;
+extern xcpuop_func op_5158_0_ff;
+extern xcpuop_func op_5160_0_nf;
+extern xcpuop_func op_5160_0_ff;
+extern xcpuop_func op_5168_0_nf;
+extern xcpuop_func op_5168_0_ff;
+extern xcpuop_func op_5170_0_nf;
+extern xcpuop_func op_5170_0_ff;
+extern xcpuop_func op_5178_0_nf;
+extern xcpuop_func op_5178_0_ff;
+extern xcpuop_func op_5179_0_nf;
+extern xcpuop_func op_5179_0_ff;
+extern xcpuop_func op_5180_0_nf;
+extern xcpuop_func op_5180_0_ff;
+extern xcpuop_func op_5188_0_nf;
+extern xcpuop_func op_5188_0_ff;
+extern xcpuop_func op_5190_0_nf;
+extern xcpuop_func op_5190_0_ff;
+extern xcpuop_func op_5198_0_nf;
+extern xcpuop_func op_5198_0_ff;
+extern xcpuop_func op_51a0_0_nf;
+extern xcpuop_func op_51a0_0_ff;
+extern xcpuop_func op_51a8_0_nf;
+extern xcpuop_func op_51a8_0_ff;
+extern xcpuop_func op_51b0_0_nf;
+extern xcpuop_func op_51b0_0_ff;
+extern xcpuop_func op_51b8_0_nf;
+extern xcpuop_func op_51b8_0_ff;
+extern xcpuop_func op_51b9_0_nf;
+extern xcpuop_func op_51b9_0_ff;
+extern xcpuop_func op_51c0_0_nf;
+extern xcpuop_func op_51c0_0_ff;
+extern xcpuop_func op_51c8_0_nf;
+extern xcpuop_func op_51c8_0_ff;
+extern xcpuop_func op_51d0_0_nf;
+extern xcpuop_func op_51d0_0_ff;
+extern xcpuop_func op_51d8_0_nf;
+extern xcpuop_func op_51d8_0_ff;
+extern xcpuop_func op_51e0_0_nf;
+extern xcpuop_func op_51e0_0_ff;
+extern xcpuop_func op_51e8_0_nf;
+extern xcpuop_func op_51e8_0_ff;
+extern xcpuop_func op_51f0_0_nf;
+extern xcpuop_func op_51f0_0_ff;
+extern xcpuop_func op_51f8_0_nf;
+extern xcpuop_func op_51f8_0_ff;
+extern xcpuop_func op_51f9_0_nf;
+extern xcpuop_func op_51f9_0_ff;
+extern xcpuop_func op_51fa_0_nf;
+extern xcpuop_func op_51fa_0_ff;
+extern xcpuop_func op_51fb_0_nf;
+extern xcpuop_func op_51fb_0_ff;
+extern xcpuop_func op_51fc_0_nf;
+extern xcpuop_func op_51fc_0_ff;
+extern xcpuop_func op_52c0_0_nf;
+extern xcpuop_func op_52c0_0_ff;
+extern xcpuop_func op_52c8_0_nf;
+extern xcpuop_func op_52c8_0_ff;
+extern xcpuop_func op_52d0_0_nf;
+extern xcpuop_func op_52d0_0_ff;
+extern xcpuop_func op_52d8_0_nf;
+extern xcpuop_func op_52d8_0_ff;
+extern xcpuop_func op_52e0_0_nf;
+extern xcpuop_func op_52e0_0_ff;
+extern xcpuop_func op_52e8_0_nf;
+extern xcpuop_func op_52e8_0_ff;
+extern xcpuop_func op_52f0_0_nf;
+extern xcpuop_func op_52f0_0_ff;
+extern xcpuop_func op_52f8_0_nf;
+extern xcpuop_func op_52f8_0_ff;
+extern xcpuop_func op_52f9_0_nf;
+extern xcpuop_func op_52f9_0_ff;
+extern xcpuop_func op_52fa_0_nf;
+extern xcpuop_func op_52fa_0_ff;
+extern xcpuop_func op_52fb_0_nf;
+extern xcpuop_func op_52fb_0_ff;
+extern xcpuop_func op_52fc_0_nf;
+extern xcpuop_func op_52fc_0_ff;
+extern xcpuop_func op_53c0_0_nf;
+extern xcpuop_func op_53c0_0_ff;
+extern xcpuop_func op_53c8_0_nf;
+extern xcpuop_func op_53c8_0_ff;
+extern xcpuop_func op_53d0_0_nf;
+extern xcpuop_func op_53d0_0_ff;
+extern xcpuop_func op_53d8_0_nf;
+extern xcpuop_func op_53d8_0_ff;
+extern xcpuop_func op_53e0_0_nf;
+extern xcpuop_func op_53e0_0_ff;
+extern xcpuop_func op_53e8_0_nf;
+extern xcpuop_func op_53e8_0_ff;
+extern xcpuop_func op_53f0_0_nf;
+extern xcpuop_func op_53f0_0_ff;
+extern xcpuop_func op_53f8_0_nf;
+extern xcpuop_func op_53f8_0_ff;
+extern xcpuop_func op_53f9_0_nf;
+extern xcpuop_func op_53f9_0_ff;
+extern xcpuop_func op_53fa_0_nf;
+extern xcpuop_func op_53fa_0_ff;
+extern xcpuop_func op_53fb_0_nf;
+extern xcpuop_func op_53fb_0_ff;
+extern xcpuop_func op_53fc_0_nf;
+extern xcpuop_func op_53fc_0_ff;
+extern xcpuop_func op_54c0_0_nf;
+extern xcpuop_func op_54c0_0_ff;
+extern xcpuop_func op_54c8_0_nf;
+extern xcpuop_func op_54c8_0_ff;
+extern xcpuop_func op_54d0_0_nf;
+extern xcpuop_func op_54d0_0_ff;
+extern xcpuop_func op_54d8_0_nf;
+extern xcpuop_func op_54d8_0_ff;
+extern xcpuop_func op_54e0_0_nf;
+extern xcpuop_func op_54e0_0_ff;
+extern xcpuop_func op_54e8_0_nf;
+extern xcpuop_func op_54e8_0_ff;
+extern xcpuop_func op_54f0_0_nf;
+extern xcpuop_func op_54f0_0_ff;
+extern xcpuop_func op_54f8_0_nf;
+extern xcpuop_func op_54f8_0_ff;
+extern xcpuop_func op_54f9_0_nf;
+extern xcpuop_func op_54f9_0_ff;
+extern xcpuop_func op_54fa_0_nf;
+extern xcpuop_func op_54fa_0_ff;
+extern xcpuop_func op_54fb_0_nf;
+extern xcpuop_func op_54fb_0_ff;
+extern xcpuop_func op_54fc_0_nf;
+extern xcpuop_func op_54fc_0_ff;
+extern xcpuop_func op_55c0_0_nf;
+extern xcpuop_func op_55c0_0_ff;
+extern xcpuop_func op_55c8_0_nf;
+extern xcpuop_func op_55c8_0_ff;
+extern xcpuop_func op_55d0_0_nf;
+extern xcpuop_func op_55d0_0_ff;
+extern xcpuop_func op_55d8_0_nf;
+extern xcpuop_func op_55d8_0_ff;
+extern xcpuop_func op_55e0_0_nf;
+extern xcpuop_func op_55e0_0_ff;
+extern xcpuop_func op_55e8_0_nf;
+extern xcpuop_func op_55e8_0_ff;
+extern xcpuop_func op_55f0_0_nf;
+extern xcpuop_func op_55f0_0_ff;
+extern xcpuop_func op_55f8_0_nf;
+extern xcpuop_func op_55f8_0_ff;
+extern xcpuop_func op_55f9_0_nf;
+extern xcpuop_func op_55f9_0_ff;
+extern xcpuop_func op_55fa_0_nf;
+extern xcpuop_func op_55fa_0_ff;
+extern xcpuop_func op_55fb_0_nf;
+extern xcpuop_func op_55fb_0_ff;
+extern xcpuop_func op_55fc_0_nf;
+extern xcpuop_func op_55fc_0_ff;
+extern xcpuop_func op_56c0_0_nf;
+extern xcpuop_func op_56c0_0_ff;
+extern xcpuop_func op_56c8_0_nf;
+extern xcpuop_func op_56c8_0_ff;
+extern xcpuop_func op_56d0_0_nf;
+extern xcpuop_func op_56d0_0_ff;
+extern xcpuop_func op_56d8_0_nf;
+extern xcpuop_func op_56d8_0_ff;
+extern xcpuop_func op_56e0_0_nf;
+extern xcpuop_func op_56e0_0_ff;
+extern xcpuop_func op_56e8_0_nf;
+extern xcpuop_func op_56e8_0_ff;
+extern xcpuop_func op_56f0_0_nf;
+extern xcpuop_func op_56f0_0_ff;
+extern xcpuop_func op_56f8_0_nf;
+extern xcpuop_func op_56f8_0_ff;
+extern xcpuop_func op_56f9_0_nf;
+extern xcpuop_func op_56f9_0_ff;
+extern xcpuop_func op_56fa_0_nf;
+extern xcpuop_func op_56fa_0_ff;
+extern xcpuop_func op_56fb_0_nf;
+extern xcpuop_func op_56fb_0_ff;
+extern xcpuop_func op_56fc_0_nf;
+extern xcpuop_func op_56fc_0_ff;
+extern xcpuop_func op_57c0_0_nf;
+extern xcpuop_func op_57c0_0_ff;
+extern xcpuop_func op_57c8_0_nf;
+extern xcpuop_func op_57c8_0_ff;
+extern xcpuop_func op_57d0_0_nf;
+extern xcpuop_func op_57d0_0_ff;
+extern xcpuop_func op_57d8_0_nf;
+extern xcpuop_func op_57d8_0_ff;
+extern xcpuop_func op_57e0_0_nf;
+extern xcpuop_func op_57e0_0_ff;
+extern xcpuop_func op_57e8_0_nf;
+extern xcpuop_func op_57e8_0_ff;
+extern xcpuop_func op_57f0_0_nf;
+extern xcpuop_func op_57f0_0_ff;
+extern xcpuop_func op_57f8_0_nf;
+extern xcpuop_func op_57f8_0_ff;
+extern xcpuop_func op_57f9_0_nf;
+extern xcpuop_func op_57f9_0_ff;
+extern xcpuop_func op_57fa_0_nf;
+extern xcpuop_func op_57fa_0_ff;
+extern xcpuop_func op_57fb_0_nf;
+extern xcpuop_func op_57fb_0_ff;
+extern xcpuop_func op_57fc_0_nf;
+extern xcpuop_func op_57fc_0_ff;
+extern xcpuop_func op_58c0_0_nf;
+extern xcpuop_func op_58c0_0_ff;
+extern xcpuop_func op_58c8_0_nf;
+extern xcpuop_func op_58c8_0_ff;
+extern xcpuop_func op_58d0_0_nf;
+extern xcpuop_func op_58d0_0_ff;
+extern xcpuop_func op_58d8_0_nf;
+extern xcpuop_func op_58d8_0_ff;
+extern xcpuop_func op_58e0_0_nf;
+extern xcpuop_func op_58e0_0_ff;
+extern xcpuop_func op_58e8_0_nf;
+extern xcpuop_func op_58e8_0_ff;
+extern xcpuop_func op_58f0_0_nf;
+extern xcpuop_func op_58f0_0_ff;
+extern xcpuop_func op_58f8_0_nf;
+extern xcpuop_func op_58f8_0_ff;
+extern xcpuop_func op_58f9_0_nf;
+extern xcpuop_func op_58f9_0_ff;
+extern xcpuop_func op_58fa_0_nf;
+extern xcpuop_func op_58fa_0_ff;
+extern xcpuop_func op_58fb_0_nf;
+extern xcpuop_func op_58fb_0_ff;
+extern xcpuop_func op_58fc_0_nf;
+extern xcpuop_func op_58fc_0_ff;
+extern xcpuop_func op_59c0_0_nf;
+extern xcpuop_func op_59c0_0_ff;
+extern xcpuop_func op_59c8_0_nf;
+extern xcpuop_func op_59c8_0_ff;
+extern xcpuop_func op_59d0_0_nf;
+extern xcpuop_func op_59d0_0_ff;
+extern xcpuop_func op_59d8_0_nf;
+extern xcpuop_func op_59d8_0_ff;
+extern xcpuop_func op_59e0_0_nf;
+extern xcpuop_func op_59e0_0_ff;
+extern xcpuop_func op_59e8_0_nf;
+extern xcpuop_func op_59e8_0_ff;
+extern xcpuop_func op_59f0_0_nf;
+extern xcpuop_func op_59f0_0_ff;
+extern xcpuop_func op_59f8_0_nf;
+extern xcpuop_func op_59f8_0_ff;
+extern xcpuop_func op_59f9_0_nf;
+extern xcpuop_func op_59f9_0_ff;
+extern xcpuop_func op_59fa_0_nf;
+extern xcpuop_func op_59fa_0_ff;
+extern xcpuop_func op_59fb_0_nf;
+extern xcpuop_func op_59fb_0_ff;
+extern xcpuop_func op_59fc_0_nf;
+extern xcpuop_func op_59fc_0_ff;
+extern xcpuop_func op_5ac0_0_nf;
+extern xcpuop_func op_5ac0_0_ff;
+extern xcpuop_func op_5ac8_0_nf;
+extern xcpuop_func op_5ac8_0_ff;
+extern xcpuop_func op_5ad0_0_nf;
+extern xcpuop_func op_5ad0_0_ff;
+extern xcpuop_func op_5ad8_0_nf;
+extern xcpuop_func op_5ad8_0_ff;
+extern xcpuop_func op_5ae0_0_nf;
+extern xcpuop_func op_5ae0_0_ff;
+extern xcpuop_func op_5ae8_0_nf;
+extern xcpuop_func op_5ae8_0_ff;
+extern xcpuop_func op_5af0_0_nf;
+extern xcpuop_func op_5af0_0_ff;
+extern xcpuop_func op_5af8_0_nf;
+extern xcpuop_func op_5af8_0_ff;
+extern xcpuop_func op_5af9_0_nf;
+extern xcpuop_func op_5af9_0_ff;
+extern xcpuop_func op_5afa_0_nf;
+extern xcpuop_func op_5afa_0_ff;
+extern xcpuop_func op_5afb_0_nf;
+extern xcpuop_func op_5afb_0_ff;
+extern xcpuop_func op_5afc_0_nf;
+extern xcpuop_func op_5afc_0_ff;
+extern xcpuop_func op_5bc0_0_nf;
+extern xcpuop_func op_5bc0_0_ff;
+extern xcpuop_func op_5bc8_0_nf;
+extern xcpuop_func op_5bc8_0_ff;
+extern xcpuop_func op_5bd0_0_nf;
+extern xcpuop_func op_5bd0_0_ff;
+extern xcpuop_func op_5bd8_0_nf;
+extern xcpuop_func op_5bd8_0_ff;
+extern xcpuop_func op_5be0_0_nf;
+extern xcpuop_func op_5be0_0_ff;
+extern xcpuop_func op_5be8_0_nf;
+extern xcpuop_func op_5be8_0_ff;
+extern xcpuop_func op_5bf0_0_nf;
+extern xcpuop_func op_5bf0_0_ff;
+extern xcpuop_func op_5bf8_0_nf;
+extern xcpuop_func op_5bf8_0_ff;
+extern xcpuop_func op_5bf9_0_nf;
+extern xcpuop_func op_5bf9_0_ff;
+extern xcpuop_func op_5bfa_0_nf;
+extern xcpuop_func op_5bfa_0_ff;
+extern xcpuop_func op_5bfb_0_nf;
+extern xcpuop_func op_5bfb_0_ff;
+extern xcpuop_func op_5bfc_0_nf;
+extern xcpuop_func op_5bfc_0_ff;
+extern xcpuop_func op_5cc0_0_nf;
+extern xcpuop_func op_5cc0_0_ff;
+extern xcpuop_func op_5cc8_0_nf;
+extern xcpuop_func op_5cc8_0_ff;
+extern xcpuop_func op_5cd0_0_nf;
+extern xcpuop_func op_5cd0_0_ff;
+extern xcpuop_func op_5cd8_0_nf;
+extern xcpuop_func op_5cd8_0_ff;
+extern xcpuop_func op_5ce0_0_nf;
+extern xcpuop_func op_5ce0_0_ff;
+extern xcpuop_func op_5ce8_0_nf;
+extern xcpuop_func op_5ce8_0_ff;
+extern xcpuop_func op_5cf0_0_nf;
+extern xcpuop_func op_5cf0_0_ff;
+extern xcpuop_func op_5cf8_0_nf;
+extern xcpuop_func op_5cf8_0_ff;
+extern xcpuop_func op_5cf9_0_nf;
+extern xcpuop_func op_5cf9_0_ff;
+extern xcpuop_func op_5cfa_0_nf;
+extern xcpuop_func op_5cfa_0_ff;
+extern xcpuop_func op_5cfb_0_nf;
+extern xcpuop_func op_5cfb_0_ff;
+extern xcpuop_func op_5cfc_0_nf;
+extern xcpuop_func op_5cfc_0_ff;
+extern xcpuop_func op_5dc0_0_nf;
+extern xcpuop_func op_5dc0_0_ff;
+extern xcpuop_func op_5dc8_0_nf;
+extern xcpuop_func op_5dc8_0_ff;
+extern xcpuop_func op_5dd0_0_nf;
+extern xcpuop_func op_5dd0_0_ff;
+extern xcpuop_func op_5dd8_0_nf;
+extern xcpuop_func op_5dd8_0_ff;
+extern xcpuop_func op_5de0_0_nf;
+extern xcpuop_func op_5de0_0_ff;
+extern xcpuop_func op_5de8_0_nf;
+extern xcpuop_func op_5de8_0_ff;
+extern xcpuop_func op_5df0_0_nf;
+extern xcpuop_func op_5df0_0_ff;
+extern xcpuop_func op_5df8_0_nf;
+extern xcpuop_func op_5df8_0_ff;
+extern xcpuop_func op_5df9_0_nf;
+extern xcpuop_func op_5df9_0_ff;
+extern xcpuop_func op_5dfa_0_nf;
+extern xcpuop_func op_5dfa_0_ff;
+extern xcpuop_func op_5dfb_0_nf;
+extern xcpuop_func op_5dfb_0_ff;
+extern xcpuop_func op_5dfc_0_nf;
+extern xcpuop_func op_5dfc_0_ff;
+extern xcpuop_func op_5ec0_0_nf;
+extern xcpuop_func op_5ec0_0_ff;
+extern xcpuop_func op_5ec8_0_nf;
+extern xcpuop_func op_5ec8_0_ff;
+extern xcpuop_func op_5ed0_0_nf;
+extern xcpuop_func op_5ed0_0_ff;
+extern xcpuop_func op_5ed8_0_nf;
+extern xcpuop_func op_5ed8_0_ff;
+extern xcpuop_func op_5ee0_0_nf;
+extern xcpuop_func op_5ee0_0_ff;
+extern xcpuop_func op_5ee8_0_nf;
+extern xcpuop_func op_5ee8_0_ff;
+extern xcpuop_func op_5ef0_0_nf;
+extern xcpuop_func op_5ef0_0_ff;
+extern xcpuop_func op_5ef8_0_nf;
+extern xcpuop_func op_5ef8_0_ff;
+extern xcpuop_func op_5ef9_0_nf;
+extern xcpuop_func op_5ef9_0_ff;
+extern xcpuop_func op_5efa_0_nf;
+extern xcpuop_func op_5efa_0_ff;
+extern xcpuop_func op_5efb_0_nf;
+extern xcpuop_func op_5efb_0_ff;
+extern xcpuop_func op_5efc_0_nf;
+extern xcpuop_func op_5efc_0_ff;
+extern xcpuop_func op_5fc0_0_nf;
+extern xcpuop_func op_5fc0_0_ff;
+extern xcpuop_func op_5fc8_0_nf;
+extern xcpuop_func op_5fc8_0_ff;
+extern xcpuop_func op_5fd0_0_nf;
+extern xcpuop_func op_5fd0_0_ff;
+extern xcpuop_func op_5fd8_0_nf;
+extern xcpuop_func op_5fd8_0_ff;
+extern xcpuop_func op_5fe0_0_nf;
+extern xcpuop_func op_5fe0_0_ff;
+extern xcpuop_func op_5fe8_0_nf;
+extern xcpuop_func op_5fe8_0_ff;
+extern xcpuop_func op_5ff0_0_nf;
+extern xcpuop_func op_5ff0_0_ff;
+extern xcpuop_func op_5ff8_0_nf;
+extern xcpuop_func op_5ff8_0_ff;
+extern xcpuop_func op_5ff9_0_nf;
+extern xcpuop_func op_5ff9_0_ff;
+extern xcpuop_func op_5ffa_0_nf;
+extern xcpuop_func op_5ffa_0_ff;
+extern xcpuop_func op_5ffb_0_nf;
+extern xcpuop_func op_5ffb_0_ff;
+extern xcpuop_func op_5ffc_0_nf;
+extern xcpuop_func op_5ffc_0_ff;
+extern xcpuop_func op_6000_0_nf;
+extern xcpuop_func op_6000_0_ff;
+extern xcpuop_func op_6001_0_nf;
+extern xcpuop_func op_6001_0_ff;
+extern xcpuop_func op_60ff_0_nf;
+extern xcpuop_func op_60ff_0_ff;
+extern xcpuop_func op_6100_0_nf;
+extern xcpuop_func op_6100_0_ff;
+extern xcpuop_func op_6101_0_nf;
+extern xcpuop_func op_6101_0_ff;
+extern xcpuop_func op_61ff_0_nf;
+extern xcpuop_func op_61ff_0_ff;
+extern xcpuop_func op_6200_0_nf;
+extern xcpuop_func op_6200_0_ff;
+extern xcpuop_func op_6201_0_nf;
+extern xcpuop_func op_6201_0_ff;
+extern xcpuop_func op_62ff_0_nf;
+extern xcpuop_func op_62ff_0_ff;
+extern xcpuop_func op_6300_0_nf;
+extern xcpuop_func op_6300_0_ff;
+extern xcpuop_func op_6301_0_nf;
+extern xcpuop_func op_6301_0_ff;
+extern xcpuop_func op_63ff_0_nf;
+extern xcpuop_func op_63ff_0_ff;
+extern xcpuop_func op_6400_0_nf;
+extern xcpuop_func op_6400_0_ff;
+extern xcpuop_func op_6401_0_nf;
+extern xcpuop_func op_6401_0_ff;
+extern xcpuop_func op_64ff_0_nf;
+extern xcpuop_func op_64ff_0_ff;
+extern xcpuop_func op_6500_0_nf;
+extern xcpuop_func op_6500_0_ff;
+extern xcpuop_func op_6501_0_nf;
+extern xcpuop_func op_6501_0_ff;
+extern xcpuop_func op_65ff_0_nf;
+extern xcpuop_func op_65ff_0_ff;
+extern xcpuop_func op_6600_0_nf;
+extern xcpuop_func op_6600_0_ff;
+extern xcpuop_func op_6601_0_nf;
+extern xcpuop_func op_6601_0_ff;
+extern xcpuop_func op_66ff_0_nf;
+extern xcpuop_func op_66ff_0_ff;
+extern xcpuop_func op_6700_0_nf;
+extern xcpuop_func op_6700_0_ff;
+extern xcpuop_func op_6701_0_nf;
+extern xcpuop_func op_6701_0_ff;
+extern xcpuop_func op_67ff_0_nf;
+extern xcpuop_func op_67ff_0_ff;
+extern xcpuop_func op_6800_0_nf;
+extern xcpuop_func op_6800_0_ff;
+extern xcpuop_func op_6801_0_nf;
+extern xcpuop_func op_6801_0_ff;
+extern xcpuop_func op_68ff_0_nf;
+extern xcpuop_func op_68ff_0_ff;
+extern xcpuop_func op_6900_0_nf;
+extern xcpuop_func op_6900_0_ff;
+extern xcpuop_func op_6901_0_nf;
+extern xcpuop_func op_6901_0_ff;
+extern xcpuop_func op_69ff_0_nf;
+extern xcpuop_func op_69ff_0_ff;
+extern xcpuop_func op_6a00_0_nf;
+extern xcpuop_func op_6a00_0_ff;
+extern xcpuop_func op_6a01_0_nf;
+extern xcpuop_func op_6a01_0_ff;
+extern xcpuop_func op_6aff_0_nf;
+extern xcpuop_func op_6aff_0_ff;
+extern xcpuop_func op_6b00_0_nf;
+extern xcpuop_func op_6b00_0_ff;
+extern xcpuop_func op_6b01_0_nf;
+extern xcpuop_func op_6b01_0_ff;
+extern xcpuop_func op_6bff_0_nf;
+extern xcpuop_func op_6bff_0_ff;
+extern xcpuop_func op_6c00_0_nf;
+extern xcpuop_func op_6c00_0_ff;
+extern xcpuop_func op_6c01_0_nf;
+extern xcpuop_func op_6c01_0_ff;
+extern xcpuop_func op_6cff_0_nf;
+extern xcpuop_func op_6cff_0_ff;
+extern xcpuop_func op_6d00_0_nf;
+extern xcpuop_func op_6d00_0_ff;
+extern xcpuop_func op_6d01_0_nf;
+extern xcpuop_func op_6d01_0_ff;
+extern xcpuop_func op_6dff_0_nf;
+extern xcpuop_func op_6dff_0_ff;
+extern xcpuop_func op_6e00_0_nf;
+extern xcpuop_func op_6e00_0_ff;
+extern xcpuop_func op_6e01_0_nf;
+extern xcpuop_func op_6e01_0_ff;
+extern xcpuop_func op_6eff_0_nf;
+extern xcpuop_func op_6eff_0_ff;
+extern xcpuop_func op_6f00_0_nf;
+extern xcpuop_func op_6f00_0_ff;
+extern xcpuop_func op_6f01_0_nf;
+extern xcpuop_func op_6f01_0_ff;
+extern xcpuop_func op_6fff_0_nf;
+extern xcpuop_func op_6fff_0_ff;
+extern xcpuop_func op_7000_0_nf;
+extern xcpuop_func op_7000_0_ff;
+extern xcpuop_func op_8000_0_nf;
+extern xcpuop_func op_8000_0_ff;
+extern xcpuop_func op_8010_0_nf;
+extern xcpuop_func op_8010_0_ff;
+extern xcpuop_func op_8018_0_nf;
+extern xcpuop_func op_8018_0_ff;
+extern xcpuop_func op_8020_0_nf;
+extern xcpuop_func op_8020_0_ff;
+extern xcpuop_func op_8028_0_nf;
+extern xcpuop_func op_8028_0_ff;
+extern xcpuop_func op_8030_0_nf;
+extern xcpuop_func op_8030_0_ff;
+extern xcpuop_func op_8038_0_nf;
+extern xcpuop_func op_8038_0_ff;
+extern xcpuop_func op_8039_0_nf;
+extern xcpuop_func op_8039_0_ff;
+extern xcpuop_func op_803a_0_nf;
+extern xcpuop_func op_803a_0_ff;
+extern xcpuop_func op_803b_0_nf;
+extern xcpuop_func op_803b_0_ff;
+extern xcpuop_func op_803c_0_nf;
+extern xcpuop_func op_803c_0_ff;
+extern xcpuop_func op_8040_0_nf;
+extern xcpuop_func op_8040_0_ff;
+extern xcpuop_func op_8050_0_nf;
+extern xcpuop_func op_8050_0_ff;
+extern xcpuop_func op_8058_0_nf;
+extern xcpuop_func op_8058_0_ff;
+extern xcpuop_func op_8060_0_nf;
+extern xcpuop_func op_8060_0_ff;
+extern xcpuop_func op_8068_0_nf;
+extern xcpuop_func op_8068_0_ff;
+extern xcpuop_func op_8070_0_nf;
+extern xcpuop_func op_8070_0_ff;
+extern xcpuop_func op_8078_0_nf;
+extern xcpuop_func op_8078_0_ff;
+extern xcpuop_func op_8079_0_nf;
+extern xcpuop_func op_8079_0_ff;
+extern xcpuop_func op_807a_0_nf;
+extern xcpuop_func op_807a_0_ff;
+extern xcpuop_func op_807b_0_nf;
+extern xcpuop_func op_807b_0_ff;
+extern xcpuop_func op_807c_0_nf;
+extern xcpuop_func op_807c_0_ff;
+extern xcpuop_func op_8080_0_nf;
+extern xcpuop_func op_8080_0_ff;
+extern xcpuop_func op_8090_0_nf;
+extern xcpuop_func op_8090_0_ff;
+extern xcpuop_func op_8098_0_nf;
+extern xcpuop_func op_8098_0_ff;
+extern xcpuop_func op_80a0_0_nf;
+extern xcpuop_func op_80a0_0_ff;
+extern xcpuop_func op_80a8_0_nf;
+extern xcpuop_func op_80a8_0_ff;
+extern xcpuop_func op_80b0_0_nf;
+extern xcpuop_func op_80b0_0_ff;
+extern xcpuop_func op_80b8_0_nf;
+extern xcpuop_func op_80b8_0_ff;
+extern xcpuop_func op_80b9_0_nf;
+extern xcpuop_func op_80b9_0_ff;
+extern xcpuop_func op_80ba_0_nf;
+extern xcpuop_func op_80ba_0_ff;
+extern xcpuop_func op_80bb_0_nf;
+extern xcpuop_func op_80bb_0_ff;
+extern xcpuop_func op_80bc_0_nf;
+extern xcpuop_func op_80bc_0_ff;
+extern xcpuop_func op_80c0_0_nf;
+extern xcpuop_func op_80c0_0_ff;
+extern xcpuop_func op_80d0_0_nf;
+extern xcpuop_func op_80d0_0_ff;
+extern xcpuop_func op_80d8_0_nf;
+extern xcpuop_func op_80d8_0_ff;
+extern xcpuop_func op_80e0_0_nf;
+extern xcpuop_func op_80e0_0_ff;
+extern xcpuop_func op_80e8_0_nf;
+extern xcpuop_func op_80e8_0_ff;
+extern xcpuop_func op_80f0_0_nf;
+extern xcpuop_func op_80f0_0_ff;
+extern xcpuop_func op_80f8_0_nf;
+extern xcpuop_func op_80f8_0_ff;
+extern xcpuop_func op_80f9_0_nf;
+extern xcpuop_func op_80f9_0_ff;
+extern xcpuop_func op_80fa_0_nf;
+extern xcpuop_func op_80fa_0_ff;
+extern xcpuop_func op_80fb_0_nf;
+extern xcpuop_func op_80fb_0_ff;
+extern xcpuop_func op_80fc_0_nf;
+extern xcpuop_func op_80fc_0_ff;
+extern xcpuop_func op_8100_0_nf;
+extern xcpuop_func op_8100_0_ff;
+extern xcpuop_func op_8108_0_nf;
+extern xcpuop_func op_8108_0_ff;
+extern xcpuop_func op_8110_0_nf;
+extern xcpuop_func op_8110_0_ff;
+extern xcpuop_func op_8118_0_nf;
+extern xcpuop_func op_8118_0_ff;
+extern xcpuop_func op_8120_0_nf;
+extern xcpuop_func op_8120_0_ff;
+extern xcpuop_func op_8128_0_nf;
+extern xcpuop_func op_8128_0_ff;
+extern xcpuop_func op_8130_0_nf;
+extern xcpuop_func op_8130_0_ff;
+extern xcpuop_func op_8138_0_nf;
+extern xcpuop_func op_8138_0_ff;
+extern xcpuop_func op_8139_0_nf;
+extern xcpuop_func op_8139_0_ff;
+extern xcpuop_func op_8140_0_nf;
+extern xcpuop_func op_8140_0_ff;
+extern xcpuop_func op_8148_0_nf;
+extern xcpuop_func op_8148_0_ff;
+extern xcpuop_func op_8150_0_nf;
+extern xcpuop_func op_8150_0_ff;
+extern xcpuop_func op_8158_0_nf;
+extern xcpuop_func op_8158_0_ff;
+extern xcpuop_func op_8160_0_nf;
+extern xcpuop_func op_8160_0_ff;
+extern xcpuop_func op_8168_0_nf;
+extern xcpuop_func op_8168_0_ff;
+extern xcpuop_func op_8170_0_nf;
+extern xcpuop_func op_8170_0_ff;
+extern xcpuop_func op_8178_0_nf;
+extern xcpuop_func op_8178_0_ff;
+extern xcpuop_func op_8179_0_nf;
+extern xcpuop_func op_8179_0_ff;
+extern xcpuop_func op_8180_0_nf;
+extern xcpuop_func op_8180_0_ff;
+extern xcpuop_func op_8188_0_nf;
+extern xcpuop_func op_8188_0_ff;
+extern xcpuop_func op_8190_0_nf;
+extern xcpuop_func op_8190_0_ff;
+extern xcpuop_func op_8198_0_nf;
+extern xcpuop_func op_8198_0_ff;
+extern xcpuop_func op_81a0_0_nf;
+extern xcpuop_func op_81a0_0_ff;
+extern xcpuop_func op_81a8_0_nf;
+extern xcpuop_func op_81a8_0_ff;
+extern xcpuop_func op_81b0_0_nf;
+extern xcpuop_func op_81b0_0_ff;
+extern xcpuop_func op_81b8_0_nf;
+extern xcpuop_func op_81b8_0_ff;
+extern xcpuop_func op_81b9_0_nf;
+extern xcpuop_func op_81b9_0_ff;
+extern xcpuop_func op_81c0_0_nf;
+extern xcpuop_func op_81c0_0_ff;
+extern xcpuop_func op_81d0_0_nf;
+extern xcpuop_func op_81d0_0_ff;
+extern xcpuop_func op_81d8_0_nf;
+extern xcpuop_func op_81d8_0_ff;
+extern xcpuop_func op_81e0_0_nf;
+extern xcpuop_func op_81e0_0_ff;
+extern xcpuop_func op_81e8_0_nf;
+extern xcpuop_func op_81e8_0_ff;
+extern xcpuop_func op_81f0_0_nf;
+extern xcpuop_func op_81f0_0_ff;
+extern xcpuop_func op_81f8_0_nf;
+extern xcpuop_func op_81f8_0_ff;
+extern xcpuop_func op_81f9_0_nf;
+extern xcpuop_func op_81f9_0_ff;
+extern xcpuop_func op_81fa_0_nf;
+extern xcpuop_func op_81fa_0_ff;
+extern xcpuop_func op_81fb_0_nf;
+extern xcpuop_func op_81fb_0_ff;
+extern xcpuop_func op_81fc_0_nf;
+extern xcpuop_func op_81fc_0_ff;
+extern xcpuop_func op_9000_0_nf;
+extern xcpuop_func op_9000_0_ff;
+extern xcpuop_func op_9010_0_nf;
+extern xcpuop_func op_9010_0_ff;
+extern xcpuop_func op_9018_0_nf;
+extern xcpuop_func op_9018_0_ff;
+extern xcpuop_func op_9020_0_nf;
+extern xcpuop_func op_9020_0_ff;
+extern xcpuop_func op_9028_0_nf;
+extern xcpuop_func op_9028_0_ff;
+extern xcpuop_func op_9030_0_nf;
+extern xcpuop_func op_9030_0_ff;
+extern xcpuop_func op_9038_0_nf;
+extern xcpuop_func op_9038_0_ff;
+extern xcpuop_func op_9039_0_nf;
+extern xcpuop_func op_9039_0_ff;
+extern xcpuop_func op_903a_0_nf;
+extern xcpuop_func op_903a_0_ff;
+extern xcpuop_func op_903b_0_nf;
+extern xcpuop_func op_903b_0_ff;
+extern xcpuop_func op_903c_0_nf;
+extern xcpuop_func op_903c_0_ff;
+extern xcpuop_func op_9040_0_nf;
+extern xcpuop_func op_9040_0_ff;
+extern xcpuop_func op_9048_0_nf;
+extern xcpuop_func op_9048_0_ff;
+extern xcpuop_func op_9050_0_nf;
+extern xcpuop_func op_9050_0_ff;
+extern xcpuop_func op_9058_0_nf;
+extern xcpuop_func op_9058_0_ff;
+extern xcpuop_func op_9060_0_nf;
+extern xcpuop_func op_9060_0_ff;
+extern xcpuop_func op_9068_0_nf;
+extern xcpuop_func op_9068_0_ff;
+extern xcpuop_func op_9070_0_nf;
+extern xcpuop_func op_9070_0_ff;
+extern xcpuop_func op_9078_0_nf;
+extern xcpuop_func op_9078_0_ff;
+extern xcpuop_func op_9079_0_nf;
+extern xcpuop_func op_9079_0_ff;
+extern xcpuop_func op_907a_0_nf;
+extern xcpuop_func op_907a_0_ff;
+extern xcpuop_func op_907b_0_nf;
+extern xcpuop_func op_907b_0_ff;
+extern xcpuop_func op_907c_0_nf;
+extern xcpuop_func op_907c_0_ff;
+extern xcpuop_func op_9080_0_nf;
+extern xcpuop_func op_9080_0_ff;
+extern xcpuop_func op_9088_0_nf;
+extern xcpuop_func op_9088_0_ff;
+extern xcpuop_func op_9090_0_nf;
+extern xcpuop_func op_9090_0_ff;
+extern xcpuop_func op_9098_0_nf;
+extern xcpuop_func op_9098_0_ff;
+extern xcpuop_func op_90a0_0_nf;
+extern xcpuop_func op_90a0_0_ff;
+extern xcpuop_func op_90a8_0_nf;
+extern xcpuop_func op_90a8_0_ff;
+extern xcpuop_func op_90b0_0_nf;
+extern xcpuop_func op_90b0_0_ff;
+extern xcpuop_func op_90b8_0_nf;
+extern xcpuop_func op_90b8_0_ff;
+extern xcpuop_func op_90b9_0_nf;
+extern xcpuop_func op_90b9_0_ff;
+extern xcpuop_func op_90ba_0_nf;
+extern xcpuop_func op_90ba_0_ff;
+extern xcpuop_func op_90bb_0_nf;
+extern xcpuop_func op_90bb_0_ff;
+extern xcpuop_func op_90bc_0_nf;
+extern xcpuop_func op_90bc_0_ff;
+extern xcpuop_func op_90c0_0_nf;
+extern xcpuop_func op_90c0_0_ff;
+extern xcpuop_func op_90c8_0_nf;
+extern xcpuop_func op_90c8_0_ff;
+extern xcpuop_func op_90d0_0_nf;
+extern xcpuop_func op_90d0_0_ff;
+extern xcpuop_func op_90d8_0_nf;
+extern xcpuop_func op_90d8_0_ff;
+extern xcpuop_func op_90e0_0_nf;
+extern xcpuop_func op_90e0_0_ff;
+extern xcpuop_func op_90e8_0_nf;
+extern xcpuop_func op_90e8_0_ff;
+extern xcpuop_func op_90f0_0_nf;
+extern xcpuop_func op_90f0_0_ff;
+extern xcpuop_func op_90f8_0_nf;
+extern xcpuop_func op_90f8_0_ff;
+extern xcpuop_func op_90f9_0_nf;
+extern xcpuop_func op_90f9_0_ff;
+extern xcpuop_func op_90fa_0_nf;
+extern xcpuop_func op_90fa_0_ff;
+extern xcpuop_func op_90fb_0_nf;
+extern xcpuop_func op_90fb_0_ff;
+extern xcpuop_func op_90fc_0_nf;
+extern xcpuop_func op_90fc_0_ff;
+extern xcpuop_func op_9100_0_nf;
+extern xcpuop_func op_9100_0_ff;
+extern xcpuop_func op_9108_0_nf;
+extern xcpuop_func op_9108_0_ff;
+extern xcpuop_func op_9110_0_nf;
+extern xcpuop_func op_9110_0_ff;
+extern xcpuop_func op_9118_0_nf;
+extern xcpuop_func op_9118_0_ff;
+extern xcpuop_func op_9120_0_nf;
+extern xcpuop_func op_9120_0_ff;
+extern xcpuop_func op_9128_0_nf;
+extern xcpuop_func op_9128_0_ff;
+extern xcpuop_func op_9130_0_nf;
+extern xcpuop_func op_9130_0_ff;
+extern xcpuop_func op_9138_0_nf;
+extern xcpuop_func op_9138_0_ff;
+extern xcpuop_func op_9139_0_nf;
+extern xcpuop_func op_9139_0_ff;
+extern xcpuop_func op_9140_0_nf;
+extern xcpuop_func op_9140_0_ff;
+extern xcpuop_func op_9148_0_nf;
+extern xcpuop_func op_9148_0_ff;
+extern xcpuop_func op_9150_0_nf;
+extern xcpuop_func op_9150_0_ff;
+extern xcpuop_func op_9158_0_nf;
+extern xcpuop_func op_9158_0_ff;
+extern xcpuop_func op_9160_0_nf;
+extern xcpuop_func op_9160_0_ff;
+extern xcpuop_func op_9168_0_nf;
+extern xcpuop_func op_9168_0_ff;
+extern xcpuop_func op_9170_0_nf;
+extern xcpuop_func op_9170_0_ff;
+extern xcpuop_func op_9178_0_nf;
+extern xcpuop_func op_9178_0_ff;
+extern xcpuop_func op_9179_0_nf;
+extern xcpuop_func op_9179_0_ff;
+extern xcpuop_func op_9180_0_nf;
+extern xcpuop_func op_9180_0_ff;
+extern xcpuop_func op_9188_0_nf;
+extern xcpuop_func op_9188_0_ff;
+extern xcpuop_func op_9190_0_nf;
+extern xcpuop_func op_9190_0_ff;
+extern xcpuop_func op_9198_0_nf;
+extern xcpuop_func op_9198_0_ff;
+extern xcpuop_func op_91a0_0_nf;
+extern xcpuop_func op_91a0_0_ff;
+extern xcpuop_func op_91a8_0_nf;
+extern xcpuop_func op_91a8_0_ff;
+extern xcpuop_func op_91b0_0_nf;
+extern xcpuop_func op_91b0_0_ff;
+extern xcpuop_func op_91b8_0_nf;
+extern xcpuop_func op_91b8_0_ff;
+extern xcpuop_func op_91b9_0_nf;
+extern xcpuop_func op_91b9_0_ff;
+extern xcpuop_func op_91c0_0_nf;
+extern xcpuop_func op_91c0_0_ff;
+extern xcpuop_func op_91c8_0_nf;
+extern xcpuop_func op_91c8_0_ff;
+extern xcpuop_func op_91d0_0_nf;
+extern xcpuop_func op_91d0_0_ff;
+extern xcpuop_func op_91d8_0_nf;
+extern xcpuop_func op_91d8_0_ff;
+extern xcpuop_func op_91e0_0_nf;
+extern xcpuop_func op_91e0_0_ff;
+extern xcpuop_func op_91e8_0_nf;
+extern xcpuop_func op_91e8_0_ff;
+extern xcpuop_func op_91f0_0_nf;
+extern xcpuop_func op_91f0_0_ff;
+extern xcpuop_func op_91f8_0_nf;
+extern xcpuop_func op_91f8_0_ff;
+extern xcpuop_func op_91f9_0_nf;
+extern xcpuop_func op_91f9_0_ff;
+extern xcpuop_func op_91fa_0_nf;
+extern xcpuop_func op_91fa_0_ff;
+extern xcpuop_func op_91fb_0_nf;
+extern xcpuop_func op_91fb_0_ff;
+extern xcpuop_func op_91fc_0_nf;
+extern xcpuop_func op_91fc_0_ff;
+extern xcpuop_func op_b000_0_nf;
+extern xcpuop_func op_b000_0_ff;
+extern xcpuop_func op_b010_0_nf;
+extern xcpuop_func op_b010_0_ff;
+extern xcpuop_func op_b018_0_nf;
+extern xcpuop_func op_b018_0_ff;
+extern xcpuop_func op_b020_0_nf;
+extern xcpuop_func op_b020_0_ff;
+extern xcpuop_func op_b028_0_nf;
+extern xcpuop_func op_b028_0_ff;
+extern xcpuop_func op_b030_0_nf;
+extern xcpuop_func op_b030_0_ff;
+extern xcpuop_func op_b038_0_nf;
+extern xcpuop_func op_b038_0_ff;
+extern xcpuop_func op_b039_0_nf;
+extern xcpuop_func op_b039_0_ff;
+extern xcpuop_func op_b03a_0_nf;
+extern xcpuop_func op_b03a_0_ff;
+extern xcpuop_func op_b03b_0_nf;
+extern xcpuop_func op_b03b_0_ff;
+extern xcpuop_func op_b03c_0_nf;
+extern xcpuop_func op_b03c_0_ff;
+extern xcpuop_func op_b040_0_nf;
+extern xcpuop_func op_b040_0_ff;
+extern xcpuop_func op_b048_0_nf;
+extern xcpuop_func op_b048_0_ff;
+extern xcpuop_func op_b050_0_nf;
+extern xcpuop_func op_b050_0_ff;
+extern xcpuop_func op_b058_0_nf;
+extern xcpuop_func op_b058_0_ff;
+extern xcpuop_func op_b060_0_nf;
+extern xcpuop_func op_b060_0_ff;
+extern xcpuop_func op_b068_0_nf;
+extern xcpuop_func op_b068_0_ff;
+extern xcpuop_func op_b070_0_nf;
+extern xcpuop_func op_b070_0_ff;
+extern xcpuop_func op_b078_0_nf;
+extern xcpuop_func op_b078_0_ff;
+extern xcpuop_func op_b079_0_nf;
+extern xcpuop_func op_b079_0_ff;
+extern xcpuop_func op_b07a_0_nf;
+extern xcpuop_func op_b07a_0_ff;
+extern xcpuop_func op_b07b_0_nf;
+extern xcpuop_func op_b07b_0_ff;
+extern xcpuop_func op_b07c_0_nf;
+extern xcpuop_func op_b07c_0_ff;
+extern xcpuop_func op_b080_0_nf;
+extern xcpuop_func op_b080_0_ff;
+extern xcpuop_func op_b088_0_nf;
+extern xcpuop_func op_b088_0_ff;
+extern xcpuop_func op_b090_0_nf;
+extern xcpuop_func op_b090_0_ff;
+extern xcpuop_func op_b098_0_nf;
+extern xcpuop_func op_b098_0_ff;
+extern xcpuop_func op_b0a0_0_nf;
+extern xcpuop_func op_b0a0_0_ff;
+extern xcpuop_func op_b0a8_0_nf;
+extern xcpuop_func op_b0a8_0_ff;
+extern xcpuop_func op_b0b0_0_nf;
+extern xcpuop_func op_b0b0_0_ff;
+extern xcpuop_func op_b0b8_0_nf;
+extern xcpuop_func op_b0b8_0_ff;
+extern xcpuop_func op_b0b9_0_nf;
+extern xcpuop_func op_b0b9_0_ff;
+extern xcpuop_func op_b0ba_0_nf;
+extern xcpuop_func op_b0ba_0_ff;
+extern xcpuop_func op_b0bb_0_nf;
+extern xcpuop_func op_b0bb_0_ff;
+extern xcpuop_func op_b0bc_0_nf;
+extern xcpuop_func op_b0bc_0_ff;
+extern xcpuop_func op_b0c0_0_nf;
+extern xcpuop_func op_b0c0_0_ff;
+extern xcpuop_func op_b0c8_0_nf;
+extern xcpuop_func op_b0c8_0_ff;
+extern xcpuop_func op_b0d0_0_nf;
+extern xcpuop_func op_b0d0_0_ff;
+extern xcpuop_func op_b0d8_0_nf;
+extern xcpuop_func op_b0d8_0_ff;
+extern xcpuop_func op_b0e0_0_nf;
+extern xcpuop_func op_b0e0_0_ff;
+extern xcpuop_func op_b0e8_0_nf;
+extern xcpuop_func op_b0e8_0_ff;
+extern xcpuop_func op_b0f0_0_nf;
+extern xcpuop_func op_b0f0_0_ff;
+extern xcpuop_func op_b0f8_0_nf;
+extern xcpuop_func op_b0f8_0_ff;
+extern xcpuop_func op_b0f9_0_nf;
+extern xcpuop_func op_b0f9_0_ff;
+extern xcpuop_func op_b0fa_0_nf;
+extern xcpuop_func op_b0fa_0_ff;
+extern xcpuop_func op_b0fb_0_nf;
+extern xcpuop_func op_b0fb_0_ff;
+extern xcpuop_func op_b0fc_0_nf;
+extern xcpuop_func op_b0fc_0_ff;
+extern xcpuop_func op_b100_0_nf;
+extern xcpuop_func op_b100_0_ff;
+extern xcpuop_func op_b108_0_nf;
+extern xcpuop_func op_b108_0_ff;
+extern xcpuop_func op_b110_0_nf;
+extern xcpuop_func op_b110_0_ff;
+extern xcpuop_func op_b118_0_nf;
+extern xcpuop_func op_b118_0_ff;
+extern xcpuop_func op_b120_0_nf;
+extern xcpuop_func op_b120_0_ff;
+extern xcpuop_func op_b128_0_nf;
+extern xcpuop_func op_b128_0_ff;
+extern xcpuop_func op_b130_0_nf;
+extern xcpuop_func op_b130_0_ff;
+extern xcpuop_func op_b138_0_nf;
+extern xcpuop_func op_b138_0_ff;
+extern xcpuop_func op_b139_0_nf;
+extern xcpuop_func op_b139_0_ff;
+extern xcpuop_func op_b140_0_nf;
+extern xcpuop_func op_b140_0_ff;
+extern xcpuop_func op_b148_0_nf;
+extern xcpuop_func op_b148_0_ff;
+extern xcpuop_func op_b150_0_nf;
+extern xcpuop_func op_b150_0_ff;
+extern xcpuop_func op_b158_0_nf;
+extern xcpuop_func op_b158_0_ff;
+extern xcpuop_func op_b160_0_nf;
+extern xcpuop_func op_b160_0_ff;
+extern xcpuop_func op_b168_0_nf;
+extern xcpuop_func op_b168_0_ff;
+extern xcpuop_func op_b170_0_nf;
+extern xcpuop_func op_b170_0_ff;
+extern xcpuop_func op_b178_0_nf;
+extern xcpuop_func op_b178_0_ff;
+extern xcpuop_func op_b179_0_nf;
+extern xcpuop_func op_b179_0_ff;
+extern xcpuop_func op_b180_0_nf;
+extern xcpuop_func op_b180_0_ff;
+extern xcpuop_func op_b188_0_nf;
+extern xcpuop_func op_b188_0_ff;
+extern xcpuop_func op_b190_0_nf;
+extern xcpuop_func op_b190_0_ff;
+extern xcpuop_func op_b198_0_nf;
+extern xcpuop_func op_b198_0_ff;
+extern xcpuop_func op_b1a0_0_nf;
+extern xcpuop_func op_b1a0_0_ff;
+extern xcpuop_func op_b1a8_0_nf;
+extern xcpuop_func op_b1a8_0_ff;
+extern xcpuop_func op_b1b0_0_nf;
+extern xcpuop_func op_b1b0_0_ff;
+extern xcpuop_func op_b1b8_0_nf;
+extern xcpuop_func op_b1b8_0_ff;
+extern xcpuop_func op_b1b9_0_nf;
+extern xcpuop_func op_b1b9_0_ff;
+extern xcpuop_func op_b1c0_0_nf;
+extern xcpuop_func op_b1c0_0_ff;
+extern xcpuop_func op_b1c8_0_nf;
+extern xcpuop_func op_b1c8_0_ff;
+extern xcpuop_func op_b1d0_0_nf;
+extern xcpuop_func op_b1d0_0_ff;
+extern xcpuop_func op_b1d8_0_nf;
+extern xcpuop_func op_b1d8_0_ff;
+extern xcpuop_func op_b1e0_0_nf;
+extern xcpuop_func op_b1e0_0_ff;
+extern xcpuop_func op_b1e8_0_nf;
+extern xcpuop_func op_b1e8_0_ff;
+extern xcpuop_func op_b1f0_0_nf;
+extern xcpuop_func op_b1f0_0_ff;
+extern xcpuop_func op_b1f8_0_nf;
+extern xcpuop_func op_b1f8_0_ff;
+extern xcpuop_func op_b1f9_0_nf;
+extern xcpuop_func op_b1f9_0_ff;
+extern xcpuop_func op_b1fa_0_nf;
+extern xcpuop_func op_b1fa_0_ff;
+extern xcpuop_func op_b1fb_0_nf;
+extern xcpuop_func op_b1fb_0_ff;
+extern xcpuop_func op_b1fc_0_nf;
+extern xcpuop_func op_b1fc_0_ff;
+extern xcpuop_func op_c000_0_nf;
+extern xcpuop_func op_c000_0_ff;
+extern xcpuop_func op_c010_0_nf;
+extern xcpuop_func op_c010_0_ff;
+extern xcpuop_func op_c018_0_nf;
+extern xcpuop_func op_c018_0_ff;
+extern xcpuop_func op_c020_0_nf;
+extern xcpuop_func op_c020_0_ff;
+extern xcpuop_func op_c028_0_nf;
+extern xcpuop_func op_c028_0_ff;
+extern xcpuop_func op_c030_0_nf;
+extern xcpuop_func op_c030_0_ff;
+extern xcpuop_func op_c038_0_nf;
+extern xcpuop_func op_c038_0_ff;
+extern xcpuop_func op_c039_0_nf;
+extern xcpuop_func op_c039_0_ff;
+extern xcpuop_func op_c03a_0_nf;
+extern xcpuop_func op_c03a_0_ff;
+extern xcpuop_func op_c03b_0_nf;
+extern xcpuop_func op_c03b_0_ff;
+extern xcpuop_func op_c03c_0_nf;
+extern xcpuop_func op_c03c_0_ff;
+extern xcpuop_func op_c040_0_nf;
+extern xcpuop_func op_c040_0_ff;
+extern xcpuop_func op_c050_0_nf;
+extern xcpuop_func op_c050_0_ff;
+extern xcpuop_func op_c058_0_nf;
+extern xcpuop_func op_c058_0_ff;
+extern xcpuop_func op_c060_0_nf;
+extern xcpuop_func op_c060_0_ff;
+extern xcpuop_func op_c068_0_nf;
+extern xcpuop_func op_c068_0_ff;
+extern xcpuop_func op_c070_0_nf;
+extern xcpuop_func op_c070_0_ff;
+extern xcpuop_func op_c078_0_nf;
+extern xcpuop_func op_c078_0_ff;
+extern xcpuop_func op_c079_0_nf;
+extern xcpuop_func op_c079_0_ff;
+extern xcpuop_func op_c07a_0_nf;
+extern xcpuop_func op_c07a_0_ff;
+extern xcpuop_func op_c07b_0_nf;
+extern xcpuop_func op_c07b_0_ff;
+extern xcpuop_func op_c07c_0_nf;
+extern xcpuop_func op_c07c_0_ff;
+extern xcpuop_func op_c080_0_nf;
+extern xcpuop_func op_c080_0_ff;
+extern xcpuop_func op_c090_0_nf;
+extern xcpuop_func op_c090_0_ff;
+extern xcpuop_func op_c098_0_nf;
+extern xcpuop_func op_c098_0_ff;
+extern xcpuop_func op_c0a0_0_nf;
+extern xcpuop_func op_c0a0_0_ff;
+extern xcpuop_func op_c0a8_0_nf;
+extern xcpuop_func op_c0a8_0_ff;
+extern xcpuop_func op_c0b0_0_nf;
+extern xcpuop_func op_c0b0_0_ff;
+extern xcpuop_func op_c0b8_0_nf;
+extern xcpuop_func op_c0b8_0_ff;
+extern xcpuop_func op_c0b9_0_nf;
+extern xcpuop_func op_c0b9_0_ff;
+extern xcpuop_func op_c0ba_0_nf;
+extern xcpuop_func op_c0ba_0_ff;
+extern xcpuop_func op_c0bb_0_nf;
+extern xcpuop_func op_c0bb_0_ff;
+extern xcpuop_func op_c0bc_0_nf;
+extern xcpuop_func op_c0bc_0_ff;
+extern xcpuop_func op_c0c0_0_nf;
+extern xcpuop_func op_c0c0_0_ff;
+extern xcpuop_func op_c0d0_0_nf;
+extern xcpuop_func op_c0d0_0_ff;
+extern xcpuop_func op_c0d8_0_nf;
+extern xcpuop_func op_c0d8_0_ff;
+extern xcpuop_func op_c0e0_0_nf;
+extern xcpuop_func op_c0e0_0_ff;
+extern xcpuop_func op_c0e8_0_nf;
+extern xcpuop_func op_c0e8_0_ff;
+extern xcpuop_func op_c0f0_0_nf;
+extern xcpuop_func op_c0f0_0_ff;
+extern xcpuop_func op_c0f8_0_nf;
+extern xcpuop_func op_c0f8_0_ff;
+extern xcpuop_func op_c0f9_0_nf;
+extern xcpuop_func op_c0f9_0_ff;
+extern xcpuop_func op_c0fa_0_nf;
+extern xcpuop_func op_c0fa_0_ff;
+extern xcpuop_func op_c0fb_0_nf;
+extern xcpuop_func op_c0fb_0_ff;
+extern xcpuop_func op_c0fc_0_nf;
+extern xcpuop_func op_c0fc_0_ff;
+extern xcpuop_func op_c100_0_nf;
+extern xcpuop_func op_c100_0_ff;
+extern xcpuop_func op_c108_0_nf;
+extern xcpuop_func op_c108_0_ff;
+extern xcpuop_func op_c110_0_nf;
+extern xcpuop_func op_c110_0_ff;
+extern xcpuop_func op_c118_0_nf;
+extern xcpuop_func op_c118_0_ff;
+extern xcpuop_func op_c120_0_nf;
+extern xcpuop_func op_c120_0_ff;
+extern xcpuop_func op_c128_0_nf;
+extern xcpuop_func op_c128_0_ff;
+extern xcpuop_func op_c130_0_nf;
+extern xcpuop_func op_c130_0_ff;
+extern xcpuop_func op_c138_0_nf;
+extern xcpuop_func op_c138_0_ff;
+extern xcpuop_func op_c139_0_nf;
+extern xcpuop_func op_c139_0_ff;
+extern xcpuop_func op_c140_0_nf;
+extern xcpuop_func op_c140_0_ff;
+extern xcpuop_func op_c148_0_nf;
+extern xcpuop_func op_c148_0_ff;
+extern xcpuop_func op_c150_0_nf;
+extern xcpuop_func op_c150_0_ff;
+extern xcpuop_func op_c158_0_nf;
+extern xcpuop_func op_c158_0_ff;
+extern xcpuop_func op_c160_0_nf;
+extern xcpuop_func op_c160_0_ff;
+extern xcpuop_func op_c168_0_nf;
+extern xcpuop_func op_c168_0_ff;
+extern xcpuop_func op_c170_0_nf;
+extern xcpuop_func op_c170_0_ff;
+extern xcpuop_func op_c178_0_nf;
+extern xcpuop_func op_c178_0_ff;
+extern xcpuop_func op_c179_0_nf;
+extern xcpuop_func op_c179_0_ff;
+extern xcpuop_func op_c188_0_nf;
+extern xcpuop_func op_c188_0_ff;
+extern xcpuop_func op_c190_0_nf;
+extern xcpuop_func op_c190_0_ff;
+extern xcpuop_func op_c198_0_nf;
+extern xcpuop_func op_c198_0_ff;
+extern xcpuop_func op_c1a0_0_nf;
+extern xcpuop_func op_c1a0_0_ff;
+extern xcpuop_func op_c1a8_0_nf;
+extern xcpuop_func op_c1a8_0_ff;
+extern xcpuop_func op_c1b0_0_nf;
+extern xcpuop_func op_c1b0_0_ff;
+extern xcpuop_func op_c1b8_0_nf;
+extern xcpuop_func op_c1b8_0_ff;
+extern xcpuop_func op_c1b9_0_nf;
+extern xcpuop_func op_c1b9_0_ff;
+extern xcpuop_func op_c1c0_0_nf;
+extern xcpuop_func op_c1c0_0_ff;
+extern xcpuop_func op_c1d0_0_nf;
+extern xcpuop_func op_c1d0_0_ff;
+extern xcpuop_func op_c1d8_0_nf;
+extern xcpuop_func op_c1d8_0_ff;
+extern xcpuop_func op_c1e0_0_nf;
+extern xcpuop_func op_c1e0_0_ff;
+extern xcpuop_func op_c1e8_0_nf;
+extern xcpuop_func op_c1e8_0_ff;
+extern xcpuop_func op_c1f0_0_nf;
+extern xcpuop_func op_c1f0_0_ff;
+extern xcpuop_func op_c1f8_0_nf;
+extern xcpuop_func op_c1f8_0_ff;
+extern xcpuop_func op_c1f9_0_nf;
+extern xcpuop_func op_c1f9_0_ff;
+extern xcpuop_func op_c1fa_0_nf;
+extern xcpuop_func op_c1fa_0_ff;
+extern xcpuop_func op_c1fb_0_nf;
+extern xcpuop_func op_c1fb_0_ff;
+extern xcpuop_func op_c1fc_0_nf;
+extern xcpuop_func op_c1fc_0_ff;
+extern xcpuop_func op_d000_0_nf;
+extern xcpuop_func op_d000_0_ff;
+extern xcpuop_func op_d010_0_nf;
+extern xcpuop_func op_d010_0_ff;
+extern xcpuop_func op_d018_0_nf;
+extern xcpuop_func op_d018_0_ff;
+extern xcpuop_func op_d020_0_nf;
+extern xcpuop_func op_d020_0_ff;
+extern xcpuop_func op_d028_0_nf;
+extern xcpuop_func op_d028_0_ff;
+extern xcpuop_func op_d030_0_nf;
+extern xcpuop_func op_d030_0_ff;
+extern xcpuop_func op_d038_0_nf;
+extern xcpuop_func op_d038_0_ff;
+extern xcpuop_func op_d039_0_nf;
+extern xcpuop_func op_d039_0_ff;
+extern xcpuop_func op_d03a_0_nf;
+extern xcpuop_func op_d03a_0_ff;
+extern xcpuop_func op_d03b_0_nf;
+extern xcpuop_func op_d03b_0_ff;
+extern xcpuop_func op_d03c_0_nf;
+extern xcpuop_func op_d03c_0_ff;
+extern xcpuop_func op_d040_0_nf;
+extern xcpuop_func op_d040_0_ff;
+extern xcpuop_func op_d048_0_nf;
+extern xcpuop_func op_d048_0_ff;
+extern xcpuop_func op_d050_0_nf;
+extern xcpuop_func op_d050_0_ff;
+extern xcpuop_func op_d058_0_nf;
+extern xcpuop_func op_d058_0_ff;
+extern xcpuop_func op_d060_0_nf;
+extern xcpuop_func op_d060_0_ff;
+extern xcpuop_func op_d068_0_nf;
+extern xcpuop_func op_d068_0_ff;
+extern xcpuop_func op_d070_0_nf;
+extern xcpuop_func op_d070_0_ff;
+extern xcpuop_func op_d078_0_nf;
+extern xcpuop_func op_d078_0_ff;
+extern xcpuop_func op_d079_0_nf;
+extern xcpuop_func op_d079_0_ff;
+extern xcpuop_func op_d07a_0_nf;
+extern xcpuop_func op_d07a_0_ff;
+extern xcpuop_func op_d07b_0_nf;
+extern xcpuop_func op_d07b_0_ff;
+extern xcpuop_func op_d07c_0_nf;
+extern xcpuop_func op_d07c_0_ff;
+extern xcpuop_func op_d080_0_nf;
+extern xcpuop_func op_d080_0_ff;
+extern xcpuop_func op_d088_0_nf;
+extern xcpuop_func op_d088_0_ff;
+extern xcpuop_func op_d090_0_nf;
+extern xcpuop_func op_d090_0_ff;
+extern xcpuop_func op_d098_0_nf;
+extern xcpuop_func op_d098_0_ff;
+extern xcpuop_func op_d0a0_0_nf;
+extern xcpuop_func op_d0a0_0_ff;
+extern xcpuop_func op_d0a8_0_nf;
+extern xcpuop_func op_d0a8_0_ff;
+extern xcpuop_func op_d0b0_0_nf;
+extern xcpuop_func op_d0b0_0_ff;
+extern xcpuop_func op_d0b8_0_nf;
+extern xcpuop_func op_d0b8_0_ff;
+extern xcpuop_func op_d0b9_0_nf;
+extern xcpuop_func op_d0b9_0_ff;
+extern xcpuop_func op_d0ba_0_nf;
+extern xcpuop_func op_d0ba_0_ff;
+extern xcpuop_func op_d0bb_0_nf;
+extern xcpuop_func op_d0bb_0_ff;
+extern xcpuop_func op_d0bc_0_nf;
+extern xcpuop_func op_d0bc_0_ff;
+extern xcpuop_func op_d0c0_0_nf;
+extern xcpuop_func op_d0c0_0_ff;
+extern xcpuop_func op_d0c8_0_nf;
+extern xcpuop_func op_d0c8_0_ff;
+extern xcpuop_func op_d0d0_0_nf;
+extern xcpuop_func op_d0d0_0_ff;
+extern xcpuop_func op_d0d8_0_nf;
+extern xcpuop_func op_d0d8_0_ff;
+extern xcpuop_func op_d0e0_0_nf;
+extern xcpuop_func op_d0e0_0_ff;
+extern xcpuop_func op_d0e8_0_nf;
+extern xcpuop_func op_d0e8_0_ff;
+extern xcpuop_func op_d0f0_0_nf;
+extern xcpuop_func op_d0f0_0_ff;
+extern xcpuop_func op_d0f8_0_nf;
+extern xcpuop_func op_d0f8_0_ff;
+extern xcpuop_func op_d0f9_0_nf;
+extern xcpuop_func op_d0f9_0_ff;
+extern xcpuop_func op_d0fa_0_nf;
+extern xcpuop_func op_d0fa_0_ff;
+extern xcpuop_func op_d0fb_0_nf;
+extern xcpuop_func op_d0fb_0_ff;
+extern xcpuop_func op_d0fc_0_nf;
+extern xcpuop_func op_d0fc_0_ff;
+extern xcpuop_func op_d100_0_nf;
+extern xcpuop_func op_d100_0_ff;
+extern xcpuop_func op_d108_0_nf;
+extern xcpuop_func op_d108_0_ff;
+extern xcpuop_func op_d110_0_nf;
+extern xcpuop_func op_d110_0_ff;
+extern xcpuop_func op_d118_0_nf;
+extern xcpuop_func op_d118_0_ff;
+extern xcpuop_func op_d120_0_nf;
+extern xcpuop_func op_d120_0_ff;
+extern xcpuop_func op_d128_0_nf;
+extern xcpuop_func op_d128_0_ff;
+extern xcpuop_func op_d130_0_nf;
+extern xcpuop_func op_d130_0_ff;
+extern xcpuop_func op_d138_0_nf;
+extern xcpuop_func op_d138_0_ff;
+extern xcpuop_func op_d139_0_nf;
+extern xcpuop_func op_d139_0_ff;
+extern xcpuop_func op_d140_0_nf;
+extern xcpuop_func op_d140_0_ff;
+extern xcpuop_func op_d148_0_nf;
+extern xcpuop_func op_d148_0_ff;
+extern xcpuop_func op_d150_0_nf;
+extern xcpuop_func op_d150_0_ff;
+extern xcpuop_func op_d158_0_nf;
+extern xcpuop_func op_d158_0_ff;
+extern xcpuop_func op_d160_0_nf;
+extern xcpuop_func op_d160_0_ff;
+extern xcpuop_func op_d168_0_nf;
+extern xcpuop_func op_d168_0_ff;
+extern xcpuop_func op_d170_0_nf;
+extern xcpuop_func op_d170_0_ff;
+extern xcpuop_func op_d178_0_nf;
+extern xcpuop_func op_d178_0_ff;
+extern xcpuop_func op_d179_0_nf;
+extern xcpuop_func op_d179_0_ff;
+extern xcpuop_func op_d180_0_nf;
+extern xcpuop_func op_d180_0_ff;
+extern xcpuop_func op_d188_0_nf;
+extern xcpuop_func op_d188_0_ff;
+extern xcpuop_func op_d190_0_nf;
+extern xcpuop_func op_d190_0_ff;
+extern xcpuop_func op_d198_0_nf;
+extern xcpuop_func op_d198_0_ff;
+extern xcpuop_func op_d1a0_0_nf;
+extern xcpuop_func op_d1a0_0_ff;
+extern xcpuop_func op_d1a8_0_nf;
+extern xcpuop_func op_d1a8_0_ff;
+extern xcpuop_func op_d1b0_0_nf;
+extern xcpuop_func op_d1b0_0_ff;
+extern xcpuop_func op_d1b8_0_nf;
+extern xcpuop_func op_d1b8_0_ff;
+extern xcpuop_func op_d1b9_0_nf;
+extern xcpuop_func op_d1b9_0_ff;
+extern xcpuop_func op_d1c0_0_nf;
+extern xcpuop_func op_d1c0_0_ff;
+extern xcpuop_func op_d1c8_0_nf;
+extern xcpuop_func op_d1c8_0_ff;
+extern xcpuop_func op_d1d0_0_nf;
+extern xcpuop_func op_d1d0_0_ff;
+extern xcpuop_func op_d1d8_0_nf;
+extern xcpuop_func op_d1d8_0_ff;
+extern xcpuop_func op_d1e0_0_nf;
+extern xcpuop_func op_d1e0_0_ff;
+extern xcpuop_func op_d1e8_0_nf;
+extern xcpuop_func op_d1e8_0_ff;
+extern xcpuop_func op_d1f0_0_nf;
+extern xcpuop_func op_d1f0_0_ff;
+extern xcpuop_func op_d1f8_0_nf;
+extern xcpuop_func op_d1f8_0_ff;
+extern xcpuop_func op_d1f9_0_nf;
+extern xcpuop_func op_d1f9_0_ff;
+extern xcpuop_func op_d1fa_0_nf;
+extern xcpuop_func op_d1fa_0_ff;
+extern xcpuop_func op_d1fb_0_nf;
+extern xcpuop_func op_d1fb_0_ff;
+extern xcpuop_func op_d1fc_0_nf;
+extern xcpuop_func op_d1fc_0_ff;
+extern xcpuop_func op_e000_0_nf;
+extern xcpuop_func op_e000_0_ff;
+extern xcpuop_func op_e008_0_nf;
+extern xcpuop_func op_e008_0_ff;
+extern xcpuop_func op_e010_0_nf;
+extern xcpuop_func op_e010_0_ff;
+extern xcpuop_func op_e018_0_nf;
+extern xcpuop_func op_e018_0_ff;
+extern xcpuop_func op_e020_0_nf;
+extern xcpuop_func op_e020_0_ff;
+extern xcpuop_func op_e028_0_nf;
+extern xcpuop_func op_e028_0_ff;
+extern xcpuop_func op_e030_0_nf;
+extern xcpuop_func op_e030_0_ff;
+extern xcpuop_func op_e038_0_nf;
+extern xcpuop_func op_e038_0_ff;
+extern xcpuop_func op_e040_0_nf;
+extern xcpuop_func op_e040_0_ff;
+extern xcpuop_func op_e048_0_nf;
+extern xcpuop_func op_e048_0_ff;
+extern xcpuop_func op_e050_0_nf;
+extern xcpuop_func op_e050_0_ff;
+extern xcpuop_func op_e058_0_nf;
+extern xcpuop_func op_e058_0_ff;
+extern xcpuop_func op_e060_0_nf;
+extern xcpuop_func op_e060_0_ff;
+extern xcpuop_func op_e068_0_nf;
+extern xcpuop_func op_e068_0_ff;
+extern xcpuop_func op_e070_0_nf;
+extern xcpuop_func op_e070_0_ff;
+extern xcpuop_func op_e078_0_nf;
+extern xcpuop_func op_e078_0_ff;
+extern xcpuop_func op_e080_0_nf;
+extern xcpuop_func op_e080_0_ff;
+extern xcpuop_func op_e088_0_nf;
+extern xcpuop_func op_e088_0_ff;
+extern xcpuop_func op_e090_0_nf;
+extern xcpuop_func op_e090_0_ff;
+extern xcpuop_func op_e098_0_nf;
+extern xcpuop_func op_e098_0_ff;
+extern xcpuop_func op_e0a0_0_nf;
+extern xcpuop_func op_e0a0_0_ff;
+extern xcpuop_func op_e0a8_0_nf;
+extern xcpuop_func op_e0a8_0_ff;
+extern xcpuop_func op_e0b0_0_nf;
+extern xcpuop_func op_e0b0_0_ff;
+extern xcpuop_func op_e0b8_0_nf;
+extern xcpuop_func op_e0b8_0_ff;
+extern xcpuop_func op_e0d0_0_nf;
+extern xcpuop_func op_e0d0_0_ff;
+extern xcpuop_func op_e0d8_0_nf;
+extern xcpuop_func op_e0d8_0_ff;
+extern xcpuop_func op_e0e0_0_nf;
+extern xcpuop_func op_e0e0_0_ff;
+extern xcpuop_func op_e0e8_0_nf;
+extern xcpuop_func op_e0e8_0_ff;
+extern xcpuop_func op_e0f0_0_nf;
+extern xcpuop_func op_e0f0_0_ff;
+extern xcpuop_func op_e0f8_0_nf;
+extern xcpuop_func op_e0f8_0_ff;
+extern xcpuop_func op_e0f9_0_nf;
+extern xcpuop_func op_e0f9_0_ff;
+extern xcpuop_func op_e100_0_nf;
+extern xcpuop_func op_e100_0_ff;
+extern xcpuop_func op_e108_0_nf;
+extern xcpuop_func op_e108_0_ff;
+extern xcpuop_func op_e110_0_nf;
+extern xcpuop_func op_e110_0_ff;
+extern xcpuop_func op_e118_0_nf;
+extern xcpuop_func op_e118_0_ff;
+extern xcpuop_func op_e120_0_nf;
+extern xcpuop_func op_e120_0_ff;
+extern xcpuop_func op_e128_0_nf;
+extern xcpuop_func op_e128_0_ff;
+extern xcpuop_func op_e130_0_nf;
+extern xcpuop_func op_e130_0_ff;
+extern xcpuop_func op_e138_0_nf;
+extern xcpuop_func op_e138_0_ff;
+extern xcpuop_func op_e140_0_nf;
+extern xcpuop_func op_e140_0_ff;
+extern xcpuop_func op_e148_0_nf;
+extern xcpuop_func op_e148_0_ff;
+extern xcpuop_func op_e150_0_nf;
+extern xcpuop_func op_e150_0_ff;
+extern xcpuop_func op_e158_0_nf;
+extern xcpuop_func op_e158_0_ff;
+extern xcpuop_func op_e160_0_nf;
+extern xcpuop_func op_e160_0_ff;
+extern xcpuop_func op_e168_0_nf;
+extern xcpuop_func op_e168_0_ff;
+extern xcpuop_func op_e170_0_nf;
+extern xcpuop_func op_e170_0_ff;
+extern xcpuop_func op_e178_0_nf;
+extern xcpuop_func op_e178_0_ff;
+extern xcpuop_func op_e180_0_nf;
+extern xcpuop_func op_e180_0_ff;
+extern xcpuop_func op_e188_0_nf;
+extern xcpuop_func op_e188_0_ff;
+extern xcpuop_func op_e190_0_nf;
+extern xcpuop_func op_e190_0_ff;
+extern xcpuop_func op_e198_0_nf;
+extern xcpuop_func op_e198_0_ff;
+extern xcpuop_func op_e1a0_0_nf;
+extern xcpuop_func op_e1a0_0_ff;
+extern xcpuop_func op_e1a8_0_nf;
+extern xcpuop_func op_e1a8_0_ff;
+extern xcpuop_func op_e1b0_0_nf;
+extern xcpuop_func op_e1b0_0_ff;
+extern xcpuop_func op_e1b8_0_nf;
+extern xcpuop_func op_e1b8_0_ff;
+extern xcpuop_func op_e1d0_0_nf;
+extern xcpuop_func op_e1d0_0_ff;
+extern xcpuop_func op_e1d8_0_nf;
+extern xcpuop_func op_e1d8_0_ff;
+extern xcpuop_func op_e1e0_0_nf;
+extern xcpuop_func op_e1e0_0_ff;
+extern xcpuop_func op_e1e8_0_nf;
+extern xcpuop_func op_e1e8_0_ff;
+extern xcpuop_func op_e1f0_0_nf;
+extern xcpuop_func op_e1f0_0_ff;
+extern xcpuop_func op_e1f8_0_nf;
+extern xcpuop_func op_e1f8_0_ff;
+extern xcpuop_func op_e1f9_0_nf;
+extern xcpuop_func op_e1f9_0_ff;
+extern xcpuop_func op_e2d0_0_nf;
+extern xcpuop_func op_e2d0_0_ff;
+extern xcpuop_func op_e2d8_0_nf;
+extern xcpuop_func op_e2d8_0_ff;
+extern xcpuop_func op_e2e0_0_nf;
+extern xcpuop_func op_e2e0_0_ff;
+extern xcpuop_func op_e2e8_0_nf;
+extern xcpuop_func op_e2e8_0_ff;
+extern xcpuop_func op_e2f0_0_nf;
+extern xcpuop_func op_e2f0_0_ff;
+extern xcpuop_func op_e2f8_0_nf;
+extern xcpuop_func op_e2f8_0_ff;
+extern xcpuop_func op_e2f9_0_nf;
+extern xcpuop_func op_e2f9_0_ff;
+extern xcpuop_func op_e3d0_0_nf;
+extern xcpuop_func op_e3d0_0_ff;
+extern xcpuop_func op_e3d8_0_nf;
+extern xcpuop_func op_e3d8_0_ff;
+extern xcpuop_func op_e3e0_0_nf;
+extern xcpuop_func op_e3e0_0_ff;
+extern xcpuop_func op_e3e8_0_nf;
+extern xcpuop_func op_e3e8_0_ff;
+extern xcpuop_func op_e3f0_0_nf;
+extern xcpuop_func op_e3f0_0_ff;
+extern xcpuop_func op_e3f8_0_nf;
+extern xcpuop_func op_e3f8_0_ff;
+extern xcpuop_func op_e3f9_0_nf;
+extern xcpuop_func op_e3f9_0_ff;
+extern xcpuop_func op_e4d0_0_nf;
+extern xcpuop_func op_e4d0_0_ff;
+extern xcpuop_func op_e4d8_0_nf;
+extern xcpuop_func op_e4d8_0_ff;
+extern xcpuop_func op_e4e0_0_nf;
+extern xcpuop_func op_e4e0_0_ff;
+extern xcpuop_func op_e4e8_0_nf;
+extern xcpuop_func op_e4e8_0_ff;
+extern xcpuop_func op_e4f0_0_nf;
+extern xcpuop_func op_e4f0_0_ff;
+extern xcpuop_func op_e4f8_0_nf;
+extern xcpuop_func op_e4f8_0_ff;
+extern xcpuop_func op_e4f9_0_nf;
+extern xcpuop_func op_e4f9_0_ff;
+extern xcpuop_func op_e5d0_0_nf;
+extern xcpuop_func op_e5d0_0_ff;
+extern xcpuop_func op_e5d8_0_nf;
+extern xcpuop_func op_e5d8_0_ff;
+extern xcpuop_func op_e5e0_0_nf;
+extern xcpuop_func op_e5e0_0_ff;
+extern xcpuop_func op_e5e8_0_nf;
+extern xcpuop_func op_e5e8_0_ff;
+extern xcpuop_func op_e5f0_0_nf;
+extern xcpuop_func op_e5f0_0_ff;
+extern xcpuop_func op_e5f8_0_nf;
+extern xcpuop_func op_e5f8_0_ff;
+extern xcpuop_func op_e5f9_0_nf;
+extern xcpuop_func op_e5f9_0_ff;
+extern xcpuop_func op_e6d0_0_nf;
+extern xcpuop_func op_e6d0_0_ff;
+extern xcpuop_func op_e6d8_0_nf;
+extern xcpuop_func op_e6d8_0_ff;
+extern xcpuop_func op_e6e0_0_nf;
+extern xcpuop_func op_e6e0_0_ff;
+extern xcpuop_func op_e6e8_0_nf;
+extern xcpuop_func op_e6e8_0_ff;
+extern xcpuop_func op_e6f0_0_nf;
+extern xcpuop_func op_e6f0_0_ff;
+extern xcpuop_func op_e6f8_0_nf;
+extern xcpuop_func op_e6f8_0_ff;
+extern xcpuop_func op_e6f9_0_nf;
+extern xcpuop_func op_e6f9_0_ff;
+extern xcpuop_func op_e7d0_0_nf;
+extern xcpuop_func op_e7d0_0_ff;
+extern xcpuop_func op_e7d8_0_nf;
+extern xcpuop_func op_e7d8_0_ff;
+extern xcpuop_func op_e7e0_0_nf;
+extern xcpuop_func op_e7e0_0_ff;
+extern xcpuop_func op_e7e8_0_nf;
+extern xcpuop_func op_e7e8_0_ff;
+extern xcpuop_func op_e7f0_0_nf;
+extern xcpuop_func op_e7f0_0_ff;
+extern xcpuop_func op_e7f8_0_nf;
+extern xcpuop_func op_e7f8_0_ff;
+extern xcpuop_func op_e7f9_0_nf;
+extern xcpuop_func op_e7f9_0_ff;
+extern xcpuop_func op_e8c0_0_nf;
+extern xcpuop_func op_e8c0_0_ff;
+extern xcpuop_func op_e8d0_0_nf;
+extern xcpuop_func op_e8d0_0_ff;
+extern xcpuop_func op_e8e8_0_nf;
+extern xcpuop_func op_e8e8_0_ff;
+extern xcpuop_func op_e8f0_0_nf;
+extern xcpuop_func op_e8f0_0_ff;
+extern xcpuop_func op_e8f8_0_nf;
+extern xcpuop_func op_e8f8_0_ff;
+extern xcpuop_func op_e8f9_0_nf;
+extern xcpuop_func op_e8f9_0_ff;
+extern xcpuop_func op_e8fa_0_nf;
+extern xcpuop_func op_e8fa_0_ff;
+extern xcpuop_func op_e8fb_0_nf;
+extern xcpuop_func op_e8fb_0_ff;
+extern xcpuop_func op_e9c0_0_nf;
+extern xcpuop_func op_e9c0_0_ff;
+extern xcpuop_func op_e9d0_0_nf;
+extern xcpuop_func op_e9d0_0_ff;
+extern xcpuop_func op_e9e8_0_nf;
+extern xcpuop_func op_e9e8_0_ff;
+extern xcpuop_func op_e9f0_0_nf;
+extern xcpuop_func op_e9f0_0_ff;
+extern xcpuop_func op_e9f8_0_nf;
+extern xcpuop_func op_e9f8_0_ff;
+extern xcpuop_func op_e9f9_0_nf;
+extern xcpuop_func op_e9f9_0_ff;
+extern xcpuop_func op_e9fa_0_nf;
+extern xcpuop_func op_e9fa_0_ff;
+extern xcpuop_func op_e9fb_0_nf;
+extern xcpuop_func op_e9fb_0_ff;
+extern xcpuop_func op_eac0_0_nf;
+extern xcpuop_func op_eac0_0_ff;
+extern xcpuop_func op_ead0_0_nf;
+extern xcpuop_func op_ead0_0_ff;
+extern xcpuop_func op_eae8_0_nf;
+extern xcpuop_func op_eae8_0_ff;
+extern xcpuop_func op_eaf0_0_nf;
+extern xcpuop_func op_eaf0_0_ff;
+extern xcpuop_func op_eaf8_0_nf;
+extern xcpuop_func op_eaf8_0_ff;
+extern xcpuop_func op_eaf9_0_nf;
+extern xcpuop_func op_eaf9_0_ff;
+extern xcpuop_func op_ebc0_0_nf;
+extern xcpuop_func op_ebc0_0_ff;
+extern xcpuop_func op_ebd0_0_nf;
+extern xcpuop_func op_ebd0_0_ff;
+extern xcpuop_func op_ebe8_0_nf;
+extern xcpuop_func op_ebe8_0_ff;
+extern xcpuop_func op_ebf0_0_nf;
+extern xcpuop_func op_ebf0_0_ff;
+extern xcpuop_func op_ebf8_0_nf;
+extern xcpuop_func op_ebf8_0_ff;
+extern xcpuop_func op_ebf9_0_nf;
+extern xcpuop_func op_ebf9_0_ff;
+extern xcpuop_func op_ebfa_0_nf;
+extern xcpuop_func op_ebfa_0_ff;
+extern xcpuop_func op_ebfb_0_nf;
+extern xcpuop_func op_ebfb_0_ff;
+extern xcpuop_func op_ecc0_0_nf;
+extern xcpuop_func op_ecc0_0_ff;
+extern xcpuop_func op_ecd0_0_nf;
+extern xcpuop_func op_ecd0_0_ff;
+extern xcpuop_func op_ece8_0_nf;
+extern xcpuop_func op_ece8_0_ff;
+extern xcpuop_func op_ecf0_0_nf;
+extern xcpuop_func op_ecf0_0_ff;
+extern xcpuop_func op_ecf8_0_nf;
+extern xcpuop_func op_ecf8_0_ff;
+extern xcpuop_func op_ecf9_0_nf;
+extern xcpuop_func op_ecf9_0_ff;
+extern xcpuop_func op_edc0_0_nf;
+extern xcpuop_func op_edc0_0_ff;
+extern xcpuop_func op_edd0_0_nf;
+extern xcpuop_func op_edd0_0_ff;
+extern xcpuop_func op_ede8_0_nf;
+extern xcpuop_func op_ede8_0_ff;
+extern xcpuop_func op_edf0_0_nf;
+extern xcpuop_func op_edf0_0_ff;
+extern xcpuop_func op_edf8_0_nf;
+extern xcpuop_func op_edf8_0_ff;
+extern xcpuop_func op_edf9_0_nf;
+extern xcpuop_func op_edf9_0_ff;
+extern xcpuop_func op_edfa_0_nf;
+extern xcpuop_func op_edfa_0_ff;
+extern xcpuop_func op_edfb_0_nf;
+extern xcpuop_func op_edfb_0_ff;
+extern xcpuop_func op_eec0_0_nf;
+extern xcpuop_func op_eec0_0_ff;
+extern xcpuop_func op_eed0_0_nf;
+extern xcpuop_func op_eed0_0_ff;
+extern xcpuop_func op_eee8_0_nf;
+extern xcpuop_func op_eee8_0_ff;
+extern xcpuop_func op_eef0_0_nf;
+extern xcpuop_func op_eef0_0_ff;
+extern xcpuop_func op_eef8_0_nf;
+extern xcpuop_func op_eef8_0_ff;
+extern xcpuop_func op_eef9_0_nf;
+extern xcpuop_func op_eef9_0_ff;
+extern xcpuop_func op_efc0_0_nf;
+extern xcpuop_func op_efc0_0_ff;
+extern xcpuop_func op_efd0_0_nf;
+extern xcpuop_func op_efd0_0_ff;
+extern xcpuop_func op_efe8_0_nf;
+extern xcpuop_func op_efe8_0_ff;
+extern xcpuop_func op_eff0_0_nf;
+extern xcpuop_func op_eff0_0_ff;
+extern xcpuop_func op_eff8_0_nf;
+extern xcpuop_func op_eff8_0_ff;
+extern xcpuop_func op_eff9_0_nf;
+extern xcpuop_func op_eff9_0_ff;
+extern xcpuop_func op_f000_0_nf;
+extern xcpuop_func op_f000_0_ff;
+extern xcpuop_func op_f008_0_nf;
+extern xcpuop_func op_f008_0_ff;
+extern xcpuop_func op_f010_0_nf;
+extern xcpuop_func op_f010_0_ff;
+extern xcpuop_func op_f018_0_nf;
+extern xcpuop_func op_f018_0_ff;
+extern xcpuop_func op_f020_0_nf;
+extern xcpuop_func op_f020_0_ff;
+extern xcpuop_func op_f028_0_nf;
+extern xcpuop_func op_f028_0_ff;
+extern xcpuop_func op_f030_0_nf;
+extern xcpuop_func op_f030_0_ff;
+extern xcpuop_func op_f038_0_nf;
+extern xcpuop_func op_f038_0_ff;
+extern xcpuop_func op_f039_0_nf;
+extern xcpuop_func op_f039_0_ff;
+extern xcpuop_func op_f03a_0_nf;
+extern xcpuop_func op_f03a_0_ff;
+extern xcpuop_func op_f03b_0_nf;
+extern xcpuop_func op_f03b_0_ff;
+extern xcpuop_func op_f200_0_nf;
+extern xcpuop_func op_f200_0_ff;
+extern xcpuop_func op_f208_0_nf;
+extern xcpuop_func op_f208_0_ff;
+extern xcpuop_func op_f210_0_nf;
+extern xcpuop_func op_f210_0_ff;
+extern xcpuop_func op_f218_0_nf;
+extern xcpuop_func op_f218_0_ff;
+extern xcpuop_func op_f220_0_nf;
+extern xcpuop_func op_f220_0_ff;
+extern xcpuop_func op_f228_0_nf;
+extern xcpuop_func op_f228_0_ff;
+extern xcpuop_func op_f230_0_nf;
+extern xcpuop_func op_f230_0_ff;
+extern xcpuop_func op_f238_0_nf;
+extern xcpuop_func op_f238_0_ff;
+extern xcpuop_func op_f239_0_nf;
+extern xcpuop_func op_f239_0_ff;
+extern xcpuop_func op_f23a_0_nf;
+extern xcpuop_func op_f23a_0_ff;
+extern xcpuop_func op_f23b_0_nf;
+extern xcpuop_func op_f23b_0_ff;
+extern xcpuop_func op_f23c_0_nf;
+extern xcpuop_func op_f23c_0_ff;
+extern xcpuop_func op_f240_0_nf;
+extern xcpuop_func op_f240_0_ff;
+extern xcpuop_func op_f248_0_nf;
+extern xcpuop_func op_f248_0_ff;
+extern xcpuop_func op_f250_0_nf;
+extern xcpuop_func op_f250_0_ff;
+extern xcpuop_func op_f258_0_nf;
+extern xcpuop_func op_f258_0_ff;
+extern xcpuop_func op_f260_0_nf;
+extern xcpuop_func op_f260_0_ff;
+extern xcpuop_func op_f268_0_nf;
+extern xcpuop_func op_f268_0_ff;
+extern xcpuop_func op_f270_0_nf;
+extern xcpuop_func op_f270_0_ff;
+extern xcpuop_func op_f278_0_nf;
+extern xcpuop_func op_f278_0_ff;
+extern xcpuop_func op_f279_0_nf;
+extern xcpuop_func op_f279_0_ff;
+extern xcpuop_func op_f27a_0_nf;
+extern xcpuop_func op_f27a_0_ff;
+extern xcpuop_func op_f27b_0_nf;
+extern xcpuop_func op_f27b_0_ff;
+extern xcpuop_func op_f27c_0_nf;
+extern xcpuop_func op_f27c_0_ff;
+extern xcpuop_func op_f280_0_nf;
+extern xcpuop_func op_f280_0_ff;
+extern xcpuop_func op_f2c0_0_nf;
+extern xcpuop_func op_f2c0_0_ff;
+extern xcpuop_func op_f310_0_nf;
+extern xcpuop_func op_f310_0_ff;
+extern xcpuop_func op_f320_0_nf;
+extern xcpuop_func op_f320_0_ff;
+extern xcpuop_func op_f328_0_nf;
+extern xcpuop_func op_f328_0_ff;
+extern xcpuop_func op_f330_0_nf;
+extern xcpuop_func op_f330_0_ff;
+extern xcpuop_func op_f338_0_nf;
+extern xcpuop_func op_f338_0_ff;
+extern xcpuop_func op_f339_0_nf;
+extern xcpuop_func op_f339_0_ff;
+extern xcpuop_func op_f350_0_nf;
+extern xcpuop_func op_f350_0_ff;
+extern xcpuop_func op_f358_0_nf;
+extern xcpuop_func op_f358_0_ff;
+extern xcpuop_func op_f368_0_nf;
+extern xcpuop_func op_f368_0_ff;
+extern xcpuop_func op_f370_0_nf;
+extern xcpuop_func op_f370_0_ff;
+extern xcpuop_func op_f378_0_nf;
+extern xcpuop_func op_f378_0_ff;
+extern xcpuop_func op_f379_0_nf;
+extern xcpuop_func op_f379_0_ff;
+extern xcpuop_func op_f37a_0_nf;
+extern xcpuop_func op_f37a_0_ff;
+extern xcpuop_func op_f37b_0_nf;
+extern xcpuop_func op_f37b_0_ff;
+extern xcpuop_func op_f408_0_nf;
+extern xcpuop_func op_f408_0_ff;
+extern xcpuop_func op_f410_0_nf;
+extern xcpuop_func op_f410_0_ff;
+extern xcpuop_func op_f418_0_nf;
+extern xcpuop_func op_f418_0_ff;
+extern xcpuop_func op_f419_0_nf;
+extern xcpuop_func op_f419_0_ff;
+extern xcpuop_func op_f41a_0_nf;
+extern xcpuop_func op_f41a_0_ff;
+extern xcpuop_func op_f41b_0_nf;
+extern xcpuop_func op_f41b_0_ff;
+extern xcpuop_func op_f41c_0_nf;
+extern xcpuop_func op_f41c_0_ff;
+extern xcpuop_func op_f41d_0_nf;
+extern xcpuop_func op_f41d_0_ff;
+extern xcpuop_func op_f41e_0_nf;
+extern xcpuop_func op_f41e_0_ff;
+extern xcpuop_func op_f41f_0_nf;
+extern xcpuop_func op_f41f_0_ff;
+extern xcpuop_func op_f428_0_nf;
+extern xcpuop_func op_f428_0_ff;
+extern xcpuop_func op_f430_0_nf;
+extern xcpuop_func op_f430_0_ff;
+extern xcpuop_func op_f438_0_nf;
+extern xcpuop_func op_f438_0_ff;
+extern xcpuop_func op_f439_0_nf;
+extern xcpuop_func op_f439_0_ff;
+extern xcpuop_func op_f43a_0_nf;
+extern xcpuop_func op_f43a_0_ff;
+extern xcpuop_func op_f43b_0_nf;
+extern xcpuop_func op_f43b_0_ff;
+extern xcpuop_func op_f43c_0_nf;
+extern xcpuop_func op_f43c_0_ff;
+extern xcpuop_func op_f43d_0_nf;
+extern xcpuop_func op_f43d_0_ff;
+extern xcpuop_func op_f43e_0_nf;
+extern xcpuop_func op_f43e_0_ff;
+extern xcpuop_func op_f43f_0_nf;
+extern xcpuop_func op_f43f_0_ff;
+extern xcpuop_func op_f500_0_nf;
+extern xcpuop_func op_f500_0_ff;
+extern xcpuop_func op_f600_0_nf;
+extern xcpuop_func op_f600_0_ff;
+extern xcpuop_func op_f608_0_nf;
+extern xcpuop_func op_f608_0_ff;
+extern xcpuop_func op_f610_0_nf;
+extern xcpuop_func op_f610_0_ff;
+extern xcpuop_func op_f618_0_nf;
+extern xcpuop_func op_f618_0_ff;
+extern xcpuop_func op_f620_0_nf;
+extern xcpuop_func op_f620_0_ff;
+extern xcpuop_func op_f800_0_nf;
+extern xcpuop_func op_f800_0_ff;
+extern xcpuop_func op_f808_0_nf;
+extern xcpuop_func op_f808_0_ff;
+extern xcpuop_func op_f810_0_nf;
+extern xcpuop_func op_f810_0_ff;
+extern xcpuop_func op_f818_0_nf;
+extern xcpuop_func op_f818_0_ff;
+extern xcpuop_func op_f820_0_nf;
+extern xcpuop_func op_f820_0_ff;
+extern xcpuop_func op_f828_0_nf;
+extern xcpuop_func op_f828_0_ff;
+extern xcpuop_func op_f830_0_nf;
+extern xcpuop_func op_f830_0_ff;
+extern xcpuop_func op_f838_0_nf;
+extern xcpuop_func op_f838_0_ff;
+extern xcpuop_func op_f839_0_nf;
+extern xcpuop_func op_f839_0_ff;
+extern xcpuop_func op_f83a_0_nf;
+extern xcpuop_func op_f83a_0_ff;
+extern xcpuop_func op_f83b_0_nf;
+extern xcpuop_func op_f83b_0_ff;
<Tool
Name="VCPreLinkEventTool"
Description="deleting gencpu files"
- CommandLine="del ..\..\cputbl.h;del ..\..\cpustbl.c
;del ..\..\cpuemu.c
"
+ CommandLine=""
/>
<Tool
Name="VCLinkerTool"
<Tool
Name="VCPreLinkEventTool"
Description="deleting gencpu files"
- CommandLine="del ..\..\cputbl.h
del ..\..\cpustbl.c
del ..\..\cpuemu.c
"
+ CommandLine=""
/>
<Tool
Name="VCLinkerTool"
DIK_NUMPAD3, 3, DIK_NUMPAD4, 4, DIK_NUMPAD5, 5, DIK_NUMPAD6, 6, DIK_NUMPAD7, 7,
DIK_NUMPAD8, 8, DIK_NUMPAD9, 9, -1 };
+int filesys_insert(int nr, char *volume, char *rootdir, int readonly, int flags);
+int filesys_eject(int nr);
+
void my_kbd_handler (int keyboard, int scancode, int newstate)
{
int code = 0;
case DIK_F3:
case DIK_F4:
if (specialpressed ()) {
- if (shiftpressed ())
- code = AKS_EFLOPPY0 + (scancode - DIK_F1);
- else
- code = AKS_FLOPPY0 + (scancode - DIK_F1);
+ if (ctrlpressed ()) {
+ } else {
+ if (shiftpressed ())
+ code = AKS_EFLOPPY0 + (scancode - DIK_F1);
+ else
+ code = AKS_FLOPPY0 + (scancode - DIK_F1);
+ }
}
break;
case DIK_F5:
640, 350, 169,
1600, 900, 170,
960, 600, 171,
+ 1088, 612, 172,
-1,-1,0
};
//\r
\r
VS_VERSION_INFO VERSIONINFO\r
- FILEVERSION 1,4,3,0\r
- PRODUCTVERSION 1,4,3,0\r
+ FILEVERSION 1,4,4,0\r
+ PRODUCTVERSION 1,4,4,0\r
FILEFLAGSMASK 0x3fL\r
#ifdef _DEBUG\r
FILEFLAGS 0x1L\r
BLOCK "040904b0"\r
BEGIN\r
VALUE "FileDescription", "WinUAE"\r
- VALUE "FileVersion", "1.4.3"\r
+ VALUE "FileVersion", "1.4.4"\r
VALUE "InternalName", "WinUAE"\r
VALUE "LegalCopyright", "© 1996-2007 under the GNU Public License (GPL)"\r
VALUE "OriginalFilename", "WinUAE.exe"\r
VALUE "ProductName", "WinUAE"\r
- VALUE "ProductVersion", "1.4.3"\r
+ VALUE "ProductVersion", "1.4.4"\r
END\r
END\r
BLOCK "VarFileInfo"\r
IDS_SELECTFILESYSROOT "Please select the root directory of the file system..."\r
IDS_DEFAULTMIDIOUT "Default MIDI-Out Device"\r
IDS_CONTRIBUTORS1 "Bernd Schmidt - The Grand-Master\nSam Jordan - Custom-chip, floppy-DMA, etc.\nMathias Ortmann - Original WinUAE Main Guy, BSD Socket support\nBrian King - Picasso96 Support, Integrated GUI for WinUAE, previous WinUAE Main Guy\nToni Wilen - Core updates, WinUAE Main Guy\nGustavo Goedert/Peter Remmers/Michael Sontheimer/Tomi Hakala/Tim Gunn/Nemo Pohle - DOS Port Stuff\nSamuel Devulder/Olaf Barthel/Sam Jordan - Amiga Ports\nKrister Bergman - XFree86 and OS/2 Port\nA. Blanchard/Ernesto Corvi - MacOS Port\nChristian Bauer - BeOS Port\nIan Stephenson - NextStep Port\nPeter Teichmann - Acorn/RiscOS Port\nStefan Reinauer - ZorroII/III AutoConfig, Serial Support\nChristian Schmitt/Chris Hames - Serial Support\nHerman ten Brugge - 68020/68881 Emulation Code\nTauno Taipaleenmaki - Various UAE-Control/UAE-Library Support\nBrett Eden/Tim Gunn/Paolo Besser/Nemo Pohle - Various Docs and Web-Sites\nGeorg Veichtlbauer - Help File coordinator, German GUI\nFulvio Leonardi - Italian translator for WinUAE\n"\r
- IDS_CONTRIBUTORS2 "Bill Panagouleas - Hardware support\nSpecial thanks to Alexander Kneer and Tobias Abt (The Picasso96 Team)\nSteven Weiser - Postscript printing emulation idea and testing.\nPéter Tóth /Balázs Rátkai/Iván Herczeg/András Arató - Hungarian translation.\nKarsten Bock, Gavin Fance and Dirk Trowe - Freezer cartridge hardware support."\r
+ IDS_CONTRIBUTORS2 "Bill Panagouleas - Hardware support\nSpecial thanks to Alexander Kneer and Tobias Abt (The Picasso96 Team)\nSteven Weiser - Postscript printing emulation idea and testing.\nPéter Tóth /Balázs Rátkai/Iván Herczeg/András Arató - Hungarian translation.\nKarsten Bock, Gavin Fance, Dirk Trowe and Christoph Meier - Freezer cartridge hardware support."\r
IDS_INVALIDPRTPORT "The printer you have in this configuration is not valid on this machine.\n"\r
IDS_RESTOREUSS "Restore a WinUAE snapshot file"\r
IDS_USS "WinUAE snapshot files"\r
}
fixtrailing (out);
}
-void set_path (char *name, char *path)
+
+int get_rom_path(char *out, int mode)
{
char tmp[MAX_DPATH];
- if (!path) {
- if (!strcmp (start_path_data, start_path_exe))
- strcpy (tmp, ".\\");
- else
- strcpy (tmp, start_path_data);
- if (!strcmp (name, "KickstartPath"))
- strcat (tmp, "Roms");
- if (!strcmp (name, "ConfigurationPath"))
- strcat (tmp, "Configurations");
- if (!strcmp (name, "ScreenshotPath"))
- strcat (tmp, "Screenshots");
- if (!strcmp (name, "StatefilePath"))
- strcat (tmp, "Savestates");
- if (!strcmp (name, "SaveimagePath"))
- strcat (tmp, "SaveImages");
- if (!strcmp (name, "InputPath"))
- strcat (tmp, "Inputrecordings");
- } else {
- strcpy (tmp, path);
- }
- strip_slashes (tmp);
- if (!strcmp (name, "KickstartPath")) {
- DWORD v = GetFileAttributes (tmp);
- if (v == INVALID_FILE_ATTRIBUTES || !(v & FILE_ATTRIBUTE_DIRECTORY)) {
+ tmp[0] = 0;
+ switch (mode)
+ {
+ case 0:
+ {
if (!strcmp (start_path_data, start_path_exe))
strcpy (tmp, ".\\");
else
}
}
}
- if ((af_path_2005 & 1) && path_type == PATH_TYPE_NEWAF) {
- char tmp2[MAX_DPATH];
+ break;
+ case 1:
+ {
+ char tmp2[MAX_DPATH];
strcpy (tmp2, start_path_new1);
strcat (tmp2, "..\\system\\rom");
if (isfilesindir(tmp2))
strcpy (tmp, tmp2);
- } else if ((af_path_2005 & 2) && path_type == PATH_TYPE_AMIGAFOREVERDATA) {
+ }
+ break;
+ case 2:
+ {
char tmp2[MAX_DPATH];
strcpy (tmp2, start_path_new2);
strcat (tmp2, "system\\rom");
if (isfilesindir(tmp2))
strcpy (tmp, tmp2);
- } else if (af_path_old && path_type == PATH_TYPE_OLDAF) {
+ }
+ break;
+ case 3:
+ {
char tmp2[MAX_DPATH];
strcpy (tmp2, start_path_af);
strcat (tmp2, "..\\shared\\rom");
if (isfilesindir(tmp2))
strcpy (tmp, tmp2);
}
+ break;
+ default:
+ return -1;
+ }
+ if (isfilesindir(tmp)) {
+ strcpy (out, tmp);
+ fixtrailing (out);
+ }
+ return out[0] ? 1 : 0;
+}
+
+
+
+void set_path (char *name, char *path)
+{
+ char tmp[MAX_DPATH];
+
+ if (!path) {
+ if (!strcmp (start_path_data, start_path_exe))
+ strcpy (tmp, ".\\");
+ else
+ strcpy (tmp, start_path_data);
+ if (!strcmp (name, "KickstartPath"))
+ strcat (tmp, "Roms");
+ if (!strcmp (name, "ConfigurationPath"))
+ strcat (tmp, "Configurations");
+ if (!strcmp (name, "ScreenshotPath"))
+ strcat (tmp, "Screenshots");
+ if (!strcmp (name, "StatefilePath"))
+ strcat (tmp, "Savestates");
+ if (!strcmp (name, "SaveimagePath"))
+ strcat (tmp, "SaveImages");
+ if (!strcmp (name, "InputPath"))
+ strcat (tmp, "Inputrecordings");
+ } else {
+ strcpy (tmp, path);
+ }
+ strip_slashes (tmp);
+ if (!strcmp (name, "KickstartPath")) {
+ DWORD v = GetFileAttributes (tmp);
+ if (v == INVALID_FILE_ATTRIBUTES || !(v & FILE_ATTRIBUTE_DIRECTORY))
+ get_rom_path(tmp, 0);
+ if ((af_path_2005 & 1) && path_type == PATH_TYPE_NEWAF) {
+ get_rom_path(tmp, 1);
+ } else if ((af_path_2005 & 2) && path_type == PATH_TYPE_AMIGAFOREVERDATA) {
+ get_rom_path(tmp, 2);
+ } else if (af_path_old && path_type == PATH_TYPE_OLDAF) {
+ get_rom_path(tmp, 3);
+ }
}
fixtrailing (tmp);
typedef HRESULT (CALLBACK* SHGETFOLDERPATH)(HWND,int,HANDLE,DWORD,LPTSTR);
typedef BOOL (CALLBACK* SHGETSPECIALFOLDERPATH)(HWND,LPTSTR,int,BOOL);
+
+void create_afnewdir(int remove)
+{
+ SHGETFOLDERPATH pSHGetFolderPath;
+ SHGETSPECIALFOLDERPATH pSHGetSpecialFolderPath;
+ char tmp[MAX_DPATH], tmp2[MAX_DPATH];
+ BOOL ok = FALSE;
+
+ pSHGetFolderPath = (SHGETFOLDERPATH)GetProcAddress(
+ GetModuleHandle("shell32.dll"), "SHGetFolderPathA");
+ pSHGetSpecialFolderPath = (SHGETSPECIALFOLDERPATH)GetProcAddress(
+ GetModuleHandle("shell32.dll"), "SHGetSpecialFolderPathA");
+ if (pSHGetFolderPath)
+ ok = SUCCEEDED(pSHGetFolderPath(NULL, CSIDL_COMMON_DOCUMENTS, NULL, 0, tmp));
+ else if (pSHGetSpecialFolderPath)
+ ok = pSHGetSpecialFolderPath(NULL, tmp, CSIDL_COMMON_DOCUMENTS, 0);
+ if (ok) {
+ fixtrailing(tmp);
+ strcpy (tmp2, tmp);
+ strcat (tmp2, "Amiga Files");
+ strcpy (tmp, tmp2);
+ strcat(tmp, "\\WinUAE");
+ if (remove) {
+ if (GetFileAttributes(tmp) != INVALID_FILE_ATTRIBUTES) {
+ RemoveDirectory(tmp);
+ RemoveDirectory(tmp2);
+ }
+ } else {
+ CreateDirectory(tmp2, NULL);
+ CreateDirectory(tmp, NULL);
+ }
+ }
+}
+
static void getstartpaths(void)
{
SHGETFOLDERPATH pSHGetFolderPath;
strcat (tmp2, "Amiga Files\\");
strcpy (tmp, tmp2);
strcat(tmp, "WinUAE");
- CreateDirectory(tmp2, NULL);
- CreateDirectory(tmp, NULL);
v = GetFileAttributes(tmp);
- if (v != INVALID_FILE_ATTRIBUTES && (v & FILE_ATTRIBUTE_DIRECTORY)) {
- strcpy(start_path_new1, tmp2);
- strcat(start_path_new1, "WinUAE\\");
- strcat(tmp, "\\configurations");
- if (isfilesindir(tmp)) {
- strcpy (xstart_path_uae, start_path_exe);
- strcpy (xstart_path_new1, start_path_new1);
+ if (v == INVALID_FILE_ATTRIBUTES || (v & FILE_ATTRIBUTE_DIRECTORY)) {
+ strcpy(xstart_path_new1, tmp2);
+ strcat(xstart_path_new1, "WinUAE\\");
+ strcpy (xstart_path_uae, start_path_exe);
+ strcpy (start_path_new1, xstart_path_new1);
+ strcat(tmp2, "System");
+ if (isfilesindir(tmp2))
af_path_2005 |= 1;
- }
}
}
}
strcpy(start_path_data, xstart_path_uae);
} else if (path_type == PATH_TYPE_OLDAF && af_path_old && xstart_path_old[0]) {
strcpy(start_path_data, xstart_path_old);
- } else if ((path_type == PATH_TYPE_NEWAF || path_type == PATH_TYPE_NEWWINUAE) && (af_path_2005 & 1) && xstart_path_new1[0]) {
+ } else if (path_type == PATH_TYPE_NEWWINUAE && xstart_path_new1[0]) {
+ strcpy (start_path_data, xstart_path_new1);
+ create_afnewdir(0);
+ } else if (path_type == PATH_TYPE_NEWAF && (af_path_2005 & 1) && xstart_path_new1[0]) {
strcpy (start_path_data, xstart_path_new1);
+ create_afnewdir(0);
} else if (path_type == PATH_TYPE_AMIGAFOREVERDATA && (af_path_2005 & 2) && xstart_path_new2[0]) {
strcpy (start_path_data, xstart_path_new2);
} else if (path_type < 0) {
}
if (af_path_2005 & 1) {
path_type = PATH_TYPE_NEWAF;
+ create_afnewdir(1);
strcpy(start_path_data, xstart_path_new1);
}
if (af_path_2005 & 2) {
}
v = GetFileAttributes(start_path_data);
- if (v == INVALID_FILE_ATTRIBUTES || !(v & FILE_ATTRIBUTE_DIRECTORY) || start_data <= 0) {
+ if (v == INVALID_FILE_ATTRIBUTES || !(v & FILE_ATTRIBUTE_DIRECTORY) || start_data == 0 || start_data == -2) {
strcpy(start_path_data, start_path_exe);
}
fixtrailing(start_path_data);
continue;
}
if (!strcmp (arg, "-legacypaths")) {
- start_data = -1;
+ start_data = -2;
continue;
}
if (!strcmp (arg, "-screenshotbmp")) {
closeprinter ();
#endif
WIN32_CleanupLibraries();
+ create_afnewdir(1);
close_console();
_fcloseall();
if(hWinUAEKey)
#define GETBDM(x) (((x) - ((x / 10000) * 10000)) / 100)
#define GETBDD(x) ((x) % 100)
-#define WINUAEBETA 0
-#define WINUAEPUBLICBETA 0
-#define WINUAEDATE MAKEBD(2007, 7, 29)
+#define WINUAEBETA 1
+#define WINUAEPUBLICBETA 1
+#define WINUAEDATE MAKEBD(2007, 8, 19)
#define WINUAEEXTRA ""
#define WINUAEREV ""
if (!cl)
rd = getromdatabydata (rombuf, size);
if (!rd) {
- write_log ("Unknown: Size=%d, Name='%s'\nCRC32=%08X SHA1=%s\n",
- size, zfile_getname(f), get_crc32(rombuf, size), get_sha1_txt(rombuf, size));
+ ;//write_log ("Unknown: Size=%d, Name='%s'\nCRC32=%08X SHA1=%s\n",
+ // size, zfile_getname(f), get_crc32(rombuf, size), get_sha1_txt(rombuf, size));
}
free (rombuf);
return rd;
return 1;
}
-static int scan_rom_2 (struct zfile *f, struct romscandata *rsd)
+static int isromext(char *path)
{
- int i;
- char *path = zfile_getname(f);
char *ext = strrchr (path, '.');
- struct romdata *rd;
+ int i;
if (!ext)
return 0;
ext++;
+
+ if (!stricmp (ext, "rom") || !stricmp (ext, "adf") || !stricmp (ext, "key")
+ || !stricmp (ext, "a500") || !stricmp (ext, "a1200") || !stricmp (ext, "a4000"))
+ return 1;
for (i = 0; uae_archive_extensions[i]; i++) {
- if (!stricmp (ext, uae_archive_extensions[i])) {
- //zfile_zopen (path, scan_rom_2, rsd);
- return 0;
- }
+ if (!stricmp (ext, uae_archive_extensions[i]))
+ return 1;
}
+ return 0;
+}
+
+static int scan_rom_2 (struct zfile *f, struct romscandata *rsd)
+{
+ char *path = zfile_getname(f);
+ struct romdata *rd;
+
+ if (!isromext(path))
+ return 0;
rd = scan_single_rom_2 (f);
if (rd) {
addrom (rsd->fkey, rd, path);
{
struct romscandata rsd = { fkey, 0 };
struct romdata *rd;
- int cnt = 0, i;
- char *ext = strrchr (path, '.');
+ int cnt = 0;
- if (!ext)
+ if (!isromext(path)) {
+ //write_log("ROMSCAN: skipping file '%s', unknown extension\n", path);
return 0;
- ext++;
- for (i = 0; uae_archive_extensions[i]; i++) {
- if (!stricmp (ext, uae_archive_extensions[i]))
- break;
- }
- if (!uae_archive_extensions[i]) {
- if (stricmp (ext, "rom") && stricmp (ext, "adf") && stricmp (ext, "key")
- && stricmp (ext, "a500") && stricmp (ext, "a1200") && stricmp (ext, "a4000")) {
- write_log("ROMSCAN: skipping file '%s', unknown extension\n", path);
- return 0;
- }
}
-
for (;;) {
char tmp[MAX_DPATH];
strcpy (tmp, path);
free (p);
}
-static int scan_roms_2 (char *pathp)
+static int scan_roms_2 (HKEY fkey, char *pathp)
{
- HKEY fkey = NULL;
char buf[MAX_DPATH], path[MAX_DPATH];
WIN32_FIND_DATA find_data;
HANDLE handle;
int ret;
- int keys;
if (!pathp)
- fetch_path ("KickstartPath", path, sizeof (path));
- else
- strcpy (path, pathp);
+ return 0;
+ GetFullPathName(pathp, MAX_DPATH, path, NULL);
+ write_log("ROM scan directory '%s'\n", path);
strcpy (buf, path);
strcat (buf, "*.*");
- if (!hWinUAEKey)
- goto end;
- keys = get_keyring();
- SHDeleteKey (hWinUAEKey, "DetectedROMs");
- RegCreateKeyEx(hWinUAEKey , "DetectedROMs", 0, NULL, REG_OPTION_NON_VOLATILE,
- KEY_READ | KEY_WRITE, NULL, &fkey, NULL);
- if (fkey == NULL)
- goto end;
ret = 0;
+ handle = FindFirstFile (buf, &find_data);
+ if (handle == INVALID_HANDLE_VALUE)
+ return 0;
for (;;) {
- handle = FindFirstFile (buf, &find_data);
- if (handle == INVALID_HANDLE_VALUE)
- goto end;
- for (;;) {
- char tmppath[MAX_DPATH];
- strcpy (tmppath, path);
- strcat (tmppath, find_data.cFileName);
- if (!(find_data.dwFileAttributes & (FILE_ATTRIBUTE_DIRECTORY |FILE_ATTRIBUTE_SYSTEM)) && find_data.nFileSizeLow < 10000000) {
- if (scan_rom (tmppath, fkey))
- ret = 1;
- }
- if (FindNextFile (handle, &find_data) == 0) {
- FindClose (handle);
- break;
- }
+ char tmppath[MAX_DPATH];
+ strcpy (tmppath, path);
+ strcat (tmppath, find_data.cFileName);
+ if (!(find_data.dwFileAttributes & (FILE_ATTRIBUTE_DIRECTORY |FILE_ATTRIBUTE_SYSTEM)) && find_data.nFileSizeLow < 10000000) {
+ if (scan_rom (tmppath, fkey))
+ ret = 1;
}
- if (get_keyring() > keys) { /* more keys detected in previous scan? */
- keys = get_keyring();
- continue;
+ if (FindNextFile (handle, &find_data) == 0) {
+ FindClose (handle);
+ break;
}
- break;
}
-end:
- if (fkey)
- RegCloseKey (fkey);
return ret;
}
-int scan_roms (char *pathp)
+static int scan_roms_3(HKEY fkey, char **paths, int offset, char *path)
+{
+ int i, ret;
+
+ ret = 0;
+ for (i = 0; i < offset; i++) {
+ if (paths[i] && !strcmpi(paths[i], path))
+ return ret;
+ }
+ ret = scan_roms_2 (fkey, path);
+ paths[offset] = my_strdup(path);
+ return ret;
+}
+
+extern int get_rom_path(char *out, int mode);
+
+int scan_roms (void)
{
char path[MAX_DPATH];
- int ret;
static int recursive;
- int id;
- HKEY fkey;
+ int id, i, ret, keys, cnt;
+ HKEY fkey = NULL;
+ char *paths[10];
if (recursive)
return 0;
recursive++;
- ret = scan_roms_2 (pathp);
- sprintf (path, "%s..\\shared\\rom\\", start_path_data);
- if (!ret && pathp == NULL) {
- ret = scan_roms_2 (path);
- if (ret)
- set_path ("KickstartPath", path);
+
+ SHDeleteKey (hWinUAEKey, "DetectedROMs");
+ RegCreateKeyEx(hWinUAEKey , "DetectedROMs", 0, NULL, REG_OPTION_NON_VOLATILE,
+ KEY_READ | KEY_WRITE, NULL, &fkey, NULL);
+ if (fkey == NULL)
+ goto end;
+
+ cnt = 0;
+ for (i = 0; i < 10; i++)
+ paths[i] = NULL;
+ for (;;) {
+ keys = get_keyring();
+ fetch_path("KickstartPath", path, sizeof path);
+ scan_roms_3 (fkey, paths, 0, path);
+ for(i = 0; ;i++) {
+ ret = get_rom_path(path, i);
+ if (ret < 0)
+ break;
+ cnt += scan_roms_3 (fkey, paths, 2 + i, path);
+ }
+ if (get_keyring() > keys) { /* more keys detected in previous scan? */
+ keys = get_keyring();
+ continue;
+ }
+ break;
}
- if (hWinUAEKey) {
- RegCreateKeyEx(hWinUAEKey , "DetectedROMs", 0, NULL, REG_OPTION_NON_VOLATILE,
- KEY_READ | KEY_WRITE, NULL, &fkey, NULL);
- if (fkey) {
- id = 1;
- for (;;) {
- struct romdata *rd = getromdatabyid(id);
- if (!rd)
- break;
- if (rd->crc32 == 0xffffffff)
- addrom(fkey, rd, NULL);
- id++;
- }
- RegCloseKey(fkey);
+ if (cnt == 0)
+ scan_roms_3 (fkey, paths, 1, workprefs.path_rom);
+
+ for (i = 0; i < 10; i++)
+ xfree(paths[i]);
+
+ RegCreateKeyEx(hWinUAEKey , "DetectedROMs", 0, NULL, REG_OPTION_NON_VOLATILE,
+ KEY_READ | KEY_WRITE, NULL, &fkey, NULL);
+ if (fkey) {
+ id = 1;
+ for (;;) {
+ struct romdata *rd = getromdatabyid(id);
+ if (!rd)
+ break;
+ if (rd->crc32 == 0xffffffff)
+ addrom(fkey, rd, NULL);
+ id++;
}
+ RegCloseKey(fkey);
}
+
+end:
read_rom_list ();
show_rom_list ();
+
+ if (fkey)
+ RegCloseKey (fkey);
recursive--;
return ret;
}
int path_type;
static INT_PTR CALLBACK PathsDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
+ void create_afnewdir(int);
static int recursive;
static int ptypes[3], numtypes;
int val, selpath = 0;
if (path_type == PATH_TYPE_NEWAF)
selpath = numtypes;
ptypes[numtypes++] = PATH_TYPE_NEWAF;
+ }
+ if (start_path_new1[0]) {
WIN32GUI_LoadUIString(IDS_DEFAULT_NEWWINUAE, tmp, sizeof tmp);
SendDlgItemMessage (hDlg, IDC_PATHS_DEFAULTTYPE, CB_ADDSTRING, 0, (LPARAM)tmp);
if (path_type == PATH_TYPE_NEWWINUAE)
fetch_path ("KickstartPath", tmp, sizeof (tmp));
if (DirectorySelection (hDlg, 0, tmp)) {
load_keyring(&workprefs, NULL);
- if (tmp[strlen (tmp) - 1] != '\\')
- strcat (tmp, "\\");
- if (!scan_roms (tmp))
- gui_message_id (IDS_ROMSCANNOROMS);
set_path ("KickstartPath", tmp);
+ if (!scan_roms ())
+ gui_message_id (IDS_ROMSCANNOROMS);
values_to_pathsdialog (hDlg);
}
break;
} else if (val == PATH_TYPE_NEWWINUAE && start_path_new1[0]) {
strcpy (start_path_data, start_path_new1);
path_type = PATH_TYPE_NEWWINUAE;
+ create_afnewdir(0);
strcpy (pathmode, "WinUAE_2");
} else if (val == PATH_TYPE_OLDAF && start_path_af[0]) {
strcpy (start_path_data, start_path_af);
} else if (val == PATH_TYPE_NEWAF && start_path_new1[0]) {
strcpy (pathmode, "AF2005");
path_type = PATH_TYPE_NEWAF;
+ create_afnewdir(0);
strcpy (start_path_data, start_path_new1);
} else if (val == PATH_TYPE_AMIGAFOREVERDATA && start_path_new2[0]) {
strcpy (pathmode, "AMIGAFOREVERDATA");
}
break;
case IDC_ROM_RESCAN:
- scan_roms (NULL);
+ scan_roms ();
break;
case IDC_RESETREGISTRY:
resetregistry ();
RegCreateKeyEx(hWinUAEKey , "DetectedROMs", 0, NULL, REG_OPTION_NON_VOLATILE,
KEY_READ | KEY_WRITE, NULL, &fkey, NULL);
load_keyring(&workprefs, NULL);
- addromfiles (fkey, hDlg, IDC_ROMFILE, workprefs.romfile, ROMTYPE_KICK | ROMTYPE_KICKCD32);
- addromfiles (fkey, hDlg, IDC_ROMFILE2, workprefs.romextfile, ROMTYPE_EXTCD32 | ROMTYPE_EXTCDTV | ROMTYPE_ARCADIABIOS);
- addromfiles (fkey, hDlg, IDC_CARTFILE, workprefs.cartfile, ROMTYPE_AR | ROMTYPE_SUPERIV | ROMTYPE_ARCADIAGAME | ROMTYPE_HRTMON);
+ addromfiles (fkey, hDlg, IDC_ROMFILE, workprefs.romfile,
+ ROMTYPE_KICK | ROMTYPE_KICKCD32);
+ addromfiles (fkey, hDlg, IDC_ROMFILE2, workprefs.romextfile,
+ ROMTYPE_EXTCD32 | ROMTYPE_EXTCDTV | ROMTYPE_ARCADIABIOS);
+ addromfiles (fkey, hDlg, IDC_CARTFILE, workprefs.cartfile,
+ ROMTYPE_AR | ROMTYPE_SUPERIV | ROMTYPE_NORDIC | ROMTYPE_XPOWER | ROMTYPE_ARCADIAGAME | ROMTYPE_HRTMON);
if (fkey)
RegCloseKey (fkey);
}
ew (hDlg, IDC_FLASHCHOOSER), FALSE);
#endif
if (RegOpenKeyEx (hWinUAEKey , "DetectedROMs", 0, KEY_READ, &fkey) != ERROR_SUCCESS)
- scan_roms (workprefs.path_rom);
+ scan_roms ();
if (fkey)
RegCloseKey (fkey);
ew (hDlg, IDC_HRTMON, full_property_sheet);
SendDlgItemMessage(hDlg, IDC_SOUNDSTEREOMIX, CB_ADDSTRING, 0, (LPARAM)txt);
}
SendDlgItemMessage (hDlg, IDC_SOUNDSTEREOMIX, CB_SETCURSEL,
- workprefs.sound_mixed_stereo > 0 ? workprefs.sound_mixed_stereo : 0, 0);
+ workprefs.sound_mixed_stereo_delay > 0 ? workprefs.sound_mixed_stereo_delay : 0, 0);
SendDlgItemMessage(hDlg, IDC_SOUNDINTERPOLATION, CB_RESETCONTENT, 0, 0);
WIN32GUI_LoadUIString (IDS_SOUND_INTERPOL_DISABLED, txt, sizeof (txt));
if (idx != CB_ERR)
workprefs.sound_stereo = idx;
workprefs.sound_stereo_separation = 0;
- workprefs.sound_mixed_stereo = 0;
+ workprefs.sound_mixed_stereo_delay = 0;
if (workprefs.sound_stereo > 0) {
idx = SendDlgItemMessage (hDlg, IDC_SOUNDSTEREOSEP, CB_GETCURSEL, 0, 0);
if (idx != CB_ERR) {
if (idx > 0)
- workprefs.sound_mixed_stereo = -1;
+ workprefs.sound_mixed_stereo_delay = -1;
workprefs.sound_stereo_separation = 10 - idx;
}
idx = SendDlgItemMessage (hDlg, IDC_SOUNDSTEREOMIX, CB_GETCURSEL, 0, 0);
if (idx != CB_ERR && idx > 0)
- workprefs.sound_mixed_stereo = idx;
+ workprefs.sound_mixed_stereo_delay = idx;
}
workprefs.sound_interpol = SendDlgItemMessage (hDlg, IDC_SOUNDINTERPOLATION, CB_GETCURSEL, 0, 0);
break;
case IDOK:
{
+#if 0
if(!my_existsfile(current_fsvdlg.rootdir) && !my_existsdir(current_fsvdlg.rootdir)) {
char szMessage[MAX_DPATH];
char szTitle[MAX_DPATH];
MB_OK | MB_ICONERROR | MB_APPLMODAL | MB_SETFOREGROUND);
break;
}
+#endif
EndDialog (hDlg, 1);
}
break;
break;
case ZFILE_HDF:
if (flags & FILE_ATTRIBUTE_DIRECTORY) {
- add_filesys_config (&workprefs, -1, NULL, "", file, 0,
- 0, 0, 0, 0, 0, NULL, 0, 0);
+ if (!full_property_sheet && currentpage < 0)
+ filesys_insert(-1, NULL, file, 0, 0);
+ else
+ add_filesys_config (&workprefs, -1, NULL, "", file, 0,
+ 0, 0, 0, 0, 0, NULL, 0, 0);
} else {
add_filesys_config (&workprefs, -1, NULL, NULL, file, 0,
32, 1, 2, 512, 0, NULL, 0, 0);
ret = 1;
break;
default:
- if (currentpage == HARDDISK_ID) {
+ if (currentpage < 0 && !full_property_sheet) {
+ filesys_insert(-1, NULL, file, 0, 0);
+ } else if (currentpage == HARDDISK_ID) {
add_filesys_config (&workprefs, -1, NULL, "", file, 0,
0, 0, 0, 0, 0, NULL, 0, 0);
} else {
<Filter
Name="xfd"
>
- <File
- RelativePath="..\..\archivers\xfd\xfd.c"
- >
- </File>
</Filter>
</Filter>
<File
+Beta 1:
+
+- ROM scan now always scans all detected ROM paths (skips duplicate
+ paths)
+- zero sized files inside archives could have caused illegal accesses
+ in some cases
+- return HFERR_NoBoard, not IOERR_OPENFAIL when opening non-existing
+ uaehf.device units. Fixes problem with <OS3.5 hdtoolbox versions
+ not detecting hardfiles that are not in topmost position in harddisk
+ panel.
+- if blitter line draw with onedot-mode enabled, blitter does not write
+ non-drawn pixel words back to chip ram (it becomes free bus cycle)
+- -datapath fixed, again and again, it seems to never work properly..
+- CD32 statefile support works again
+- paths-panel adjustments, "new" path (in All Users) is only created
+ if selected in paths-panel.
+- directory filesystem ACTION_WRITE_PROTECT packet implemented
+ (AmigaDOS Lock-command) Note: "hardware" lock (read-only status
+ in configuration file/GUI) can't be unlocked with Lock-command.
+- directory filesystem ACTION_INHIBIT implemented (not really needed
+ but it uses same functions as removable drive support)
+- directory filesystem ACTION_MORE_CACHE implemented (Addbuffers),
+ No-op, currently always returns 50 and flushes file/dir cache.
+- directory filesystem ACTION_FLUSH_CACHE implemented, flushes
+ file/dir cache.
+- possible filecomment leak/access error in fsdb/streams support
+- filesystem ACTION_WRITE optimized (no temporary buffer if memory
+ is directly accessable, optimization copied from ACTION_READ)
+- removable directory filesystem support added
+ - it is not possible to add new devices after emulation has been
+ started (workaround: add 1 or more empty drives = add new directory
+ without device/volume name or path)
+ - only volume name gets removed (like CD0: without CD inserted)
+ - GUI can't be used to insert/remove harddrives. Yet.
+ I don't know make it easy to use..
+ - drag'n'drop (directories or files/archives) to WinUAE's window is
+ currently the only way to test removable drive support. Note that
+ only drives that were empty when emulation was started will be
+ remounted. (It is quite bad idea to remove OS/boot drive..)
+ - weird things can happen if files are open when changing drive
+- CPU emulation and other cleanups (Bernd Schmidt!)
+- X-Power Professional 500 v1.3 supported
+- Nordic Power v1.5 supported
+- compiled with MSVS 2008 (Orcas) Beta 2
+
+1.4.3
+
Beta 13: (RC2)
- Action Replay 1200 "cartridge support" credits added
changed_prefs.bogomem_size = 0;
changed_prefs.chipmem_size = 0;
changed_prefs.fastmem_size = 0;
+ changed_prefs.z3fastmem_size = 0;
changed_prefs.mbresmem_low_size = 0;
changed_prefs.mbresmem_high_size = 0;
savestate_state = STATE_RESTORE;
end = restore_filesys (chunk);
else if (!strcmp (name, "FSYC"))
end = restore_filesys_common (chunk);
+#endif
+#ifdef CD32
+ else if (!strcmp (name, "CD32"))
+ end = restore_akiko (chunk);
#endif
else if (!strcmp (name, "GAYL"))
end = restore_gayle (chunk);
xfree (chunk);
}
restore_blitter_finish();
+ restore_akiko_finish();
return;
error:
xfree (dst);
} while ((dst = save_rom (0, &len, 0)));
+#ifdef CD32
+ dst = save_akiko (&len);
+ save_chunk (f, dst, len, "CD32", 0);
+ xfree (dst);
+#endif
#ifdef ACTION_REPLAY
dst = save_action_replay (&len, 0);
save_chunk (f, dst, len, "ACTR", 1);
% 1: 68010
% 2: 68020
% 3: 68030
-% 4: 68020/68030+FPU
-% 5: 68040
-% 6: 68060 (not used)
+% 4: 68040
+% 5: 68060 (not used to produce a cputbl)
+% [Everything from 68020 possibly allows for FPU emulation]
% privilege level 0: not privileged
% 1: unprivileged only on 68000 (check regs.s)
% 2: privileged (check regs.s)
1110 1111 11ss sSSS:20:?????:?????:13: BFINS #1,s[!Areg,Apdi,Aipi,Immd,PC8r,PC16]
% floating point co processor
-1111 0010 00ss sSSS:40:?????:?????:11: FPP #1,s
-1111 0010 01ss sSSS:40:?????:?????:11: FDBcc #1,s[Areg-Dreg]
-1111 0010 01ss sSSS:40:?????:?????:11: FScc #1,s[!Areg,Immd,PC8r,PC16]
-1111 0010 0111 1010:40:?????:?????:10: FTRAPcc #1
-1111 0010 0111 1011:40:?????:?????:10: FTRAPcc #2
-1111 0010 0111 1100:40:?????:?????:00: FTRAPcc
-1111 0010 10KK KKKK:40:?????:?????:11: FBcc #K,#1
-1111 0010 11KK KKKK:40:?????:?????:11: FBcc #K,#2
-1111 0011 00ss sSSS:42:?????:?????:20: FSAVE s[!Dreg,Areg,Aipi,Immd,PC8r,PC16]
-1111 0011 01ss sSSS:42:?????:?????:10: FRESTORE s[!Dreg,Areg,Apdi,Immd]
+1111 0010 00ss sSSS:20:?????:?????:11: FPP #1,s
+1111 0010 01ss sSSS:20:?????:?????:11: FDBcc #1,s[Areg-Dreg]
+1111 0010 01ss sSSS:20:?????:?????:11: FScc #1,s[!Areg,Immd,PC8r,PC16]
+1111 0010 0111 1010:20:?????:?????:10: FTRAPcc #1
+1111 0010 0111 1011:20:?????:?????:10: FTRAPcc #2
+1111 0010 0111 1100:20:?????:?????:00: FTRAPcc
+1111 0010 10KK KKKK:20:?????:?????:11: FBcc #K,#1
+1111 0010 11KK KKKK:20:?????:?????:11: FBcc #K,#2
+1111 0011 00ss sSSS:22:?????:?????:20: FSAVE s[!Dreg,Areg,Aipi,Immd,PC8r,PC16]
+1111 0011 01ss sSSS:22:?????:?????:10: FRESTORE s[!Dreg,Areg,Apdi,Immd]
% 68030 MMU (allowed addressing modes not checked!)
1111 0000 00ss sSSS:30:?????:?????:11: MMUOP30A s[!Immd],#1
1111 1000 00ss sSSS:30:?????:?????:11: MMUOP30B s[!Immd]
% Misc MMU
-1111 0101 iiii iSSS:50:?????:?????:11: MMUOP #i,s
+1111 0101 iiii iSSS:40:?????:?????:11: MMUOP #i,s
% 68040 instructions
-1111 0100 pp00 1rrr:52:-----:-----:02: CINVL #p,Ar
-1111 0100 pp01 0rrr:52:-----:-----:02: CINVP #p,Ar
-1111 0100 pp01 1rrr:52:-----:-----:00: CINVA #p
-1111 0100 pp10 1rrr:52:-----:-----:02: CPUSHL #p,Ar
-1111 0100 pp11 0rrr:52:-----:-----:02: CPUSHP #p,Ar
-1111 0100 pp11 1rrr:52:-----:-----:00: CPUSHA #p
+1111 0100 pp00 1rrr:42:-----:-----:02: CINVL #p,Ar
+1111 0100 pp01 0rrr:42:-----:-----:02: CINVP #p,Ar
+1111 0100 pp01 1rrr:42:-----:-----:00: CINVA #p
+1111 0100 pp10 1rrr:42:-----:-----:02: CPUSHL #p,Ar
+1111 0100 pp11 0rrr:42:-----:-----:02: CPUSHP #p,Ar
+1111 0100 pp11 1rrr:42:-----:-----:00: CPUSHA #p
% destination register number is encoded in the following word
-1111 0110 0010 0rrr:50:-----:-----:12: MOVE16 ArP,AxP
-1111 0110 00ss sSSS:50:-----:-----:12: MOVE16 s[Dreg-Aipi],L
-1111 0110 00dd dDDD:50:-----:-----:12: MOVE16 L,d[Areg-Aipi]
-1111 0110 00ss sSSS:50:-----:-----:12: MOVE16 s[Aind],L
-1111 0110 00dd dDDD:50:-----:-----:12: MOVE16 L,d[Aipi-Aind]
+1111 0110 0010 0rrr:40:-----:-----:12: MOVE16 ArP,AxP
+1111 0110 00ss sSSS:40:-----:-----:12: MOVE16 s[Dreg-Aipi],L
+1111 0110 00dd dDDD:40:-----:-----:12: MOVE16 L,d[Areg-Aipi]
+1111 0110 00ss sSSS:40:-----:-----:12: MOVE16 s[Aind],L
+1111 0110 00dd dDDD:40:-----:-----:12: MOVE16 L,d[Aipi-Aind]
l->data = (uae_u8*)malloc (size);
l->size = size;
memset (l->data, 0, size);
+ } else {
+ l->data = (uae_u8*)calloc (1, 1);
+ l->size = 0;
}
return l;
}
zn = &zv->root;
while (zn) {
if (zn->isfile) {
- struct zfile *zf = archive_getzfile (zn, id);
- if (zf) {
- int ret = zc (zf, user);
- zfile_fclose(zf);
+ struct zfile *zf2 = archive_getzfile (zn, id);
+ if (zf2) {
+ int ret = zc (zf2, user);
+ zfile_fclose(zf2);
if (ret)
break;
}