diff --git a/src/mame/drivers/igs_m68.c b/src/mame/drivers/igs_m68.c index 84ae79af81f..2c294d22f50 100644 --- a/src/mame/drivers/igs_m68.c +++ b/src/mame/drivers/igs_m68.c @@ -320,26 +320,9 @@ static DRIVER_INIT( mgcs ) { UINT16 x = src[i]; - if( (i & 0x7000/2) == 0x6000/2 || (i & 0x7000/2) == 0x7000/2) - { - if( (i & 0x20/2) ) - { - if( (i & 0x02/2) ) - { - x ^= 0x0001; - } - } - else if( (i & 0x100/2) && !(i & 0x400/2) ) - { - x ^= 0x0100; - } + /* bit 0 xor layer */ - if( (i & 0x100/2) && (i & 0x400/2) ) - { - x ^= 0x0100; - } - } - else if( (i & 0x7000/2) == 0x4000/2 || (i & 0x7000/2) == 0x5000/2 ) + if( i & 0x4000/2 ) { if( i & 0x20/2 ) { @@ -348,40 +331,10 @@ static DRIVER_INIT( mgcs ) x ^= 0x0001; } } - - if( i & 0x100/2 ) - { - if( !(i & 0x20/2) || (i & 0x80/2) || (i & 0x400/2) ) - { - x ^= 0x0100; - } - } - else - { - if( i & 0x80/2 ) - { - x ^= 0x0100; - } - } } - else if( (i & 0x7000/2) == 0x2000/2 || (i & 0x7000/2) == 0x3000/2 ) + else { - if( (i & 0x300/2) == 0x100/2 || (i & 0x300/2) == 0x300/2 ) - { - if( !(i & 0x20/2) || (i & 0x400/2) ) - { - x ^= 0x0100; - } - - if( i & 0x20/2 ) - { - if( i & 0x02/2 ) - { - x ^= 0x0001; - } - } - } - else if( (i & 0x300/2) == 0x200/2 ) + if( i & 0x300/2 ) { if( i & 0x20/2 ) { @@ -406,102 +359,38 @@ static DRIVER_INIT( mgcs ) } } } - else if( (i & 0x7000/2) == 0x0000/2 || (i & 0x7000/2) == 0x1000/2) + + /* bit 8 xor layer */ + + if( i & 0x2000/2 ) { - if( (i & 0x300/2) == 0x100/2 || (i & 0x300/2) == 0x300/2 ) + if( i & 0x100/2 ) { - if( i & 0x80/2 ) + if( !(i & 0x20/2) || (i & 0x400/2) ) { x ^= 0x0100; - - if( i & 0x20/2 ) - { - if( (i & 0x02/2) ) - { - x ^= 0x0001; - } - } - } - else - { - if( i & 0x20/2 ) - { - if( (i & 0x02/2) ) - { - x ^= 0x0001; - } - } - else if( !(i & 0x400/2) ) - { - x ^= 0x0100; - } - - if( i & 0x400/2 ) - { - x ^= 0x0100; - } } } - else if( (i & 0x300/2) == 0x200/2 ) + } + else + { + if( i & 0x80/2 ) { - if( i & 0x80/2 ) - { - x ^= 0x0100; - - if( i & 0x20/2 ) - { - if( (i & 0x02/2) ) - { - x ^= 0x0001; - } - } - } - else - { - if( (i & 0x20/2) ) - { - if( (i & 0x02/2) ) - { - x ^= 0x0001; - } - } - } + x ^= 0x0100; } - else - { - if( i & 0x80/2 ) - { - x ^= 0x0100; - if( i & 0x20/2 ) + if( i & 0x100/2 ) + { + if( !(i & 0x80/2) ) + { + if( !(i & 0x20/2) || (i & 0x400/2) ) { - if( !(i & 0x02/2) ) - { - x ^= 0x0001; - } - } - else - { - x ^= 0x0001; - } - } - else - { - if( i & 0x20/2 ) - { - if( !(i & 0x02/2) ) - { - x ^= 0x0001; - } - } - else - { - x ^= 0x0001; + x ^= 0x0100; } } } } - + src[i] = x; } }