From 40c222c431eea69202da5ef612b34e7065ebe1a5 Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Sun, 19 Aug 2007 12:16:26 +0300 Subject: [PATCH] imported winuaesrc1440b1.zip --- a2091.c | 80 +- akiko.c | 6 + ar.c | 30 +- archivers/xfd/xfd.c | 132 +- audio.c | 46 +- blitter.c | 35 +- cfgfile.c | 67 +- compemu_support.c | 10 +- cpu_small.c | 147 + cpustbl_small.c | 1892 +++++++++ cputbl_small.h | 1888 +++++++++ custom.c | 49 +- disk.c | 31 +- expansion.c | 4 +- filesys.c | 553 ++- filesys_bootrom.c | 374 +- fpp.c | 123 +- gayle.c | 82 +- genblitter.c | 10 +- gencpu.c | 54 +- gencpu_mini.c | 1204 +++--- hardfile.c | 4 +- include/audio.h | 7 +- include/autoconf.h | 4 + include/cpu_small.h | 91 + include/custom.h | 1 + include/fsdb.h | 6 +- include/memory.h | 7 + include/newcpu.h | 10 +- include/options.h | 13 +- include/savestate.h | 4 + include/zarchive.h | 4 +- main.c | 10 - memory.c | 158 +- ncr_scsi.c | 33 +- newcpu.c | 40 +- od-win32/fsdb_win32.c | 3 +- .../genblitter_msvc/genblitter_msvc.vcproj | 4 - od-win32/gencpu_msvc/cpustbl_small.c | 1890 +++++++++ od-win32/gencpu_msvc/cputbl_small.h | 3776 +++++++++++++++++ od-win32/gencpu_msvc/gencpu_msvc.vcproj | 4 +- od-win32/keyboard_win32.c | 14 +- od-win32/picasso96_win.c | 1 + od-win32/resources/winuae.rc | 10 +- od-win32/win32.c | 160 +- od-win32/win32.h | 6 +- od-win32/win32gui.c | 237 +- od-win32/winuae_msvc/winuae_msvc.vcproj | 4 - od-win32/winuaechangelog.txt | 47 + savestate.c | 11 + table68k | 50 +- zfile.c | 3 + zfile_archive.c | 8 +- 53 files changed, 11755 insertions(+), 1682 deletions(-) create mode 100755 cpu_small.c create mode 100755 cpustbl_small.c create mode 100755 cputbl_small.h create mode 100755 include/cpu_small.h create mode 100755 od-win32/gencpu_msvc/cpustbl_small.c create mode 100755 od-win32/gencpu_msvc/cputbl_small.h diff --git a/a2091.c b/a2091.c index 74c54239..81c0f175 100755 --- 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 f0f899fc..6205387c 100755 --- 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 a3e1555f..1af8dc7a 100755 --- a/ar.c +++ b/ar.c @@ -156,7 +156,7 @@ * 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: @@ -178,6 +178,23 @@ * 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); } } diff --git a/archivers/xfd/xfd.c b/archivers/xfd/xfd.c index f0880cfa..2796fa81 100755 --- a/archivers/xfd/xfd.c +++ b/archivers/xfd/xfd.c @@ -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, ®s, sizeof (struct regstruct)); - back_mem_banks = xmalloc(MEMORY_BANKS * sizeof (addrbank*)); - memcpy (back_mem_banks, mem_banks, MEMORY_BANKS * sizeof (addrbank*)); - for (i = 0; i < MEMORY_BANKS; i++) - mem_banks[bankindex(i * 65536)] = &xfdmem_bank; -} - -static void restore_state(void) -{ - memcpy (mem_banks, back_mem_banks, MEMORY_BANKS * sizeof (addrbank*)); - xfree(back_mem_banks); - memcpy (®s, &backregs, sizeof (struct regstruct)); -} struct zfile *decompress_zfd(struct zfile *z) { unsigned int size; uae_u8 *p; struct xfdslave *xfds; - struct zfile *zfout = NULL; + struct zfile *zfout = z; if (!init_xfd()) - return z; + return zfout; memset (xfdmemory, 0, FAKEMEM_SIZE); memcpy (xfdmemory, codeptr, codememory); xfdmem_mask = FAKEMEM_SIZE - 1; - p = codeptr + codememory; + p = xfdmemory + codememory; zfile_fseek (z, 0, SEEK_END); size = zfile_ftell (z); zfile_fseek (z, 0, SEEK_SET); zfile_fread (p, size, 1, z); - store_state(); - xfds = xfdslaves; while (xfds) { uaecptr start = xfds->start; - memset(®s, 0, sizeof regs); + memset(&xregs, 0, sizeof xregs); pl(codeptr + freememaddr, codememory + size); // reset start of "free memory" - regs.regs[0] = size; // D0 - regs.regs[8] = codememory; // A0 - regs.regs[9] = bufferinfo; // A1 - regs.regs[15] = FAKEMEM_SIZE; // A7 + xregs.regs[0] = size; // D0 + xregs.regs[8] = codememory; // A0 + xregs.regs[9] = bufferinfo; // A1 + xregs.regs[15] = FAKEMEM_SIZE; // A7 pl(xfdmemory + bufferinfo + 0x00, codememory); // SourceBuffer pl(xfdmemory + bufferinfo + 0x04, size); // SourceBufLen - m68k_setpc(®s, gl(xfdmemory + start + 16)); // recog code - if (regs.pc) { - execute68k(®s); - if (regs.regs[0]) { - write_log("XFD slave '%s' recognised the compressed data\n", xfds->name); - m68k_setpc(®s, gl(xfdmemory + start + 20)); // decomp code - if (regs.pc) - zfout = decomp(z, xfds, size, ®s); - if (zfout) - break; + xm68k_setpc(gl(xfdmemory + start + 16)); // recog code + if (xregs.pc) { + if (execute68k()) { + if (xregs.regs[0]) { + write_log("XFD slave '%s' recognised the compressed data\n", xfds->name); + xm68k_setpc(gl(xfdmemory + start + 20)); // decomp code + if (xregs.pc) { + struct zfile *zz = decomp(z, xfds, size); + if (zz) { + zfout = zz; + break; + } + } + } } } xfds = xfds->next; } - restore_state(); - return zfout; } diff --git a/audio.c b/audio.c index a6bd8a57..dc72ae57 100755 --- 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; } diff --git a/blitter.c b/blitter.c index 42a84424..2357b2f5 100755 --- 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++; diff --git a/cfgfile.c b/cfgfile.c index ea0ce634..5825324e 100755 --- 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; diff --git a/compemu_support.c b/compemu_support.c index cdba4b2d..5180711f 100755 --- a/compemu_support.c +++ b/compemu_support.c @@ -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 index 00000000..9273c707 --- /dev/null +++ b/cpu_small.c @@ -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 index 00000000..b200fd04 --- /dev/null +++ b/cpustbl_small.c @@ -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 index 00000000..d7a38cf7 --- /dev/null +++ b/cputbl_small.h @@ -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; diff --git a/custom.c b/custom.c index 94b7ebf7..b266eaa7 100755 --- 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 7fd4c0c3..43379654 100755 --- 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 diff --git a/expansion.c b/expansion.c index 99d6a064..aabddbd8 100755 --- a/expansion.c +++ b/expansion.c @@ -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); } diff --git a/filesys.c b/filesys.c index 26e48899..277397b8 100755 --- 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; diff --git a/filesys_bootrom.c b/filesys_bootrom.c index 6c62c9e8..43b9bb69 100755 --- a/filesys_bootrom.c +++ b/filesys_bootrom.c @@ -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); @@ -47,11 +47,11 @@ 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); @@ -105,140 +105,220 @@ 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); @@ -252,27 +332,21 @@ 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); @@ -298,8 +372,8 @@ 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 e5b0f12b..b7cb0adb 100755 --- a/fpp.c +++ b/fpp.c @@ -26,53 +26,11 @@ #define DEBUG_FPP 0 -STATIC_INLINE int isfpu(struct regstruct *regs) -{ - if (regs->pcr & 2) - return FALSE; - if (currprefs.fpu_model <= 0) - return FALSE; - return TRUE; -} - STATIC_INLINE int isinrom (void) { return (munge24 (m68k_getpc (®s)) & 0xFFF80000) == 0xF80000; } -static void fpu_op_illg (uae_u32 opcode, struct regstruct *regs, int pcoffset) -{ - if ((currprefs.cpu_model == 68060 && (currprefs.fpu_model == 0 || (regs->pcr & 2))) - || (currprefs.cpu_model == 68040 && currprefs.fpu_model == 0)) { - /* 68040 unimplemented/68060 FPU disabled exception. - * Line F exception with different stack frame.. */ - uaecptr newpc = m68k_getpc(regs); - uaecptr oldpc = newpc - pcoffset; - MakeSR(regs); - if (!regs->s) { - regs->usp = m68k_areg(regs, 7); - m68k_areg(regs, 7) = regs->isp; - } - regs->s = 1; - m68k_areg(regs, 7) -= 4; - put_long (m68k_areg(regs, 7), oldpc); - m68k_areg(regs, 7) -= 4; - put_long (m68k_areg(regs, 7), oldpc); - m68k_areg(regs, 7) -= 2; - put_word (m68k_areg(regs, 7), 0x4000 + 11 * 4); - m68k_areg(regs, 7) -= 4; - put_long (m68k_areg(regs, 7), newpc); - m68k_areg(regs, 7) -= 2; - put_word (m68k_areg(regs, 7), regs->sr); - write_log("68040/060 FPU disabled exception PC=%x\n", newpc); - newpc = get_long (regs->vbr + 11 * 4); - m68k_setpc(regs, newpc); - set_special(regs, SPCFLAG_END_COMPILE); - return; - } - op_illg (opcode, regs); -} - static uae_u32 xhex_pi[] ={0x2168c235, 0xc90fdaa2, 0x4000}; uae_u32 xhex_exp_1[] ={0xa2bb4a9a, 0xadf85458, 0x4000}; static uae_u32 xhex_l2_e[] ={0x5c17f0bc, 0xb8aa3b29, 0x3fff}; @@ -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 53ad8f7f..09978f37 100755 --- 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; } diff --git a/genblitter.c b/genblitter.c index 1e33527c..31d67d4d 100755 --- a/genblitter.c +++ b/genblitter.c @@ -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"); diff --git a/gencpu.c b/gencpu.c index fcc25a0e..52f8e385 100755 --- 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; } diff --git a/gencpu_mini.c b/gencpu_mini.c index 0ffc265a..cf40f3a7 100755 --- a/gencpu_mini.c +++ b/gencpu_mini.c @@ -26,7 +26,17 @@ #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 (®s->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 (®s->ccrflags);\n"); - printf ("\tSET_ZFLG (®s->ccrflags, %s == 0);\n", vstr); - printf ("\tSET_NFLG (®s->ccrflags, %s < 0);\n", vstr); + printf ("\tXCLEAR_CZNV;\n"); + printf ("\tXSET_ZFLG (%s == 0);\n", vstr); + printf ("\tXSET_NFLG (%s < 0);\n", vstr); break; case flag_logical_noclobber: - printf ("\tSET_ZFLG (®s->ccrflags, %s == 0);\n", vstr); - printf ("\tSET_NFLG (®s->ccrflags, %s < 0);\n", vstr); + printf ("\tXSET_ZFLG (%s == 0);\n", vstr); + printf ("\tXSET_NFLG (%s < 0);\n", vstr); break; case flag_av: - printf ("\tSET_VFLG (®s->ccrflags, (flgs ^ flgn) & (flgo ^ flgn));\n"); + printf ("\tXSET_VFLG ((flgs ^ flgn) & (flgo ^ flgn));\n"); break; case flag_sv: - printf ("\tSET_VFLG (®s->ccrflags, (flgs ^ flgo) & (flgn ^ flgo));\n"); + printf ("\tXSET_VFLG ((flgs ^ flgo) & (flgn ^ flgo));\n"); break; case flag_zn: - printf ("\tSET_ZFLG (®s->ccrflags, GET_ZFLG (&(regs->ccrflags)) & (%s == 0));\n", vstr); - printf ("\tSET_NFLG (®s->ccrflags, %s < 0);\n", vstr); + printf ("\tXSET_ZFLG (XGET_ZFLG & (%s == 0));\n", vstr); + printf ("\tXSET_NFLG (%s < 0);\n", vstr); break; case flag_add: - printf ("\tSET_ZFLG (®s->ccrflags, %s == 0);\n", vstr); - printf ("\tSET_VFLG (®s->ccrflags, (flgs ^ flgn) & (flgo ^ flgn));\n"); - printf ("\tSET_CFLG (®s->ccrflags, %s < %s);\n", undstr, usstr); - duplicate_carry (0); - printf ("\tSET_NFLG (®s->ccrflags, flgn != 0);\n"); + printf ("\tXSET_ZFLG (%s == 0);\n", vstr); + printf ("\tXSET_VFLG ((flgs ^ flgn) & (flgo ^ flgn));\n"); + printf ("\tXSET_CFLG (%s < %s);\n", undstr, usstr); + duplicate_carry (); + printf ("\tXSET_NFLG (flgn != 0);\n"); break; case flag_sub: - printf ("\tSET_ZFLG (®s->ccrflags, %s == 0);\n", vstr); - printf ("\tSET_VFLG (®s->ccrflags, (flgs ^ flgo) & (flgn ^ flgo));\n"); - printf ("\tSET_CFLG (®s->ccrflags, %s > %s);\n", usstr, udstr); - duplicate_carry (0); - printf ("\tSET_NFLG (®s->ccrflags, flgn != 0);\n"); + printf ("\tXSET_ZFLG (%s == 0);\n", vstr); + printf ("\tXSET_VFLG ((flgs ^ flgo) & (flgn ^ flgo));\n"); + printf ("\tXSET_CFLG (%s > %s);\n", usstr, udstr); + duplicate_carry (); + printf ("\tXSET_NFLG (flgn != 0);\n"); break; case flag_addx: - printf ("\tSET_VFLG (®s->ccrflags, (flgs ^ flgn) & (flgo ^ flgn));\n"); /* minterm SON: 0x42 */ - printf ("\tSET_CFLG (®s->ccrflags, flgs ^ ((flgs ^ flgo) & (flgo ^ flgn)));\n"); /* minterm SON: 0xD4 */ - duplicate_carry (0); + printf ("\tXSET_VFLG ((flgs ^ flgn) & (flgo ^ flgn));\n"); /* minterm SON: 0x42 */ + printf ("\tXSET_CFLG (flgs ^ ((flgs ^ flgo) & (flgo ^ flgn)));\n"); /* minterm SON: 0xD4 */ + duplicate_carry (); break; case flag_subx: - printf ("\tSET_VFLG (®s->ccrflags, (flgs ^ flgo) & (flgo ^ flgn));\n"); /* minterm SON: 0x24 */ - printf ("\tSET_CFLG (®s->ccrflags, flgs ^ ((flgs ^ flgn) & (flgo ^ flgn)));\n"); /* minterm SON: 0xB2 */ - duplicate_carry (0); + printf ("\tXSET_VFLG ((flgs ^ flgo) & (flgo ^ flgn));\n"); /* minterm SON: 0x24 */ + printf ("\tXSET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn)));\n"); /* minterm SON: 0xB2 */ + duplicate_carry (); break; case flag_cmp: - printf ("\tSET_ZFLG (®s->ccrflags, %s == 0);\n", vstr); - printf ("\tSET_VFLG (®s->ccrflags, (flgs != flgo) && (flgn != flgo));\n"); - printf ("\tSET_CFLG (®s->ccrflags, %s > %s);\n", usstr, udstr); - printf ("\tSET_NFLG (®s->ccrflags, flgn != 0);\n"); + printf ("\tXSET_ZFLG (%s == 0);\n", vstr); + printf ("\tXSET_VFLG ((flgs != flgo) && (flgn != flgo));\n"); + printf ("\tXSET_CFLG (%s > %s);\n", usstr, udstr); + printf ("\tXSET_NFLG (flgn != 0);\n"); break; } } @@ -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 (®s->ccrflags, olcznv | FLAGVAL_Z);\n"); + printf ("\tSET_CZNV (olcznv | FLAGVAL_Z);\n"); } else { switch (size) { - case sz_byte: printf ("\toptflag_testb (regs, (uae_s8)(%s));\n", value); break; - case sz_word: printf ("\toptflag_testw (regs, (uae_s16)(%s));\n", value); break; - case sz_long: printf ("\toptflag_testl (regs, (uae_s32)(%s));\n", value); break; + case sz_byte: printf ("\toptflag_testb ((uae_s8)(%s));\n", value); break; + case sz_word: printf ("\toptflag_testw ((uae_s16)(%s));\n", value); break; + case sz_long: printf ("\toptflag_testl ((uae_s32)(%s));\n", value); break; } - printf ("\tIOR_CZNV (®s->ccrflags, oldcznv);\n"); + printf ("\tIOR_CZNV (oldcznv);\n"); } printf ("\t}\n"); return; case flag_logical: if (strcmp (value, "0") == 0) { - printf ("\tSET_CZNV (®s->ccrflags, FLAGVAL_Z);\n"); + printf ("\tSET_CZNV (FLAGVAL_Z);\n"); } else { switch (size) { - case sz_byte: printf ("\toptflag_testb (regs, (uae_s8)(%s));\n", value); break; - case sz_word: printf ("\toptflag_testw (regs, (uae_s16)(%s));\n", value); break; - case sz_long: printf ("\toptflag_testl (regs, (uae_s32)(%s));\n", value); break; + case sz_byte: printf ("\toptflag_testb ((uae_s8)(%s));\n", value); break; + case sz_word: printf ("\toptflag_testw ((uae_s16)(%s));\n", value); break; + case sz_long: printf ("\toptflag_testl ((uae_s32)(%s));\n", value); break; } } return; case flag_add: switch (size) { - case sz_byte: printf ("\toptflag_addb (regs, %s, (uae_s8)(%s), (uae_s8)(%s));\n", value, src, dst); break; - case sz_word: printf ("\toptflag_addw (regs, %s, (uae_s16)(%s), (uae_s16)(%s));\n", value, src, dst); break; - case sz_long: printf ("\toptflag_addl (regs, %s, (uae_s32)(%s), (uae_s32)(%s));\n", value, src, dst); break; + case sz_byte: printf ("\toptflag_addb (%s, (uae_s8)(%s), (uae_s8)(%s));\n", value, src, dst); break; + case sz_word: printf ("\toptflag_addw (%s, (uae_s16)(%s), (uae_s16)(%s));\n", value, src, dst); break; + case sz_long: printf ("\toptflag_addl (%s, (uae_s32)(%s), (uae_s32)(%s));\n", value, src, dst); break; } return; case flag_sub: switch (size) { - case sz_byte: printf ("\toptflag_subb (regs, %s, (uae_s8)(%s), (uae_s8)(%s));\n", value, src, dst); break; - case sz_word: printf ("\toptflag_subw (regs, %s, (uae_s16)(%s), (uae_s16)(%s));\n", value, src, dst); break; - case sz_long: printf ("\toptflag_subl (regs, %s, (uae_s32)(%s), (uae_s32)(%s));\n", value, src, dst); break; + case sz_byte: printf ("\toptflag_subb (%s, (uae_s8)(%s), (uae_s8)(%s));\n", value, src, dst); break; + case sz_word: printf ("\toptflag_subw (%s, (uae_s16)(%s), (uae_s16)(%s));\n", value, src, dst); break; + case sz_long: printf ("\toptflag_subl (%s, (uae_s32)(%s), (uae_s32)(%s));\n", value, src, dst); break; } return; case flag_cmp: switch (size) { - case sz_byte: printf ("\toptflag_cmpb (regs, (uae_s8)(%s), (uae_s8)(%s));\n", src, dst); break; - case sz_word: printf ("\toptflag_cmpw (regs, (uae_s16)(%s), (uae_s16)(%s));\n", src, dst); break; - case sz_long: printf ("\toptflag_cmpl (regs, (uae_s32)(%s), (uae_s32)(%s));\n", src, dst); break; + case sz_byte: printf ("\toptflag_cmpb ((uae_s8)(%s), (uae_s8)(%s));\n", src, dst); break; + case sz_word: printf ("\toptflag_cmpw ((uae_s16)(%s), (uae_s16)(%s));\n", src, dst); break; + case sz_long: printf ("\toptflag_cmpl ((uae_s32)(%s), (uae_s32)(%s));\n", src, dst); break; } return; - + default: break; } - } +#endif genflags_normal (type, size, value, src, dst); } @@ -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 (®s->ccrflags) ? 1 : 0);\n"); + printf ("\tuae_u32 newv = dst - src - (XGET_XFLG ? 1 : 0);\n"); genflags (flag_subx, curi->size, "newv", "src", "dst"); genflags (flag_zn, curi->size, "newv", "", ""); genastore ("newv", curi->dmode, "dstreg", curi->size, "dst"); break; case i_SBCD: - genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, GF_AA); - genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, GF_AA); - fill_prefetch_next (); + genamode (curi->smode, "srcreg", curi->size, "src", 1, 0); + genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0); start_brace (); - printf ("\tuae_u16 newv_lo = (dst & 0xF) - (src & 0xF) - (GET_XFLG (®s->ccrflags) ? 1 : 0);\n"); + printf ("\tuae_u16 newv_lo = (dst & 0xF) - (src & 0xF) - (XGET_XFLG ? 1 : 0);\n"); printf ("\tuae_u16 newv_hi = (dst & 0xF0) - (src & 0xF0);\n"); printf ("\tuae_u16 newv, tmp_newv;\n"); printf ("\tint bcd = 0;\n"); printf ("\tnewv = tmp_newv = newv_hi + newv_lo;\n"); printf ("\tif (newv_lo & 0xF0) { newv -= 6; bcd = 6; };\n"); - printf ("\tif ((((dst & 0xFF) - (src & 0xFF) - (GET_XFLG (®s->ccrflags) ? 1 : 0)) & 0x100) > 0xFF) { newv -= 0x60; }\n"); - printf ("\tSET_CFLG (®s->ccrflags, (((dst & 0xFF) - (src & 0xFF) - bcd - (GET_XFLG (®s->ccrflags) ? 1 : 0)) & 0x300) > 0xFF);\n"); - duplicate_carry (0); + printf ("\tif ((((dst & 0xFF) - (src & 0xFF) - (XGET_XFLG ? 1 : 0)) & 0x100) > 0xFF) { newv -= 0x60; }\n"); + printf ("\tXSET_CFLG ((((dst & 0xFF) - (src & 0xFF) - bcd - (XGET_XFLG ? 1 : 0)) & 0x300) > 0xFF);\n"); + duplicate_carry (); genflags (flag_zn, curi->size, "newv", "", ""); - printf ("\tSET_VFLG (®s->ccrflags, (tmp_newv & 0x80) != 0 && (newv & 0x80) == 0);\n"); - addcycles (2); + printf ("\tXSET_VFLG ((tmp_newv & 0x80) != 0 && (newv & 0x80) == 0);\n"); genastore ("newv", curi->dmode, "dstreg", curi->size, "dst"); break; case i_ADD: - genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0); - genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, 0); - if (isreg (curi->dmode)) { - if (curi->dmode == Dreg && curi->size == sz_long) - addcycles ((curi->smode == imm || curi->smode == immi) ? 4 : 2); - } - fill_prefetch_next (); + genamode (curi->smode, "srcreg", curi->size, "src", 1, 0); + genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0); start_brace (); genflags (flag_add, curi->size, "newv", "src", "dst"); genastore ("newv", curi->dmode, "dstreg", curi->size, "dst"); break; case i_ADDA: - genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0); - genamode (curi->dmode, "dstreg", sz_long, "dst", 1, 0, 0); - if (isreg (curi->dmode) && curi->dmode == Areg) { - tmpc += curi->size == sz_long ? 2 : 4; - if (curi->size == sz_long) - tmpc += (isreg (curi->smode) || curi->smode == imm) ? 2 : 0; - addcycles (tmpc); - } - fill_prefetch_next (); + genamode (curi->smode, "srcreg", curi->size, "src", 1, 0); + genamode (curi->dmode, "dstreg", sz_long, "dst", 1, 0); start_brace (); printf ("\tuae_u32 newv = dst + src;\n"); genastore ("newv", curi->dmode, "dstreg", sz_long, "dst"); break; case i_ADDX: - genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, GF_AA); - genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, GF_AA); + genamode (curi->smode, "srcreg", curi->size, "src", 1, 0); + genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0); start_brace (); - printf ("\tuae_u32 newv = dst + src + (GET_XFLG (®s->ccrflags) ? 1 : 0);\n"); + printf ("\tuae_u32 newv = dst + src + (XGET_XFLG ? 1 : 0);\n"); genflags (flag_addx, curi->size, "newv", "src", "dst"); genflags (flag_zn, curi->size, "newv", "", ""); genastore ("newv", curi->dmode, "dstreg", curi->size, "dst"); break; case i_ABCD: - genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, GF_AA); - genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, GF_AA); + genamode (curi->smode, "srcreg", curi->size, "src", 1, 0); + genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0); start_brace (); - printf ("\tuae_u16 newv_lo = (src & 0xF) + (dst & 0xF) + (GET_XFLG (®s->ccrflags) ? 1 : 0);\n"); + printf ("\tuae_u16 newv_lo = (src & 0xF) + (dst & 0xF) + (XGET_XFLG ? 1 : 0);\n"); printf ("\tuae_u16 newv_hi = (src & 0xF0) + (dst & 0xF0);\n"); printf ("\tuae_u16 newv, tmp_newv;\n"); printf ("\tint cflg;\n"); @@ -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 (®s->ccrflags, cflg);\n"); - duplicate_carry (0); + printf ("\tXSET_CFLG (cflg);\n"); + duplicate_carry (); genflags (flag_zn, curi->size, "newv", "", ""); - printf ("\tSET_VFLG (®s->ccrflags, (tmp_newv & 0x80) == 0 && (newv & 0x80) != 0);\n"); - addcycles (2); + printf ("\tXSET_VFLG ((tmp_newv & 0x80) == 0 && (newv & 0x80) != 0);\n"); genastore ("newv", curi->dmode, "dstreg", curi->size, "dst"); break; case i_NEG: - genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "src", 1, 0); start_brace (); genflags (flag_sub, curi->size, "dst", "src", "0"); - genastore_rev ("dst", curi->smode, "srcreg", curi->size, "src"); + genastore ("dst", curi->smode, "srcreg", curi->size, "src"); break; case i_NEGX: - genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "src", 1, 0); start_brace (); - printf ("\tuae_u32 newv = 0 - src - (GET_XFLG (®s->ccrflags) ? 1 : 0);\n"); + printf ("\tuae_u32 newv = 0 - src - (XGET_XFLG ? 1 : 0);\n"); genflags (flag_subx, curi->size, "newv", "src", "0"); genflags (flag_zn, curi->size, "newv", "", ""); - genastore_rev ("newv", curi->smode, "srcreg", curi->size, "src"); + genastore ("newv", curi->smode, "srcreg", curi->size, "src"); break; case i_NBCD: - genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "src", 1, 0); start_brace (); - printf ("\tuae_u16 newv_lo = - (src & 0xF) - (GET_XFLG (®s->ccrflags) ? 1 : 0);\n"); + printf ("\tuae_u16 newv_lo = - (src & 0xF) - (XGET_XFLG ? 1 : 0);\n"); printf ("\tuae_u16 newv_hi = - (src & 0xF0);\n"); printf ("\tuae_u16 newv;\n"); printf ("\tint cflg;\n"); @@ -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 (®s->ccrflags, cflg);\n"); - duplicate_carry(0); + printf ("\tXSET_CFLG (cflg);\n"); + duplicate_carry(); genflags (flag_zn, curi->size, "newv", "", ""); genastore ("newv", curi->smode, "srcreg", curi->size, "src"); break; case i_CLR: - genamode (curi->smode, "srcreg", curi->size, "src", cpu_level == 0 ? 1 : 2, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "src", 2, 0); genflags (flag_logical, curi->size, "0", "", ""); - genastore_rev ("0", curi->smode, "srcreg", curi->size, "src"); + genastore ("0", curi->smode, "srcreg", curi->size, "src"); break; case i_NOT: - genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "src", 1, 0); start_brace (); printf ("\tuae_u32 dst = ~src;\n"); genflags (flag_logical, curi->size, "dst", "", ""); - genastore_rev ("dst", curi->smode, "srcreg", curi->size, "src"); + genastore ("dst", curi->smode, "srcreg", curi->size, "src"); break; case i_TST: - genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "src", 1, 0); genflags (flag_logical, curi->size, "src", "", ""); break; case i_BTST: - genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0); - genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "src", 1, 0); + genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0); if (curi->size == sz_byte) printf ("\tsrc &= 7;\n"); else printf ("\tsrc &= 31;\n"); - printf ("\tSET_ZFLG (®s->ccrflags, 1 ^ ((dst >> src) & 1));\n"); + printf ("\tXSET_ZFLG (1 ^ ((dst >> src) & 1));\n"); break; case i_BCHG: - genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0); - genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "src", 1, 0); + genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0); if (curi->size == sz_byte) printf ("\tsrc &= 7;\n"); else printf ("\tsrc &= 31;\n"); printf ("\tdst ^= (1 << src);\n"); - printf ("\tSET_ZFLG (®s->ccrflags, ((uae_u32)dst & (1 << src)) >> src);\n"); + printf ("\tXSET_ZFLG (((uae_u32)dst & (1 << src)) >> src);\n"); genastore ("dst", curi->dmode, "dstreg", curi->size, "dst"); break; case i_BCLR: - genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0); - genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "src", 1, 0); + genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0); if (curi->size == sz_byte) printf ("\tsrc &= 7;\n"); else printf ("\tsrc &= 31;\n"); - printf ("\tSET_ZFLG (®s->ccrflags, 1 ^ ((dst >> src) & 1));\n"); + printf ("\tXSET_ZFLG (1 ^ ((dst >> src) & 1));\n"); printf ("\tdst &= ~(1 << src);\n"); genastore ("dst", curi->dmode, "dstreg", curi->size, "dst"); break; case i_BSET: - genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0); - genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "src", 1, 0); + genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0); if (curi->size == sz_byte) printf ("\tsrc &= 7;\n"); else printf ("\tsrc &= 31;\n"); - printf ("\tSET_ZFLG (®s->ccrflags, 1 ^ ((dst >> src) & 1));\n"); + printf ("\tXSET_ZFLG (1 ^ ((dst >> src) & 1));\n"); printf ("\tdst |= (1 << src);\n"); genastore ("dst", curi->dmode, "dstreg", curi->size, "dst"); break; case i_CMPM: - genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, GF_AA); - genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, GF_AA); - start_brace (); - genflags (flag_cmp, curi->size, "newv", "src", "dst"); - break; case i_CMP: - genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0); - genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "src", 1, 0); + genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0); start_brace (); genflags (flag_cmp, curi->size, "newv", "src", "dst"); break; case i_CMPA: - genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0); - genamode (curi->dmode, "dstreg", sz_long, "dst", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "src", 1, 0); + genamode (curi->dmode, "dstreg", sz_long, "dst", 1, 0); start_brace (); genflags (flag_cmp, sz_long, "newv", "src", "dst"); break; /* The next two are coded a little unconventional, but they are doing * weird things... */ case i_MVPRM: - genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0); - printf ("\tuaecptr memp = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)%s;\n", gen_nextiword (0)); - if (curi->size == sz_word) { - printf ("\tmini_put_byte (memp, src >> 8); mini_put_byte (memp + 2, src);\n"); - } else { - printf ("\tmini_put_byte (memp, src >> 24); mini_put_byte (memp + 2, src >> 16);\n"); - printf ("\tmini_put_byte (memp + 4, src >> 8); mini_put_byte (memp + 6, src);\n"); - } + genamode (curi->smode, "srcreg", curi->size, "src", 1, 0); + + printf ("\tuaecptr memp = xm68k_areg(dstreg) + (uae_s32)(uae_s16)%s;\n", gen_nextiword ()); + if (curi->size == sz_word) { + printf ("\txput_byte(memp, src >> 8); xput_byte(memp + 2, src);\n"); + } else { + printf ("\txput_byte(memp, src >> 24); xput_byte(memp + 2, src >> 16);\n"); + printf ("\txput_byte(memp + 4, src >> 8); xput_byte(memp + 6, src);\n"); + } break; case i_MVPMR: - printf ("\tuaecptr memp = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)%s;\n", gen_nextiword (0)); - genamode (curi->dmode, "dstreg", curi->size, "dst", 2, 0, 0); - if (curi->size == sz_word) { - printf ("\tuae_u16 val = (mini_get_byte (memp) << 8) + mini_get_byte (memp + 2);\n"); - } else { - printf ("\tuae_u32 val = (mini_get_byte (memp) << 24) + (mini_get_byte (memp + 2) << 16)\n"); - printf (" + (mini_get_byte (memp + 4) << 8) + mini_get_byte (memp + 6);\n"); - } + printf ("\tuaecptr memp = xm68k_areg(srcreg) + (uae_s32)(uae_s16)%s;\n", gen_nextiword ()); + genamode (curi->dmode, "dstreg", curi->size, "dst", 2, 0); + if (curi->size == sz_word) { + printf ("\tuae_u16 val = (xget_byte(memp) << 8) + xget_byte(memp + 2);\n"); + } else { + printf ("\tuae_u32 val = (xget_byte(memp) << 24) + (xget_byte(memp + 2) << 16)\n"); + printf (" + (xget_byte(memp + 4) << 8) + xget_byte(memp + 6);\n"); + } genastore ("val", curi->dmode, "dstreg", curi->size, "dst"); break; case i_MOVE: + genamode (curi->smode, "srcreg", curi->size, "src", 1, 0); + genamode (curi->dmode, "dstreg", curi->size, "dst", 2, 0); + genflags (flag_logical, curi->size, "src", "", ""); + genastore ("src", curi->dmode, "dstreg", curi->size, "dst"); + break; case i_MOVEA: - { - genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0); - genamode_e3 (curi->dmode, "dstreg", curi->size, "dst", 2, 0, 1, curi->smode == Dreg && curi->dmode == Aind ? 2 : 0); - if (curi->mnemo == i_MOVEA && curi->size == sz_word) - printf ("\tsrc = (uae_s32)(uae_s16)src;\n"); - genastore ("src", curi->dmode, "dstreg", curi->size, "dst"); - if (curi->mnemo == i_MOVE) - genflags (flag_logical, curi->size, "src", "", ""); - sync_m68k_pc (); + genamode (curi->smode, "srcreg", curi->size, "src", 1, 0); + genamode (curi->dmode, "dstreg", curi->size, "dst", 2, 0); + if (curi->size == sz_word) { + printf ("\tuae_u32 val = (uae_s32)(uae_s16)src;\n"); + } else { + printf ("\tuae_u32 val = src;\n"); } + genastore ("val", curi->dmode, "dstreg", sz_long, "dst"); break; case i_SWAP: - genamode (curi->smode, "srcreg", sz_long, "src", 1, 0, 0); - fill_prefetch_next (); + genamode (curi->smode, "srcreg", sz_long, "src", 1, 0); start_brace (); printf ("\tuae_u32 dst = ((src >> 16)&0xFFFF) | ((src&0xFFFF)<<16);\n"); genflags (flag_logical, sz_long, "dst", "", ""); genastore ("dst", curi->smode, "srcreg", sz_long, "src"); break; case i_EXG: - genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0); - genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0, 0); - addcycles (2); - fill_prefetch_next (); + genamode (curi->smode, "srcreg", curi->size, "src", 1, 0); + genamode (curi->dmode, "dstreg", curi->size, "dst", 1, 0); genastore ("dst", curi->smode, "srcreg", curi->size, "src"); genastore ("src", curi->dmode, "dstreg", curi->size, "dst"); break; case i_EXT: - genamode (curi->smode, "srcreg", sz_long, "src", 1, 0, 0); - fill_prefetch_next (); + genamode (curi->smode, "srcreg", sz_long, "src", 1, 0); start_brace (); switch (curi->size) { case sz_byte: printf ("\tuae_u32 dst = (uae_s32)(uae_s8)src;\n"); break; @@ -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(®s->ccrflags, %d)) goto didnt_jump;\n", curi->cc); - printf ("\tm68k_incpc (regs, (uae_s32)src + 2);\n"); + if (curi->size == sz_long) { + if (next_cpu_level < 1) + next_cpu_level = 1; + } + genamode (curi->smode, "srcreg", curi->size, "src", 1, 0); + printf ("\tif (!xcctrue(%d)) goto didnt_jump;\n", curi->cc); + printf ("\txm68k_incpc ((uae_s32)src + 2);\n"); + printf ("\treturn;\n"); printf ("didnt_jump:;\n"); need_endlabel = 1; - sync_m68k_pc (); break; case i_LEA: - genamode (curi->smode, "srcreg", curi->size, "src", 0, 0, GF_AA); - genamode (curi->dmode, "dstreg", curi->size, "dst", 2, 0, GF_AA); + genamode (curi->smode, "srcreg", curi->size, "src", 0, 0); + genamode (curi->dmode, "dstreg", curi->size, "dst", 2, 0); genastore ("srca", curi->dmode, "dstreg", curi->size, "dst"); break; case i_PEA: - genamode (curi->smode, "srcreg", curi->size, "src", 0, 0, GF_AA); - genamode (Apdi, "7", sz_long, "dst", 2, 0, GF_AA); + genamode (curi->smode, "srcreg", curi->size, "src", 0, 0); + genamode (Apdi, "7", sz_long, "dst", 2, 0); genastore ("srca", Apdi, "7", sz_long, "dst"); break; case i_DBcc: - genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, GF_AA | GF_NOREFILL); - genamode (curi->dmode, "dstreg", curi->size, "offs", 1, 0, GF_AA | GF_NOREFILL); - printf ("\tuaecptr oldpc = m68k_getpc(regs);\n"); - printf ("\tif (!cctrue(®s->ccrflags, %d)) {\n", curi->cc); - printf ("\t\tm68k_incpc(regs, (uae_s32)offs + 2);\n"); - printf ("\t"); - printf ("\t"); + genamode (curi->smode, "srcreg", curi->size, "src", 1, 0); + genamode (curi->dmode, "dstreg", curi->size, "offs", 1, 0); + printf ("\tif (!xcctrue(%d)) {\n", curi->cc); genastore ("(src-1)", curi->smode, "srcreg", curi->size, "src"); - printf ("\tmini_m68k_setpc (regs, oldpc + %d);\n", m68k_pc_offset); - m68k_pc_offset = 0; + printf ("\t\tif (src) {\n"); + printf ("\t\t\txm68k_incpc((uae_s32)offs + 2);\n"); + printf ("\t\t}\n"); + printf ("\t}\n"); need_endlabel = 1; break; case i_Scc: - genamode (curi->smode, "srcreg", curi->size, "src", cpu_level == 0 ? 1 : 2, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "src", 2, 0); start_brace (); - printf ("\tint val = cctrue(®s->ccrflags, %d) ? 0xff : 0;\n", curi->cc); + printf ("\tint val = xcctrue(%d) ? 0xff : 0;\n", curi->cc); genastore ("val", curi->smode, "srcreg", curi->size, "src"); break; case i_DIVU: - printf ("\tuaecptr oldpc = mini_m68k_getpc(regs);\n"); - genamode (curi->smode, "srcreg", sz_word, "src", 1, 0, 0); - genamode (curi->dmode, "dstreg", sz_long, "dst", 1, 0, 0); - printf ("\tCLEAR_CZNV (®s->ccrflags);\n"); - printf ("\tif (src == 0) {\n"); - printf ("\t} else {\n"); - printf ("\t\tuae_u32 newv = (uae_u32)dst / (uae_u32)(uae_u16)src;\n"); - printf ("\t\tuae_u32 rem = (uae_u32)dst %% (uae_u32)(uae_u16)src;\n"); - printf ("\t\tif (newv > 0xffff) {\n"); - printf ("\t\t\tSET_VFLG (®s->ccrflags, 1);\n"); - printf ("\t\t\tSET_NFLG (®s->ccrflags, 1);\n"); - printf ("\t\t} else {\n"); - printf ("\t\t"); - genflags (flag_logical, sz_word, "newv", "", ""); - printf ("\t\t\tnewv = (newv & 0xffff) | ((uae_u32)rem << 16);\n"); - printf ("\t\t"); genastore ("newv", curi->dmode, "dstreg", sz_long, "dst"); - printf ("\t\t}\n"); - fill_prefetch_next (); + printf ("\tuaecptr oldpc = xm68k_getpc();\n"); + genamode (curi->smode, "srcreg", sz_word, "src", 1, 0); + genamode (curi->dmode, "dstreg", sz_long, "dst", 1, 0); sync_m68k_pc (); + start_brace (); + /* Clear V flag when dividing by zero - Alcatraz Odyssey demo depends + * on this (actually, it's doing a DIVS). */ + printf ("\tuae_u32 newv = (uae_u32)dst / (uae_u32)(uae_u16)src;\n"); + printf ("\tuae_u32 rem = (uae_u32)dst %% (uae_u32)(uae_u16)src;\n"); + /* The N flag appears to be set each time there is an overflow. + * Weird. */ + printf ("\tif (newv > 0xffff) { XSET_VFLG (1); XSET_NFLG (1); XSET_CFLG (0); } else\n\t{\n"); + genflags (flag_logical, sz_word, "newv", "", ""); + printf ("\tnewv = (newv & 0xffff) | ((uae_u32)rem << 16);\n"); + genastore ("newv", curi->dmode, "dstreg", sz_long, "dst"); printf ("\t}\n"); - insn_n_cycles += 136 - (136 - 76) / 2; /* average */ need_endlabel = 1; break; case i_DIVS: - printf ("\tuaecptr oldpc = mini_m68k_getpc(regs);\n"); - genamode (curi->smode, "srcreg", sz_word, "src", 1, 0, 0); - genamode (curi->dmode, "dstreg", sz_long, "dst", 1, 0, 0); - printf ("\tCLEAR_CZNV (®s->ccrflags);\n"); - printf ("\tif (src == 0) {\n"); - printf ("\t\tgoto %s;\n", endlabelstr); - printf ("\t} else {\n"); - printf ("\t\tuae_s32 newv = (uae_s32)dst / (uae_s32)(uae_s16)src;\n"); - printf ("\t\tuae_u16 rem = (uae_s32)dst %% (uae_s32)(uae_s16)src;\n"); - printf ("\t\tif ((newv & 0xffff8000) != 0 && (newv & 0xffff8000) != 0xffff8000) {\n"); - printf ("\t\t\tSET_VFLG (®s->ccrflags, 1);\n"); - printf ("\t\t\tSET_NFLG (®s->ccrflags, 1);\n"); - printf ("\t\t} else {\n"); - printf ("\t\t\tif (((uae_s16)rem < 0) != ((uae_s32)dst < 0)) rem = -rem;\n"); - genflags (flag_logical, sz_word, "newv", "", ""); - printf ("\t\t\tnewv = (newv & 0xffff) | ((uae_u32)rem << 16);\n"); - printf ("\t\t"); genastore ("newv", curi->dmode, "dstreg", sz_long, "dst"); - printf ("\t\t}\n"); + printf ("\tuaecptr oldpc = xm68k_getpc();\n"); + genamode (curi->smode, "srcreg", sz_word, "src", 1, 0); + genamode (curi->dmode, "dstreg", sz_long, "dst", 1, 0); sync_m68k_pc (); + start_brace (); + printf ("\tuae_s32 newv = (uae_s32)dst / (uae_s32)(uae_s16)src;\n"); + printf ("\tuae_u16 rem = (uae_s32)dst %% (uae_s32)(uae_s16)src;\n"); + printf ("\tif ((newv & 0xffff8000) != 0 && (newv & 0xffff8000) != 0xffff8000) { XSET_VFLG (1); XSET_NFLG (1); XSET_CFLG (0); } else\n\t{\n"); + printf ("\tif (((uae_s16)rem < 0) != ((uae_s32)dst < 0)) rem = -rem;\n"); + genflags (flag_logical, sz_word, "newv", "", ""); + printf ("\tnewv = (newv & 0xffff) | ((uae_u32)rem << 16);\n"); + genastore ("newv", curi->dmode, "dstreg", sz_long, "dst"); printf ("\t}\n"); need_endlabel = 1; break; case i_MULU: - genamode (curi->smode, "srcreg", sz_word, "src", 1, 0, 0); - genamode (curi->dmode, "dstreg", sz_word, "dst", 1, 0, 0); + genamode (curi->smode, "srcreg", sz_word, "src", 1, 0); + genamode (curi->dmode, "dstreg", sz_word, "dst", 1, 0); start_brace (); printf ("\tuae_u32 newv = (uae_u32)(uae_u16)dst * (uae_u32)(uae_u16)src;\n"); genflags (flag_logical, sz_long, "newv", "", ""); genastore ("newv", curi->dmode, "dstreg", sz_long, "dst"); - sync_m68k_pc (); break; case i_MULS: - genamode (curi->smode, "srcreg", sz_word, "src", 1, 0, 0); - genamode (curi->dmode, "dstreg", sz_word, "dst", 1, 0, 0); + genamode (curi->smode, "srcreg", sz_word, "src", 1, 0); + genamode (curi->dmode, "dstreg", sz_word, "dst", 1, 0); start_brace (); printf ("\tuae_u32 newv = (uae_s32)(uae_s16)dst * (uae_s32)(uae_s16)src;\n"); genflags (flag_logical, sz_long, "newv", "", ""); genastore ("newv", curi->dmode, "dstreg", sz_long, "dst"); break; case i_ASR: - genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0, 0); - genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0); + genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0); start_brace (); switch (curi->size) { case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break; @@ -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 (®s->ccrflags);\n"); + printf ("\tXCLEAR_CZNV;\n"); printf ("\tif (cnt >= %d) {\n", bit_size (curi->size)); printf ("\t\tval = %s & (uae_u32)-sign;\n", bit_mask (curi->size)); - printf ("\t\tSET_CFLG (®s->ccrflags, sign);\n"); - duplicate_carry (1); + printf ("\t\tXSET_CFLG (sign);\n"); + duplicate_carry (); if (source_is_imm1_8 (curi)) printf ("\t} else {\n"); else printf ("\t} else if (cnt > 0) {\n"); printf ("\t\tval >>= cnt - 1;\n"); - printf ("\t\tSET_CFLG (®s->ccrflags, val & 1);\n"); - duplicate_carry (1); + printf ("\t\tXSET_CFLG (val & 1);\n"); + duplicate_carry (); printf ("\t\tval >>= 1;\n"); printf ("\t\tval |= (%s << (%d - cnt)) & (uae_u32)-sign;\n", bit_mask (curi->size), @@ -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 (®s->ccrflags);\n"); + printf ("\tXCLEAR_CZNV;\n"); printf ("\tif (cnt >= %d) {\n", bit_size (curi->size)); - printf ("\t\tSET_VFLG (®s->ccrflags, val != 0);\n"); - printf ("\t\tSET_CFLG (®s->ccrflags, cnt == %d ? val & 1 : 0);\n", + printf ("\t\tXSET_VFLG (val != 0);\n"); + printf ("\t\tXSET_CFLG (cnt == %d ? val & 1 : 0);\n", bit_size (curi->size)); - duplicate_carry (1); + duplicate_carry (); printf ("\t\tval = 0;\n"); if (source_is_imm1_8 (curi)) printf ("\t} else {\n"); @@ -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 (®s->ccrflags, (val & mask) != mask && (val & mask) != 0);\n"); + printf ("\t\tXSET_VFLG ((val & mask) != mask && (val & mask) != 0);\n"); printf ("\t\tval <<= cnt - 1;\n"); - printf ("\t\tSET_CFLG (®s->ccrflags, (val & %s) >> %d);\n", cmask (curi->size), bit_size (curi->size) - 1); - duplicate_carry (1); + printf ("\t\tXSET_CFLG ((val & %s) >> %d);\n", cmask (curi->size), bit_size (curi->size) - 1); + duplicate_carry (); printf ("\t\tval <<= 1;\n"); printf ("\t\tval &= %s;\n", bit_mask (curi->size)); printf ("\t}\n"); genflags (flag_logical_noclobber, curi->size, "val", "", ""); - shift_ce (curi->dmode, curi->size); genastore ("val", curi->dmode, "dstreg", curi->size, "data"); break; case i_LSR: - genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0, 0); - genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0); + genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0); start_brace (); switch (curi->size) { case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break; @@ -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 (®s->ccrflags);\n"); + printf ("\tXCLEAR_CZNV;\n"); printf ("\tif (cnt >= %d) {\n", bit_size (curi->size)); - printf ("\t\tSET_CFLG (®s->ccrflags, (cnt == %d) & (val >> %d));\n", + printf ("\t\tXSET_CFLG ((cnt == %d) & (val >> %d));\n", bit_size (curi->size), bit_size (curi->size) - 1); - duplicate_carry (1); + duplicate_carry (); printf ("\t\tval = 0;\n"); if (source_is_imm1_8 (curi)) printf ("\t} else {\n"); else printf ("\t} else if (cnt > 0) {\n"); printf ("\t\tval >>= cnt - 1;\n"); - printf ("\t\tSET_CFLG (®s->ccrflags, val & 1);\n"); - duplicate_carry (1); + printf ("\t\tXSET_CFLG (val & 1);\n"); + duplicate_carry (); printf ("\t\tval >>= 1;\n"); printf ("\t}\n"); genflags (flag_logical_noclobber, curi->size, "val", "", ""); - shift_ce (curi->dmode, curi->size); genastore ("val", curi->dmode, "dstreg", curi->size, "data"); break; case i_LSL: - genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0, 0); - genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0); + genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0); start_brace (); switch (curi->size) { case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break; @@ -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 (®s->ccrflags);\n"); + printf ("\tXCLEAR_CZNV;\n"); printf ("\tif (cnt >= %d) {\n", bit_size (curi->size)); - printf ("\t\tSET_CFLG (®s->ccrflags, cnt == %d ? val & 1 : 0);\n", + printf ("\t\tXSET_CFLG (cnt == %d ? val & 1 : 0);\n", bit_size (curi->size)); - duplicate_carry (1); + duplicate_carry (); printf ("\t\tval = 0;\n"); if (source_is_imm1_8 (curi)) printf ("\t} else {\n"); else printf ("\t} else if (cnt > 0) {\n"); printf ("\t\tval <<= (cnt - 1);\n"); - printf ("\t\tSET_CFLG (®s->ccrflags, (val & %s) >> %d);\n", cmask (curi->size), bit_size (curi->size) - 1); - duplicate_carry (1); + printf ("\t\tXSET_CFLG ((val & %s) >> %d);\n", cmask (curi->size), bit_size (curi->size) - 1); + duplicate_carry (); printf ("\t\tval <<= 1;\n"); printf ("\tval &= %s;\n", bit_mask (curi->size)); printf ("\t}\n"); genflags (flag_logical_noclobber, curi->size, "val", "", ""); - shift_ce (curi->dmode, curi->size); genastore ("val", curi->dmode, "dstreg", curi->size, "data"); break; case i_ROL: - genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0, 0); - genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0); + genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0); start_brace (); switch (curi->size) { case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break; @@ -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 (®s->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 (®s->ccrflags, val & 1);\n"); + printf ("\tXSET_CFLG (val & 1);\n"); printf ("}\n"); genflags (flag_logical_noclobber, curi->size, "val", "", ""); - shift_ce (curi->dmode, curi->size); genastore ("val", curi->dmode, "dstreg", curi->size, "data"); break; case i_ROR: - genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0, 0); - genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0); + genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0); start_brace (); switch (curi->size) { case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break; @@ -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 (®s->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 (®s->ccrflags, (val & %s) >> %d);\n", cmask (curi->size), bit_size (curi->size) - 1); + printf ("\tXSET_CFLG ((val & %s) >> %d);\n", cmask (curi->size), bit_size (curi->size) - 1); printf ("\t}\n"); genflags (flag_logical_noclobber, curi->size, "val", "", ""); - shift_ce (curi->dmode, curi->size); genastore ("val", curi->dmode, "dstreg", curi->size, "data"); break; case i_ROXL: - genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0, 0); - genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0); + genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0); start_brace (); switch (curi->size) { case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break; @@ -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 (®s->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 (®s->ccrflags)) << cnt) | (loval >> 1);\n"); - printf ("\tSET_XFLG (®s->ccrflags, carry);\n"); + printf ("\tval = (((val << 1) | XGET_XFLG) << cnt) | (loval >> 1);\n"); + printf ("\tXSET_XFLG (carry);\n"); printf ("\tval &= %s;\n", bit_mask (curi->size)); printf ("\t} }\n"); - printf ("\tSET_CFLG (®s->ccrflags, GET_XFLG (®s->ccrflags));\n"); + printf ("\tXSET_CFLG (XGET_XFLG);\n"); genflags (flag_logical_noclobber, curi->size, "val", "", ""); - shift_ce (curi->dmode, curi->size); genastore ("val", curi->dmode, "dstreg", curi->size, "data"); break; case i_ROXR: - genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0, 0); - genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "cnt", 1, 0); + genamode (curi->dmode, "dstreg", curi->size, "data", 1, 0); start_brace (); switch (curi->size) { case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break; @@ -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 (®s->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 (®s->ccrflags);\n"); + printf ("\tuae_u32 hival = (val << 1) | XGET_XFLG;\n"); printf ("\thival <<= (%d - cnt);\n", bit_size (curi->size) - 1); printf ("\tval >>= cnt;\n"); printf ("\tcarry = val & 1;\n"); printf ("\tval >>= 1;\n"); printf ("\tval |= hival;\n"); - printf ("\tSET_XFLG (®s->ccrflags, carry);\n"); + printf ("\tXSET_XFLG (carry);\n"); printf ("\tval &= %s;\n", bit_mask (curi->size)); printf ("\t} }\n"); - printf ("\tSET_CFLG (®s->ccrflags, GET_XFLG (®s->ccrflags));\n"); + printf ("\tXSET_CFLG (XGET_XFLG);\n"); genflags (flag_logical_noclobber, curi->size, "val", "", ""); - shift_ce (curi->dmode, curi->size); genastore ("val", curi->dmode, "dstreg", curi->size, "data"); break; case i_ASRW: - genamode (curi->smode, "srcreg", curi->size, "data", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "data", 1, 0); start_brace (); switch (curi->size) { case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break; @@ -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 (®s->ccrflags, cflg);\n"); - duplicate_carry (0); + printf ("\tXSET_CFLG (cflg);\n"); + duplicate_carry (); genastore ("val", curi->smode, "srcreg", curi->size, "data"); break; case i_ASLW: - genamode (curi->smode, "srcreg", curi->size, "data", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "data", 1, 0); start_brace (); switch (curi->size) { case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break; @@ -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 (®s->ccrflags, sign != 0);\n"); - duplicate_carry (0); + printf ("\tXSET_CFLG (sign != 0);\n"); + duplicate_carry (); - printf ("\tSET_VFLG (®s->ccrflags, GET_VFLG (®s->ccrflags) | (sign2 != sign));\n"); + printf ("\tXSET_VFLG (XGET_VFLG | (sign2 != sign));\n"); genastore ("val", curi->smode, "srcreg", curi->size, "data"); break; case i_LSRW: - genamode (curi->smode, "srcreg", curi->size, "data", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "data", 1, 0); start_brace (); switch (curi->size) { case sz_byte: printf ("\tuae_u32 val = (uae_u8)data;\n"); break; @@ -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 (®s->ccrflags, carry);\n"); - duplicate_carry (0); + printf ("XSET_CFLG (carry);\n"); + duplicate_carry (); genastore ("val", curi->smode, "srcreg", curi->size, "data"); break; case i_LSLW: - genamode (curi->smode, "srcreg", curi->size, "data", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "data", 1, 0); start_brace (); switch (curi->size) { case sz_byte: printf ("\tuae_u8 val = data;\n"); break; @@ -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 (®s->ccrflags, carry >> %d);\n", bit_size (curi->size) - 1); - duplicate_carry (0); + printf ("XSET_CFLG (carry >> %d);\n", bit_size (curi->size) - 1); + duplicate_carry (); genastore ("val", curi->smode, "srcreg", curi->size, "data"); break; case i_ROLW: - genamode (curi->smode, "srcreg", curi->size, "data", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "data", 1, 0); start_brace (); switch (curi->size) { case sz_byte: printf ("\tuae_u8 val = data;\n"); break; @@ -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 (®s->ccrflags, carry >> %d);\n", bit_size (curi->size) - 1); + printf ("XSET_CFLG (carry >> %d);\n", bit_size (curi->size) - 1); genastore ("val", curi->smode, "srcreg", curi->size, "data"); break; case i_RORW: - genamode (curi->smode, "srcreg", curi->size, "data", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "data", 1, 0); start_brace (); switch (curi->size) { case sz_byte: printf ("\tuae_u8 val = data;\n"); break; @@ -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 (®s->ccrflags, carry);\n"); + printf ("XSET_CFLG (carry);\n"); genastore ("val", curi->smode, "srcreg", curi->size, "data"); break; case i_ROXLW: - genamode (curi->smode, "srcreg", curi->size, "data", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "data", 1, 0); start_brace (); switch (curi->size) { case sz_byte: printf ("\tuae_u8 val = data;\n"); break; @@ -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 (®s->ccrflags)) val |= 1;\n"); + printf ("\tif (XGET_XFLG) val |= 1;\n"); genflags (flag_logical, curi->size, "val", "", ""); - printf ("SET_CFLG (®s->ccrflags, carry >> %d);\n", bit_size (curi->size) - 1); - duplicate_carry (0); + printf ("XSET_CFLG (carry >> %d);\n", bit_size (curi->size) - 1); + duplicate_carry (); genastore ("val", curi->smode, "srcreg", curi->size, "data"); break; case i_ROXRW: - genamode (curi->smode, "srcreg", curi->size, "data", 1, 0, 0); + genamode (curi->smode, "srcreg", curi->size, "data", 1, 0); start_brace (); switch (curi->size) { case sz_byte: printf ("\tuae_u8 val = data;\n"); break; @@ -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 (®s->ccrflags)) val |= %s;\n", cmask (curi->size)); + printf ("\tif (XGET_XFLG) val |= %s;\n", cmask (curi->size)); genflags (flag_logical, curi->size, "val", "", ""); - printf ("SET_CFLG (®s->ccrflags, carry);\n"); - duplicate_carry (0); + printf ("XSET_CFLG (carry);\n"); + duplicate_carry (); genastore ("val", curi->smode, "srcreg", curi->size, "data"); break; - case i_PACK: - if (curi->smode == Dreg) { - printf ("\tuae_u16 val = m68k_dreg(regs, srcreg) + %s;\n", gen_nextiword (0)); - printf ("\tm68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & 0xffffff00) | ((val >> 4) & 0xf0) | (val & 0xf);\n"); - } else { - printf ("\tuae_u16 val;\n"); - printf ("\tm68k_areg(regs, srcreg) -= areg_byteinc[srcreg];\n"); - printf ("\tval = (uae_u16)get_byte(m68k_areg(regs, srcreg));\n"); - printf ("\tm68k_areg(regs, srcreg) -= areg_byteinc[srcreg];\n"); - printf ("\tval = (val | ((uae_u16)mini_get_byte(m68k_areg(regs, srcreg)) << 8)) + %s;\n", gen_nextiword (0)); - printf ("\tm68k_areg(regs, dstreg) -= areg_byteinc[dstreg];\n"); - printf ("\tmini_put_byte(m68k_areg(regs, dstreg),((val >> 4) & 0xf0) | (val & 0xf));\n"); - } - break; - case i_UNPK: - if (curi->smode == Dreg) { - printf ("\tuae_u16 val = m68k_dreg(regs, srcreg);\n"); - printf ("\tval = (((val << 4) & 0xf00) | (val & 0xf)) + %s;\n", gen_nextiword (0)); - printf ("\tm68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & 0xffff0000) | (val & 0xffff);\n"); - } else { - printf ("\tuae_u16 val;\n"); - printf ("\tm68k_areg(regs, srcreg) -= areg_byteinc[srcreg];\n"); - printf ("\tval = (uae_u16)get_byte(m68k_areg(regs, srcreg));\n"); - printf ("\tval = (((val << 4) & 0xf00) | (val & 0xf)) + %s;\n", gen_nextiword (0)); - printf ("\tm68k_areg(regs, dstreg) -= areg_byteinc[dstreg];\n"); - printf ("\tmini_put_byte(m68k_areg(regs, dstreg),val);\n"); - printf ("\tm68k_areg(regs, dstreg) -= areg_byteinc[dstreg];\n"); - printf ("\tmini_put_byte(m68k_areg(regs, dstreg),val >> 8);\n"); - } - break; - case i_TAS: - genamode (curi->smode, "srcreg", curi->size, "src", 1, 0, 0); - genflags (flag_logical, curi->size, "src", "", ""); - printf ("\tsrc |= 0x80;\n"); - genastore ("src", curi->smode, "srcreg", curi->size, "src"); - break; default: - return; + m68k_pc_offset = 0; + break; } finish_braces (); - if (limit_braces) { - printf ("\n#endif\n"); - n_braces = limit_braces; - limit_braces = 0; - finish_braces (); - } sync_m68k_pc (); } -static void generate_includes (FILE * f) -{ - fprintf (f, "#include \"sysconfig.h\"\n"); - fprintf (f, "#include \"sysdeps.h\"\n"); - fprintf (f, "#include \"options.h\"\n"); - fprintf (f, "#include \"memory.h\"\n"); - fprintf (f, "#include \"custom.h\"\n"); - fprintf (f, "#include \"events.h\"\n"); - fprintf (f, "#include \"newcpu.h\"\n"); - fprintf (f, "#include \"cpu_prefetch.h\"\n"); - fprintf (f, "#include \"cputbl.h\"\n"); - - fprintf (f, "#define CPUFUNC(x) x##_ff\n" - "#define SET_CFLG_ALWAYS(flags, x) SET_CFLG(flags, x)\n" - "#define SET_NFLG_ALWAYS(flags, x) SET_NFLG(flags, x)\n" - "#ifdef NOFLAGS\n" - "#include \"noflags.h\"\n" - "#endif\n"); -} - static int postfix; - -static char *decodeEA (amodes mode, wordsizes size) -{ - static char buffer[80]; - - buffer[0] = 0; - switch (mode){ - case Dreg: - strcpy (buffer,"Dn"); - break; - case Areg: - strcpy (buffer,"An"); - break; - case Aind: - strcpy (buffer,"(An)"); - break; - case Aipi: - strcpy (buffer,"(An)+"); - break; - case Apdi: - strcpy (buffer,"-(An)"); - break; - case Ad16: - strcpy (buffer,"(d16,An)"); - break; - case Ad8r: - strcpy (buffer,"(d8,An,Xn)"); - break; - case PC16: - strcpy (buffer,"(d16,PC)"); - break; - case PC8r: - strcpy (buffer,"(d8,PC,Xn)"); - break; - case absw: - strcpy (buffer,"(xxx).W"); - break; - case absl: - strcpy (buffer,"(xxx).L"); - break; - case imm: - switch (size){ - case sz_byte: - strcpy (buffer,"#.B"); - break; - case sz_word: - strcpy (buffer,"#.W"); - break; - case sz_long: - strcpy (buffer,"#.L"); - break; - default: - break; - } - break; - case imm0: - strcpy (buffer,"#.B"); - break; - case imm1: - strcpy (buffer,"#.W"); - break; - case imm2: - strcpy (buffer,"#.L"); - break; - case immi: - strcpy (buffer,"#"); - 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); diff --git a/hardfile.c b/hardfile.c index dd30abe3..8dacb748 100755 --- a/hardfile.c +++ b/hardfile.c @@ -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); diff --git a/include/audio.h b/include/audio.h index 7ad95771..d0c9fea2 100755 --- a/include/audio.h +++ b/include/audio.h @@ -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 diff --git a/include/autoconf.h b/include/autoconf.h index 61323e60..1b3495d5 100755 --- a/include/autoconf.h +++ b/include/autoconf.h @@ -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 index 00000000..3622bba9 --- /dev/null +++ b/include/cpu_small.h @@ -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) + diff --git a/include/custom.h b/include/custom.h index b3032bbb..cf0ea358 100755 --- a/include/custom.h +++ b/include/custom.h @@ -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); diff --git a/include/fsdb.h b/include/fsdb.h index cadb25ab..92e5a549 100755 --- a/include/fsdb.h +++ b/include/fsdb.h @@ -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); diff --git a/include/memory.h b/include/memory.h index 9b3e72a8..07e7ba84 100755 --- a/include/memory.h +++ b/include/memory.h @@ -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]; diff --git a/include/newcpu.h b/include/newcpu.h index b5b8223c..150b7fb3 100755 --- a/include/newcpu.h +++ b/include/newcpu.h @@ -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. */ diff --git a/include/options.h b/include/options.h index 9cfff47f..045cb4d3 100755 --- a/include/options.h +++ b/include/options.h @@ -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); diff --git a/include/savestate.h b/include/savestate.h index f773369f..8637329b 100755 --- a/include/savestate.h +++ b/include/savestate.h @@ -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); diff --git a/include/zarchive.h b/include/zarchive.h index 8344e58a..d56e32d0 100755 --- a/include/zarchive.h +++ b/include/zarchive.h @@ -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 7632a3c1..6114f876 100755 --- 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 diff --git a/memory.c b/memory.c index 4cd4c040..8188dc4e 100755 --- 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: diff --git a/ncr_scsi.c b/ncr_scsi.c index 7c651b19..3b24c9e7 100755 --- a/ncr_scsi.c +++ b/ncr_scsi.c @@ -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; } diff --git a/newcpu.c b/newcpu.c index 70f04cc1..57595ece 100755 --- 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; diff --git a/od-win32/fsdb_win32.c b/od-win32/fsdb_win32.c index 3c9ded79..84e2f773 100755 --- a/od-win32/fsdb_win32.c +++ b/od-win32/fsdb_win32.c @@ -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; diff --git a/od-win32/genblitter_msvc/genblitter_msvc.vcproj b/od-win32/genblitter_msvc/genblitter_msvc.vcproj index 97aef46a..f02fc41f 100755 --- a/od-win32/genblitter_msvc/genblitter_msvc.vcproj +++ b/od-win32/genblitter_msvc/genblitter_msvc.vcproj @@ -19,7 +19,6 @@ OutputDirectory=".\Release" IntermediateDirectory=".\Release" ConfigurationType="1" - InheritedPropertySheets="..\..\..\..\..\msvs\VC\VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -110,7 +109,6 @@ OutputDirectory=".\Debug" IntermediateDirectory=".\Debug" ConfigurationType="1" - InheritedPropertySheets="..\..\..\..\..\msvs\VC\VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -202,7 +200,6 @@ OutputDirectory="$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="1" - InheritedPropertySheets="..\..\..\..\..\msvs\VC\VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -293,7 +290,6 @@ 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 index 00000000..65d594c9 --- /dev/null +++ b/od-win32/gencpu_msvc/cpustbl_small.c @@ -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 index 00000000..d35e6e15 --- /dev/null +++ b/od-win32/gencpu_msvc/cputbl_small.h @@ -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; diff --git a/od-win32/gencpu_msvc/gencpu_msvc.vcproj b/od-win32/gencpu_msvc/gencpu_msvc.vcproj index 24854f4a..6e0537ec 100755 --- a/od-win32/gencpu_msvc/gencpu_msvc.vcproj +++ b/od-win32/gencpu_msvc/gencpu_msvc.vcproj @@ -68,7 +68,7 @@ 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 { diff --git a/od-win32/winuae_msvc/winuae_msvc.vcproj b/od-win32/winuae_msvc/winuae_msvc.vcproj index 7ba46da2..4f89e678 100755 --- a/od-win32/winuae_msvc/winuae_msvc.vcproj +++ b/od-win32/winuae_msvc/winuae_msvc.vcproj @@ -2441,10 +2441,6 @@ - - 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; } diff --git a/zfile_archive.c b/zfile_archive.c index 9fb21f9d..9a70b8ea 100755 --- a/zfile_archive.c +++ b/zfile_archive.c @@ -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; } -- 2.47.3