uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_diword(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpc(2);
uaecptr srca;
m68k_incpc(2);
srca = get_disp_ea_020(m68k_areg(regs, srcreg), 0);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpc(2);
int count_cycles = 0;
uaecptr srca;
srca = (uae_s32)(uae_s16)get_diword(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpc(2);
int count_cycles = 0;
uaecptr srca;
srca = get_dilong(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
srca = m68k_getpc() + 2;
srca += (uae_s32)(uae_s16)get_diword(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpc(2);
m68k_incpc(2);
uaecptr tmppc = m68k_getpc();
srca = get_disp_ea_020(tmppc, 0);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpc(2);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_diword(2));
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpc(2);
uaecptr srca;
uaecptr tmppc = m68k_getpc() + 2;
srca = get_disp_ea_000(tmppc, get_diword(2));
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpc(2);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_diword(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpc(2);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_diword(2));
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpc(2);
int count_cycles = 0;
uaecptr srca;
srca = (uae_s32)(uae_s16)get_diword(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpc(2);
int count_cycles = 0;
uaecptr srca;
srca = get_dilong(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
srca = m68k_getpc() + 2;
srca += (uae_s32)(uae_s16)get_diword(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpc(2);
uaecptr srca;
uaecptr tmppc = m68k_getpc() + 2;
srca = get_disp_ea_000(tmppc, get_diword(2));
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpc(2);
#ifdef DEBUGGER
branch_stack_pop_rte(oldpc);
#endif
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 20 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 24 * CYCLE_UNIT / 2 + count_cycles;
}
exception3_read_prefetch_only(opcode, faultpc);
return 8 * CYCLE_UNIT / 2 + count_cycles;
}
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 12 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 16 * CYCLE_UNIT / 2 + count_cycles;
}
exception3_read_prefetch_only(opcode, faultpc);
return 12 * CYCLE_UNIT / 2 + count_cycles;
}
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 16 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 20 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 2;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 4 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(0, 2, 0);
+ exception2_fetch_opcode(opcode, 2, 0);
return 16 * CYCLE_UNIT / 2 + count_cycles;
}
return 16 * CYCLE_UNIT / 2 + count_cycles;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 4;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 4;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 4;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 6;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 8 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 4;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 4;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return 4 * CYCLE_UNIT / 2 + count_cycles;
}
regs.ir = regs.irc;
opcode = regs.ir;
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(0, 2, 0);
+ exception2_fetch_opcode(opcode, 2, 0);
return 8 * CYCLE_UNIT / 2 + count_cycles;
}
return 8 * CYCLE_UNIT / 2 + count_cycles;
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)regs.irc;
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
regs.ir = regs.irc;
exception2_fetch_opcode(opcode, 2, 0);
return 4 * CYCLE_UNIT / 2 + count_cycles;
}
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpci(2);
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
regs.ir = regs.irc;
int count_cycles = 0;
uaecptr srca;
srca = (uae_s32)(uae_s16)regs.irc;
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
regs.ir = regs.irc;
exception2_fetch(opcode, 4, -2);
return 4 * CYCLE_UNIT / 2 + count_cycles;
}
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return 8 * CYCLE_UNIT / 2 + count_cycles;
}
regs.ir = regs.irc;
uaecptr srca;
srca = m68k_getpci() + 2;
srca += (uae_s32)(uae_s16)regs.irc;
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
regs.ir = regs.irc;
exception2_fetch_opcode(opcode, 2, 0);
return 4 * CYCLE_UNIT / 2 + count_cycles;
}
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpci(2);
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
regs.ir = regs.irc;
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
#ifdef DEBUGGER
branch_stack_pop_rte(oldpc);
#endif
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 16 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 20 * CYCLE_UNIT / 2 + count_cycles;
}
exception3_read_prefetch_only(opcode, faultpc);
return 8 * CYCLE_UNIT / 2 + count_cycles;
}
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 12 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 16 * CYCLE_UNIT / 2 + count_cycles;
}
exception3_read_prefetch_only(opcode, faultpc);
return 12 * CYCLE_UNIT / 2 + count_cycles;
}
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 16 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 20 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 2;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 4 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(0, 2, 0);
+ exception2_fetch_opcode(opcode, 2, 0);
return 16 * CYCLE_UNIT / 2 + count_cycles;
}
return 16 * CYCLE_UNIT / 2 + count_cycles;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 4;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 4;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 4;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 6;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 8 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 4;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 4;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return 4 * CYCLE_UNIT / 2 + count_cycles;
}
regs.ir = regs.irc;
opcode = regs.ir;
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(0, 2, 0);
+ exception2_fetch_opcode(opcode, 2, 0);
return 8 * CYCLE_UNIT / 2 + count_cycles;
}
return 8 * CYCLE_UNIT / 2 + count_cycles;
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)regs.irc;
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
regs.ir = regs.irc;
exception2_fetch_opcode(opcode, 2, 0);
return 4 * CYCLE_UNIT / 2 + count_cycles;
}
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpci(2);
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
regs.ir = regs.irc;
int count_cycles = 0;
uaecptr srca;
srca = (uae_s32)(uae_s16)regs.irc;
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
regs.ir = regs.irc;
exception2_fetch(opcode, 4, -2);
return 4 * CYCLE_UNIT / 2 + count_cycles;
}
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return 8 * CYCLE_UNIT / 2 + count_cycles;
}
regs.ir = regs.irc;
uaecptr srca;
srca = m68k_getpci() + 2;
srca += (uae_s32)(uae_s16)regs.irc;
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
regs.ir = regs.irc;
exception2_fetch_opcode(opcode, 2, 0);
return 4 * CYCLE_UNIT / 2 + count_cycles;
}
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpci(2);
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
regs.ir = regs.irc;
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
return 2 * CYCLE_UNIT / 2 + count_cycles;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return 6 * CYCLE_UNIT / 2 + count_cycles;
}
get_word_000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return 10 * CYCLE_UNIT / 2 + count_cycles;
}
#ifdef DEBUGGER
branch_stack_pop_rte(oldpc);
#endif
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
exception3_read_prefetch_only(opcode, faultpc);
return;
}
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
exception3_read_prefetch_only(opcode, faultpc);
return;
}
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 2;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(0, 2, 0);
+ exception2_fetch_opcode(opcode, 2, 0);
return;
}
return;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 4;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 4;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 4;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 6;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 4;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 4;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
uaecptr srca;
srca = m68k_areg(regs, srcreg);
ipl_fetch_now();
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
regs.ir = regs.irc;
opcode = regs.ir;
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(0, 2, 0);
+ exception2_fetch_opcode(opcode, 2, 0);
return;
}
return;
uaecptr srca;
srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)regs.irc;
ipl_fetch_now();
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
do_cycles_ce000_internal(2);
m68k_incpci(2);
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
regs.ir = regs.irc;
return;
}
ipl_fetch_now();
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
do_cycles_ce000_internal(6);
m68k_incpci(2);
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
regs.ir = regs.irc;
uaecptr srca;
srca = (uae_s32)(uae_s16)regs.irc;
ipl_fetch_now();
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
do_cycles_ce000_internal(2);
m68k_incpci(2);
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
regs.ir = regs.irc;
return;
}
ipl_fetch_now();
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
regs.ir = regs.irc;
srca = m68k_getpci() + 2;
srca += (uae_s32)(uae_s16)regs.irc;
ipl_fetch_now();
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
do_cycles_ce000_internal(2);
m68k_incpci(2);
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
regs.ir = regs.irc;
return;
}
ipl_fetch_now();
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
do_cycles_ce000_internal(6);
m68k_incpci(2);
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
regs.ir = regs.irc;
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
#ifdef DEBUGGER
branch_stack_pop_rte(oldpc);
#endif
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
exception3_read_prefetch_only(opcode, faultpc);
return;
}
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
exception3_read_prefetch_only(opcode, faultpc);
return;
}
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 2;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(0, 2, 0);
+ exception2_fetch_opcode(opcode, 2, 0);
return;
}
return;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 4;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 4;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 4;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 6;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 4;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
+ pcoffset = oldpc + 4;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
uaecptr srca;
srca = m68k_areg(regs, srcreg);
ipl_fetch_now();
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
regs.ir = regs.irc;
opcode = regs.ir;
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(0, 2, 0);
+ exception2_fetch_opcode(opcode, 2, 0);
return;
}
return;
uaecptr srca;
srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)regs.irc;
ipl_fetch_now();
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
do_cycles_ce000_internal(2);
m68k_incpci(2);
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
regs.ir = regs.irc;
return;
}
ipl_fetch_now();
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
do_cycles_ce000_internal(6);
m68k_incpci(2);
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
regs.ir = regs.irc;
uaecptr srca;
srca = (uae_s32)(uae_s16)regs.irc;
ipl_fetch_now();
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
do_cycles_ce000_internal(2);
m68k_incpci(2);
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
regs.ir = regs.irc;
return;
}
ipl_fetch_now();
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
regs.ir = regs.irc;
srca = m68k_getpci() + 2;
srca += (uae_s32)(uae_s16)regs.irc;
ipl_fetch_now();
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
do_cycles_ce000_internal(2);
m68k_incpci(2);
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
regs.ir = regs.irc;
return;
}
ipl_fetch_now();
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
do_cycles_ce000_internal(6);
m68k_incpci(2);
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- exception2_fetch_opcode(opcode, 0, 0);
+ pcoffset = oldpc + 2;
+ exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
regs.ir = regs.irc;
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
return;
}
m68k_incpci((uae_s32)src + 2);
+ int pcadjust = oldpc - m68k_getpci() + 2;
get_word_ce000_prefetch(0);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
+ pcoffset += pcadjust;
exception2_fetch_opcode(opcode, 0, pcoffset);
return;
}
get_word_ce000_prefetch(2);
if(hardware_bus_error) {
int pcoffset = 0;
- pcoffset = oldpc - m68k_getpci() + 2;
exception2_fetch_opcode(opcode, 2, pcoffset);
return;
}
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_word_020_prefetch(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
uaecptr srca;
m68k_incpci(2);
srca = x_get_disp_ea_020(m68k_areg(regs, srcreg), 0);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpci(2);
int count_cycles = 0;
uaecptr srca;
srca = (uae_s32)(uae_s16)get_word_020_prefetch(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
int count_cycles = 0;
uaecptr srca;
srca = get_long_020_prefetch(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
srca = m68k_getpci() + 2;
srca += (uae_s32)(uae_s16)get_word_020_prefetch(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
m68k_incpci(2);
uaecptr tmppc = m68k_getpci();
srca = x_get_disp_ea_020(tmppc, 0);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpci(2);
uaecptr srca;
srca = m68k_areg(regs, srcreg);
/* op H:4-,T:0,C:-4 */
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_word_ce020_prefetch(2);
/* op H:4-,T:0,C:-4 */
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
m68k_incpci(2);
srca = x_get_disp_ea_ce020(m68k_areg(regs, srcreg), 0);
/* op H:4,T:0,C:-4 */
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpci(2);
uaecptr srca;
srca = (uae_s32)(uae_s16)get_word_ce020_prefetch(2);
/* op H:4-,T:0,C:-4 */
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
uaecptr srca;
srca = get_long_ce020_prefetch(2);
/* op H:4-,T:0,C:-4 */
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
srca = m68k_getpci() + 2;
srca += (uae_s32)(uae_s16)get_word_ce020_prefetch(2);
/* op H:4-,T:0,C:-4 */
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
uaecptr tmppc = m68k_getpci();
srca = x_get_disp_ea_ce020(tmppc, 0);
/* op H:4,T:0,C:-4 */
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpci(2);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_word_030_prefetch(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
uaecptr srca;
m68k_incpci(2);
srca = x_get_disp_ea_020(m68k_areg(regs, srcreg), 0);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpci(2);
int count_cycles = 0;
uaecptr srca;
srca = (uae_s32)(uae_s16)get_word_030_prefetch(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
int count_cycles = 0;
uaecptr srca;
srca = get_long_030_prefetch(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
srca = m68k_getpci() + 2;
srca += (uae_s32)(uae_s16)get_word_030_prefetch(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
m68k_incpci(2);
uaecptr tmppc = m68k_getpci();
srca = x_get_disp_ea_020(tmppc, 0);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpci(2);
uaecptr srca;
srca = m68k_areg(regs, srcreg);
/* op H:4-,T:0,C:-4 */
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_word_ce030_prefetch(2);
/* op H:4-,T:0,C:-4 */
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
m68k_incpci(2);
srca = x_get_disp_ea_ce030(m68k_areg(regs, srcreg), 0);
/* op H:4,T:0,C:-4 */
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpci(2);
uaecptr srca;
srca = (uae_s32)(uae_s16)get_word_ce030_prefetch(2);
/* op H:4-,T:0,C:-4 */
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
uaecptr srca;
srca = get_long_ce030_prefetch(2);
/* op H:4-,T:0,C:-4 */
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
srca = m68k_getpci() + 2;
srca += (uae_s32)(uae_s16)get_word_ce030_prefetch(2);
/* op H:4-,T:0,C:-4 */
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
uaecptr tmppc = m68k_getpci();
srca = x_get_disp_ea_ce030(tmppc, 0);
/* op H:4,T:0,C:-4 */
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpci(2);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword_cache_040(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
uaecptr srca;
m68k_incpci(2);
srca = x_get_disp_ea_040(m68k_areg(regs, srcreg), 0);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpci(2);
int count_cycles = 0;
uaecptr srca;
srca = (uae_s32)(uae_s16)get_iword_cache_040(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
int count_cycles = 0;
uaecptr srca;
srca = get_ilong_cache_040(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
srca = m68k_getpci() + 2;
srca += (uae_s32)(uae_s16)get_iword_cache_040(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
m68k_incpci(2);
uaecptr tmppc = m68k_getpci();
srca = x_get_disp_ea_040(tmppc, 0);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpci(2);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword_mmu040(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
uaecptr srca;
m68k_incpci(2);
srca = x_get_disp_ea_020(m68k_areg(regs, srcreg), 0);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpci(2);
int count_cycles = 0;
uaecptr srca;
srca = (uae_s32)(uae_s16)get_iword_mmu040(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
int count_cycles = 0;
uaecptr srca;
srca = get_ilong_mmu040(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
srca = m68k_getpci() + 2;
srca += (uae_s32)(uae_s16)get_iword_mmu040(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
m68k_incpci(2);
uaecptr tmppc = m68k_getpci();
srca = x_get_disp_ea_020(tmppc, 0);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpci(2);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword_mmu030_state(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
uaecptr srca;
m68k_incpci(2);
srca = get_disp_ea_020_mmu030(m68k_areg(regs, srcreg), 0);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpci(2);
int count_cycles = 0;
uaecptr srca;
srca = (uae_s32)(uae_s16)get_iword_mmu030_state(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
int count_cycles = 0;
uaecptr srca;
srca = get_ilong_mmu030_state(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
srca = m68k_getpci() + 2;
srca += (uae_s32)(uae_s16)get_iword_mmu030_state(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
m68k_incpci(2);
uaecptr tmppc = m68k_getpci();
srca = get_disp_ea_020_mmu030(tmppc, 0);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpci(2);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword_mmu060(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
uaecptr srca;
m68k_incpci(2);
srca = x_get_disp_ea_020(m68k_areg(regs, srcreg), 0);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpci(2);
int count_cycles = 0;
uaecptr srca;
srca = (uae_s32)(uae_s16)get_iword_mmu060(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
int count_cycles = 0;
uaecptr srca;
srca = get_ilong_mmu060(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
srca = m68k_getpci() + 2;
srca += (uae_s32)(uae_s16)get_iword_mmu060(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
m68k_incpci(2);
uaecptr tmppc = m68k_getpci();
srca = x_get_disp_ea_020(tmppc, 0);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpci(2);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword_mmu030c_state(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
uaecptr srca;
m68k_incpci(2);
srca = get_disp_ea_020_mmu030c(m68k_areg(regs, srcreg), 0);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpci(2);
int count_cycles = 0;
uaecptr srca;
srca = (uae_s32)(uae_s16)get_iword_mmu030c_state(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
int count_cycles = 0;
uaecptr srca;
srca = get_ilong_mmu030c_state(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
srca = m68k_getpci() + 2;
srca += (uae_s32)(uae_s16)get_iword_mmu030c_state(2);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
m68k_incpci(2);
uaecptr tmppc = m68k_getpci();
srca = get_disp_ea_020_mmu030c(tmppc, 0);
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpci(2);
uaecptr srca;
srca = m68k_areg(regs, srcreg);
/* op H:4-,T:0,C:-4 */
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword_mmu030c_state(2);
/* op H:4-,T:0,C:-4 */
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
m68k_incpci(2);
srca = get_disp_ea_020_mmu030c(m68k_areg(regs, srcreg), 0);
/* op H:4,T:0,C:-4 */
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpci(2);
uaecptr srca;
srca = (uae_s32)(uae_s16)get_iword_mmu030c_state(2);
/* op H:4-,T:0,C:-4 */
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
uaecptr srca;
srca = get_ilong_mmu030c_state(2);
/* op H:4-,T:0,C:-4 */
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
m68k_incpci(2);
exception3_read_prefetch_only(opcode, srca);
srca = m68k_getpci() + 2;
srca += (uae_s32)(uae_s16)get_iword_mmu030c_state(2);
/* op H:4-,T:0,C:-4 */
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 2 * CYCLE_UNIT / 2;
m68k_incpci(2);
uaecptr tmppc = m68k_getpci();
srca = get_disp_ea_020_mmu030c(tmppc, 0);
/* op H:4,T:0,C:-4 */
+ uaecptr oldpc = m68k_getpci();
if (srca & 1) {
count_cycles += 6 * CYCLE_UNIT / 2;
m68k_incpci(2);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_diword(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
m68k_incpc(2);
srca = get_disp_ea_020(m68k_areg(regs, srcreg), 0);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
{
uaecptr srca;
srca = (uae_s32)(uae_s16)get_diword(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
{
uaecptr srca;
srca = get_dilong(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
srca = m68k_getpc() + 2;
srca += (uae_s32)(uae_s16)get_diword(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
m68k_incpc(2);
uaecptr tmppc = m68k_getpc();
srca = get_disp_ea_020(tmppc, 0);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_diword(2));
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
uaecptr tmppc = m68k_getpc() + 2;
srca = get_disp_ea_000(tmppc, get_diword(2));
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_diword(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_diword(2));
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
{
uaecptr srca;
srca = (uae_s32)(uae_s16)get_diword(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
{
uaecptr srca;
srca = get_dilong(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
srca = m68k_getpc() + 2;
srca += (uae_s32)(uae_s16)get_diword(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
uaecptr tmppc = m68k_getpc() + 2;
srca = get_disp_ea_000(tmppc, get_diword(2));
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_diword(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_diword(2));
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
{
uaecptr srca;
srca = (uae_s32)(uae_s16)get_diword(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
{
uaecptr srca;
srca = get_dilong(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
srca = m68k_getpc() + 2;
srca += (uae_s32)(uae_s16)get_diword(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
uaecptr tmppc = m68k_getpc() + 2;
srca = get_disp_ea_000(tmppc, get_diword(2));
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_diword(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_diword(2));
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
{
uaecptr srca;
srca = (uae_s32)(uae_s16)get_diword(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
{
uaecptr srca;
srca = get_dilong(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
srca = m68k_getpc() + 2;
srca += (uae_s32)(uae_s16)get_diword(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
uaecptr tmppc = m68k_getpc() + 2;
srca = get_disp_ea_000(tmppc, get_diword(2));
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_diword(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_diword(2));
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
{
uaecptr srca;
srca = (uae_s32)(uae_s16)get_diword(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
{
uaecptr srca;
srca = get_dilong(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
srca = m68k_getpc() + 2;
srca += (uae_s32)(uae_s16)get_diword(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
uaecptr tmppc = m68k_getpc() + 2;
srca = get_disp_ea_000(tmppc, get_diword(2));
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_diword(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_diword(2));
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
{
uaecptr srca;
srca = (uae_s32)(uae_s16)get_diword(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
{
uaecptr srca;
srca = get_dilong(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
srca = m68k_getpc() + 2;
srca += (uae_s32)(uae_s16)get_diword(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
uaecptr tmppc = m68k_getpc() + 2;
srca = get_disp_ea_000(tmppc, get_diword(2));
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iiword_jit(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
m68k_incpc(2);
srca = x_get_disp_ea_020(m68k_areg(regs, srcreg), 0);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
{
uaecptr srca;
srca = (uae_s32)(uae_s16)get_iiword_jit(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
{
uaecptr srca;
srca = get_iilong_jit(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
srca = m68k_getpc() + 2;
srca += (uae_s32)(uae_s16)get_iiword_jit(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
m68k_incpc(2);
uaecptr tmppc = m68k_getpc();
srca = x_get_disp_ea_020(tmppc, 0);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iiword_jit(2));
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
uaecptr tmppc = m68k_getpc() + 2;
srca = get_disp_ea_000(tmppc, get_iiword_jit(2));
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iiword_jit(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uae_u32 srcreg = (real_opcode & 7);
uaecptr srca;
srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iiword_jit(2));
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
{
uaecptr srca;
srca = (uae_s32)(uae_s16)get_iiword_jit(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
{
uaecptr srca;
srca = get_iilong_jit(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
srca = m68k_getpc() + 2;
srca += (uae_s32)(uae_s16)get_iiword_jit(2);
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
uaecptr srca;
uaecptr tmppc = m68k_getpc() + 2;
srca = get_disp_ea_000(tmppc, get_iiword_jit(2));
+ uaecptr oldpc = m68k_getpc();
if (srca & 1) {
m68k_incpc(2);
exception3_read_prefetch_only(opcode, srca);
clear_m68k_offset();
tail_ce020_done = true;
if (using_ce || using_prefetch) {
- fill_prefetch_full_000_special(2, NULL);
+ out("int pcadjust = oldpc - m68k_getpci() + 2;\n");
+ fill_prefetch_full_000_special(-1, NULL);
} else {
fill_prefetch_full_ntx(0);
}
out("}\n");
clear_m68k_offset();
if (using_prefetch || using_ce) {
- fill_prefetch_full_000_special(2, NULL);
+ out("int pcadjust = oldpc - m68k_getpci() + 2;\n");
+ fill_prefetch_full_000_special(-1, NULL);
} else {
fill_prefetch_full(0);
}
}
clear_m68k_offset();
if (using_prefetch || using_ce) {
- fill_prefetch_full_000_special(2, NULL);
+ out("int pcadjust = oldpc - m68k_getpci() + 2;\n");
+ fill_prefetch_full_000_special(-1, NULL);
} else {
fill_prefetch_full(0);
}
write_return_cycles(0);
out("}\n");
}
+
+ if (curi->smode == absl) {
+ sprintf(bus_error_code, "pcoffset = oldpc + 6;\n");
+ } else if (curi->smode == Ad8r || curi->smode == PC8r || curi->smode == Ad16 || curi->smode == PC16 || curi->smode == absw) {
+ sprintf(bus_error_code, "pcoffset = oldpc + 4;\n");
+ } else {
+ sprintf(bus_error_code, "pcoffset = oldpc + 2;\n");
+ }
fill_prefetch_1(0);
+ bus_error_code[0] = 0;
+
if (cpu_level < 2) {
out("m68k_areg(regs, 7) -= 4;\n");
}
out("if(regs.t1) opcode |= 0x10000;\n");
out("%s(%d);\n", prefetch_word, 2);
count_readw++;
- check_prefetch_bus_error(-2, 0, sp);
+ check_prefetch_bus_error(2, 0, 0);
+
did_prefetch = 1;
ir2irc = 0;
} else {
case i_JMP:
no_prefetch_ce020 = true;
genamode(curi, curi->smode, "srcreg", curi->size, "src", 0, 0, GF_AA|GF_NOREFILL);
+ out("uaecptr oldpc = %s;\n", getpc);
if (using_exception_3) {
push_ins_cnt();
out("if (srca & 1) {\n");
if (using_prefetch || using_ce) {
out("%s(%d);\n", prefetch_word, 0);
count_readw++;
- check_prefetch_bus_error(-1, 0, 0);
+ sprintf(bus_error_code, "pcoffset = oldpc + 2;\n");
+ check_prefetch_bus_error(-1, -1, 0);
+ bus_error_code[0] = 0;
irc2ir();
set_last_access_ipl();
out("%s(%d);\n", prefetch_word, 2);
if (sp < 0 && cpu_level == 0)
out("if(regs.t1) opcode |= 0x10000;\n");
count_readw++;
- check_prefetch_bus_error(-2, 0, sp);
+ check_prefetch_bus_error(2, 0, 0);
did_prefetch = 1;
ir2irc = 0;
} else {
push_ins_cnt();
if (using_prefetch) {
incpc("(uae_s32)src + 2");
- fill_prefetch_full_000_special(2, NULL);
+ out("int pcadjust = oldpc - m68k_getpci() + 2;\n");
+ fill_prefetch_full_000_special(-1, NULL);
if (using_ce)
out("return;\n");
else