public void PC_CE() { if (bits < 15) { bits++; } else { bits = 0; } int[] bits_to_intArray = externalFunc.convertIntToIntArray(bits, pcBits.Length); Array.Reverse(bits_to_intArray); for (int i = 0; i < bits_to_intArray.Length; i++) { pcBits[i] = bits_to_intArray[i]; if (bits_to_intArray[i] == 1) { pcBitGameObj[i].GetComponent <Renderer>().material.SetColor("_Color", Color.green); } else { pcBitGameObj[i].GetComponent <Renderer>().material.SetColor("_Color", Color.white); } } }
private void InitProgram() { for (int i = 0; i < codes.Count; i++) { string opcode = codes[i].Split(' ')[0]; int[] memloc = externalFunc.convertIntToIntArray((Convert.ToInt32(codes[i].Split(' ')[1])), MEM_SIZE); int[] opcode_memaddr = externalFunc.concatArr(microcodeDict[opcode], memloc); RAM.initRam(i, opcode_memaddr); } }
public void updateDIPBits() { int[] addr_to_int = externalFunc.convertIntToIntArray(memoryAddress, MEM_SIZE); Array.Reverse(addr_to_int); // MSB first for (int i = addr_to_int.Length - 1; i >= 4; i--) { bits[i] = addr_to_int[i]; if (addr_to_int[i] == 1) { fourDipBits[i - 4].GetComponent <Renderer>().material.SetColor("_Color", Color.yellow); } else { fourDipBits[i - 4].GetComponent <Renderer>().material.SetColor("_Color", Color.white); } } }
// EO = sum for ALU of Reg A and Reg B public void ALU_EO(bool add, bool sub) { int t = arithmeticRegisterContents(0, 1, add, sub); // add true, sub false int[] res = externalFunc.convertIntToIntArray(t, 8); Array.Reverse(res); // reverse to MSB first for (int i = 0; i < 8; i++) { bits[i] = res[i]; if (res[i] == 1) { gameObjBits[i].GetComponent <Renderer>().material.SetColor("_Color", Color.red); } else { gameObjBits[i].GetComponent <Renderer>().material.SetColor("_Color", Color.white); } } busModule.writeToBus(bits, END, OFFSET); }