mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 15:27:46 -04:00
0.0088 release
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@215 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
parent
ee5e024ce6
commit
0e11c502b0
20 changed files with 2084 additions and 655 deletions
|
@ -346,7 +346,7 @@ int OpMul(int op)
|
|||
if (type==0) // div
|
||||
{
|
||||
ot("divzero%.4x%s\n",op,ms?"":":");
|
||||
ot(" mov r0,#0x14 ;@ Divide by zero\n");
|
||||
ot(" mov r0,#5 ;@ Divide by zero\n");
|
||||
ot(" bl Exception\n");
|
||||
Cycles+=38;
|
||||
OpEnd(ea);
|
||||
|
@ -553,16 +553,18 @@ int OpAritha(int op)
|
|||
|
||||
// EA calculation order defines how situations like suba.w (A0)+, A0 get handled.
|
||||
// different emus act differently in this situation, I couldn't fugure which is right behaviour.
|
||||
if (/*type == */1)
|
||||
//if (type == 1)
|
||||
{
|
||||
EaCalcReadNoSE(-1,0,sea,size,0x003f);
|
||||
EaCalcReadNoSE(type!=1?10:-1,11,dea,2,0x0e00);
|
||||
}
|
||||
#if 0
|
||||
else
|
||||
{
|
||||
EaCalcReadNoSE(type!=1?10:-1,11,dea,2,0x0e00);
|
||||
EaCalcReadNoSE(-1,0,sea,size,0x003f);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (size<2) ot(" mov r0,r0,asl #%d\n\n",size?16:24);
|
||||
if (size<2) asr=(char *)(size?",asr #16":",asr #24");
|
||||
|
@ -803,7 +805,7 @@ int OpChk(int op)
|
|||
OpEnd(ea);
|
||||
|
||||
ot("chktrap%.4x%s ;@ CHK exception:\n",op,ms?"":":");
|
||||
ot(" mov r0,#0x18\n");
|
||||
ot(" mov r0,#6\n");
|
||||
ot(" bl Exception\n");
|
||||
Cycles+=40;
|
||||
OpEnd(ea);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue