comparison m68k_core.c @ 981:902c53d9c16f

Half assed, prefetch based open bus value emulation. Gets BlastEm up to 119/122 in VDP FIFO Testing
author Michael Pavone <pavone@retrodev.com>
date Sun, 24 Apr 2016 02:19:48 -0700
parents 771875b5f519
children 751280fb4494
comparison
equal deleted inserted replaced
980:928442068afe 981:902c53d9c16f
794 794
795 void translate_m68k(m68k_options * opts, m68kinst * inst) 795 void translate_m68k(m68k_options * opts, m68kinst * inst)
796 { 796 {
797 check_cycles_int(&opts->gen, inst->address); 797 check_cycles_int(&opts->gen, inst->address);
798 //log_address(&opts->gen, inst->address, "M68K: %X @ %d\n"); 798 //log_address(&opts->gen, inst->address, "M68K: %X @ %d\n");
799 if (
800 (inst->src.addr_mode > MODE_AREG && inst->src.addr_mode < MODE_IMMEDIATE)
801 || (inst->dst.addr_mode > MODE_AREG && inst->dst.addr_mode < MODE_IMMEDIATE)
802 ) {
803 //Not accurate for all cases, but probably good enough for now
804 m68k_set_last_prefetch(opts, inst->address + inst->bytes);
805 }
799 impl_info * info = m68k_impls + inst->op; 806 impl_info * info = m68k_impls + inst->op;
800 if (info->itype == RAW_FUNC) { 807 if (info->itype == RAW_FUNC) {
801 info->impl.raw(opts, inst); 808 info->impl.raw(opts, inst);
802 return; 809 return;
803 } 810 }