X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=cpu%2FCyclone%2FOpBranch.cpp;h=63569da199b82b39bfcdadee16fc1019f36974d4;hb=e743be2070a13d14cae39a55b815b62b0edb6776;hp=ce5ae70a248529be9c4f3bc2b1bb87e61beae0da;hpb=8527dc450a96f7a292b7f302e8e55147628b6042;p=picodrive.git diff --git a/cpu/Cyclone/OpBranch.cpp b/cpu/Cyclone/OpBranch.cpp index ce5ae70..63569da 100644 --- a/cpu/Cyclone/OpBranch.cpp +++ b/cpu/Cyclone/OpBranch.cpp @@ -5,10 +5,14 @@ static void CheckPc(void) { #if USE_CHECKPC_CALLBACK + #ifdef MEMHANDLERS_DIRECT_PREFIX + ot(" bl %scheckpc ;@ Call checkpc()\n", MEMHANDLERS_DIRECT_PREFIX); + #else ot(";@ Check Memory Base+pc\n"); ot(" mov lr,pc\n"); ot(" ldr pc,[r7,#0x64] ;@ Call checkpc()\n"); ot("\n"); + #endif #endif } @@ -288,7 +292,7 @@ int OpJsr(int op) // --------------------- Opcodes 0x50c8+ --------------------- // ARM version of 68000 condition codes: -static char *Cond[16]= +static const char * const Cond[16]= { "", "", "hi","ls","cc","cs","ne","eq", "vc","vs","pl","mi","ge","lt","gt","le" @@ -402,7 +406,7 @@ int OpBranch(int op) int size=0,use=0,checkpc=0; int offset=0; int cc=0; - char *asr_r11=""; + const char *asr_r11=""; offset=(char)(op&0xff); cc=(op>>8)&15; @@ -500,7 +504,7 @@ int OpBranch(int op) OpEnd(size?0x10:0); // since all "DontBranch" code is same for every size, output only once - if (cc>=2&&(op&0xff00)==0x6200) + if (cc>=2&&(op&0xff00)==0x6700) { ot("BccDontBranch%i%s\n", 8<