mirror of
https://github.com/digital-jellyfish/Virtu.git
synced 2024-11-27 00:49:39 +00:00
Modified memory interaction with NoSlotClock; pass internal ROM addresses $C3XX or $C8XX-$CFXX.
--HG-- extra : convert_revision : svn%3Affd33b8c-2492-42e0-bdc5-587b920b7d6d/trunk%4051018
This commit is contained in:
parent
f67d464dc5
commit
8d302f35e9
@ -5,4 +5,4 @@
|
||||
<Word>Alloc</Word>
|
||||
</Recognized>
|
||||
</Words>
|
||||
</Dictionary>
|
||||
</Dictionary>
|
||||
|
@ -21,4 +21,4 @@
|
||||
<Word>UpRight</Word>
|
||||
</Unrecognized>
|
||||
</Words>
|
||||
</Dictionary>
|
||||
</Dictionary>
|
||||
|
@ -356,7 +356,7 @@ private int ReadIoRegionC3C3(int address)
|
||||
{
|
||||
SetRomC8CF(true); // $C3XX sets IntC8Rom; inhibits I/O Strobe' [5-28, 7-21]
|
||||
}
|
||||
return _noSlotClock.Read(address, (IsRomC1CFInternal || !IsRomC3C3External) ? _romInternalRegionC1CF[address - 0xC100] : Machine.Slot3.ReadIoRegionC1C7(address));
|
||||
return (IsRomC1CFInternal || !IsRomC3C3External) ? _noSlotClock.Read(address, _romInternalRegionC1CF[address - 0xC100]) : Machine.Slot3.ReadIoRegionC1C7(address);
|
||||
}
|
||||
|
||||
private int ReadIoRegionC8CF(int address)
|
||||
@ -365,7 +365,7 @@ private int ReadIoRegionC8CF(int address)
|
||||
{
|
||||
SetRomC8CF(false); // $CFFF resets IntC8Rom [5-28, 7-21]
|
||||
}
|
||||
return (IsRomC1CFInternal || IsRomC8CFInternal) ? _romInternalRegionC1CF[address - 0xC100] : Machine.Slots[_slotRegionC8CF].ReadIoRegionC8CF(address);
|
||||
return (IsRomC1CFInternal || IsRomC8CFInternal) ? _noSlotClock.Read(address, _romInternalRegionC1CF[address - 0xC100]) : Machine.Slots[_slotRegionC8CF].ReadIoRegionC8CF(address);
|
||||
}
|
||||
|
||||
[SuppressMessage("Microsoft.Usage", "CA2233:OperationsShouldNotOverflow", MessageId = "address-512")]
|
||||
@ -548,11 +548,14 @@ private void WriteIoRegionC3C3(int address, byte data)
|
||||
{
|
||||
SetRomC8CF(true); // $C3XX sets IntC8Rom; inhibits I/O Strobe' [5-28, 7-21]
|
||||
}
|
||||
else if (!IsRomC1CFInternal)
|
||||
if (IsRomC1CFInternal || !IsRomC3C3External)
|
||||
{
|
||||
_noSlotClock.Write(address);
|
||||
}
|
||||
else
|
||||
{
|
||||
Machine.Slot3.WriteIoRegionC1C7(address, data);
|
||||
}
|
||||
_noSlotClock.Write(address);
|
||||
}
|
||||
|
||||
private void WriteIoRegionC8CF(int address, byte data)
|
||||
@ -561,7 +564,11 @@ private void WriteIoRegionC8CF(int address, byte data)
|
||||
{
|
||||
SetRomC8CF(false); // $CFFF resets IntC8Rom [5-28, 7-21]
|
||||
}
|
||||
if (!IsRomC1CFInternal && !IsRomC8CFInternal)
|
||||
if (IsRomC1CFInternal || IsRomC8CFInternal)
|
||||
{
|
||||
_noSlotClock.Write(address);
|
||||
}
|
||||
else
|
||||
{
|
||||
Machine.Slots[_slotRegionC8CF].WriteIoRegionC8CF(address, data);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user