Mercurial > repos > blastem
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 } |