notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
(QNX) Fix build
[picodrive.git]
/
cpu
/
fame
/
famec_opcodes.h
diff --git
a/cpu/fame/famec_opcodes.h
b/cpu/fame/famec_opcodes.h
index
5e09a92
..
c690b45
100644
(file)
--- a/
cpu/fame/famec_opcodes.h
+++ b/
cpu/fame/famec_opcodes.h
@@
-1,4
+1,10
@@
+#ifdef PICODRIVE_HACK
+#define NOT_POLLING g_m68kcontext->not_polling = 1;
+#else
+#define NOT_POLLING
+#endif
+
// ORI
OPCODE(0x0000)
{
// ORI
OPCODE(0x0000)
{
@@
-23298,6
+23304,8
@@
OPCODE(0x51C8)
u32 adr, res;
u32 src, dst;
u32 adr, res;
u32 src, dst;
+ NOT_POLLING
+
res = DREGu16((Opcode >> 0) & 7);
res--;
DREGu16((Opcode >> 0) & 7) = res;
res = DREGu16((Opcode >> 0) & 7);
res--;
DREGu16((Opcode >> 0) & 7) = res;
@@
-23321,6
+23329,8
@@
OPCODE(0x52C8)
u32 adr, res;
u32 src, dst;
u32 adr, res;
u32 src, dst;
+ NOT_POLLING
+
if ((!flag_NotZ) || (flag_C & 0x100))
{
res = DREGu16((Opcode >> 0) & 7);
if ((!flag_NotZ) || (flag_C & 0x100))
{
res = DREGu16((Opcode >> 0) & 7);
@@
-23352,6
+23362,8
@@
OPCODE(0x53C8)
u32 adr, res;
u32 src, dst;
u32 adr, res;
u32 src, dst;
+ NOT_POLLING
+
if (flag_NotZ && (!(flag_C & 0x100)))
{
res = DREGu16((Opcode >> 0) & 7);
if (flag_NotZ && (!(flag_C & 0x100)))
{
res = DREGu16((Opcode >> 0) & 7);
@@
-23383,6
+23395,8
@@
OPCODE(0x54C8)
u32 adr, res;
u32 src, dst;
u32 adr, res;
u32 src, dst;
+ NOT_POLLING
+
if (flag_C & 0x100)
{
res = DREGu16((Opcode >> 0) & 7);
if (flag_C & 0x100)
{
res = DREGu16((Opcode >> 0) & 7);
@@
-23414,6
+23428,8
@@
OPCODE(0x55C8)
u32 adr, res;
u32 src, dst;
u32 adr, res;
u32 src, dst;
+ NOT_POLLING
+
if (!(flag_C & 0x100))
{
res = DREGu16((Opcode >> 0) & 7);
if (!(flag_C & 0x100))
{
res = DREGu16((Opcode >> 0) & 7);
@@
-23445,6
+23461,8
@@
OPCODE(0x56C8)
u32 adr, res;
u32 src, dst;
u32 adr, res;
u32 src, dst;
+ NOT_POLLING
+
if (!flag_NotZ)
{
res = DREGu16((Opcode >> 0) & 7);
if (!flag_NotZ)
{
res = DREGu16((Opcode >> 0) & 7);
@@
-23476,6
+23494,8
@@
OPCODE(0x57C8)
u32 adr, res;
u32 src, dst;
u32 adr, res;
u32 src, dst;
+ NOT_POLLING
+
if (flag_NotZ)
{
res = DREGu16((Opcode >> 0) & 7);
if (flag_NotZ)
{
res = DREGu16((Opcode >> 0) & 7);
@@
-23507,6
+23527,8
@@
OPCODE(0x58C8)
u32 adr, res;
u32 src, dst;
u32 adr, res;
u32 src, dst;
+ NOT_POLLING
+
if (flag_V & 0x80)
{
res = DREGu16((Opcode >> 0) & 7);
if (flag_V & 0x80)
{
res = DREGu16((Opcode >> 0) & 7);
@@
-23538,6
+23560,8
@@
OPCODE(0x59C8)
u32 adr, res;
u32 src, dst;
u32 adr, res;
u32 src, dst;
+ NOT_POLLING
+
if (!(flag_V & 0x80))
{
res = DREGu16((Opcode >> 0) & 7);
if (!(flag_V & 0x80))
{
res = DREGu16((Opcode >> 0) & 7);
@@
-23569,6
+23593,8
@@
OPCODE(0x5AC8)
u32 adr, res;
u32 src, dst;
u32 adr, res;
u32 src, dst;
+ NOT_POLLING
+
if (flag_N & 0x80)
{
res = DREGu16((Opcode >> 0) & 7);
if (flag_N & 0x80)
{
res = DREGu16((Opcode >> 0) & 7);
@@
-23600,6
+23626,8
@@
OPCODE(0x5BC8)
u32 adr, res;
u32 src, dst;
u32 adr, res;
u32 src, dst;
+ NOT_POLLING
+
if (!(flag_N & 0x80))
{
res = DREGu16((Opcode >> 0) & 7);
if (!(flag_N & 0x80))
{
res = DREGu16((Opcode >> 0) & 7);
@@
-23631,6
+23659,8
@@
OPCODE(0x5CC8)
u32 adr, res;
u32 src, dst;
u32 adr, res;
u32 src, dst;
+ NOT_POLLING
+
if ((flag_N ^ flag_V) & 0x80)
{
res = DREGu16((Opcode >> 0) & 7);
if ((flag_N ^ flag_V) & 0x80)
{
res = DREGu16((Opcode >> 0) & 7);
@@
-23662,6
+23692,8
@@
OPCODE(0x5DC8)
u32 adr, res;
u32 src, dst;
u32 adr, res;
u32 src, dst;
+ NOT_POLLING
+
if (!((flag_N ^ flag_V) & 0x80))
{
res = DREGu16((Opcode >> 0) & 7);
if (!((flag_N ^ flag_V) & 0x80))
{
res = DREGu16((Opcode >> 0) & 7);
@@
-23693,6
+23725,8
@@
OPCODE(0x5EC8)
u32 adr, res;
u32 src, dst;
u32 adr, res;
u32 src, dst;
+ NOT_POLLING
+
if ((!flag_NotZ) || ((flag_N ^ flag_V) & 0x80))
{
res = DREGu16((Opcode >> 0) & 7);
if ((!flag_NotZ) || ((flag_N ^ flag_V) & 0x80))
{
res = DREGu16((Opcode >> 0) & 7);
@@
-23724,6
+23758,8
@@
OPCODE(0x5FC8)
u32 adr, res;
u32 src, dst;
u32 adr, res;
u32 src, dst;
+ NOT_POLLING
+
if (flag_NotZ && (!((flag_N ^ flag_V) & 0x80)))
{
res = DREGu16((Opcode >> 0) & 7);
if (flag_NotZ && (!((flag_N ^ flag_V) & 0x80)))
{
res = DREGu16((Opcode >> 0) & 7);