Clean up dumb bitwise comparisons in `AY38912`s (CPCHawk and ZXHawk)
This commit is contained in:
parent
4d8bc3f265
commit
cb266413b5
|
@ -216,13 +216,8 @@ namespace BizHawk.Emulation.Cores.Computers.AmstradCPC
|
|||
return;
|
||||
|
||||
byte val = (byte)value;
|
||||
|
||||
if (((1 << _activeRegister) & ((1 << 1) | (1 << 3) | (1 << 5) | (1 << 13))) != 0)
|
||||
val &= 0x0F;
|
||||
|
||||
if (((1 << _activeRegister) & ((1 << 6) | (1 << 8) | (1 << 9) | (1 << 10))) != 0)
|
||||
val &= 0x1F;
|
||||
|
||||
if (_activeRegister is 1 or 3 or 5 or 13) val &= 0x0F;
|
||||
else if (_activeRegister is 6 or 8 or 9 or 10) val &= 0x1F;
|
||||
if (_activeRegister != 13 && _registers[_activeRegister] == val)
|
||||
return;
|
||||
|
||||
|
@ -653,26 +648,22 @@ namespace BizHawk.Emulation.Cores.Computers.AmstradCPC
|
|||
|
||||
if ((_eState & ~31) != 0)
|
||||
{
|
||||
var mask = (1 << _registers[AY_E_SHAPE]);
|
||||
|
||||
if ((mask & ((1 << 0) | (1 << 1) | (1 << 2) |
|
||||
(1 << 3) | (1 << 4) | (1 << 5) | (1 << 6) |
|
||||
(1 << 7) | (1 << 9) | (1 << 15))) != 0)
|
||||
var val = _registers[AY_E_SHAPE];
|
||||
if (val is <= 7 or 9 or 15)
|
||||
{
|
||||
_eState = _eDirection = 0;
|
||||
}
|
||||
else if ((mask & ((1 << 8) | (1 << 12))) != 0)
|
||||
else if (val is 8 or 12)
|
||||
{
|
||||
_eState &= 31;
|
||||
}
|
||||
else if ((mask & ((1 << 10) | (1 << 14))) != 0)
|
||||
else if (val is 10 or 14)
|
||||
{
|
||||
_eDirection = -_eDirection;
|
||||
_eState += _eDirection;
|
||||
}
|
||||
else
|
||||
else /*if (val is 11 or 13)*/
|
||||
{
|
||||
// 11,13
|
||||
_eState = 31;
|
||||
_eDirection = 0;
|
||||
}
|
||||
|
|
|
@ -222,13 +222,8 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum
|
|||
return;
|
||||
|
||||
byte val = (byte)value;
|
||||
|
||||
if (((1 << _activeRegister) & ((1 << 1) | (1 << 3) | (1 << 5) | (1 << 13))) != 0)
|
||||
val &= 0x0F;
|
||||
|
||||
if (((1 << _activeRegister) & ((1 << 6) | (1 << 8) | (1 << 9) | (1 << 10))) != 0)
|
||||
val &= 0x1F;
|
||||
|
||||
if (_activeRegister is 1 or 3 or 5 or 13) val &= 0x0F;
|
||||
else if (_activeRegister is 6 or 8 or 9 or 10) val &= 0x1F;
|
||||
if (_activeRegister != 13 && _registers[_activeRegister] == val)
|
||||
return;
|
||||
|
||||
|
@ -643,26 +638,22 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum
|
|||
|
||||
if ((_eState & ~31) != 0)
|
||||
{
|
||||
var mask = (1 << _registers[AY_E_SHAPE]);
|
||||
|
||||
if ((mask & ((1 << 0) | (1 << 1) | (1 << 2) |
|
||||
(1 << 3) | (1 << 4) | (1 << 5) | (1 << 6) |
|
||||
(1 << 7) | (1 << 9) | (1 << 15))) != 0)
|
||||
var val = _registers[AY_E_SHAPE];
|
||||
if (val is <= 7 or 9 or 15)
|
||||
{
|
||||
_eState = _eDirection = 0;
|
||||
}
|
||||
else if ((mask & ((1 << 8) | (1 << 12))) != 0)
|
||||
else if (val is 8 or 12)
|
||||
{
|
||||
_eState &= 31;
|
||||
}
|
||||
else if ((mask & ((1 << 10) | (1 << 14))) != 0)
|
||||
else if (val is 10 or 14)
|
||||
{
|
||||
_eDirection = -_eDirection;
|
||||
_eState += _eDirection;
|
||||
}
|
||||
else
|
||||
else /*if (val is 11 or 13)*/
|
||||
{
|
||||
// 11,13
|
||||
_eState = 31;
|
||||
_eDirection = 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue