
#ifndef INLINE
#define INLINE
#endif

/* low-level calls */
INLINE byte fetch8(byte *m, m6811 *state);
INLINE word fetch16(byte *m, m6811 *state);
INLINE byte add8(byte a, byte b, m6811 *state);
INLINE byte sub8(byte a, byte b, m6811 *state);
INLINE byte sub8neg(byte a, m6811 *state);
INLINE byte sub8tst(byte a, m6811 *state);
INLINE byte or8(byte a, byte b, m6811 *state);
INLINE byte and8(byte a, byte b, m6811 *state);
INLINE byte xor8(byte a, byte b, m6811 *state);
INLINE void tst8(byte a, m6811 *state);
INLINE void tst16(word a, m6811 *state);
word inc16(word old, int inc, m6811 *state);
byte inc8(byte old, int inc, m6811 *state);
byte shift8(byte old, int direction, int new_bit, m6811 *state);
word shift16(word old, int direction, int new_bit, m6811 *state);
word add16a(word a, word b, m6811 *state);
word add16(word a, word b, m6811 *state);
INLINE word sub16(word a, word b, m6811 *state);
void branch(m6811 *state, byte *m, int condition);
INLINE void cycle(m6811 *state, int count);
