mirror of
https://github.com/0ldsk00l/nestopia.git
synced 2025-04-02 10:31:51 -04:00
NstBoardBandai24c0x.cpp: Silence -Wswitch warnings
This commit is contained in:
parent
31758de5a5
commit
4c15ff8121
1 changed files with 65 additions and 82 deletions
|
@ -146,101 +146,72 @@ namespace Nes
|
|||
{
|
||||
NST_ASSERT( bit <= 1 );
|
||||
|
||||
switch (mode)
|
||||
if (mode == MODE_ADDRESS)
|
||||
{
|
||||
case MODE_ADDRESS:
|
||||
if (latch.bit < 7)
|
||||
{
|
||||
latch.address &= ~(1U << latch.bit);
|
||||
latch.address |= bit << latch.bit++;
|
||||
}
|
||||
else if (latch.bit < 8)
|
||||
{
|
||||
latch.bit = 8;
|
||||
|
||||
if (latch.bit < 7)
|
||||
if (bit)
|
||||
{
|
||||
latch.address &= ~(1U << latch.bit);
|
||||
latch.address |= bit << latch.bit++;
|
||||
next = MODE_READ;
|
||||
latch.data = mem[latch.address];
|
||||
}
|
||||
else if (latch.bit < 8)
|
||||
else
|
||||
{
|
||||
latch.bit = 8;
|
||||
|
||||
if (bit)
|
||||
{
|
||||
next = MODE_READ;
|
||||
latch.data = mem[latch.address];
|
||||
}
|
||||
else
|
||||
{
|
||||
next = MODE_WRITE;
|
||||
}
|
||||
next = MODE_WRITE;
|
||||
}
|
||||
break;
|
||||
|
||||
case MODE_ACK:
|
||||
|
||||
output = 0x00;
|
||||
break;
|
||||
|
||||
case MODE_READ:
|
||||
|
||||
if (latch.bit < 8)
|
||||
output = (latch.data & 1U << latch.bit++) ? 0x10 : 0x00;
|
||||
|
||||
break;
|
||||
|
||||
case MODE_WRITE:
|
||||
|
||||
if (latch.bit < 8)
|
||||
{
|
||||
latch.data &= ~(1U << latch.bit);
|
||||
latch.data |= bit << latch.bit++;
|
||||
}
|
||||
break;
|
||||
|
||||
case MODE_ACK_WAIT:
|
||||
|
||||
if (bit == 0)
|
||||
next = MODE_IDLE;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (mode == MODE_ACK)
|
||||
{
|
||||
output = 0x00;
|
||||
}
|
||||
else if (mode == MODE_READ && (latch.bit < 8))
|
||||
{
|
||||
output = (latch.data & 1U << latch.bit++) ? 0x10 : 0x00;
|
||||
}
|
||||
else if (mode == MODE_WRITE && (latch.bit < 8))
|
||||
{
|
||||
latch.data &= ~(1U << latch.bit);
|
||||
latch.data |= bit << latch.bit++;
|
||||
}
|
||||
else if (mode == MODE_ACK_WAIT && (bit == 0))
|
||||
{
|
||||
next = MODE_IDLE;
|
||||
}
|
||||
}
|
||||
|
||||
template<>
|
||||
void X24C0X<128>::Fall()
|
||||
{
|
||||
switch (mode)
|
||||
if (mode == MODE_ADDRESS && (latch.bit == 8))
|
||||
{
|
||||
case MODE_ADDRESS:
|
||||
|
||||
if (latch.bit == 8)
|
||||
{
|
||||
mode = MODE_ACK;
|
||||
output = 0x10;
|
||||
}
|
||||
break;
|
||||
|
||||
case MODE_ACK:
|
||||
|
||||
mode = next;
|
||||
latch.bit = 0;
|
||||
output = 0x10;
|
||||
break;
|
||||
|
||||
case MODE_READ:
|
||||
|
||||
if (latch.bit == 8)
|
||||
{
|
||||
mode = MODE_ACK_WAIT;
|
||||
latch.address = (latch.address+1) & 0x7F;
|
||||
}
|
||||
break;
|
||||
|
||||
case MODE_WRITE:
|
||||
|
||||
if (latch.bit == 8)
|
||||
{
|
||||
mode = MODE_ACK;
|
||||
next = MODE_IDLE;
|
||||
mem[latch.address] = latch.data;
|
||||
latch.address = (latch.address+1) & 0x7F;
|
||||
}
|
||||
break;
|
||||
mode = MODE_ACK;
|
||||
output = 0x10;
|
||||
}
|
||||
else if (mode == MODE_ACK)
|
||||
{
|
||||
mode = next;
|
||||
latch.bit = 0;
|
||||
output = 0x10;
|
||||
}
|
||||
else if (mode == MODE_READ && (latch.bit == 8))
|
||||
{
|
||||
mode = MODE_ACK_WAIT;
|
||||
latch.address = (latch.address+1) & 0x7F;
|
||||
}
|
||||
else if (mode == MODE_WRITE && (latch.bit == 8))
|
||||
{
|
||||
mode = MODE_ACK;
|
||||
next = MODE_IDLE;
|
||||
mem[latch.address] = latch.data;
|
||||
latch.address = (latch.address+1) & 0x7F;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -303,6 +274,12 @@ namespace Nes
|
|||
latch.data = mem[latch.address];
|
||||
}
|
||||
break;
|
||||
|
||||
case MODE_IDLE:
|
||||
case MODE_MAX:
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -387,6 +364,12 @@ namespace Nes
|
|||
latch.bit = 0;
|
||||
output = 0x10;
|
||||
break;
|
||||
|
||||
case MODE_IDLE:
|
||||
case MODE_MAX:
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue