public void GetSelectedRomIndexWorksAsExpected() { // --- Arrange var dev = new SpectrumP3MemoryDevice(); dev.OnAttachedToVm(null); // --- Act dev.SelectRom(0); var index1 = dev.GetSelectedRomIndex(); dev.SelectRom(1); var index2 = dev.GetSelectedRomIndex(); dev.SelectRom(2); var index3 = dev.GetSelectedRomIndex(); dev.SelectRom(3); var index4 = dev.GetSelectedRomIndex(); // -- Assert index1.ShouldBe(0); index2.ShouldBe(1); index3.ShouldBe(2); index4.ShouldBe(3); }
public void ResetWorksAsExpected() { // --- Arrange var dev = new SpectrumP3MemoryDevice(); dev.OnAttachedToVm(null); // --- Act dev.Reset(); // -- Assert dev.IsInAllRamMode.ShouldBeFalse(); dev.GetSelectedRomIndex().ShouldBe(0); dev.GetSelectedBankIndex(1).ShouldBe(5); dev.GetSelectedBankIndex(2).ShouldBe(2); dev.GetSelectedBankIndex(3).ShouldBe(0); for (var i = 0; i <= 0x3FFF; i++) { dev.Read((ushort)i).ShouldBe((byte)0x00); } for (var i = 0x4000; i <= 0xFFFF; i++) { dev.Read((ushort)i).ShouldBe((byte)0xFF); } for (var b = 0; b < 8; b++) { dev.PageIn(3, b); for (var i = 0xC000; i <= 0xFFFF; i++) { dev.Read((ushort)i).ShouldBe((byte)0xFF); } } }