Virtu core - remove SupressMessage attributes, also change tabs to spaces in files I touched
This commit is contained in:
parent
edbb7508b5
commit
f5daee2623
|
@ -732,7 +732,6 @@ namespace Jellyfish.Virtu
|
|||
CC += cc;
|
||||
}
|
||||
|
||||
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
private void ExecuteIrq(int cc)
|
||||
{
|
||||
Push(RPC >> 8);
|
||||
|
@ -822,7 +821,6 @@ namespace Jellyfish.Virtu
|
|||
CC += cc;
|
||||
}
|
||||
|
||||
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
private void ExecuteNmi(int cc)
|
||||
{
|
||||
Push(RPC >> 8);
|
||||
|
|
|
@ -34,12 +34,18 @@ namespace Jellyfish.Virtu
|
|||
_writeMode = false;
|
||||
}
|
||||
|
||||
[SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
|
||||
public override int ReadIoRegionC0C0(int address)
|
||||
{
|
||||
switch (address & 0xF)
|
||||
{
|
||||
case 0x0: case 0x1: case 0x2: case 0x3: case 0x4: case 0x5: case 0x6: case 0x7:
|
||||
case 0x0:
|
||||
case 0x1:
|
||||
case 0x2:
|
||||
case 0x3:
|
||||
case 0x4:
|
||||
case 0x5:
|
||||
case 0x6:
|
||||
case 0x7:
|
||||
SetPhase(address);
|
||||
break;
|
||||
|
||||
|
@ -122,7 +128,14 @@ namespace Jellyfish.Virtu
|
|||
{
|
||||
switch (address & 0xF)
|
||||
{
|
||||
case 0x0: case 0x1: case 0x2: case 0x3: case 0x4: case 0x5: case 0x6: case 0x7:
|
||||
case 0x0:
|
||||
case 0x1:
|
||||
case 0x2:
|
||||
case 0x3:
|
||||
case 0x4:
|
||||
case 0x5:
|
||||
case 0x6:
|
||||
case 0x7:
|
||||
SetPhase(address);
|
||||
break;
|
||||
|
||||
|
|
|
@ -6,7 +6,6 @@ namespace Jellyfish.Library
|
|||
{
|
||||
public static class StreamExtensions
|
||||
{
|
||||
[SuppressMessage("Microsoft.Design", "CA1045:DoNotPassTypesByReference", MessageId = "3#")]
|
||||
public static int ReadBlock(this Stream stream, byte[] buffer, int offset, ref int count)
|
||||
{
|
||||
int read = ReadBlock(stream, buffer, offset, count, count);
|
||||
|
@ -14,7 +13,6 @@ namespace Jellyfish.Library
|
|||
return read;
|
||||
}
|
||||
|
||||
[SuppressMessage("Microsoft.Design", "CA1026:DefaultParametersShouldNotBeUsed")]
|
||||
public static int ReadBlock(this Stream stream, byte[] buffer, int offset = 0, int count = int.MaxValue, int minCount = int.MaxValue)
|
||||
{
|
||||
if (stream == null)
|
||||
|
@ -45,7 +43,6 @@ namespace Jellyfish.Library
|
|||
return total;
|
||||
}
|
||||
|
||||
[SuppressMessage("Microsoft.Design", "CA1026:DefaultParametersShouldNotBeUsed")]
|
||||
public static int ReadWord(this Stream stream, bool optional = false)
|
||||
{
|
||||
if (stream == null)
|
||||
|
|
|
@ -25,6 +25,7 @@ namespace Jellyfish.Virtu
|
|||
new Action<int, byte>[RegionCount], new Action<int, byte>[RegionCount]
|
||||
};
|
||||
}
|
||||
|
||||
WriteRamModeBankRegion[Video.Mode0][BankMain][Region0407] = WriteRamMode0MainRegion0407;
|
||||
WriteRamModeBankRegion[Video.Mode0][BankMain][Region080B] = WriteRamMode0MainRegion080B;
|
||||
WriteRamModeBankRegion[Video.Mode1][BankMain][Region0407] = WriteRamMode1MainRegion0407;
|
||||
|
@ -213,6 +214,7 @@ namespace Jellyfish.Virtu
|
|||
#endregion
|
||||
|
||||
#region Read Actions
|
||||
|
||||
private int ReadIoRegionC0CF(int address)
|
||||
{
|
||||
switch (address & 0xFF00)
|
||||
|
@ -220,13 +222,25 @@ namespace Jellyfish.Virtu
|
|||
case 0xC000:
|
||||
return ReadIoRegionC0C0(address);
|
||||
|
||||
case 0xC100: case 0xC200: case 0xC400: case 0xC500: case 0xC600: case 0xC700:
|
||||
case 0xC100:
|
||||
case 0xC200:
|
||||
case 0xC400:
|
||||
case 0xC500:
|
||||
case 0xC600:
|
||||
case 0xC700:
|
||||
return ReadIoRegionC1C7(address);
|
||||
|
||||
case 0xC300:
|
||||
return ReadIoRegionC3C3(address);
|
||||
|
||||
case 0xC800: case 0xC900: case 0xCA00: case 0xCB00: case 0xCC00: case 0xCD00: case 0xCE00: case 0xCF00:
|
||||
case 0xC800:
|
||||
case 0xC900:
|
||||
case 0xCA00:
|
||||
case 0xCB00:
|
||||
case 0xCC00:
|
||||
case 0xCD00:
|
||||
case 0xCE00:
|
||||
case 0xCF00:
|
||||
return ReadIoRegionC8CF(address);
|
||||
}
|
||||
|
||||
|
@ -238,8 +252,22 @@ namespace Jellyfish.Virtu
|
|||
Machine.Lagged = false;
|
||||
switch (address)
|
||||
{
|
||||
case 0xC000: case 0xC001: case 0xC002: case 0xC003: case 0xC004: case 0xC005: case 0xC006: case 0xC007: // [7-15]
|
||||
case 0xC008: case 0xC009: case 0xC00A: case 0xC00B: case 0xC00C: case 0xC00D: case 0xC00E: case 0xC00F:
|
||||
case 0xC000:
|
||||
case 0xC001:
|
||||
case 0xC002:
|
||||
case 0xC003:
|
||||
case 0xC004:
|
||||
case 0xC005:
|
||||
case 0xC006:
|
||||
case 0xC007: // [7-15]
|
||||
case 0xC008:
|
||||
case 0xC009:
|
||||
case 0xC00A:
|
||||
case 0xC00B:
|
||||
case 0xC00C:
|
||||
case 0xC00D:
|
||||
case 0xC00E:
|
||||
case 0xC00F:
|
||||
return SetBit7(_keyboard.Latch, _keyboard.Strobe);
|
||||
|
||||
case 0xC010:
|
||||
|
@ -291,113 +319,297 @@ namespace Jellyfish.Virtu
|
|||
case 0xC01F:
|
||||
return SetBit7(_keyboard.Latch, Is80Columns);
|
||||
|
||||
case 0xC020: case 0xC021: case 0xC022: case 0xC023: case 0xC024: case 0xC025: case 0xC026: case 0xC027: // [7-8]
|
||||
case 0xC028: case 0xC029: case 0xC02A: case 0xC02B: case 0xC02C: case 0xC02D: case 0xC02E: case 0xC02F:
|
||||
case 0xC020:
|
||||
case 0xC021:
|
||||
case 0xC022:
|
||||
case 0xC023:
|
||||
case 0xC024:
|
||||
case 0xC025:
|
||||
case 0xC026:
|
||||
case 0xC027: // [7-8]
|
||||
case 0xC028:
|
||||
case 0xC029:
|
||||
case 0xC02A:
|
||||
case 0xC02B:
|
||||
case 0xC02C:
|
||||
case 0xC02D:
|
||||
case 0xC02E:
|
||||
case 0xC02F:
|
||||
_cassette.ToggleOutput();
|
||||
break;
|
||||
|
||||
case 0xC030: case 0xC031: case 0xC032: case 0xC033: case 0xC034: case 0xC035: case 0xC036: case 0xC037: // [7-9]
|
||||
case 0xC038: case 0xC039: case 0xC03A: case 0xC03B: case 0xC03C: case 0xC03D: case 0xC03E: case 0xC03F:
|
||||
case 0xC030:
|
||||
case 0xC031:
|
||||
case 0xC032:
|
||||
case 0xC033:
|
||||
case 0xC034:
|
||||
case 0xC035:
|
||||
case 0xC036:
|
||||
case 0xC037: // [7-9]
|
||||
case 0xC038:
|
||||
case 0xC039:
|
||||
case 0xC03A:
|
||||
case 0xC03B:
|
||||
case 0xC03C:
|
||||
case 0xC03D:
|
||||
case 0xC03E:
|
||||
case 0xC03F:
|
||||
_speaker.ToggleOutput();
|
||||
break;
|
||||
|
||||
case 0xC040: case 0xC041: case 0xC042: case 0xC043: case 0xC044: case 0xC045: case 0xC046: case 0xC047: // [2-18]
|
||||
case 0xC048: case 0xC049: case 0xC04A: case 0xC04B: case 0xC04C: case 0xC04D: case 0xC04E: case 0xC04F:
|
||||
case 0xC040:
|
||||
case 0xC041:
|
||||
case 0xC042:
|
||||
case 0xC043:
|
||||
case 0xC044:
|
||||
case 0xC045:
|
||||
case 0xC046:
|
||||
case 0xC047: // [2-18]
|
||||
case 0xC048:
|
||||
case 0xC049:
|
||||
case 0xC04A:
|
||||
case 0xC04B:
|
||||
case 0xC04C:
|
||||
case 0xC04D:
|
||||
case 0xC04E:
|
||||
case 0xC04F:
|
||||
break;
|
||||
|
||||
case 0xC050: case 0xC051:
|
||||
case 0xC050:
|
||||
case 0xC051:
|
||||
SetText(TestBit(address, 0));
|
||||
break;
|
||||
|
||||
case 0xC052: case 0xC053:
|
||||
case 0xC052:
|
||||
case 0xC053:
|
||||
SetMixed(TestBit(address, 0));
|
||||
break;
|
||||
|
||||
case 0xC054: case 0xC055:
|
||||
case 0xC054:
|
||||
case 0xC055:
|
||||
SetPage2(TestBit(address, 0));
|
||||
break;
|
||||
|
||||
case 0xC056: case 0xC057:
|
||||
case 0xC056:
|
||||
case 0xC057:
|
||||
SetHires(TestBit(address, 0));
|
||||
break;
|
||||
|
||||
case 0xC058: case 0xC059:
|
||||
case 0xC058:
|
||||
case 0xC059:
|
||||
SetAnnunciator0(TestBit(address, 0));
|
||||
break;
|
||||
|
||||
case 0xC05A: case 0xC05B:
|
||||
case 0xC05A:
|
||||
case 0xC05B:
|
||||
SetAnnunciator1(TestBit(address, 0));
|
||||
break;
|
||||
|
||||
case 0xC05C: case 0xC05D:
|
||||
case 0xC05C:
|
||||
case 0xC05D:
|
||||
SetAnnunciator2(TestBit(address, 0));
|
||||
break;
|
||||
|
||||
case 0xC05E: case 0xC05F:
|
||||
case 0xC05E:
|
||||
case 0xC05F:
|
||||
SetAnnunciator3(TestBit(address, 0));
|
||||
SetDoubleRes(!TestBit(address, 0));
|
||||
break;
|
||||
|
||||
case 0xC060: case 0xC068: // [2-18, 7-5]
|
||||
case 0xC060:
|
||||
case 0xC068: // [2-18, 7-5]
|
||||
return SetBit7(_video.ReadFloatingBus(), _cassette.ReadInput()); // [7-8]
|
||||
|
||||
case 0xC061: case 0xC069:
|
||||
case 0xC061:
|
||||
case 0xC069:
|
||||
return SetBit7(_video.ReadFloatingBus(), _gamePort.ReadButton0());
|
||||
|
||||
case 0xC062: case 0xC06A:
|
||||
case 0xC062:
|
||||
case 0xC06A:
|
||||
return SetBit7(_video.ReadFloatingBus(), _gamePort.ReadButton1());
|
||||
|
||||
case 0xC063: case 0xC06B:
|
||||
case 0xC063:
|
||||
case 0xC06B:
|
||||
return SetBit7(_video.ReadFloatingBus(), _gamePort.ReadButton2());
|
||||
|
||||
case 0xC064: case 0xC06C:
|
||||
case 0xC064:
|
||||
case 0xC06C:
|
||||
return SetBit7(_video.ReadFloatingBus(), _gamePort.Paddle0Strobe);
|
||||
|
||||
case 0xC065: case 0xC06D:
|
||||
case 0xC065:
|
||||
case 0xC06D:
|
||||
return SetBit7(_video.ReadFloatingBus(), _gamePort.Paddle1Strobe);
|
||||
|
||||
case 0xC066: case 0xC06E:
|
||||
case 0xC066:
|
||||
case 0xC06E:
|
||||
return SetBit7(_video.ReadFloatingBus(), _gamePort.Paddle2Strobe);
|
||||
|
||||
case 0xC067: case 0xC06F:
|
||||
case 0xC067:
|
||||
case 0xC06F:
|
||||
return SetBit7(_video.ReadFloatingBus(), _gamePort.Paddle3Strobe);
|
||||
|
||||
case 0xC070: case 0xC071: case 0xC072: case 0xC073: case 0xC074: case 0xC075: case 0xC076: case 0xC077:
|
||||
case 0xC078: case 0xC079: case 0xC07A: case 0xC07B: case 0xC07C: case 0xC07D: case 0xC07E: case 0xC07F:
|
||||
case 0xC070:
|
||||
case 0xC071:
|
||||
case 0xC072:
|
||||
case 0xC073:
|
||||
case 0xC074:
|
||||
case 0xC075:
|
||||
case 0xC076:
|
||||
case 0xC077:
|
||||
case 0xC078:
|
||||
case 0xC079:
|
||||
case 0xC07A:
|
||||
case 0xC07B:
|
||||
case 0xC07C:
|
||||
case 0xC07D:
|
||||
case 0xC07E:
|
||||
case 0xC07F:
|
||||
_gamePort.TriggerTimers();
|
||||
break;
|
||||
|
||||
case 0xC080: case 0xC081: case 0xC082: case 0xC083: case 0xC084: case 0xC085: case 0xC086: case 0xC087: // slot0 [5-23]
|
||||
case 0xC088: case 0xC089: case 0xC08A: case 0xC08B: case 0xC08C: case 0xC08D: case 0xC08E: case 0xC08F:
|
||||
case 0xC080:
|
||||
case 0xC081:
|
||||
case 0xC082:
|
||||
case 0xC083:
|
||||
case 0xC084:
|
||||
case 0xC085:
|
||||
case 0xC086:
|
||||
case 0xC087: // slot0 [5-23]
|
||||
case 0xC088:
|
||||
case 0xC089:
|
||||
case 0xC08A:
|
||||
case 0xC08B:
|
||||
case 0xC08C:
|
||||
case 0xC08D:
|
||||
case 0xC08E:
|
||||
case 0xC08F:
|
||||
SetHighRam(address, true);
|
||||
break;
|
||||
|
||||
case 0xC090: case 0xC091: case 0xC092: case 0xC093: case 0xC094: case 0xC095: case 0xC096: case 0xC097: // slot1
|
||||
case 0xC098: case 0xC099: case 0xC09A: case 0xC09B: case 0xC09C: case 0xC09D: case 0xC09E: case 0xC09F:
|
||||
case 0xC090:
|
||||
case 0xC091:
|
||||
case 0xC092:
|
||||
case 0xC093:
|
||||
case 0xC094:
|
||||
case 0xC095:
|
||||
case 0xC096:
|
||||
case 0xC097: // slot1
|
||||
case 0xC098:
|
||||
case 0xC099:
|
||||
case 0xC09A:
|
||||
case 0xC09B:
|
||||
case 0xC09C:
|
||||
case 0xC09D:
|
||||
case 0xC09E:
|
||||
case 0xC09F:
|
||||
return Machine.Slot1.ReadIoRegionC0C0(address);
|
||||
|
||||
case 0xC0A0: case 0xC0A1: case 0xC0A2: case 0xC0A3: case 0xC0A4: case 0xC0A5: case 0xC0A6: case 0xC0A7: // slot2
|
||||
case 0xC0A8: case 0xC0A9: case 0xC0AA: case 0xC0AB: case 0xC0AC: case 0xC0AD: case 0xC0AE: case 0xC0AF:
|
||||
case 0xC0A0:
|
||||
case 0xC0A1:
|
||||
case 0xC0A2:
|
||||
case 0xC0A3:
|
||||
case 0xC0A4:
|
||||
case 0xC0A5:
|
||||
case 0xC0A6:
|
||||
case 0xC0A7: // slot2
|
||||
case 0xC0A8:
|
||||
case 0xC0A9:
|
||||
case 0xC0AA:
|
||||
case 0xC0AB:
|
||||
case 0xC0AC:
|
||||
case 0xC0AD:
|
||||
case 0xC0AE:
|
||||
case 0xC0AF:
|
||||
return Machine.Slot2.ReadIoRegionC0C0(address);
|
||||
|
||||
case 0xC0B0: case 0xC0B1: case 0xC0B2: case 0xC0B3: case 0xC0B4: case 0xC0B5: case 0xC0B6: case 0xC0B7: // slot3
|
||||
case 0xC0B8: case 0xC0B9: case 0xC0BA: case 0xC0BB: case 0xC0BC: case 0xC0BD: case 0xC0BE: case 0xC0BF:
|
||||
case 0xC0B0:
|
||||
case 0xC0B1:
|
||||
case 0xC0B2:
|
||||
case 0xC0B3:
|
||||
case 0xC0B4:
|
||||
case 0xC0B5:
|
||||
case 0xC0B6:
|
||||
case 0xC0B7: // slot3
|
||||
case 0xC0B8:
|
||||
case 0xC0B9:
|
||||
case 0xC0BA:
|
||||
case 0xC0BB:
|
||||
case 0xC0BC:
|
||||
case 0xC0BD:
|
||||
case 0xC0BE:
|
||||
case 0xC0BF:
|
||||
return Machine.Slot3.ReadIoRegionC0C0(address);
|
||||
|
||||
case 0xC0C0: case 0xC0C1: case 0xC0C2: case 0xC0C3: case 0xC0C4: case 0xC0C5: case 0xC0C6: case 0xC0C7: // slot4
|
||||
case 0xC0C8: case 0xC0C9: case 0xC0CA: case 0xC0CB: case 0xC0CC: case 0xC0CD: case 0xC0CE: case 0xC0CF:
|
||||
case 0xC0C0:
|
||||
case 0xC0C1:
|
||||
case 0xC0C2:
|
||||
case 0xC0C3:
|
||||
case 0xC0C4:
|
||||
case 0xC0C5:
|
||||
case 0xC0C6:
|
||||
case 0xC0C7: // slot4
|
||||
case 0xC0C8:
|
||||
case 0xC0C9:
|
||||
case 0xC0CA:
|
||||
case 0xC0CB:
|
||||
case 0xC0CC:
|
||||
case 0xC0CD:
|
||||
case 0xC0CE:
|
||||
case 0xC0CF:
|
||||
return Machine.Slot4.ReadIoRegionC0C0(address);
|
||||
|
||||
case 0xC0D0: case 0xC0D1: case 0xC0D2: case 0xC0D3: case 0xC0D4: case 0xC0D5: case 0xC0D6: case 0xC0D7: // slot5
|
||||
case 0xC0D8: case 0xC0D9: case 0xC0DA: case 0xC0DB: case 0xC0DC: case 0xC0DD: case 0xC0DE: case 0xC0DF:
|
||||
case 0xC0D0:
|
||||
case 0xC0D1:
|
||||
case 0xC0D2:
|
||||
case 0xC0D3:
|
||||
case 0xC0D4:
|
||||
case 0xC0D5:
|
||||
case 0xC0D6:
|
||||
case 0xC0D7: // slot5
|
||||
case 0xC0D8:
|
||||
case 0xC0D9:
|
||||
case 0xC0DA:
|
||||
case 0xC0DB:
|
||||
case 0xC0DC:
|
||||
case 0xC0DD:
|
||||
case 0xC0DE:
|
||||
case 0xC0DF:
|
||||
return Machine.Slot5.ReadIoRegionC0C0(address);
|
||||
|
||||
case 0xC0E0: case 0xC0E1: case 0xC0E2: case 0xC0E3: case 0xC0E4: case 0xC0E5: case 0xC0E6: case 0xC0E7: // slot6
|
||||
case 0xC0E8: case 0xC0E9: case 0xC0EA: case 0xC0EB: case 0xC0EC: case 0xC0ED: case 0xC0EE: case 0xC0EF:
|
||||
case 0xC0E0:
|
||||
case 0xC0E1:
|
||||
case 0xC0E2:
|
||||
case 0xC0E3:
|
||||
case 0xC0E4:
|
||||
case 0xC0E5:
|
||||
case 0xC0E6:
|
||||
case 0xC0E7: // slot6
|
||||
case 0xC0E8:
|
||||
case 0xC0E9:
|
||||
case 0xC0EA:
|
||||
case 0xC0EB:
|
||||
case 0xC0EC:
|
||||
case 0xC0ED:
|
||||
case 0xC0EE:
|
||||
case 0xC0EF:
|
||||
return Machine.Slot6.ReadIoRegionC0C0(address);
|
||||
|
||||
case 0xC0F0: case 0xC0F1: case 0xC0F2: case 0xC0F3: case 0xC0F4: case 0xC0F5: case 0xC0F6: case 0xC0F7: // slot7
|
||||
case 0xC0F8: case 0xC0F9: case 0xC0FA: case 0xC0FB: case 0xC0FC: case 0xC0FD: case 0xC0FE: case 0xC0FF:
|
||||
case 0xC0F0:
|
||||
case 0xC0F1:
|
||||
case 0xC0F2:
|
||||
case 0xC0F3:
|
||||
case 0xC0F4:
|
||||
case 0xC0F5:
|
||||
case 0xC0F6:
|
||||
case 0xC0F7: // slot7
|
||||
case 0xC0F8:
|
||||
case 0xC0F9:
|
||||
case 0xC0FA:
|
||||
case 0xC0FB:
|
||||
case 0xC0FC:
|
||||
case 0xC0FD:
|
||||
case 0xC0FE:
|
||||
case 0xC0FF:
|
||||
return Machine.Slot7.ReadIoRegionC0C0(address);
|
||||
|
||||
default:
|
||||
|
@ -432,162 +644,371 @@ namespace Jellyfish.Virtu
|
|||
return (IsRomC1CFInternal || IsRomC8CFInternal) ? _noSlotClock.Read(address, _romInternalRegionC1CF[address - 0xC100]) : Machine.Slots[_slotRegionC8CF].ReadIoRegionC8CF(address);
|
||||
}
|
||||
|
||||
[SuppressMessage("Microsoft.Usage", "CA2233:OperationsShouldNotOverflow", MessageId = "address-512")]
|
||||
public int ReadRamMainRegion02BF(int address)
|
||||
{
|
||||
return _ramMainRegion02BF[address - 0x0200];
|
||||
}
|
||||
|
||||
[SuppressMessage("Microsoft.Usage", "CA2233:OperationsShouldNotOverflow", MessageId = "address-512")]
|
||||
public int ReadRamAuxRegion02BF(int address)
|
||||
{
|
||||
return _ramAuxRegion02BF[address - 0x0200];
|
||||
}
|
||||
|
||||
[SuppressMessage("Microsoft.Usage", "CA2233:OperationsShouldNotOverflow", MessageId = "address-57344")]
|
||||
public int ReadRomRegionE0FF(int address)
|
||||
{
|
||||
return _romRegionE0FF[address - 0xE000];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Write Actions
|
||||
[SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
|
||||
[SuppressMessage("Microsoft.Maintainability", "CA1505:AvoidUnmaintainableCode")]
|
||||
|
||||
private void WriteIoRegionC0C0(int address, byte data)
|
||||
{
|
||||
switch (address)
|
||||
{
|
||||
case 0xC000: case 0xC001: // [5-22]
|
||||
case 0xC000:
|
||||
case 0xC001: // [5-22]
|
||||
Set80Store(TestBit(address, 0));
|
||||
break;
|
||||
|
||||
case 0xC002: case 0xC003:
|
||||
case 0xC002:
|
||||
case 0xC003:
|
||||
SetRamRead(TestBit(address, 0));
|
||||
break;
|
||||
|
||||
case 0xC004: case 0xC005:
|
||||
case 0xC004:
|
||||
case 0xC005:
|
||||
SetRamWrite(TestBit(address, 0));
|
||||
break;
|
||||
|
||||
case 0xC006: case 0xC007:
|
||||
case 0xC006:
|
||||
case 0xC007:
|
||||
SetRomC1CF(TestBit(address, 0));
|
||||
break;
|
||||
|
||||
case 0xC008: case 0xC009:
|
||||
case 0xC008:
|
||||
case 0xC009:
|
||||
SetZeroPage(TestBit(address, 0));
|
||||
break;
|
||||
|
||||
case 0xC00A: case 0xC00B:
|
||||
case 0xC00A:
|
||||
case 0xC00B:
|
||||
SetRomC3C3(TestBit(address, 0));
|
||||
break;
|
||||
|
||||
case 0xC00C: case 0xC00D: // [7-5]
|
||||
case 0xC00C:
|
||||
case 0xC00D: // [7-5]
|
||||
Set80Columns(TestBit(address, 0));
|
||||
break;
|
||||
|
||||
case 0xC00E: case 0xC00F:
|
||||
case 0xC00E:
|
||||
case 0xC00F:
|
||||
SetCharSet(TestBit(address, 0));
|
||||
break;
|
||||
|
||||
case 0xC010: case 0xC011: case 0xC012: case 0xC013: case 0xC014: case 0xC015: case 0xC016: case 0xC017: // [7-15]
|
||||
case 0xC018: case 0xC019: case 0xC01A: case 0xC01B: case 0xC01C: case 0xC01D: case 0xC01E: case 0xC01F:
|
||||
case 0xC010:
|
||||
case 0xC011:
|
||||
case 0xC012:
|
||||
case 0xC013:
|
||||
case 0xC014:
|
||||
case 0xC015:
|
||||
case 0xC016:
|
||||
case 0xC017: // [7-15]
|
||||
case 0xC018:
|
||||
case 0xC019:
|
||||
case 0xC01A:
|
||||
case 0xC01B:
|
||||
case 0xC01C:
|
||||
case 0xC01D:
|
||||
case 0xC01E:
|
||||
case 0xC01F:
|
||||
_keyboard.ResetStrobe();
|
||||
break;
|
||||
|
||||
case 0xC020: case 0xC021: case 0xC022: case 0xC023: case 0xC024: case 0xC025: case 0xC026: case 0xC027: // [7-8]
|
||||
case 0xC028: case 0xC029: case 0xC02A: case 0xC02B: case 0xC02C: case 0xC02D: case 0xC02E: case 0xC02F:
|
||||
case 0xC020:
|
||||
case 0xC021:
|
||||
case 0xC022:
|
||||
case 0xC023:
|
||||
case 0xC024:
|
||||
case 0xC025:
|
||||
case 0xC026:
|
||||
case 0xC027: // [7-8]
|
||||
case 0xC028:
|
||||
case 0xC029:
|
||||
case 0xC02A:
|
||||
case 0xC02B:
|
||||
case 0xC02C:
|
||||
case 0xC02D:
|
||||
case 0xC02E:
|
||||
case 0xC02F:
|
||||
_cassette.ToggleOutput();
|
||||
break;
|
||||
|
||||
case 0xC030: case 0xC031: case 0xC032: case 0xC033: case 0xC034: case 0xC035: case 0xC036: case 0xC037: // [7-9]
|
||||
case 0xC038: case 0xC039: case 0xC03A: case 0xC03B: case 0xC03C: case 0xC03D: case 0xC03E: case 0xC03F:
|
||||
case 0xC030:
|
||||
case 0xC031:
|
||||
case 0xC032:
|
||||
case 0xC033:
|
||||
case 0xC034:
|
||||
case 0xC035:
|
||||
case 0xC036:
|
||||
case 0xC037: // [7-9]
|
||||
case 0xC038:
|
||||
case 0xC039:
|
||||
case 0xC03A:
|
||||
case 0xC03B:
|
||||
case 0xC03C:
|
||||
case 0xC03D:
|
||||
case 0xC03E:
|
||||
case 0xC03F:
|
||||
_speaker.ToggleOutput();
|
||||
break;
|
||||
|
||||
case 0xC040: case 0xC041: case 0xC042: case 0xC043: case 0xC044: case 0xC045: case 0xC046: case 0xC047: // [2-18]
|
||||
case 0xC048: case 0xC049: case 0xC04A: case 0xC04B: case 0xC04C: case 0xC04D: case 0xC04E: case 0xC04F:
|
||||
case 0xC040:
|
||||
case 0xC041:
|
||||
case 0xC042:
|
||||
case 0xC043:
|
||||
case 0xC044:
|
||||
case 0xC045:
|
||||
case 0xC046:
|
||||
case 0xC047: // [2-18]
|
||||
case 0xC048:
|
||||
case 0xC049:
|
||||
case 0xC04A:
|
||||
case 0xC04B:
|
||||
case 0xC04C:
|
||||
case 0xC04D:
|
||||
case 0xC04E:
|
||||
case 0xC04F:
|
||||
break;
|
||||
|
||||
case 0xC050: case 0xC051:
|
||||
case 0xC050:
|
||||
case 0xC051:
|
||||
SetText(TestBit(address, 0));
|
||||
break;
|
||||
|
||||
case 0xC052: case 0xC053:
|
||||
case 0xC052:
|
||||
case 0xC053:
|
||||
SetMixed(TestBit(address, 0));
|
||||
break;
|
||||
|
||||
case 0xC054: case 0xC055:
|
||||
case 0xC054:
|
||||
case 0xC055:
|
||||
SetPage2(TestBit(address, 0));
|
||||
break;
|
||||
|
||||
case 0xC056: case 0xC057:
|
||||
case 0xC056:
|
||||
case 0xC057:
|
||||
SetHires(TestBit(address, 0));
|
||||
break;
|
||||
|
||||
case 0xC058: case 0xC059:
|
||||
case 0xC058:
|
||||
case 0xC059:
|
||||
SetAnnunciator0(TestBit(address, 0));
|
||||
break;
|
||||
|
||||
case 0xC05A: case 0xC05B:
|
||||
case 0xC05A:
|
||||
case 0xC05B:
|
||||
SetAnnunciator1(TestBit(address, 0));
|
||||
break;
|
||||
|
||||
case 0xC05C: case 0xC05D:
|
||||
case 0xC05C:
|
||||
case 0xC05D:
|
||||
SetAnnunciator2(TestBit(address, 0));
|
||||
break;
|
||||
|
||||
case 0xC05E: case 0xC05F:
|
||||
case 0xC05E:
|
||||
case 0xC05F:
|
||||
SetAnnunciator3(TestBit(address, 0));
|
||||
SetDoubleRes(!TestBit(address, 0));
|
||||
break;
|
||||
|
||||
case 0xC060: case 0xC061: case 0xC062: case 0xC063: case 0xC064: case 0xC065: case 0xC066: case 0xC067: // [2-18, 7-5]
|
||||
case 0xC068: case 0xC069: case 0xC06A: case 0xC06B: case 0xC06C: case 0xC06D: case 0xC06E: case 0xC06F:
|
||||
case 0xC060:
|
||||
case 0xC061:
|
||||
case 0xC062:
|
||||
case 0xC063:
|
||||
case 0xC064:
|
||||
case 0xC065:
|
||||
case 0xC066:
|
||||
case 0xC067: // [2-18, 7-5]
|
||||
case 0xC068:
|
||||
case 0xC069:
|
||||
case 0xC06A:
|
||||
case 0xC06B:
|
||||
case 0xC06C:
|
||||
case 0xC06D:
|
||||
case 0xC06E:
|
||||
case 0xC06F:
|
||||
break;
|
||||
|
||||
case 0xC070: case 0xC071: case 0xC072: case 0xC073: case 0xC074: case 0xC075: case 0xC076: case 0xC077:
|
||||
case 0xC078: case 0xC079: case 0xC07A: case 0xC07B: case 0xC07C: case 0xC07D: case 0xC07E: case 0xC07F:
|
||||
case 0xC070:
|
||||
case 0xC071:
|
||||
case 0xC072:
|
||||
case 0xC073:
|
||||
case 0xC074:
|
||||
case 0xC075:
|
||||
case 0xC076:
|
||||
case 0xC077:
|
||||
case 0xC078:
|
||||
case 0xC079:
|
||||
case 0xC07A:
|
||||
case 0xC07B:
|
||||
case 0xC07C:
|
||||
case 0xC07D:
|
||||
case 0xC07E:
|
||||
case 0xC07F:
|
||||
_gamePort.TriggerTimers();
|
||||
break;
|
||||
|
||||
case 0xC080: case 0xC081: case 0xC082: case 0xC083: case 0xC084: case 0xC085: case 0xC086: case 0xC087: // slot0 [5-23]
|
||||
case 0xC088: case 0xC089: case 0xC08A: case 0xC08B: case 0xC08C: case 0xC08D: case 0xC08E: case 0xC08F:
|
||||
case 0xC080:
|
||||
case 0xC081:
|
||||
case 0xC082:
|
||||
case 0xC083:
|
||||
case 0xC084:
|
||||
case 0xC085:
|
||||
case 0xC086:
|
||||
case 0xC087: // slot0 [5-23]
|
||||
case 0xC088:
|
||||
case 0xC089:
|
||||
case 0xC08A:
|
||||
case 0xC08B:
|
||||
case 0xC08C:
|
||||
case 0xC08D:
|
||||
case 0xC08E:
|
||||
case 0xC08F:
|
||||
SetHighRam(address, false);
|
||||
break;
|
||||
|
||||
case 0xC090: case 0xC091: case 0xC092: case 0xC093: case 0xC094: case 0xC095: case 0xC096: case 0xC097: // slot1
|
||||
case 0xC098: case 0xC099: case 0xC09A: case 0xC09B: case 0xC09C: case 0xC09D: case 0xC09E: case 0xC09F:
|
||||
case 0xC090:
|
||||
case 0xC091:
|
||||
case 0xC092:
|
||||
case 0xC093:
|
||||
case 0xC094:
|
||||
case 0xC095:
|
||||
case 0xC096:
|
||||
case 0xC097: // slot1
|
||||
case 0xC098:
|
||||
case 0xC099:
|
||||
case 0xC09A:
|
||||
case 0xC09B:
|
||||
case 0xC09C:
|
||||
case 0xC09D:
|
||||
case 0xC09E:
|
||||
case 0xC09F:
|
||||
Machine.Slot1.WriteIoRegionC0C0(address, data);
|
||||
break;
|
||||
|
||||
case 0xC0A0: case 0xC0A1: case 0xC0A2: case 0xC0A3: case 0xC0A4: case 0xC0A5: case 0xC0A6: case 0xC0A7: // slot2
|
||||
case 0xC0A8: case 0xC0A9: case 0xC0AA: case 0xC0AB: case 0xC0AC: case 0xC0AD: case 0xC0AE: case 0xC0AF:
|
||||
case 0xC0A0:
|
||||
case 0xC0A1:
|
||||
case 0xC0A2:
|
||||
case 0xC0A3:
|
||||
case 0xC0A4:
|
||||
case 0xC0A5:
|
||||
case 0xC0A6:
|
||||
case 0xC0A7: // slot2
|
||||
case 0xC0A8:
|
||||
case 0xC0A9:
|
||||
case 0xC0AA:
|
||||
case 0xC0AB:
|
||||
case 0xC0AC:
|
||||
case 0xC0AD:
|
||||
case 0xC0AE:
|
||||
case 0xC0AF:
|
||||
Machine.Slot2.WriteIoRegionC0C0(address, data);
|
||||
break;
|
||||
|
||||
case 0xC0B0: case 0xC0B1: case 0xC0B2: case 0xC0B3: case 0xC0B4: case 0xC0B5: case 0xC0B6: case 0xC0B7: // slot3
|
||||
case 0xC0B8: case 0xC0B9: case 0xC0BA: case 0xC0BB: case 0xC0BC: case 0xC0BD: case 0xC0BE: case 0xC0BF:
|
||||
case 0xC0B0:
|
||||
case 0xC0B1:
|
||||
case 0xC0B2:
|
||||
case 0xC0B3:
|
||||
case 0xC0B4:
|
||||
case 0xC0B5:
|
||||
case 0xC0B6:
|
||||
case 0xC0B7: // slot3
|
||||
case 0xC0B8:
|
||||
case 0xC0B9:
|
||||
case 0xC0BA:
|
||||
case 0xC0BB:
|
||||
case 0xC0BC:
|
||||
case 0xC0BD:
|
||||
case 0xC0BE:
|
||||
case 0xC0BF:
|
||||
Machine.Slot3.WriteIoRegionC0C0(address, data);
|
||||
break;
|
||||
|
||||
case 0xC0C0: case 0xC0C1: case 0xC0C2: case 0xC0C3: case 0xC0C4: case 0xC0C5: case 0xC0C6: case 0xC0C7: // slot4
|
||||
case 0xC0C8: case 0xC0C9: case 0xC0CA: case 0xC0CB: case 0xC0CC: case 0xC0CD: case 0xC0CE: case 0xC0CF:
|
||||
case 0xC0C0:
|
||||
case 0xC0C1:
|
||||
case 0xC0C2:
|
||||
case 0xC0C3:
|
||||
case 0xC0C4:
|
||||
case 0xC0C5:
|
||||
case 0xC0C6:
|
||||
case 0xC0C7: // slot4
|
||||
case 0xC0C8:
|
||||
case 0xC0C9:
|
||||
case 0xC0CA:
|
||||
case 0xC0CB:
|
||||
case 0xC0CC:
|
||||
case 0xC0CD:
|
||||
case 0xC0CE:
|
||||
case 0xC0CF:
|
||||
Machine.Slot4.WriteIoRegionC0C0(address, data);
|
||||
break;
|
||||
|
||||
case 0xC0D0: case 0xC0D1: case 0xC0D2: case 0xC0D3: case 0xC0D4: case 0xC0D5: case 0xC0D6: case 0xC0D7: // slot5
|
||||
case 0xC0D8: case 0xC0D9: case 0xC0DA: case 0xC0DB: case 0xC0DC: case 0xC0DD: case 0xC0DE: case 0xC0DF:
|
||||
case 0xC0D0:
|
||||
case 0xC0D1:
|
||||
case 0xC0D2:
|
||||
case 0xC0D3:
|
||||
case 0xC0D4:
|
||||
case 0xC0D5:
|
||||
case 0xC0D6:
|
||||
case 0xC0D7: // slot5
|
||||
case 0xC0D8:
|
||||
case 0xC0D9:
|
||||
case 0xC0DA:
|
||||
case 0xC0DB:
|
||||
case 0xC0DC:
|
||||
case 0xC0DD:
|
||||
case 0xC0DE:
|
||||
case 0xC0DF:
|
||||
Machine.Slot5.WriteIoRegionC0C0(address, data);
|
||||
break;
|
||||
|
||||
case 0xC0E0: case 0xC0E1: case 0xC0E2: case 0xC0E3: case 0xC0E4: case 0xC0E5: case 0xC0E6: case 0xC0E7: // slot6
|
||||
case 0xC0E8: case 0xC0E9: case 0xC0EA: case 0xC0EB: case 0xC0EC: case 0xC0ED: case 0xC0EE: case 0xC0EF:
|
||||
case 0xC0E0:
|
||||
case 0xC0E1:
|
||||
case 0xC0E2:
|
||||
case 0xC0E3:
|
||||
case 0xC0E4:
|
||||
case 0xC0E5:
|
||||
case 0xC0E6:
|
||||
case 0xC0E7: // slot6
|
||||
case 0xC0E8:
|
||||
case 0xC0E9:
|
||||
case 0xC0EA:
|
||||
case 0xC0EB:
|
||||
case 0xC0EC:
|
||||
case 0xC0ED:
|
||||
case 0xC0EE:
|
||||
case 0xC0EF:
|
||||
Machine.Slot6.WriteIoRegionC0C0(address, data);
|
||||
break;
|
||||
|
||||
case 0xC0F0: case 0xC0F1: case 0xC0F2: case 0xC0F3: case 0xC0F4: case 0xC0F5: case 0xC0F6: case 0xC0F7: // slot7
|
||||
case 0xC0F8: case 0xC0F9: case 0xC0FA: case 0xC0FB: case 0xC0FC: case 0xC0FD: case 0xC0FE: case 0xC0FF:
|
||||
case 0xC0F0:
|
||||
case 0xC0F1:
|
||||
case 0xC0F2:
|
||||
case 0xC0F3:
|
||||
case 0xC0F4:
|
||||
case 0xC0F5:
|
||||
case 0xC0F6:
|
||||
case 0xC0F7: // slot7
|
||||
case 0xC0F8:
|
||||
case 0xC0F9:
|
||||
case 0xC0FA:
|
||||
case 0xC0FB:
|
||||
case 0xC0FC:
|
||||
case 0xC0FD:
|
||||
case 0xC0FE:
|
||||
case 0xC0FF:
|
||||
Machine.Slot7.WriteIoRegionC0C0(address, data);
|
||||
break;
|
||||
|
||||
|
@ -1145,6 +1566,7 @@ namespace Jellyfish.Virtu
|
|||
private void WriteRomRegionD0FF(int address, byte data)
|
||||
{
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Softswitch Actions
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue