]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
imported winuaesrc1440b1.zip
authorToni Wilen <twilen@winuae.net>
Sun, 19 Aug 2007 09:16:26 +0000 (12:16 +0300)
committerToni Wilen <twilen@winuae.net>
Mon, 22 Feb 2010 19:35:19 +0000 (21:35 +0200)
53 files changed:
a2091.c
akiko.c
ar.c
archivers/xfd/xfd.c
audio.c
blitter.c
cfgfile.c
compemu_support.c
cpu_small.c [new file with mode: 0755]
cpustbl_small.c [new file with mode: 0755]
cputbl_small.h [new file with mode: 0755]
custom.c
disk.c
expansion.c
filesys.c
filesys_bootrom.c
fpp.c
gayle.c
genblitter.c
gencpu.c
gencpu_mini.c
hardfile.c
include/audio.h
include/autoconf.h
include/cpu_small.h [new file with mode: 0755]
include/custom.h
include/fsdb.h
include/memory.h
include/newcpu.h
include/options.h
include/savestate.h
include/zarchive.h
main.c
memory.c
ncr_scsi.c
newcpu.c
od-win32/fsdb_win32.c
od-win32/genblitter_msvc/genblitter_msvc.vcproj
od-win32/gencpu_msvc/cpustbl_small.c [new file with mode: 0755]
od-win32/gencpu_msvc/cputbl_small.h [new file with mode: 0755]
od-win32/gencpu_msvc/gencpu_msvc.vcproj
od-win32/keyboard_win32.c
od-win32/picasso96_win.c
od-win32/resources/winuae.rc
od-win32/win32.c
od-win32/win32.h
od-win32/win32gui.c
od-win32/winuae_msvc/winuae_msvc.vcproj
od-win32/winuaechangelog.txt
savestate.c
table68k
zfile.c
zfile_archive.c

diff --git a/a2091.c b/a2091.c
index 74c5423974b5a7b36c316473e694266e63e8644f..81c0f1755e36c3997d84adf5a6a9cb159208ec67 100755 (executable)
--- a/a2091.c
+++ b/a2091.c
@@ -154,7 +154,8 @@ static int wd_dataoffset, wd_tc;
 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];
@@ -185,38 +186,15 @@ void rethink_a2091(void)
     }
 }
 
-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)
@@ -258,16 +236,36 @@ static void dmac_cint(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)
@@ -293,8 +291,12 @@ static void wd_cmd_sel_xfer(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;
@@ -396,22 +398,22 @@ static void wd_do_transfer_in(void)
     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;
@@ -501,7 +503,7 @@ static void wd_cmd_sel_atn(void)
        wdregs[WD_COMMAND_PHASE] = 0x10;
        return;
     }
-    set_status(CSR_TIMEOUT, 0);
+    set_status(CSR_TIMEOUT, 1000);
 }
 
 static void wd_cmd_reset(void)
@@ -657,12 +659,14 @@ static uae_u32 dmac_bget2 (uaecptr addr)
        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:
@@ -1291,7 +1295,7 @@ void a2091_init (void)
     roms[2] = 53;
     roms[3] = 56;
     roms[4] = -1;
-    //roms[0] = 56;
+    roms[0] = 56;
 
     rombankswitcher = 0;
     rombank = 0;
diff --git a/akiko.c b/akiko.c
index f0f899fc980e27d25d93b1ace3f636035e6cbfba..6205387c7298d443b26214546588aa69fe7782c9 100755 (executable)
--- a/akiko.c
+++ b/akiko.c
@@ -1504,6 +1504,9 @@ uae_u8 *save_akiko(int *len)
     uae_u8 *dstbak, *dst;
     int i;
 
+    if (!currprefs.cs_cd32cd)
+       return NULL;
+
     dstbak = dst = (uae_u8*)malloc (1000);
     save_u16 (0);
     save_u16 (0xCAFE);
@@ -1557,6 +1560,9 @@ uae_u8 *restore_akiko(uae_u8 *src)
     uae_u32 v;
     int i;
 
+    if (!currprefs.cs_cd32cd)
+       return NULL;
+
     restore_u16 ();
     restore_u16 ();
     cdrom_status1 = restore_u32 ();
diff --git a/ar.c b/ar.c
index a3e1555f57f7fa9f0445f7fe86f337ca3b5ccbcc..1af8dc7a6808c4986099db060a451c897d937c01 100755 (executable)
--- a/ar.c
+++ b/ar.c
   * 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"
 
@@ -1514,6 +1531,7 @@ static int superiv_init(struct romdata *rd, struct zfile *f)
 {
     uae_u32 chip = currprefs.chipmem_size - 0x10000;
     int subtype = rd->id;
+    int flags = rd->type;
 
     cart_type = CART_SUPER4;
 
@@ -1521,13 +1539,13 @@ static int superiv_init(struct romdata *rd, struct zfile *f)
     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;
@@ -1570,7 +1588,7 @@ static int superiv_init(struct romdata *rd, struct zfile *f)
     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;
@@ -1580,7 +1598,7 @@ static int superiv_init(struct romdata *rd, struct zfile *f)
        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;
@@ -1631,7 +1649,7 @@ int action_replay_load(void)
     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);
        }
     }
index f0880cfa7b898958d5ecd57a0a3b4dc0cc6d9b6c..2796fa8189072544b257b773b335aa127b95b848 100755 (executable)
@@ -23,6 +23,9 @@
 #include "memory.h"
 #include "newcpu.h"
 
+#include "cpu_small.h"
+#include "cputbl_small.h"
+
 /* memory structure
  *
  * 0x000676 execbase
@@ -234,6 +237,7 @@ int init_xfd(void)
        return 0;
     init = -1;
 
+    init_cpu_small();
     codememory = 0x2000;
     codeptr = malloc (FAKEMEM_SIZE);
     sprintf (tmp, "%splugins%cxfd", start_path_data, FSDB_DIR_SEPARATOR);
@@ -253,19 +257,31 @@ int init_xfd(void)
     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;
@@ -274,13 +290,16 @@ static struct zfile *decomp(struct zfile *zf, struct xfdslave *xfds, uae_u32 siz
 
     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);
@@ -288,128 +307,93 @@ static struct zfile *decomp(struct zfile *zf, struct xfdslave *xfds, uae_u32 siz
     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, &regs, 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 (&regs, &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(&regs, 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(&regs, gl(xfdmemory + start + 16)); // recog code
-       if (regs.pc) {
-           execute68k(&regs);
-           if (regs.regs[0]) {
-               write_log("XFD slave '%s' recognised the compressed data\n", xfds->name);
-               m68k_setpc(&regs, gl(xfdmemory + start + 20)); // decomp code
-               if (regs.pc)
-                   zfout = decomp(z, xfds, size, &regs);
-               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;
 }
diff --git a/audio.c b/audio.c
index a6bd8a579a288e0bbd685215a780ef6f0048eb56..dc72ae57c6503f51b6f262f02fb233655e866f9c 100755 (executable)
--- a/audio.c
+++ b/audio.c
@@ -306,15 +306,12 @@ typedef   uae_u8 sample8_t;
 #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;
 
@@ -400,6 +397,8 @@ static int filter(int input, struct filter_state *fs)
     return o;
 }
 
+/* Always put the right word before the left word.  */
+
 STATIC_INLINE void put_sound_word_right (uae_u32 w)
 {
     if (mixed_on) {
@@ -421,12 +420,12 @@ STATIC_INLINE void put_sound_word_left (uae_u32 w)
        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);
 }
@@ -1307,7 +1306,7 @@ STATIC_INLINE int sound_prefs_changed (void)
            || 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
@@ -1356,12 +1355,16 @@ void check_prefs_changed_audio (void)
 
 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;
@@ -1387,10 +1390,16 @@ void set_audio(void)
     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;
@@ -1528,9 +1537,6 @@ void audio_evhandler (void)
     schedule_audio ();
 }
 
-#ifdef CPUEMU_6
-extern uae_u8 cycle_line[];
-#endif
 uae_u16        dmacon;
 
 void audio_hsync (int dmaaction)
@@ -1583,9 +1589,7 @@ 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;
            }
index 42a844242e4ec9d7b3d2467bdb36c9ee195ac5d9..2357b2f59f971a7f8a997cfc84d99ce13cd80440 100755 (executable)
--- a/blitter.c
+++ b/blitter.c
@@ -184,7 +184,7 @@ static const int blit_cycle_diagram_fill[][10] =
 
 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[] =
@@ -522,7 +522,7 @@ static void blitter_line(void)
 
     if (blitsing && blitonedot)
        blitahold = 0;
-    blitonedot = 1;
+    blitonedot++;
     blt_info.bltddat = blit_func(blitahold, blitbhold, blitchold, bltcon0 & 0xFF);
 }
 
@@ -581,17 +581,27 @@ static void decide_blitter_line (int hpos)
     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;
                    }
@@ -599,8 +609,9 @@ static void decide_blitter_line (int hpos)
                    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();
@@ -843,16 +854,16 @@ void decide_blitter (int hpos)
 
                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++;
index ea0ce6345950ba0aa6dad87b01424d9834fe03be..5825324e60ef7eeb7c1aa94b061d4d3870c02fb7 100755 (executable)
--- a/cfgfile.c
+++ b/cfgfile.c
@@ -354,7 +354,7 @@ void cfgfile_save_options (struct zfile *f, struct uae_prefs *p, int type)
     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);
@@ -581,7 +581,7 @@ void cfgfile_save_options (struct zfile *f, struct uae_prefs *p, int type)
     /* 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;
@@ -598,7 +598,7 @@ int cfgfile_yesno (char *option, char *value, char *name, int *location)
     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;
@@ -616,7 +616,7 @@ int cfgfile_intval (char *option, char *value, char *name, int *location, int sc
     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)
@@ -633,7 +633,7 @@ int cfgfile_strval (char *option, char *value, char *name, int *location, const
     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;
@@ -759,7 +759,7 @@ static int cfgfile_parse_host (struct uae_prefs *p, char *option, char *value)
        || 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)
@@ -973,7 +973,7 @@ static int cfgfile_parse_host (struct uae_prefs *p, char *option, char *value)
     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;
@@ -1146,9 +1146,26 @@ int add_filesys_config (struct uae_prefs *p, int index,
     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 == '\\') {
@@ -1433,9 +1450,9 @@ static int cfgfile_parse_hardware (struct uae_prefs *p, char *option, char *valu
        || 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)
@@ -1455,21 +1472,21 @@ static int cfgfile_parse_hardware (struct uae_prefs *p, char *option, char *valu
        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)
@@ -1506,7 +1523,9 @@ static int cfgfile_parse_hardware (struct uae_prefs *p, char *option, char *valu
                }
            }
        }
-       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
@@ -2621,18 +2640,10 @@ static int configure_rom (struct uae_prefs *p, int *rom, int msg)
            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;
 }
 
@@ -2686,7 +2697,7 @@ void default_prefs (struct uae_prefs *p, int type)
     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;
index cdba4b2dd63baa8eb4198d88859fd3ba88bca5f3..5180711f61ad51533d0dd35e46f741672828d3c6 100755 (executable)
@@ -5767,8 +5767,12 @@ void build_comp(void)
        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) {
@@ -5925,7 +5929,7 @@ int failure;
 
 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;
diff --git a/cpu_small.c b/cpu_small.c
new file mode 100755 (executable)
index 0000000..9273c70
--- /dev/null
@@ -0,0 +1,147 @@
+#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);
+}
diff --git a/cpustbl_small.c b/cpustbl_small.c
new file mode 100755 (executable)
index 0000000..b200fd0
--- /dev/null
@@ -0,0 +1,1892 @@
+#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 }};
diff --git a/cputbl_small.h b/cputbl_small.h
new file mode 100755 (executable)
index 0000000..d7a38cf
--- /dev/null
@@ -0,0 +1,1888 @@
+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;
index 94b7ebf7ae97d23ed8ce9df83830a9e93dd87596..b266eaa7c9e97f6f8bc98f7e736b7675b3b5cd11 100755 (executable)
--- a/custom.c
+++ b/custom.c
@@ -392,6 +392,26 @@ STATIC_INLINE void setclr (uae_u16 *p, uae_u16 val)
        *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 
@@ -3531,10 +3551,6 @@ static void update_copper (int until_hpos)
        }
 
        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;
@@ -3551,9 +3567,7 @@ static void update_copper (int until_hpos)
            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;
@@ -3565,9 +3579,7 @@ static void update_copper (int until_hpos)
            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;
@@ -3752,9 +3764,7 @@ STATIC_INLINE uae_u16 sprite_fetch (struct sprite *s, int dma, int hpos, int cyc
     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;
@@ -4212,6 +4222,7 @@ static void vsync_handler (void)
     if (timehack_alive > 0)
        timehack_alive--;
     inputdevice_vsync ();
+    filesys_vsync ();
 
     init_hardware_frame ();
 }
@@ -4316,10 +4327,10 @@ static void hsync_handler (void)
     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
 
@@ -5240,7 +5251,7 @@ static void REGPARAM2 custom_bput (uaecptr addr, uae_u32 value)
 #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
@@ -5751,7 +5762,7 @@ STATIC_INLINE void dma_cycle(void)
        /* 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)
diff --git a/disk.c b/disk.c
index 7fd4c0c31ba391bcd327d4ce36cf3b612dcec4c5..4337965435818a8c21df58f220fbf3698019a285 100755 (executable)
--- a/disk.c
+++ b/disk.c
@@ -1199,20 +1199,21 @@ static void decode_pcdos (drive *drv)
     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);
@@ -1237,7 +1238,7 @@ static void decode_pcdos (drive *drv)
        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;
@@ -1246,7 +1247,7 @@ static void decode_pcdos (drive *drv)
        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;
@@ -2468,7 +2469,7 @@ static void disk_doupdate_predict (drive * drv, int startcycle)
     }
 }
 
-#ifdef CPUEMU_6
+#ifdef CPUEMU_12
 extern uae_u8 cycle_line[256];
 #endif
 
@@ -2545,7 +2546,7 @@ static void disk_doupdate_read (drive * drv, int floppybits)
            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
index 99d6a064472d8b291369bb4c79ad5af19eaaf718..aabddbd8c395c235344bf8bbf6999d32cf408a57 100755 (executable)
@@ -206,13 +206,13 @@ addrbank expamem_bank = {
 
 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);
 }
 
index 26e48899d8c8c1180cdaf6846571508198644d98..277397b82b9d7621bad0d84d3f9fd66196b8fa22 100755 (executable)
--- a/filesys.c
+++ b/filesys.c
@@ -106,12 +106,14 @@ typedef struct {
     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;
 
@@ -152,7 +154,7 @@ int nr_units (void)
 
 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)
@@ -210,6 +212,9 @@ int get_filesys_unitconfig (struct uae_prefs *p, int index, struct mountedinfo *
     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;
@@ -244,6 +249,33 @@ static void stripsemicolon(char *s)
        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,
@@ -251,6 +283,7 @@ static int set_filesys_unit_1 (int nr,
 {
     UnitInfo *ui;
     int i;
+    int emptydrive = 0;
 
     if (hdc)
        return -1;
@@ -268,7 +301,7 @@ static int set_filesys_unit_1 (int nr,
     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;
        }
@@ -285,29 +318,13 @@ static int set_filesys_unit_1 (int nr,
     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 {
@@ -344,7 +361,8 @@ static int set_filesys_unit_1 (int nr,
     }
     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])
@@ -418,7 +436,9 @@ int move_filesys_unitconfig (struct uae_prefs *p, int nr, int to)
     return 1;
 }
 
+
 static void filesys_addexternals(void);
+
 static void initialize_mountinfo(void)
 {
     int i;
@@ -429,7 +449,7 @@ static void initialize_mountinfo(void)
        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)
@@ -482,7 +502,7 @@ void free_mountinfo (void)
 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;
 }
@@ -516,6 +536,7 @@ struct hardfiledata *get_hardfile_data (int nr)
 #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
@@ -532,6 +553,7 @@ struct hardfiledata *get_hardfile_data (int nr)
 #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'
@@ -630,6 +652,17 @@ typedef struct _unit {
     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;
 
@@ -647,6 +680,8 @@ typedef uae_u8 *dpacket;
 #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];
@@ -714,6 +749,165 @@ find_unit (uaecptr port)
     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)
 {
@@ -798,63 +992,91 @@ static void dispose_aino (Unit *unit, a_inode **aip, a_inode *aino)
 
     *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];
@@ -876,6 +1098,10 @@ static void recycle_aino (Unit *unit, a_inode *new_aino)
     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;
@@ -1081,7 +1307,7 @@ static char *create_nname (Unit *unit, a_inode *base, char *rel)
        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);
@@ -1153,6 +1379,7 @@ static void init_child_aino (Unit *unit, a_inode *base, a_inode *aino)
 
     aino->dirty = 0;
     aino->deleted = 0;
+    aino->mountcount = unit->mountcount;
 
     /* For directories - this one isn't being ExNext()ed yet.  */
     aino->locked_children = 0;
@@ -1249,7 +1476,7 @@ static a_inode *lookup_child_aino (Unit *unit, a_inode *base, char *rel, uae_u32
     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;
     }
@@ -1276,7 +1503,7 @@ static a_inode *lookup_child_aino_for_exnext (Unit *unit, a_inode *base, char *r
        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;
     }
@@ -1418,16 +1645,24 @@ static void startup_update_unit (Unit *unit, UnitInfo *uinfo)
     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;
@@ -1439,13 +1674,8 @@ static Unit *startup_create_unit (UnitInfo *uinfo)
     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];
@@ -1489,7 +1719,7 @@ static uae_u32 REGPARAM2 startup_handler (TrapContext *context)
     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;
@@ -1504,21 +1734,27 @@ static uae_u32 REGPARAM2 startup_handler (TrapContext *context)
        /* 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;
@@ -1549,20 +1785,15 @@ static uae_u32 REGPARAM2 startup_handler (TrapContext *context)
     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;
@@ -2086,7 +2317,7 @@ static ExamineKey *new_exkey (Unit *unit, a_inode *aino)
         * 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;
@@ -2322,7 +2553,7 @@ static void action_examine_next (Unit *unit, dpacket packet)
        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");
@@ -2335,10 +2566,10 @@ static void action_examine_next (Unit *unit, dpacket packet)
        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));
@@ -2348,6 +2579,12 @@ static void action_examine_next (Unit *unit, dpacket packet)
        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;
 
@@ -2707,18 +2944,28 @@ action_write (Unit *unit, dpacket packet)
        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)
@@ -2727,7 +2974,6 @@ action_write (Unit *unit, dpacket packet)
        k->file_pos += actual;
 
     k->notifyactive = 1;
-    xfree (buf);
 }
 
 static void
@@ -3385,7 +3631,10 @@ action_rename_object (Unit *unit, dpacket packet)
 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
@@ -3410,10 +3659,7 @@ action_rename_disk (Unit *unit, dpacket packet)
     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);
 }
@@ -3421,13 +3667,55 @@ action_rename_disk (Unit *unit, dpacket packet)
 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
@@ -3581,6 +3869,23 @@ static int handle_packet (Unit *unit, dpacket pck)
 {
     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;
@@ -3608,6 +3913,9 @@ static int handle_packet (Unit *unit, dpacket pck)
      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;
@@ -3796,6 +4104,10 @@ void filesys_free_handles(void)
            xfree(k1);
        }
        u->keys = NULL;
+       xfree(u->newrootdir);
+       xfree(u->newvolume);
+       u->newrootdir = NULL;
+       u->newvolume = NULL;
     }
 }
 
@@ -3821,19 +4133,6 @@ void filesys_reset (void)
     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;
index 6c62c9e8150efd7c82ab48e075bc0f0de785d05b..43b9bb69c864a2bc3f430006f4b3128f35e1be15 100755 (executable)
@@ -1,35 +1,35 @@
  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);
@@ -64,7 +64,7 @@
  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);
diff --git a/fpp.c b/fpp.c
index e5b0f12bc817a84b9284bcb2c5e07e7b4fd43981..b7cb0adb9d9399a073cee8f9f7a32153121c756c 100755 (executable)
--- a/fpp.c
+++ b/fpp.c
 
 #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 (&regs)) & 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};
@@ -180,9 +138,52 @@ typedef uae_s64 tointtype;
 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)
@@ -771,15 +772,19 @@ STATIC_INLINE int fpp_cond (uae_u32 opcode, int contition)
 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;
@@ -800,9 +805,11 @@ void fpuop_scc (uae_u32 opcode, struct regstruct *regs, uae_u16 extra)
     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);
@@ -823,8 +830,11 @@ void fpuop_trapcc (uae_u32 opcode, struct regstruct *regs, uaecptr oldpc)
     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)
@@ -839,8 +849,11 @@ void fpuop_bcc (uae_u32 opcode, struct regstruct *regs, uaecptr pc, uae_u32 extr
     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)
@@ -860,7 +873,10 @@ void fpuop_save (uae_u32 opcode, struct regstruct *regs)
     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;
     }
@@ -929,7 +945,10 @@ void fpuop_restore (uae_u32 opcode, struct regstruct *regs)
     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;
     }
@@ -1017,11 +1036,8 @@ void fpuop_arithmetic (uae_u32 opcode, struct regstruct *regs, uae_u16 extra)
     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) {
 
@@ -1610,7 +1626,6 @@ uae_u8 *restore_fpu (uae_u8 *src)
 
     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 ();
diff --git a/gayle.c b/gayle.c
index 53ad8f7f2fa76f7a495dce710993a4725d17248d..09978f375efd1323eb09bd0853586afa0f734704 100755 (executable)
--- a/gayle.c
+++ b/gayle.c
@@ -881,17 +881,21 @@ static void mbres_write (uaecptr addr, uae_u32 val, int size)
     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)
@@ -899,34 +903,38 @@ 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;
 }
 
index 1e33527cc5e3dcd3fc2cd4931dcc9305826a9fde..31d67d4d9dea63750c33a06e9fde9cb9593600f8 100755 (executable)
@@ -91,7 +91,7 @@ static void generate_func(void)
 #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");
@@ -115,7 +115,7 @@ static void generate_func(void)
        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");
@@ -168,8 +168,8 @@ static void generate_func(void)
 #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");
@@ -192,7 +192,7 @@ static void generate_func(void)
        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");
index fcc25a0e81d56f823ec9ca59bfc8a435b10263db..52f8e385b76bbd52492a28d34eee0584a1133cbb 100755 (executable)
--- a/gencpu.c
+++ b/gencpu.c
@@ -45,7 +45,6 @@ static int optimized_flags;
 #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.  */
@@ -55,6 +54,7 @@ static int *opcode_map;
 static int *opcode_next_clev;
 static int *opcode_last_postfix;
 static unsigned long *counts;
+static int generate_stbl;
 
 static void read_counts (void)
 {
@@ -64,12 +64,12 @@ 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;
@@ -82,7 +82,7 @@ static void read_counts (void)
        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;
@@ -3070,16 +3070,19 @@ static void generate_one_opcode (int rp)
        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",
@@ -3194,7 +3197,8 @@ static void generate_func (void)
                printf ("#endif\n\n");
        }
 
-       fprintf (stblfile, "{ 0, 0 }};\n");
+       if (generate_stbl)
+           fprintf (stblfile, "{ 0, 0 }};\n");
 }
 
 int main (int argc, char **argv)
@@ -3228,16 +3232,18 @@ 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;
@@ -3247,14 +3253,18 @@ int main (int argc, char **argv)
            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;
     }
 
index 0ffc265af05a0ae64345ac3974631dc49d52c917..cf40f3a7fc58de0a914c8415cd8097bbcf07842c 100755 (executable)
 
 #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;
@@ -41,12 +51,11 @@ static void read_counts (void)
     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;
@@ -59,7 +68,7 @@ static void read_counts (void)
        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;
@@ -73,16 +82,8 @@ static char endlabelstr[80];
 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)
 {
@@ -131,31 +132,33 @@ static const char *bit_mask (int size)
     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;
 }
 
@@ -163,20 +166,15 @@ static void sync_m68k_pc (void)
 {
     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:
@@ -185,13 +183,23 @@ static void genamode2 (amodes mode, char *reg, wordsizes size, char *name, int g
        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 ();
@@ -203,62 +211,78 @@ static void genamode2 (amodes mode, char *reg, wordsizes size, char *name, int g
        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)
@@ -271,7 +295,7 @@ static void genamode2 (amodes mode, char *reg, wordsizes size, char *name, int g
            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 ();
@@ -290,7 +314,7 @@ static void genamode2 (amodes mode, char *reg, wordsizes size, char *name, int g
     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)
@@ -301,25 +325,13 @@ static void genamode2 (amodes mode, char *reg, wordsizes size, char *name, int g
        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 ();
        }
     }
 
@@ -330,48 +342,39 @@ static void genamode2 (amodes mode, char *reg, wordsizes size, char *name, int g
        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 ();
@@ -380,10 +383,10 @@ static void genastore_2 (char *from, amodes mode, char *reg, wordsizes size, cha
      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 ();
@@ -398,19 +401,24 @@ static void genastore_2 (char *from, amodes mode, char *reg, wordsizes size, cha
      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:
@@ -425,38 +433,28 @@ static void genastore_2 (char *from, amodes mode, char *reg, wordsizes size, cha
     }
 }
 
-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)
@@ -464,44 +462,36 @@ 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 (&regs->ccrflags);\n");
+    printf ("\tXCOPY_CARRY;\n");
 }
 
 typedef enum
@@ -601,53 +591,53 @@ static void genflags_normal (flagtypes type, wordsizes size, char *value, char *
 
     switch (type) {
      case flag_logical:
-       printf ("\tCLEAR_CZNV (&regs->ccrflags);\n");
-       printf ("\tSET_ZFLG   (&regs->ccrflags, %s == 0);\n", vstr);
-       printf ("\tSET_NFLG   (&regs->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 (&regs->ccrflags, %s == 0);\n", vstr);
-       printf ("\tSET_NFLG (&regs->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 (&regs->ccrflags, (flgs ^ flgn) & (flgo ^ flgn));\n");
+       printf ("\tXSET_VFLG ((flgs ^ flgn) & (flgo ^ flgn));\n");
        break;
      case flag_sv:
-       printf ("\tSET_VFLG (&regs->ccrflags, (flgs ^ flgo) & (flgn ^ flgo));\n");
+       printf ("\tXSET_VFLG ((flgs ^ flgo) & (flgn ^ flgo));\n");
        break;
      case flag_zn:
-       printf ("\tSET_ZFLG (&regs->ccrflags, GET_ZFLG (&(regs->ccrflags)) & (%s == 0));\n", vstr);
-       printf ("\tSET_NFLG (&regs->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 (&regs->ccrflags, %s == 0);\n", vstr);
-       printf ("\tSET_VFLG (&regs->ccrflags, (flgs ^ flgn) & (flgo ^ flgn));\n");
-       printf ("\tSET_CFLG (&regs->ccrflags, %s < %s);\n", undstr, usstr);
-       duplicate_carry (0);
-       printf ("\tSET_NFLG (&regs->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 (&regs->ccrflags, %s == 0);\n", vstr);
-       printf ("\tSET_VFLG (&regs->ccrflags, (flgs ^ flgo) & (flgn ^ flgo));\n");
-       printf ("\tSET_CFLG (&regs->ccrflags, %s > %s);\n", usstr, udstr);
-       duplicate_carry (0);
-       printf ("\tSET_NFLG (&regs->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 (&regs->ccrflags, (flgs ^ flgn) & (flgo ^ flgn));\n"); /* minterm SON: 0x42 */
-       printf ("\tSET_CFLG (&regs->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 (&regs->ccrflags, (flgs ^ flgo) & (flgo ^ flgn));\n"); /* minterm SON: 0x24 */
-       printf ("\tSET_CFLG (&regs->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 (&regs->ccrflags, %s == 0);\n", vstr);
-       printf ("\tSET_VFLG (&regs->ccrflags, (flgs != flgo) && (flgn != flgo));\n");
-       printf ("\tSET_CFLG (&regs->ccrflags, %s > %s);\n", usstr, udstr);
-       printf ("\tSET_NFLG (&regs->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;
     }
 }
@@ -657,7 +647,7 @@ static void genflags (flagtypes type, wordsizes size, char *value, char *src, ch
     /* 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:
@@ -674,57 +664,57 @@ static void genflags (flagtypes type, wordsizes size, char *value, char *src, ch
      case flag_logical_noclobber:
        printf ("\t{uae_u32 oldcznv = GET_CZNV & ~(FLAGVAL_Z | FLAGVAL_N);\n");
        if (strcmp (value, "0") == 0) {
-           printf ("\tSET_CZNV (&regs->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 (&regs->ccrflags, oldcznv);\n");
+           printf ("\tIOR_CZNV (oldcznv);\n");
        }
        printf ("\t}\n");
        return;
      case flag_logical:
        if (strcmp (value, "0") == 0) {
-           printf ("\tSET_CZNV (&regs->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);
 }
@@ -763,137 +753,106 @@ static int source_is_imm1_8 (struct instr *i)
     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 (&regs->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 (&regs->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 (&regs->ccrflags) ? 1 : 0)) & 0x100) > 0xFF) { newv -= 0x60; }\n");
-       printf ("\tSET_CFLG (&regs->ccrflags, (((dst & 0xFF) - (src & 0xFF) - bcd - (GET_XFLG (&regs->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 (&regs->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 (&regs->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 (&regs->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");
@@ -901,31 +860,30 @@ static void gen_opcode (unsigned long int opcode)
        printf ("\tif (newv_lo > 9) { newv += 6; }\n");
        printf ("\tcflg = (newv & 0x3F0) > 0x90;\n");
        printf ("\tif (cflg) newv += 0x60;\n");
-       printf ("\tSET_CFLG (&regs->ccrflags, cflg);\n");
-       duplicate_carry (0);
+       printf ("\tXSET_CFLG (cflg);\n");
+       duplicate_carry ();
        genflags (flag_zn, curi->size, "newv", "", "");
-       printf ("\tSET_VFLG (&regs->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 (&regs->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 (&regs->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");
@@ -933,142 +891,137 @@ static void gen_opcode (unsigned long int opcode)
        printf ("\tnewv = newv_hi + newv_lo;");
        printf ("\tcflg = (newv & 0x1F0) > 0x90;\n");
        printf ("\tif (cflg) newv -= 0x60;\n");
-       printf ("\tSET_CFLG (&regs->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 (&regs->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 (&regs->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 (&regs->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 (&regs->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;
@@ -1082,165 +1035,145 @@ static void gen_opcode (unsigned long int opcode)
                   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(&regs->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(&regs->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(&regs->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 (&regs->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 (&regs->ccrflags, 1);\n");
-        printf ("\t\t\tSET_NFLG (&regs->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 (&regs->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 (&regs->ccrflags, 1);\n");
-        printf ("\t\t\tSET_NFLG (&regs->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;
@@ -1249,20 +1182,19 @@ static void gen_opcode (unsigned long int opcode)
        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 (&regs->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 (&regs->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 (&regs->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),
@@ -1270,12 +1202,11 @@ static void gen_opcode (unsigned long int opcode)
        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;
@@ -1283,14 +1214,13 @@ static void gen_opcode (unsigned long int opcode)
        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 (&regs->ccrflags);\n");
+       printf ("\tXCLEAR_CZNV;\n");
        printf ("\tif (cnt >= %d) {\n", bit_size (curi->size));
-       printf ("\t\tSET_VFLG (&regs->ccrflags, val != 0);\n");
-       printf ("\t\tSET_CFLG (&regs->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");
@@ -1300,20 +1230,19 @@ static void gen_opcode (unsigned long int opcode)
                bit_mask (curi->size),
                bit_size (curi->size) - 1,
                bit_mask (curi->size));
-       printf ("\t\tSET_VFLG (&regs->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 (&regs->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;
@@ -1321,30 +1250,28 @@ static void gen_opcode (unsigned long int opcode)
        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 (&regs->ccrflags);\n");
+       printf ("\tXCLEAR_CZNV;\n");
        printf ("\tif (cnt >= %d) {\n", bit_size (curi->size));
-       printf ("\t\tSET_CFLG (&regs->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 (&regs->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;
@@ -1352,31 +1279,29 @@ static void gen_opcode (unsigned long int opcode)
        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 (&regs->ccrflags);\n");
+       printf ("\tXCLEAR_CZNV;\n");
        printf ("\tif (cnt >= %d) {\n", bit_size (curi->size));
-       printf ("\t\tSET_CFLG (&regs->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 (&regs->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;
@@ -1384,9 +1309,8 @@ static void gen_opcode (unsigned long int opcode)
        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 (&regs->ccrflags);\n");
+       printf ("\tXCLEAR_CZNV;\n");
        if (source_is_imm1_8 (curi))
            printf ("{");
        else
@@ -1397,15 +1321,14 @@ static void gen_opcode (unsigned long int opcode)
        printf ("\tval <<= cnt;\n");
        printf ("\tval |= loval;\n");
        printf ("\tval &= %s;\n", bit_mask (curi->size));
-       printf ("\tSET_CFLG (&regs->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;
@@ -1413,9 +1336,8 @@ static void gen_opcode (unsigned long int opcode)
        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 (&regs->ccrflags);\n");
+       printf ("\tXCLEAR_CZNV;\n");
        if (source_is_imm1_8 (curi))
            printf ("{");
        else
@@ -1426,15 +1348,14 @@ static void gen_opcode (unsigned long int opcode)
        printf ("\tval >>= cnt;\n");
        printf ("\tval |= hival;\n");
        printf ("\tval &= %s;\n", bit_mask (curi->size));
-       printf ("\tSET_CFLG (&regs->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;
@@ -1442,9 +1363,8 @@ static void gen_opcode (unsigned long int opcode)
        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 (&regs->ccrflags);\n");
+       printf ("\tXCLEAR_CZNV;\n");
        if (source_is_imm1_8 (curi))
            printf ("{");
        else {
@@ -1455,18 +1375,17 @@ static void gen_opcode (unsigned long int opcode)
        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 (&regs->ccrflags)) << cnt) | (loval >> 1);\n");
-       printf ("\tSET_XFLG (&regs->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 (&regs->ccrflags, GET_XFLG (&regs->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;
@@ -1474,9 +1393,8 @@ static void gen_opcode (unsigned long int opcode)
        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 (&regs->ccrflags);\n");
+       printf ("\tXCLEAR_CZNV;\n");
        if (source_is_imm1_8 (curi))
            printf ("{");
        else {
@@ -1485,22 +1403,21 @@ static void gen_opcode (unsigned long int opcode)
        }
        printf ("\tcnt--;\n");
        printf ("\t{\n\tuae_u32 carry;\n");
-       printf ("\tuae_u32 hival = (val << 1) | GET_XFLG (&regs->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 (&regs->ccrflags, carry);\n");
+       printf ("\tXSET_XFLG (carry);\n");
        printf ("\tval &= %s;\n", bit_mask (curi->size));
        printf ("\t} }\n");
-       printf ("\tSET_CFLG (&regs->ccrflags, GET_XFLG (&regs->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;
@@ -1512,12 +1429,12 @@ static void gen_opcode (unsigned long int opcode)
        printf ("\tuae_u32 cflg = val & 1;\n");
        printf ("\tval = (val >> 1) | sign;\n");
        genflags (flag_logical, curi->size, "val", "", "");
-       printf ("\tSET_CFLG (&regs->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;
@@ -1530,14 +1447,14 @@ static void gen_opcode (unsigned long int opcode)
        printf ("\tval <<= 1;\n");
        genflags (flag_logical, curi->size, "val", "", "");
        printf ("\tsign2 = %s & val;\n", cmask (curi->size));
-       printf ("\tSET_CFLG (&regs->ccrflags, sign != 0);\n");
-       duplicate_carry (0);
+       printf ("\tXSET_CFLG (sign != 0);\n");
+       duplicate_carry ();
 
-       printf ("\tSET_VFLG (&regs->ccrflags, GET_VFLG (&regs->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;
@@ -1548,12 +1465,12 @@ static void gen_opcode (unsigned long int opcode)
        printf ("\tuae_u32 carry = val & 1;\n");
        printf ("\tval >>= 1;\n");
        genflags (flag_logical, curi->size, "val", "", "");
-       printf ("SET_CFLG (&regs->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;
@@ -1564,12 +1481,12 @@ static void gen_opcode (unsigned long int opcode)
        printf ("\tuae_u32 carry = val & %s;\n", cmask (curi->size));
        printf ("\tval <<= 1;\n");
        genflags (flag_logical, curi->size, "val", "", "");
-       printf ("SET_CFLG (&regs->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;
@@ -1581,11 +1498,11 @@ static void gen_opcode (unsigned long int opcode)
        printf ("\tval <<= 1;\n");
        printf ("\tif (carry)  val |= 1;\n");
        genflags (flag_logical, curi->size, "val", "", "");
-       printf ("SET_CFLG (&regs->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;
@@ -1597,11 +1514,11 @@ static void gen_opcode (unsigned long int opcode)
        printf ("\tval >>= 1;\n");
        printf ("\tif (carry) val |= %s;\n", cmask (curi->size));
        genflags (flag_logical, curi->size, "val", "", "");
-       printf ("SET_CFLG (&regs->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;
@@ -1611,14 +1528,14 @@ static void gen_opcode (unsigned long int opcode)
        }
        printf ("\tuae_u32 carry = val & %s;\n", cmask (curi->size));
        printf ("\tval <<= 1;\n");
-       printf ("\tif (GET_XFLG (&regs->ccrflags)) val |= 1;\n");
+       printf ("\tif (XGET_XFLG) val |= 1;\n");
        genflags (flag_logical, curi->size, "val", "", "");
-       printf ("SET_CFLG (&regs->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;
@@ -1628,191 +1545,27 @@ static void gen_opcode (unsigned long int opcode)
        }
        printf ("\tuae_u32 carry = val & 1;\n");
        printf ("\tval >>= 1;\n");
-       printf ("\tif (GET_XFLG (&regs->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 (&regs->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)
@@ -1827,24 +1580,13 @@ static void generate_one_opcode (int rp)
        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;
@@ -1880,7 +1622,7 @@ static void generate_one_opcode (int rp)
                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
@@ -1900,6 +1642,11 @@ static void generate_one_opcode (int rp)
                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);
@@ -1913,52 +1660,43 @@ static void generate_one_opcode (int rp)
     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 ();
 
@@ -1968,6 +1706,16 @@ int main (int argc, char **argv)
     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);
index dd30abe355b9672a1e3b890e4719c9bae88ea1ac..8dacb748dba6c32e1d6249082f0aa4c9c52725ce 100755 (executable)
@@ -806,8 +806,8 @@ static uae_u32 REGPARAM2 hardfile_open (TrapContext *context)
        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);
index 7ad957713e5a10a4777098d53045903f9fb5f03d..d0c9fea26a0450b5ff9cdf933e9eb16b2f9ec44f 100755 (executable)
@@ -55,4 +55,9 @@ STATIC_INLINE int get_audio_ismono(void)
     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
index 61323e60108cbd87bd5e08f3e220301502f2f1e7..1b3495d57f4da3dc0e360a33cdeddc6b29cce73c 100755 (executable)
@@ -52,6 +52,9 @@ extern int get_filesys_unitconfig (struct uae_prefs *p, int index, struct mounte
 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);
@@ -60,6 +63,7 @@ extern void filesys_prepare_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);
diff --git a/include/cpu_small.h b/include/cpu_small.h
new file mode 100755 (executable)
index 0000000..3622bba
--- /dev/null
@@ -0,0 +1,91 @@
+#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)
+
index b3032bbb0a8d7e87017c07970e46d8a85105ee56..cf0ea358818057a841cb3a31ae0709e70e49b8b9 100755 (executable)
@@ -188,4 +188,5 @@ struct customhack {
 };
 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);
 
index cadb25ab0a5aa0d657ebb1ccada758fe3f28260b..92e5a5497776f6dd80c103721e42babd66053391 100755 (executable)
@@ -33,6 +33,8 @@
 #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
 
@@ -86,6 +88,8 @@ typedef struct a_inode_struct {
     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
@@ -146,4 +150,4 @@ extern int custom_fsdb_used_as_nname (a_inode *base, const char *nname);
 #define MYVOLUMEINFO_STREAMS 2
 #define MYVOLUMEINFO_ARCHIVE 4
 
-extern int my_getvolumeinfo (char *root);
+extern int my_getvolumeinfo (const char *root);
index 9b3e72a8781a091df565feafe9a109a0a94617f3..07e7ba8472044a5f032c2c65a637d5b759db33eb 100755 (executable)
@@ -340,6 +340,12 @@ extern void a3000_fakekick(int);
 #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;
@@ -356,6 +362,7 @@ struct romdata {
     int cpu;
     int cloanto;
     int type;
+    int group;
     int title;
     uae_u32 crc32;
     uae_u32 sha1[5];
index b5b8223cfef8ababc1910d8aa41e6c0e66768c3b..150b7fb361a47dcbd45c7d8cca169a7ffcf217ad 100755 (executable)
@@ -347,16 +347,14 @@ extern void fill_prefetch_slow (struct regstruct *regs);
 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.  */
index 9cfff47f6713037685d2cb5bd38f93475ef214b7..045cb4d3159a4b3aaca7b8a7d9e300df4cf4a95f 100755 (executable)
@@ -9,7 +9,7 @@
 
 #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;
 
@@ -103,7 +103,7 @@ struct uae_prefs {
     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;
@@ -232,7 +232,6 @@ struct uae_prefs {
     char path_rom[256];
 
     int m68k_speed;
-    int cpu_level;
     int cpu_model;
     int cpu060_revision;
     int fpu_model;
@@ -336,10 +335,10 @@ extern void discard_prefs (struct uae_prefs *, int);
 
 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);
index f773369f049ef8c956a3457518521bfe55585f46..8637329b8d928bfa2218f260d22f5d18d4304e95 100755 (executable)
@@ -80,6 +80,10 @@ extern uae_u8 *save_p96 (int *, uae_u8 *);
 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);
index 8344e58ad4e72088f4a834ee4fd7656efe88d93f..d56e32d051fa4dc06ba2d111554d862de04f05be 100755 (executable)
@@ -93,10 +93,10 @@ extern struct zfile *archive_access_arcacc (struct znode *zn);
 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
diff --git a/main.c b/main.c
index 7632a3c13109155b8f5580eeb420f1acbc7672c9..6114f876a5d7bc1ba5fe9aeec5c610e7b8800582 100755 (executable)
--- a/main.c
+++ b/main.c
@@ -126,41 +126,32 @@ void fixup_prefs_dimensions (struct uae_prefs *prefs)
 
 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;
 }
 
 
@@ -348,7 +339,6 @@ void fixup_prefs (struct uae_prefs *p)
 
 #ifdef CPU_68000_ONLY
     p->cpu_model = 68000;
-    p->cpu_level = 0;
     p->fpu_model = 0;
 #endif
 #ifndef CPUEMU_0
index 4cd4c0404294b3154b3bb1d9393482f7a1a1551f..8188dc4eab878e6acaeab0283e8a39fe4662d9d5 100755 (executable)
--- a/memory.c
+++ b/memory.c
@@ -108,7 +108,7 @@ struct romdata *getromdatabypath(char *path)
     return NULL;
 }
 
-#define NEXT_ROM_ID 68
+#define NEXT_ROM_ID 70
 
 static struct romheader romheaders[] = {
     { "Freezer Cartridges", 1 },
@@ -117,139 +117,140 @@ static struct romheader romheaders[] = {
 };
 
 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 }
 
@@ -1741,12 +1742,6 @@ addrbank chipmem_bank = {
     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 = {
@@ -1934,7 +1929,7 @@ static int read_kickstart (struct zfile *f, uae_u8 *mem, int size, int dochecksu
 static int load_extendedkickstart (void)
 {
     struct zfile *f;
-    int size;
+    int size, off;
 
     if (strlen(currprefs.romextfile) == 0)
        return 0;
@@ -1949,14 +1944,17 @@ static int load_extendedkickstart (void)
     }
     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:
index 7c651b19c2c9851a2a820d28ec013c6b6f3376bb..3b24c9e7a11958615b64a6144628c185a2b5eb94 100755 (executable)
@@ -265,54 +265,49 @@ static uae_u8 read_rom(uaecptr addr)
 
 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;
 }
 
index 70f04cc158de2c574c3b3244af8fce1ef31766a5..57595eceb1cd88cb13733409e19898c90848221c 100755 (executable)
--- a/newcpu.c
+++ b/newcpu.c
@@ -168,34 +168,37 @@ static void build_cpufunctbl (void)
     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 */
@@ -221,7 +224,7 @@ static void build_cpufunctbl (void)
     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) {
@@ -233,7 +236,7 @@ static void build_cpufunctbl (void)
        }
     }
     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);
@@ -273,7 +276,6 @@ static void update_68k_cycles (void)
 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;
@@ -955,7 +957,7 @@ static void Exception_ce (int nr, struct regstruct *regs, uaecptr oldpc)
     /* 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;
@@ -1612,6 +1614,8 @@ void m68k_reset (int hardreset)
     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;
index 3c9ded79ae2eca1252e03f929eb457cabc7635fb..84e2f773ad7b45ff01b19884c7e096ebe79d9a9e 100755 (executable)
@@ -271,6 +271,7 @@ int fsdb_fill_file_attrs (a_inode *base, a_inode *aino)
     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));
@@ -791,7 +792,7 @@ int dos_errno (void)
 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;
index 97aef46a580af107dae378ab2a81b3484d9ce0ff..f02fc41f6580fefd7767c5d794f6cdf5a039ef4a 100755 (executable)
@@ -19,7 +19,6 @@
                        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"
diff --git a/od-win32/gencpu_msvc/cpustbl_small.c b/od-win32/gencpu_msvc/cpustbl_small.c
new file mode 100755 (executable)
index 0000000..65d594c
--- /dev/null
@@ -0,0 +1,1890 @@
+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 }};
diff --git a/od-win32/gencpu_msvc/cputbl_small.h b/od-win32/gencpu_msvc/cputbl_small.h
new file mode 100755 (executable)
index 0000000..d35e6e1
--- /dev/null
@@ -0,0 +1,3776 @@
+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;
index 24854f4ad37399792bdc5d6236d8e951fbd9dead..6e0537ecaf561a4ac6c79928b4d9fdcca4578d2e 100755 (executable)
@@ -68,7 +68,7 @@
                        <Tool
                                Name="VCPreLinkEventTool"
                                Description="deleting gencpu files"
-                               CommandLine="del ..\..\cputbl.h;del ..\..\cpustbl.c&#x0D;&#x0A;;del ..\..\cpuemu.c&#x0D;&#x0A;"
+                               CommandLine=""
                        />
                        <Tool
                                Name="VCLinkerTool"
                        <Tool
                                Name="VCPreLinkEventTool"
                                Description="deleting gencpu files"
-                               CommandLine="del ..\..\cputbl.h&#x0D;&#x0A;del ..\..\cpustbl.c&#x0D;&#x0A;del ..\..\cpuemu.c&#x0D;&#x0A;"
+                               CommandLine=""
                        />
                        <Tool
                                Name="VCLinkerTool"
index 0257e4d904e618d8232250b2bc3beab8148c985d..84fe1fec9e75985280016353dd629c47733a32b1 100755 (executable)
@@ -346,6 +346,9 @@ static int np[] = { DIK_NUMPAD0, 0, DIK_NUMPADPERIOD, 0, DIK_NUMPAD1, 1, DIK_NUM
     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;
@@ -381,10 +384,13 @@ void my_kbd_handler (int keyboard, int scancode, int newstate)
            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:
index 1f682a52491d8311bb6bef1bade5a858123ccfe6..00298edb00ff1602e3149768d88c0cc09e440d66 100755 (executable)
@@ -1685,6 +1685,7 @@ static struct modeids mi[] =
     640, 350, 169,
    1600, 900, 170,
     960, 600, 171,
+   1088, 612, 172,
    -1,-1,0
 };
 
index 2d95e53d7d3b8f93f4d027c3f6a5d36f0f19f642..59863c1339af72f5babeff24a8ae93a6d1c7ae2a 100755 (executable)
@@ -893,8 +893,8 @@ IDI_PATHS               ICON                    "paths.ico"
 //\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
@@ -910,12 +910,12 @@ BEGIN
         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
@@ -1050,7 +1050,7 @@ BEGIN
     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
index 8ba63f3e97455bf69f5d02c50082988518f1b7e8..3f34bc05e8ab05f12bf4eada4c821460d6e52543 100755 (executable)
@@ -2035,34 +2035,16 @@ void fetch_path (char *name, char *out, int size)
     }
     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
@@ -2081,25 +2063,82 @@ void set_path (char *name, char *path)
                }
            }
        }
-       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);
 
@@ -2533,6 +2572,40 @@ static int osdetect (void)
 
 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;
@@ -2622,18 +2695,15 @@ static void getstartpaths(void)
            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;
-               }
            }
        }
     }
@@ -2644,8 +2714,12 @@ static void getstartpaths(void)
            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) {
@@ -2657,6 +2731,7 @@ static void getstartpaths(void)
            }
            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) {
@@ -2672,7 +2747,7 @@ static void getstartpaths(void)
     }
 
     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);
@@ -2779,7 +2854,7 @@ static int process_arg(char **xargv)
            continue;
        }
        if (!strcmp (arg, "-legacypaths")) {
-           start_data = -1;
+           start_data = -2;
            continue;
        }
        if (!strcmp (arg, "-screenshotbmp")) {
@@ -2938,6 +3013,7 @@ static int PASCAL WinMain2 (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR
     closeprinter ();
 #endif
     WIN32_CleanupLibraries();
+    create_afnewdir(1);
     close_console();
     _fcloseall();
     if(hWinUAEKey)
index 288c839fd0bf755fbd960e6e0e4b7aa243e8658c..2d38776589819b552324efb4a7bc10f056aca67a 100755 (executable)
@@ -15,9 +15,9 @@
 #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 ""
 
index 9b7d203b0bd6cc5818481c0af89b1f23f1a988d0..d10403006386a7d4f4aab3ffe71c23c57992d33e 100755 (executable)
@@ -440,8 +440,8 @@ static struct romdata *scan_single_rom_2 (struct zfile *f)
     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;
@@ -486,22 +486,32 @@ static int addrom (HKEY fkey, struct romdata *rd, char *name)
     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);
@@ -514,24 +524,12 @@ static int scan_rom (char *path, HKEY fkey)
 {
     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);
@@ -624,95 +622,119 @@ static void show_rom_list (void)
     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;
 }
@@ -2784,6 +2806,7 @@ static void resetregistry (void)
 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;
@@ -2804,6 +2827,8 @@ static INT_PTR CALLBACK PathsDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM
            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)
@@ -2844,11 +2869,9 @@ static INT_PTR CALLBACK PathsDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM
            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;
@@ -2924,6 +2947,7 @@ static INT_PTR CALLBACK PathsDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM
                } 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);
@@ -2932,6 +2956,7 @@ static INT_PTR CALLBACK PathsDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM
                } 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");
@@ -2952,7 +2977,7 @@ static INT_PTR CALLBACK PathsDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM
            }
            break;
            case IDC_ROM_RESCAN:
-           scan_roms (NULL);
+           scan_roms ();
            break;
            case IDC_RESETREGISTRY:
            resetregistry ();
@@ -4656,9 +4681,12 @@ static void values_to_kickstartdlg (HWND hDlg)
        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);
     }
@@ -4690,7 +4718,7 @@ static void init_kickstart (HWND hDlg)
     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);
@@ -5637,7 +5665,7 @@ static void values_to_sounddlg (HWND hDlg)
        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));
@@ -5755,17 +5783,17 @@ static void values_from_sounddlg (HWND hDlg)
     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);
@@ -5976,6 +6004,7 @@ static INT_PTR CALLBACK VolumeSettingsProc (HWND hDlg, UINT msg, WPARAM wParam,
                    break;
                    case IDOK:
                    {
+#if 0
                        if(!my_existsfile(current_fsvdlg.rootdir) && !my_existsdir(current_fsvdlg.rootdir)) {
                            char szMessage[MAX_DPATH];
                            char szTitle[MAX_DPATH];
@@ -5985,6 +6014,7 @@ static INT_PTR CALLBACK VolumeSettingsProc (HWND hDlg, UINT msg, WPARAM wParam,
                                MB_OK | MB_ICONERROR | MB_APPLMODAL | MB_SETFOREGROUND);
                            break;
                        }
+#endif
                        EndDialog (hDlg, 1);
                    }
                    break;
@@ -9590,8 +9620,11 @@ int dragdrop (HWND hDlg, HDROP hd, struct uae_prefs *prefs, int  currentpage)
            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);
@@ -9618,7 +9651,9 @@ int dragdrop (HWND hDlg, HDROP hd, struct uae_prefs *prefs, int   currentpage)
                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 {
index 7ba46da2f19eefb64cad330b61743009f7ddcc88..4f89e6785ea9623b6b3496b552c3c1272189e105 100755 (executable)
                        <Filter
                                Name="xfd"
                                >
-                               <File
-                                       RelativePath="..\..\archivers\xfd\xfd.c"
-                                       >
-                               </File>
                        </Filter>
                </Filter>
                <File
index 6ec9cf069123610525bdb69155dcbc2ba5727550..191dcd5fe14dc6c7c65bcfd6d7046588fcf82b36 100755 (executable)
@@ -1,4 +1,51 @@
 
+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
index 258bd45a09f1acaf9cc4c45eeabf285a46269396..37118bfe5ab73a0dff482138ae2992ed6121e7f5 100755 (executable)
@@ -396,6 +396,7 @@ void restore_state (char *filename)
     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;
@@ -506,6 +507,10 @@ void restore_state (char *filename)
            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);
@@ -525,6 +530,7 @@ void restore_state (char *filename)
        xfree (chunk);
     }
     restore_blitter_finish();
+    restore_akiko_finish();
     return;
 
     error:
@@ -715,6 +721,11 @@ int save_state (char *filename, char *description)
        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);
index 9a4699e662c4efbab1c34ff2722860d8d2a2a029..ebe3100efcdad01b9efb479a774df017081b4166 100755 (executable)
--- a/table68k
+++ b/table68k
@@ -34,9 +34,9 @@
 %             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]
diff --git a/zfile.c b/zfile.c
index 613f2e490b64a9cfd36a23227a745c000328de4c..c31ea6b515bb1d8c8227894c17b806decc99930d 100755 (executable)
--- a/zfile.c
+++ b/zfile.c
@@ -582,6 +582,9 @@ struct zfile *zfile_fopen_empty (const char *name, int size)
        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;
 }
index 9fb21f9d40da56dc47e571e9bdfdab2917acbdb6..9a70b8eaa40eb00aaf7ba616d37657ade638639d 100755 (executable)
@@ -189,10 +189,10 @@ void archive_access_scan (struct zfile *zf, zfile_callback zc, void *user, unsig
     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;
            }