6883sam: Fix 64K mode detection (nw)

This commit is contained in:
AJR 2020-04-23 18:00:27 -04:00
parent fccd5a43cd
commit d959a45a21

View File

@ -147,7 +147,7 @@ void sam6883_device::device_start()
uint8_t sam6883_device::read(offs_t offset)
{
bool mode_64k = (m_sam_state & (SAM_STATE_M1|SAM_STATE_M0)) == (SAM_STATE_M1|SAM_STATE_M0);
bool mode_64k = (m_sam_state & SAM_STATE_M1) == SAM_STATE_M1;
if (offset < (mode_64k && (m_sam_state & SAM_STATE_TY) ? 0xff00 : 0x8000))
{
// RAM reads: 00007FFF or 0000FEFF
@ -187,7 +187,7 @@ void sam6883_device::write(offs_t offset, uint8_t data)
if (offset < 0x8000)
{
// RAM write space: 00007FFF (nominally space 7)
bool mode_64k = (m_sam_state & (SAM_STATE_M1|SAM_STATE_M0)) == (SAM_STATE_M1|SAM_STATE_M0);
bool mode_64k = (m_sam_state & SAM_STATE_M1) == SAM_STATE_M1;
if (mode_64k && (m_sam_state & (SAM_STATE_TY|SAM_STATE_P1)) == SAM_STATE_P1)
offset |= 0x8000;
m_ram_space->write_byte(offset, data);