unsigned short (*fetch16)(unsigned int a); // [r7,#0x84]\r
unsigned int (*fetch32)(unsigned int a); // [r7,#0x88]\r
void (*IrqCallback)(int int_level); // [r7,#0x8c] - optional irq callback function, see config.h\r
- void (*ResetCallback)(); // [r7,#0x90] - if enabled in config.h, calls this whenever RESET opcode is encountered.\r
- int (*UnrecognizedCallback)(); // [r7,#0x94] - if enabled in config.h, calls this whenever unrecognized opcode is encountered.\r
+ void (*ResetCallback)(void); // [r7,#0x90] - if enabled in config.h, calls this whenever RESET opcode is encountered.\r
+ int (*UnrecognizedCallback)(void); // [r7,#0x94] - if enabled in config.h, calls this whenever unrecognized opcode is encountered.\r
};\r
\r
// used only if Cyclone was compiled with compressed jumptable, see config.h\r
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
}\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
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
\r
// EA calculation order defines how situations like suba.w (A0)+, A0 get handled.\r
// different emus act differently in this situation, I couldn't fugure which is right behaviour.\r
- // This is Musashi's behaviour.\r
- if (type == 1)\r
+ if (/*type == */1)\r
{\r
EaCalcReadNoSE(-1,0,sea,size,0x003f);\r
EaCalcReadNoSE(type!=1?10:-1,11,dea,2,0x0e00);\r
else\r
{\r
ot(";@ Jsr - Push old PC first\n");\r
- ot(" sub r1,r4,r10 ;@ r1 = Old PC\n");\r
- ot(" mov r1,r1,lsl #8\n");\r
ot(" ldr r0,[r7,#0x3c]\n");\r
- ot(" mov r1,r1,asr #8\n");\r
+ ot(" sub r1,r4,r10 ;@ r1 = Old PC\n");\r
+// ot(" mov r1,r1,lsl #8\n");\r
+// ot(" mov r1,r1,asr #8\n");\r
ot(";@ Push r1 onto stack\n");\r
ot(" sub r0,r0,#4 ;@ Predecrement A7\n");\r
ot(" str r0,[r7,#0x3c] ;@ Save A7\n");\r
if (cc==1)\r
{\r
ot(";@ Bsr - remember old PC\n");\r
+ ot(" ldr r2,[r7,#0x3c]\n");\r
ot(" sub r1,r4,r10 ;@ r1 = Old PC\n");\r
if (size) ot(" add r1,r1,#%d\n",1<<size);\r
- ot(" mov r1,r1, lsl #8\n");\r
- ot(" ldr r2,[r7,#0x3c]\n");\r
- ot(" mov r1,r1, asr #8\n");\r
+// ot(" mov r1,r1, lsl #8\n");\r
+// ot(" mov r1,r1, asr #8\n");\r
ot("\n");\r
ot(";@ Push r1 onto stack\n");\r
ot(" sub r0,r2,#4 ;@ Predecrement A7\n");\r