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;
|
return;
|
||||||
|
|
||||||
byte val = (byte)value;
|
byte val = (byte)value;
|
||||||
|
if (_activeRegister is 1 or 3 or 5 or 13) val &= 0x0F;
|
||||||
if (((1 << _activeRegister) & ((1 << 1) | (1 << 3) | (1 << 5) | (1 << 13))) != 0)
|
else if (_activeRegister is 6 or 8 or 9 or 10) val &= 0x1F;
|
||||||
val &= 0x0F;
|
|
||||||
|
|
||||||
if (((1 << _activeRegister) & ((1 << 6) | (1 << 8) | (1 << 9) | (1 << 10))) != 0)
|
|
||||||
val &= 0x1F;
|
|
||||||
|
|
||||||
if (_activeRegister != 13 && _registers[_activeRegister] == val)
|
if (_activeRegister != 13 && _registers[_activeRegister] == val)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -653,26 +648,22 @@ namespace BizHawk.Emulation.Cores.Computers.AmstradCPC
|
||||||
|
|
||||||
if ((_eState & ~31) != 0)
|
if ((_eState & ~31) != 0)
|
||||||
{
|
{
|
||||||
var mask = (1 << _registers[AY_E_SHAPE]);
|
var val = _registers[AY_E_SHAPE];
|
||||||
|
if (val is <= 7 or 9 or 15)
|
||||||
if ((mask & ((1 << 0) | (1 << 1) | (1 << 2) |
|
|
||||||
(1 << 3) | (1 << 4) | (1 << 5) | (1 << 6) |
|
|
||||||
(1 << 7) | (1 << 9) | (1 << 15))) != 0)
|
|
||||||
{
|
{
|
||||||
_eState = _eDirection = 0;
|
_eState = _eDirection = 0;
|
||||||
}
|
}
|
||||||
else if ((mask & ((1 << 8) | (1 << 12))) != 0)
|
else if (val is 8 or 12)
|
||||||
{
|
{
|
||||||
_eState &= 31;
|
_eState &= 31;
|
||||||
}
|
}
|
||||||
else if ((mask & ((1 << 10) | (1 << 14))) != 0)
|
else if (val is 10 or 14)
|
||||||
{
|
{
|
||||||
_eDirection = -_eDirection;
|
_eDirection = -_eDirection;
|
||||||
_eState += _eDirection;
|
_eState += _eDirection;
|
||||||
}
|
}
|
||||||
else
|
else /*if (val is 11 or 13)*/
|
||||||
{
|
{
|
||||||
// 11,13
|
|
||||||
_eState = 31;
|
_eState = 31;
|
||||||
_eDirection = 0;
|
_eDirection = 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -222,13 +222,8 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum
|
||||||
return;
|
return;
|
||||||
|
|
||||||
byte val = (byte)value;
|
byte val = (byte)value;
|
||||||
|
if (_activeRegister is 1 or 3 or 5 or 13) val &= 0x0F;
|
||||||
if (((1 << _activeRegister) & ((1 << 1) | (1 << 3) | (1 << 5) | (1 << 13))) != 0)
|
else if (_activeRegister is 6 or 8 or 9 or 10) val &= 0x1F;
|
||||||
val &= 0x0F;
|
|
||||||
|
|
||||||
if (((1 << _activeRegister) & ((1 << 6) | (1 << 8) | (1 << 9) | (1 << 10))) != 0)
|
|
||||||
val &= 0x1F;
|
|
||||||
|
|
||||||
if (_activeRegister != 13 && _registers[_activeRegister] == val)
|
if (_activeRegister != 13 && _registers[_activeRegister] == val)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -643,26 +638,22 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum
|
||||||
|
|
||||||
if ((_eState & ~31) != 0)
|
if ((_eState & ~31) != 0)
|
||||||
{
|
{
|
||||||
var mask = (1 << _registers[AY_E_SHAPE]);
|
var val = _registers[AY_E_SHAPE];
|
||||||
|
if (val is <= 7 or 9 or 15)
|
||||||
if ((mask & ((1 << 0) | (1 << 1) | (1 << 2) |
|
|
||||||
(1 << 3) | (1 << 4) | (1 << 5) | (1 << 6) |
|
|
||||||
(1 << 7) | (1 << 9) | (1 << 15))) != 0)
|
|
||||||
{
|
{
|
||||||
_eState = _eDirection = 0;
|
_eState = _eDirection = 0;
|
||||||
}
|
}
|
||||||
else if ((mask & ((1 << 8) | (1 << 12))) != 0)
|
else if (val is 8 or 12)
|
||||||
{
|
{
|
||||||
_eState &= 31;
|
_eState &= 31;
|
||||||
}
|
}
|
||||||
else if ((mask & ((1 << 10) | (1 << 14))) != 0)
|
else if (val is 10 or 14)
|
||||||
{
|
{
|
||||||
_eDirection = -_eDirection;
|
_eDirection = -_eDirection;
|
||||||
_eState += _eDirection;
|
_eState += _eDirection;
|
||||||
}
|
}
|
||||||
else
|
else /*if (val is 11 or 13)*/
|
||||||
{
|
{
|
||||||
// 11,13
|
|
||||||
_eState = 31;
|
_eState = 31;
|
||||||
_eDirection = 0;
|
_eDirection = 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue