public void Setup() { var testData = new[] { "mask = 000000000000000000000000000000X1001X", "mem[42] = 100", "mask = 00000000000000000000000000000000X0XX", "mem[26] = 1" }; var mockPuzzleInput = new Mock <IPuzzleInput>(); mockPuzzleInput.Setup(p => p.GetPuzzleInputAsArray(It.IsAny <string>())).Returns(testData); var sequence = new MockSequence(); _mockBitMasker = new Mock <IBitMasker>(MockBehavior.Strict); _mockBitMasker.InSequence(sequence).Setup(b => b.ApplyMultiple(It.IsAny <string>(), 42)) .Returns(new long[] { 26, 27, 58, 59 }); _mockBitMasker.InSequence(sequence).Setup(b => b.ApplyMultiple(It.IsAny <string>(), 26)) .Returns(new long[] { 16, 17, 18, 19, 24, 25, 26, 27 }); _memory = new Memory2(mockPuzzleInput.Object, _mockBitMasker.Object); _memory.Initialise(); }
void Awake() { rnd = new System.Random(GetInstanceID()); Qnetwork = new MLP(state_size, hiddenSizes); QtargetNetwork = new MLP(state_size, hiddenSizes); Qnetwork.copyTo(QtargetNetwork); memory = new Memory2(MEM_LIMIT, rnd, state_size); test_mode = false; }
public void Setup() { var testData = new[] { "mask = 000000000000000000000000000000X1001X", "mem[42] = 100", "mask = 00000000000000000000000000000000X0XX", "mem[26] = 1" }; var mockPuzzleInput = new Mock <IPuzzleInput>(); mockPuzzleInput.Setup(p => p.GetPuzzleInputAsArray(It.IsAny <string>())).Returns(testData); _memory = new Memory2(mockPuzzleInput.Object, new BitMasker()); _memory.Initialise(); }
public void BuildMemory() { memory = new Memory2(map.Length); }
private void frmRegisters_Load(object sender, EventArgs e) { registers.Append <uint16_t>(Register.PC); // Program counter registers.Append <uint16_t>(Register.MAR); // Memory address register registers.Append <uint16_t>(Register.MLR); // Memory length register registers.Append <uint64_t>(Register.MDR); // Memory data register (64-bits) registers.Subdivide(Register.MDR, Register.MDR32); // 32-bit MDR register registers.Subdivide(Register.MDR32, Register.MDR16); // 16-bit MDR register registers.Subdivide(Register.MDR16, Register.MDR8); // 8-bit MDR register registers.Append <Opcode>(Register.CIR); // Current instruction register registers.Append <uint16_t>(Register.IDT); // Interrupt Descriptor Table address registers.Append <uint64_t>(Register.FLAGS); // Flags register registers.Append <uint32_t>(Register.SVM); registers.Append <uint32_t>(Register.EAX); registers.Subdivide(Register.EAX, Register.AX); registers.Subdivide(Register.AX, Register.AL, Register.AH); registers.Append <uint32_t>(Register.EBX); registers.Subdivide(Register.EBX, Register.BX); registers.Subdivide(Register.BX, Register.BL, Register.BH); registers.Append <uint32_t>(Register.ECX); registers.Subdivide(Register.ECX, Register.CX); registers.Subdivide(Register.CX, Register.CL, Register.CH); registers.Append <uint32_t>(Register.EDX); registers.Subdivide(Register.EDX, Register.DX); registers.Subdivide(Register.DX, Register.DL, Register.DH); registers.Append <uint16_t>(Register.ABP); registers.Append <uint16_t>(Register.AEI); registers.Append <uint16_t>(Register.AEL); registers.Append <uint16_t>(Register.AEP); registers.BuildMemory(); //byte[] bin = Assemble(); byte[] bcmos = System.IO.File.ReadAllBytes("cmos.bin"); byte[] bdisk1 = System.IO.File.ReadAllBytes("disk1.bin"); // Build the VM cmosMemory = new Memory2(bcmos); cmos = new DiskDrive(cmosMemory); disk1Memory = new Memory2(bdisk1); disk1 = new DiskDrive(disk1Memory); sb = new Southbridge(cmos); sb.AddDevice(disk1); keyboard = new Keyboard(); sb.AddDevice(keyboard); cpu = new CPU2(); graphics = new MonochromeDisplayAdapter(); nb = new Northbridge(cpu, sb, new Memory2(64 * 1024), graphics); clock = new ThreadedClock(nb); nb.Clock = clock; vm = new VirtualMachine(cpu, clock, nb, sb); byte[] state = vm.GetRegisters(); registers.LoadState(state); //graphics.Write(0, Encoding.ASCII.GetBytes("Hello World!")); UpdateList(); }