public void CanMoveCursorViaMemoryMappedDisplayYPositionWithRemoteDisplayConnection() { var address = (ushort)(MemoryMappedDisplay.DISPLAY_CONTROL_BLOCK_ADDR + DisplayControlBlock.CURSOR_Y_ADDR); mem.Write(address, 20); Assert.Pass(); }
public Loader Write(ushort address, byte value, string label = null) { AddLabel(label, address); _addressMap.Write(address, value); Cursor = (ushort)(address + 1); return(this); }
public void CanTriggerMemoryChangedBreakpoint() { string description = string.Empty; ushort address = 0x0000; byte value = 0x00; MemoryDebugger.AddBreakpoint(new MemoryChangedBreakpoint(0x1234, 1)); MemoryDebugger.BreakpointTriggered += (s, e) => { description = e.Breakpoint.Describe(null); address = e.Address; value = e.Value; }; mem.Write(0x1234, 0x5a); Assert.AreEqual("01 MEM_CHANGE $1234", description); Assert.AreEqual(0x1234, address); Assert.AreEqual(0x5a, value); }
private bool AssignMemoryByte(string expression, ushort value) { ushort address; if (TryParseAddress(expression, out address)) { _addressMap.Write(address, (byte)value); return(true); } return(false); }
public void CanWriteToRamButNoRom() { var end = (ushort)(RAM_BANK_2_START + RAM_BANK_2_SIZE - 1); for (var ix = RAM_BANK_1_START; ix <= end; ix++) { mem.Write(ix, 0x55); } Assert.IsTrue(IsMemoryFilledWith(mem, RAM_BANK_1_START, RAM_BANK_1_SIZE, 0x55)); Assert.IsTrue(IsMemoryFilledWith(mem, ROM_START, ROM_SIZE, 0xFF)); Assert.IsTrue(IsMemoryFilledWith(mem, RAM_BANK_2_START, RAM_BANK_2_SIZE, 0x55)); }
public void CanRenderViaMemoryMappedDisplay() { ushort address = 0x0000; byte value = 0x00; var connection = (MockRemoteDisplayConnection)_serviceProvider.GetService <IRemoteDisplayConnection>(); connection.OnRender += (s, e) => { address = e.Address; value = e.Value; }; mem.Write(DISPLAY_BASE_ADDR + 1, 0x55); Assert.AreEqual(0x0001, address); Assert.AreEqual(0x55, value); }
private void LoadInternal(string name, IAddressMap mem, int overrideStartAddress = -1) { var combined = CrossPlatformPathExtensions.Combine(WorkingDirectory, name); var filename = Path.GetFullPath(combined); using (var file = File.OpenRead(filename)) { var address = file.ReadByte() + (256 * file.ReadByte()); var length = file.ReadByte() + (256 * file.ReadByte()); if (overrideStartAddress >= 0) { address = overrideStartAddress; } var byteCount = 0; while (byteCount < length) { mem.Write((ushort)(address + byteCount), (byte)file.ReadByte()); byteCount++; } } }