NOT setting upper bits on PUSH PC, minor adjustments
[picodrive.git] / cpu / Cyclone / Main.cpp
index 96de268..5647fb1 100644 (file)
@@ -102,9 +102,10 @@ static void PrintException(int ints)
   ot("no_sp_swap%i%s\n",ints,ms?"":":");\r
 \r
   ot("  ldr r10,[r7,#0x60] ;@ Get Memory base\n");\r
-  ot("  mov r1,r4,lsl #8\n");\r
-  ot("  sub r1,r1,r10,lsl #8 ;@ r1 = Old PC\n");\r
-  ot("  mov r1,r1,asr #8 ;@ push sign extended\n");\r
+//  ot("  mov r1,r4,lsl #8\n");\r
+//  ot("  sub r1,r1,r10,lsl #8 ;@ r1 = Old PC\n");\r
+//  ot("  mov r1,r1,asr #8 ;@ push sign extended\n");\r
+  ot("  sub r1,r4,r10 ;@ r1 = Old PC\n");\r
   OpPush32();\r
   OpPushSr(1);\r
   ot("  mov r0,r11\n");\r
@@ -634,12 +635,11 @@ static void PrintJumpTable()
     }\r
     if(ip&1) ott("0x%.4x", 0, "\n",0,ip++,1);\r
     if(ip&7) fseek(AsmFile, -1, SEEK_CUR); // remove last comma\r
-    ot("\n");\r
     if(ip&7) {\r
       for(i = 8-(ip&7); i > 0; i--)\r
         ot(",0x0000");\r
-      ot("\n");\r
     }\r
+    ot("\n");\r
     if(ms) {\r
       for(i = (0x2000-ip/2)/8+1; i > 0; i--)\r
         ot("  dcd 0,0,0,0,0,0,0,0\n");\r
@@ -687,7 +687,7 @@ static int CycloneMake()
   ot("\n;@ Dave's Cyclone 68000 Emulator v%x.%.3x - Assembler Output\n\n",CycloneVer>>12,CycloneVer&0xfff);\r
 \r
   ot(";@ (c) Copyright 2003 Dave, All rights reserved.\n");\r
-  ot(";@ some code (c) Copyright 2005-2006 notaz, All rights reserved.\n");\r
+  ot(";@ some code (c) Copyright 2005-2007 notaz, All rights reserved.\n");\r
   ot(";@ Cyclone 68000 is free for non-commercial use.\n\n");\r
   ot(";@ For commercial use, separate licencing terms must be obtained.\n\n");\r
 \r