notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
minor xlib fix
[picodrive.git]
/
cpu
/
Cyclone
/
OpMove.cpp
diff --git
a/cpu/Cyclone/OpMove.cpp
b/cpu/Cyclone/OpMove.cpp
index
be91b18
..
78adae5
100644
(file)
--- a/
cpu/Cyclone/OpMove.cpp
+++ b/
cpu/Cyclone/OpMove.cpp
@@
-121,16
+121,18
@@
int OpMove(int op)
\r
OpStart(op,sea,tea); Cycles=4;
\r
\r
\r
OpStart(op,sea,tea); Cycles=4;
\r
\r
- EaCalcRead(-1,1,sea,size,0x003f);
\r
-
\r
if (movea==0)
\r
{
\r
if (movea==0)
\r
{
\r
- ot(" adds r1,r1,#0 ;@ Defines NZ, clears CV\n");
\r
+ EaCalcRead(-1,0,sea,size,0x003f);
\r
+ ot(" adds r1,r0,#0 ;@ Defines NZ, clears CV\n");
\r
ot(" mrs r10,cpsr ;@ r10=NZCV flags\n");
\r
ot("\n");
\r
}
\r
ot(" mrs r10,cpsr ;@ r10=NZCV flags\n");
\r
ot("\n");
\r
}
\r
-
\r
- if (movea) size=2; // movea always expands to 32-bits
\r
+ else
\r
+ {
\r
+ EaCalcRead(-1,1,sea,size,0x003f);
\r
+ size=2; // movea always expands to 32-bits
\r
+ }
\r
\r
eawrite_check_addrerr=1;
\r
#if SPLIT_MOVEL_PD
\r
\r
eawrite_check_addrerr=1;
\r
#if SPLIT_MOVEL_PD
\r
@@
-149,8
+151,8
@@
int OpMove(int op)
}
\r
\r
#if CYCLONE_FOR_GENESIS && !MEMHANDLERS_CHANGE_CYCLES
\r
}
\r
\r
#if CYCLONE_FOR_GENESIS && !MEMHANDLERS_CHANGE_CYCLES
\r
- // this is a bit hacky
\r
- if (
(tea==0x39||(tea>=0x10&&tea<0x30))&&size>=1
)
\r
+ // this is a bit hacky
(device handlers might modify cycles)
\r
+ if (
tea==0x39||((0x10<=tea&&tea<0x30)&&size>=1)
)
\r
ot(" ldr r5,[r7,#0x5c] ;@ Load Cycles\n");
\r
#endif
\r
\r
ot(" ldr r5,[r7,#0x5c] ;@ Load Cycles\n");
\r
#endif
\r
\r