ot("\n");\r
}\r
\r
+ if (type==1) eawrite_check_addrerr=1;\r
EaWrite(10, 1,ea,size,0x003f,0,0);\r
\r
OpEnd(ea);\r
int OpSet(int op)\r
{\r
int cc=0,ea=0;\r
- int size=0,use=0;\r
+ int size=0,use=0,changed_cycles=0;\r
char *cond[16]=\r
{\r
"al","", "hi","ls","cc","cs","ne","eq",\r
use=OpBase(op,size);\r
if (op!=use) { OpUse(op,use); return 0; } // Use existing handler\r
\r
- OpStart(op,ea); Cycles=8;\r
+ changed_cycles=ea<8 && cc>=2;\r
+ OpStart(op,ea,0,changed_cycles); Cycles=8;\r
if (ea<8) Cycles=4;\r
\r
if (cc)\r
\r
ot("\n");\r
\r
+ eawrite_check_addrerr=1;\r
EaCalc (0,0x003f, ea,size,0,0);\r
EaWrite(0, 1, ea,size,0x003f,0,0);\r
\r
- OpEnd(ea);\r
+ opend_op_changes_cycles=changed_cycles;\r
+ OpEnd(ea,0);\r
return 0;\r
}\r
\r
int count=0,dir=0;\r
int size=0,usereg=0,type=0;\r
\r
- ea=0;\r
count =(op>>9)&7;\r
dir =(op>>8)&1;\r
size =(op>>6)&3;\r
\r
if (op!=use) { OpUse(op,use); return 0; } // Use existing handler\r
\r
- OpStart(op); Cycles=size<2?6:8;\r
+ OpStart(op,ea,0,count<0); Cycles=size<2?6:8;\r
\r
EaCalc(10,0x0007, ea,size,1);\r
EaRead(10, 0, ea,size,0x0007,1);\r
\r
EaWrite(10, 0, ea,size,0x0007,1);\r
\r
- OpEnd();\r
+ opend_op_changes_cycles = (count<0);\r
+ OpEnd(ea,0);\r
\r
return 0;\r
}\r