#ifndef _EMU68_CC68_H_
#define _EMU68_CC68_H_
#include "emu68_api.h"
#include "srdef68.h"
enum {
CC68_TR = 0x0, CC68_FA = 0x1, CC68_HI = 0x2, CC68_LS = 0x3,
CC68_CC = 0x4, CC68_CS = 0x5, CC68_NE = 0x6, CC68_EQ = 0x7,
CC68_VC = 0x8, CC68_VS = 0x9, CC68_PL = 0xA, CC68_MI = 0xB,
CC68_GE = 0xC, CC68_LT = 0xD, CC68_GT = 0xE, CC68_LE = 0xF
};
static inline int inl_is_cc0(const int sr)
{
return 1;
}
static inline int inl_is_cc1(const int sr)
{
return 0;
}
static inline int inl_is_cc2(const int sr)
{
return ~
( ( sr >> SR_C_BIT )
|
( sr >> SR_Z_BIT )
) & 1;
}
static inline int inl_is_cc3(const int sr)
{
return
( ( sr >> SR_C_BIT )
|
( sr >> SR_Z_BIT )
) & 1;
}
static inline int inl_is_cc4(const int sr)
{
return ~
( sr >> SR_C_BIT ) & 1;
}
static inline int inl_is_cc5(const int sr)
{
return
( sr >> SR_C_BIT ) & 1;
}
static inline int inl_is_cc6(const int sr)
{
return ~
( sr >> SR_Z_BIT ) & 1;
}
static inline int inl_is_cc7(const int sr)
{
return
( sr >> SR_Z_BIT ) & 1;
}
static inline int inl_is_cc8(const int sr)
{
return ~
( sr >> SR_V_BIT ) & 1;
}
static inline int inl_is_cc9(const int sr)
{
return
( sr >> SR_V_BIT ) & 1;
}
static inline int inl_is_ccA(const int sr)
{
return ~
( sr >> SR_N_BIT ) & 1;
}
static inline int inl_is_ccB(const int sr)
{
return
( sr >> SR_N_BIT ) & 1;
}
static inline int inl_is_ccC(const int sr)
{
return ~
( ( sr >> SR_N_BIT )
^
( sr >> SR_V_BIT )
) & 1;
}
static inline int inl_is_ccD(const int sr)
{
return
( ( sr >> SR_N_BIT )
^
( sr >> SR_V_BIT )
) & 1;
}
static inline int inl_is_ccE(const int sr)
{
return ~
( ( sr >> SR_Z_BIT )
|
( ( sr >> SR_N_BIT )
^
( sr >> SR_V_BIT ) )
) & 1;
}
static inline int inl_is_ccF(const int sr)
{
return
( ( sr >> SR_Z_BIT )
|
( ( sr >> SR_N_BIT )
^
( sr >> SR_V_BIT ) )
) & 1;
}
#endif