summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/minx/minxfunc.h
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2009-06-18 04:00:44 +0000
committer Aaron Giles <aaron@aarongiles.com>2009-06-18 04:00:44 +0000
commitcd8f2fb7ce3c6e8bd18bcce87c33b54ba6c65abf (patch)
tree08791a3ef155a6a26c7969682d034be42172baf5 /src/emu/cpu/minx/minxfunc.h
parentf815d8a9ce1a367b6c01837dbf4ef079be54e417 (diff)
From: Atari Ace [mailto:atari_ace@verizon.net]
Sent: Tuesday, June 16, 2009 7:09 AM To: submit@mamedev.org Cc: atariace@hotmail.com Subject: [patch] Pointerify minx cpu Hi mamedev, I noticed that the minx CPU was never pointerified. It's only used by MESS, which might be why it wasn't noticed. ~aa
Diffstat (limited to 'src/emu/cpu/minx/minxfunc.h')
-rw-r--r--src/emu/cpu/minx/minxfunc.h200
1 files changed, 100 insertions, 100 deletions
diff --git a/src/emu/cpu/minx/minxfunc.h b/src/emu/cpu/minx/minxfunc.h
index 1bce11a73aa..1716418def1 100644
--- a/src/emu/cpu/minx/minxfunc.h
+++ b/src/emu/cpu/minx/minxfunc.h
@@ -1,7 +1,7 @@
-INLINE UINT8 ADD8( UINT8 arg1, UINT8 arg2 )
+INLINE UINT8 ADD8( minx_state *minx, UINT8 arg1, UINT8 arg2 )
{
UINT32 res = arg1 + arg2;
- regs.F = ( regs.F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
+ minx->F = ( minx->F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
| ( ( res & 0x80 ) ? FLAG_S : 0 )
| ( ( ( arg2 ^ arg1 ^ 0x80 ) & ( arg2 ^ res ) & 0x80 ) ? FLAG_O : 0 )
| ( ( res & 0xFF00 ) ? FLAG_C : 0 )
@@ -11,10 +11,10 @@ INLINE UINT8 ADD8( UINT8 arg1, UINT8 arg2 )
}
-INLINE UINT16 ADD16( UINT16 arg1, UINT16 arg2 )
+INLINE UINT16 ADD16( minx_state *minx, UINT16 arg1, UINT16 arg2 )
{
UINT32 res = arg1 + arg2;
- regs.F = ( regs.F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
+ minx->F = ( minx->F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
| ( ( res & 0x8000 ) ? FLAG_S : 0 )
| ( ( ( arg2 ^ arg1 ^ 0x8000 ) & ( arg2 ^ res ) & 0x8000 ) ? FLAG_O : 0 )
| ( ( res & 0xFF0000 ) ? FLAG_C : 0 )
@@ -24,10 +24,10 @@ INLINE UINT16 ADD16( UINT16 arg1, UINT16 arg2 )
}
-INLINE UINT8 ADDC8( UINT8 arg1, UINT8 arg2 )
+INLINE UINT8 ADDC8( minx_state *minx, UINT8 arg1, UINT8 arg2 )
{
- UINT32 res = arg1 + arg2 + ( ( regs.F & FLAG_C ) ? 1 : 0 );
- regs.F = ( regs.F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
+ UINT32 res = arg1 + arg2 + ( ( minx->F & FLAG_C ) ? 1 : 0 );
+ minx->F = ( minx->F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
| ( ( res & 0x80 ) ? FLAG_S : 0 )
| ( ( ( arg2 ^ arg1 ^ 0x80 ) & ( arg2 ^ res ) & 0x80 ) ? FLAG_O : 0 )
| ( ( res & 0xFF00 ) ? FLAG_C : 0 )
@@ -37,10 +37,10 @@ INLINE UINT8 ADDC8( UINT8 arg1, UINT8 arg2 )
}
-INLINE UINT16 ADDC16( UINT16 arg1, UINT16 arg2 )
+INLINE UINT16 ADDC16( minx_state *minx, UINT16 arg1, UINT16 arg2 )
{
- UINT32 res = arg1 + arg2 + ( ( regs.F & FLAG_C ) ? 1 : 0 );
- regs.F = ( regs.F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
+ UINT32 res = arg1 + arg2 + ( ( minx->F & FLAG_C ) ? 1 : 0 );
+ minx->F = ( minx->F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
| ( ( res & 0x8000 ) ? FLAG_S : 0 )
| ( ( ( arg2 ^ arg1 ^ 0x8000 ) & ( arg2 ^ res ) & 0x8000 ) ? FLAG_O : 0 )
| ( ( res & 0xFF0000 ) ? FLAG_C : 0 )
@@ -50,32 +50,32 @@ INLINE UINT16 ADDC16( UINT16 arg1, UINT16 arg2 )
}
-INLINE UINT8 INC8( UINT8 arg )
+INLINE UINT8 INC8( minx_state *minx, UINT8 arg )
{
- UINT8 old_F = regs.F;
- UINT8 res = ADD8( arg, 1 );
- regs.F = ( old_F & ~ ( FLAG_Z ) )
+ UINT8 old_F = minx->F;
+ UINT8 res = ADD8( minx, arg, 1 );
+ minx->F = ( old_F & ~ ( FLAG_Z ) )
| ( ( res ) ? 0 : FLAG_Z )
;
return res;
}
-INLINE UINT16 INC16( UINT16 arg )
+INLINE UINT16 INC16( minx_state *minx, UINT16 arg )
{
- UINT8 old_F = regs.F;
- UINT16 res = ADD16( arg, 1 );
- regs.F = ( old_F & ~ ( FLAG_Z ) )
+ UINT8 old_F = minx->F;
+ UINT16 res = ADD16( minx, arg, 1 );
+ minx->F = ( old_F & ~ ( FLAG_Z ) )
| ( ( res ) ? 0 : FLAG_Z )
;
return res;
}
-INLINE UINT8 SUB8( UINT8 arg1, UINT8 arg2 )
+INLINE UINT8 SUB8( minx_state *minx, UINT8 arg1, UINT8 arg2 )
{
UINT32 res = arg1 - arg2;
- regs.F = ( regs.F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
+ minx->F = ( minx->F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
| ( ( res & 0x80 ) ? FLAG_S : 0 )
| ( ( ( arg2 ^ arg1 ) & ( arg1 ^ res ) & 0x80 ) ? FLAG_O : 0 )
| ( ( res & 0xFF00 ) ? FLAG_C : 0 )
@@ -85,10 +85,10 @@ INLINE UINT8 SUB8( UINT8 arg1, UINT8 arg2 )
}
-INLINE UINT16 SUB16( UINT16 arg1, UINT16 arg2 )
+INLINE UINT16 SUB16( minx_state *minx, UINT16 arg1, UINT16 arg2 )
{
UINT32 res = arg1 - arg2;
- regs.F = ( regs.F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
+ minx->F = ( minx->F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
| ( ( res & 0x8000 ) ? FLAG_S : 0 )
| ( ( ( arg2 ^ arg1 ) & ( arg1 ^ res ) & 0x8000 ) ? FLAG_O : 0 )
| ( ( res & 0xFF0000 ) ? FLAG_C : 0 )
@@ -98,10 +98,10 @@ INLINE UINT16 SUB16( UINT16 arg1, UINT16 arg2 )
}
-INLINE UINT8 SUBC8( UINT8 arg1, UINT8 arg2 )
+INLINE UINT8 SUBC8( minx_state *minx, UINT8 arg1, UINT8 arg2 )
{
- UINT32 res = arg1 - arg2 - ( ( regs.F & FLAG_C ) ? 1 : 0 );
- regs.F = ( regs.F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
+ UINT32 res = arg1 - arg2 - ( ( minx->F & FLAG_C ) ? 1 : 0 );
+ minx->F = ( minx->F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
| ( ( res & 0x80 ) ? FLAG_S : 0 )
| ( ( ( arg2 ^ arg1 ) & ( arg1 ^ res ) & 0x80 ) ? FLAG_O : 0 )
| ( ( res & 0xFF00 ) ? FLAG_C : 0 )
@@ -111,10 +111,10 @@ INLINE UINT8 SUBC8( UINT8 arg1, UINT8 arg2 )
}
-INLINE UINT16 SUBC16( UINT16 arg1, UINT16 arg2 )
+INLINE UINT16 SUBC16( minx_state *minx, UINT16 arg1, UINT16 arg2 )
{
- UINT32 res = arg1 - arg2 - ( ( regs.F & FLAG_C ) ? 1 : 0 );
- regs.F = ( regs.F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
+ UINT32 res = arg1 - arg2 - ( ( minx->F & FLAG_C ) ? 1 : 0 );
+ minx->F = ( minx->F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
| ( ( res & 0x8000 ) ? FLAG_S : 0 )
| ( ( ( arg2 ^ arg1 ) & ( arg1 ^ res ) & 0x8000 ) ? FLAG_O : 0 )
| ( ( res & 0xFF0000 ) ? FLAG_C : 0 )
@@ -124,32 +124,32 @@ INLINE UINT16 SUBC16( UINT16 arg1, UINT16 arg2 )
}
-INLINE UINT8 DEC8( UINT8 arg )
+INLINE UINT8 DEC8( minx_state *minx, UINT8 arg )
{
- UINT8 old_F = regs.F;
- UINT8 res = SUB8( arg, 1 );
- regs.F = ( old_F & ~ ( FLAG_Z ) )
+ UINT8 old_F = minx->F;
+ UINT8 res = SUB8( minx, arg, 1 );
+ minx->F = ( old_F & ~ ( FLAG_Z ) )
| ( ( res ) ? 0 : FLAG_Z )
;
return res;
}
-INLINE UINT16 DEC16( UINT16 arg )
+INLINE UINT16 DEC16( minx_state *minx, UINT16 arg )
{
- UINT8 old_F = regs.F;
- UINT16 res = SUB16( arg, 1 );
- regs.F = ( old_F & ~ ( FLAG_Z ) )
+ UINT8 old_F = minx->F;
+ UINT16 res = SUB16( minx, arg, 1 );
+ minx->F = ( old_F & ~ ( FLAG_Z ) )
| ( ( res ) ? 0 : FLAG_Z )
;
return res;
}
-INLINE UINT8 AND8( UINT8 arg1, UINT8 arg2 )
+INLINE UINT8 AND8( minx_state *minx, UINT8 arg1, UINT8 arg2 )
{
UINT8 res = arg1 & arg2;
- regs.F = ( regs.F & ~ ( FLAG_S | FLAG_Z ) )
+ minx->F = ( minx->F & ~ ( FLAG_S | FLAG_Z ) )
| ( ( res & 0x80 ) ? FLAG_S : 0 )
| ( ( res ) ? 0 : FLAG_Z )
;
@@ -157,10 +157,10 @@ INLINE UINT8 AND8( UINT8 arg1, UINT8 arg2 )
}
-INLINE UINT8 OR8( UINT8 arg1, UINT8 arg2 )
+INLINE UINT8 OR8( minx_state *minx, UINT8 arg1, UINT8 arg2 )
{
UINT8 res = arg1 | arg2;
- regs.F = ( regs.F & ~ ( FLAG_S | FLAG_Z ) )
+ minx->F = ( minx->F & ~ ( FLAG_S | FLAG_Z ) )
| ( ( res & 0x80 ) ? FLAG_S : 0 )
| ( ( res ) ? 0 : FLAG_Z )
;
@@ -168,10 +168,10 @@ INLINE UINT8 OR8( UINT8 arg1, UINT8 arg2 )
}
-INLINE UINT8 XOR8( UINT8 arg1, UINT8 arg2 )
+INLINE UINT8 XOR8( minx_state *minx, UINT8 arg1, UINT8 arg2 )
{
UINT8 res = arg1 ^ arg2;
- regs.F = ( regs.F & ~ ( FLAG_S | FLAG_Z ) )
+ minx->F = ( minx->F & ~ ( FLAG_S | FLAG_Z ) )
| ( ( res & 0x80 ) ? FLAG_S : 0 )
| ( ( res ) ? 0 : FLAG_Z )
;
@@ -179,10 +179,10 @@ INLINE UINT8 XOR8( UINT8 arg1, UINT8 arg2 )
}
-INLINE UINT8 NOT8( UINT8 arg )
+INLINE UINT8 NOT8( minx_state *minx, UINT8 arg )
{
UINT8 res = ~arg;
- regs.F = ( regs.F & ~ ( FLAG_S | FLAG_Z ) )
+ minx->F = ( minx->F & ~ ( FLAG_S | FLAG_Z ) )
| ( ( res & 0x80 ) ? FLAG_S : 0 )
| ( ( res ) ? 0 : FLAG_Z )
;
@@ -190,10 +190,10 @@ INLINE UINT8 NOT8( UINT8 arg )
}
-INLINE UINT8 NEG8( UINT8 arg )
+INLINE UINT8 NEG8( minx_state *minx, UINT8 arg )
{
UINT8 res = -arg;
- regs.F = ( regs.F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
+ minx->F = ( minx->F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
| ( ( res & 0x80 ) ? FLAG_S : 0 )
| ( ( res ) ? 0 : FLAG_Z )
;
@@ -201,10 +201,10 @@ INLINE UINT8 NEG8( UINT8 arg )
}
-INLINE UINT8 SAL8( UINT8 arg )
+INLINE UINT8 SAL8( minx_state *minx, UINT8 arg )
{
UINT16 res = arg << 1;
- regs.F = ( regs.F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
+ minx->F = ( minx->F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
| ( ( res & 0x80 ) ? FLAG_S : 0 )
| ( ( arg != 0 && res == 0 ) ? FLAG_O : 0 )
| ( ( arg & 0x80 ) ? FLAG_C : 0 )
@@ -214,10 +214,10 @@ INLINE UINT8 SAL8( UINT8 arg )
}
-INLINE UINT8 SAR8( UINT8 arg )
+INLINE UINT8 SAR8( minx_state *minx, UINT8 arg )
{
UINT16 res = ( arg >> 1 ) | ( arg & 0x80 );
- regs.F = ( regs.F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
+ minx->F = ( minx->F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
| ( ( res & 0x80 ) ? FLAG_S : 0 )
| ( ( arg != 0x80 && res == 0x80 ) ? FLAG_O : 0 )
| ( ( arg & 0x01 ) ? FLAG_C : 0 )
@@ -227,10 +227,10 @@ INLINE UINT8 SAR8( UINT8 arg )
}
-INLINE UINT8 SHL8( UINT8 arg )
+INLINE UINT8 SHL8( minx_state *minx, UINT8 arg )
{
UINT16 res = arg << 1;
- regs.F = ( regs.F & ~ ( FLAG_S | FLAG_C | FLAG_Z ) )
+ minx->F = ( minx->F & ~ ( FLAG_S | FLAG_C | FLAG_Z ) )
| ( ( res & 0x80 ) ? FLAG_S : 0 )
| ( ( arg & 0x80 ) ? FLAG_C : 0 )
| ( ( res ) ? 0 : FLAG_Z )
@@ -239,10 +239,10 @@ INLINE UINT8 SHL8( UINT8 arg )
}
-INLINE UINT8 SHR8( UINT8 arg )
+INLINE UINT8 SHR8( minx_state *minx, UINT8 arg )
{
UINT16 res = arg >> 1;
- regs.F = ( regs.F & ~ ( FLAG_S | FLAG_C | FLAG_Z ) )
+ minx->F = ( minx->F & ~ ( FLAG_S | FLAG_C | FLAG_Z ) )
| ( ( res & 0x80 ) ? FLAG_S : 0 )
| ( ( arg & 0x01 ) ? FLAG_C : 0 )
| ( ( res ) ? 0 : FLAG_Z )
@@ -251,10 +251,10 @@ INLINE UINT8 SHR8( UINT8 arg )
}
-INLINE UINT8 ROLC8( UINT8 arg )
+INLINE UINT8 ROLC8( minx_state *minx, UINT8 arg )
{
- UINT16 res = ( arg << 1 ) | ( ( regs.F & FLAG_C ) ? 1 : 0 );
- regs.F = ( regs.F & ~ ( FLAG_S | FLAG_C | FLAG_Z ) )
+ UINT16 res = ( arg << 1 ) | ( ( minx->F & FLAG_C ) ? 1 : 0 );
+ minx->F = ( minx->F & ~ ( FLAG_S | FLAG_C | FLAG_Z ) )
| ( ( res & 0x80 ) ? FLAG_S : 0 )
| ( ( arg & 0x80 ) ? FLAG_C : 0 )
| ( ( res ) ? 0 : FLAG_Z )
@@ -263,10 +263,10 @@ INLINE UINT8 ROLC8( UINT8 arg )
}
-INLINE UINT8 RORC8( UINT8 arg )
+INLINE UINT8 RORC8( minx_state *minx, UINT8 arg )
{
- UINT16 res = ( arg >> 1 ) | ( ( regs.F & FLAG_C ) ? 0x80 : 0 );
- regs.F = ( regs.F & ~ ( FLAG_S | FLAG_C | FLAG_Z ) )
+ UINT16 res = ( arg >> 1 ) | ( ( minx->F & FLAG_C ) ? 0x80 : 0 );
+ minx->F = ( minx->F & ~ ( FLAG_S | FLAG_C | FLAG_Z ) )
| ( ( res & 0x80 ) ? FLAG_S : 0 )
| ( ( arg & 0x01 ) ? FLAG_C : 0 )
| ( ( res ) ? 0 : FLAG_Z )
@@ -275,10 +275,10 @@ INLINE UINT8 RORC8( UINT8 arg )
}
-INLINE UINT8 ROL8( UINT8 arg )
+INLINE UINT8 ROL8( minx_state *minx, UINT8 arg )
{
UINT16 res = ( arg << 1 ) | ( ( arg & 0x80 ) ? 1 : 0 );
- regs.F = ( regs.F & ~ ( FLAG_S | FLAG_C | FLAG_Z ) )
+ minx->F = ( minx->F & ~ ( FLAG_S | FLAG_C | FLAG_Z ) )
| ( ( res & 0x80 ) ? FLAG_S : 0 )
| ( ( arg & 0x80 ) ? FLAG_C : 0 )
| ( ( res ) ? 0 : FLAG_Z )
@@ -287,10 +287,10 @@ INLINE UINT8 ROL8( UINT8 arg )
}
-INLINE UINT8 ROR8( UINT8 arg )
+INLINE UINT8 ROR8( minx_state *minx, UINT8 arg )
{
UINT16 res = ( arg >> 1 ) | ( ( arg & 0x01 ) ? 0x80 : 0 );
- regs.F = ( regs.F & ~ ( FLAG_S | FLAG_C | FLAG_Z ) )
+ minx->F = ( minx->F & ~ ( FLAG_S | FLAG_C | FLAG_Z ) )
| ( ( res & 0x80 ) ? FLAG_S : 0 )
| ( ( arg & 0x01 ) ? FLAG_C : 0 )
| ( ( res ) ? 0 : FLAG_Z )
@@ -299,64 +299,64 @@ INLINE UINT8 ROR8( UINT8 arg )
}
-INLINE void PUSH8( UINT8 arg )
+INLINE void PUSH8( minx_state *minx, UINT8 arg )
{
- regs.SP = regs.SP - 1;
- WR( regs.SP, arg );
+ minx->SP = minx->SP - 1;
+ WR( minx->SP, arg );
}
-INLINE void PUSH16( UINT16 arg )
+INLINE void PUSH16( minx_state *minx, UINT16 arg )
{
- PUSH8( arg >> 8 );
- PUSH8( arg & 0x00FF );
+ PUSH8( minx, arg >> 8 );
+ PUSH8( minx, arg & 0x00FF );
}
-INLINE UINT8 POP8( void )
+INLINE UINT8 POP8( minx_state *minx )
{
- UINT8 res = RD( regs.SP );
- regs.SP = regs.SP + 1;
+ UINT8 res = RD( minx->SP );
+ minx->SP = minx->SP + 1;
return res;
}
-INLINE UINT16 POP16( void )
+INLINE UINT16 POP16( minx_state *minx )
{
- return POP8() | ( POP8() << 8 );
+ return POP8(minx) | ( POP8(minx) << 8 );
}
-INLINE void JMP( UINT16 arg )
+INLINE void JMP( minx_state *minx, UINT16 arg )
{
- regs.V = regs.U;
- regs.PC = arg;
+ minx->V = minx->U;
+ minx->PC = arg;
}
-INLINE void CALL( UINT16 arg )
+INLINE void CALL( minx_state *minx, UINT16 arg )
{
- PUSH8( regs.V );
- PUSH16( regs.PC );
- JMP( arg );
+ PUSH8( minx, minx->V );
+ PUSH16( minx, minx->PC );
+ JMP( minx, arg );
}
-#define AD1_IHL UINT32 addr1 = ( regs.I << 16 ) | regs.HL
-#define AD1_IN8 UINT32 addr1 = ( regs.I << 16 ) | ( regs.N << 8 ) | rdop()
-#define AD1_I16 UINT32 addr1 = ( regs.I << 16 ) | rdop16()
-#define AD1_XIX UINT32 addr1 = ( regs.XI << 16 ) | regs.X
-#define AD1_YIY UINT32 addr1 = ( regs.YI << 16 ) | regs.Y
-#define AD1_X8 UINT32 addr1 = ( regs.XI << 16 ) | ( regs.X + rdop() )
-#define AD1_Y8 UINT32 addr1 = ( regs.YI << 16 ) | ( regs.Y + rdop() )
-#define AD1_XL UINT32 addr1 = ( regs.XI << 16 ) | ( regs.X + ( regs.HL & 0x00FF ) )
-#define AD1_YL UINT32 addr1 = ( regs.YI << 16 ) | ( regs.Y + ( regs.HL & 0x00FF ) )
-#define AD2_IHL UINT32 addr2 = ( regs.I << 16 ) | regs.HL
-#define AD2_IN8 UINT32 addr2 = ( regs.I << 16 ) | ( regs.N << 8 ) | rdop()
-#define AD2_I16 UINT32 addr2 = ( regs.I << 16 ) | rdop(); addr2 |= ( rdop() << 8 )
-#define AD2_XIX UINT32 addr2 = ( regs.XI << 16 ) | regs.X
-#define AD2_YIY UINT32 addr2 = ( regs.YI << 16 ) | regs.Y
-#define AD2_X8 UINT32 addr2 = ( regs.XI << 16 ) | ( regs.X + rdop() )
-#define AD2_Y8 UINT32 addr2 = ( regs.YI << 16 ) | ( regs.Y + rdop() )
-#define AD2_XL UINT32 addr2 = ( regs.XI << 16 ) | ( regs.X + ( regs.HL & 0x00FF ) )
-#define AD2_YL UINT32 addr2 = ( regs.YI << 16 ) | ( regs.Y + ( regs.HL & 0x00FF ) )
+#define AD1_IHL UINT32 addr1 = ( minx->I << 16 ) | minx->HL
+#define AD1_IN8 UINT32 addr1 = ( minx->I << 16 ) | ( minx->N << 8 ) | rdop(minx)
+#define AD1_I16 UINT32 addr1 = ( minx->I << 16 ) | rdop16(minx)
+#define AD1_XIX UINT32 addr1 = ( minx->XI << 16 ) | minx->X
+#define AD1_YIY UINT32 addr1 = ( minx->YI << 16 ) | minx->Y
+#define AD1_X8 UINT32 addr1 = ( minx->XI << 16 ) | ( minx->X + rdop(minx) )
+#define AD1_Y8 UINT32 addr1 = ( minx->YI << 16 ) | ( minx->Y + rdop(minx) )
+#define AD1_XL UINT32 addr1 = ( minx->XI << 16 ) | ( minx->X + ( minx->HL & 0x00FF ) )
+#define AD1_YL UINT32 addr1 = ( minx->YI << 16 ) | ( minx->Y + ( minx->HL & 0x00FF ) )
+#define AD2_IHL UINT32 addr2 = ( minx->I << 16 ) | minx->HL
+#define AD2_IN8 UINT32 addr2 = ( minx->I << 16 ) | ( minx->N << 8 ) | rdop(minx)
+#define AD2_I16 UINT32 addr2 = ( minx->I << 16 ) | rdop(minx); addr2 |= ( rdop(minx) << 8 )
+#define AD2_XIX UINT32 addr2 = ( minx->XI << 16 ) | minx->X
+#define AD2_YIY UINT32 addr2 = ( minx->YI << 16 ) | minx->Y
+#define AD2_X8 UINT32 addr2 = ( minx->XI << 16 ) | ( minx->X + rdop(minx) )
+#define AD2_Y8 UINT32 addr2 = ( minx->YI << 16 ) | ( minx->Y + rdop(minx) )
+#define AD2_XL UINT32 addr2 = ( minx->XI << 16 ) | ( minx->X + ( minx->HL & 0x00FF ) )
+#define AD2_YL UINT32 addr2 = ( minx->YI << 16 ) | ( minx->Y + ( minx->HL & 0x00FF ) )