datablock fxDtsBrickData(LogicGate_Rom64x4x64_Data){ brickFile = $LuaLogic::Path @ "bricks/gen/newbricks/ROM 64x4x64.blb"; iconName = $LuaLogic::Path @ "bricks/gen/newicons/ROM 64x4x64"; category = "Logic Bricks"; subCategory = "ROM"; uiName = "ROM 64x4x64"; logicUIName = "ROM 64x4x64"; logicUIDesc = ""; hasPrint = 1; printAspectRatio = "Logic"; logicBrickSize = "64 4 1"; orientationFix = 3; isLogic = true; isLogicGate = true; isLogicInput = false; logicInit = "return function(gate) " @ " gate.romdata = {} " @ " for i = 0, 16383 do " @ " gate.romdata[i] = 0 " @ " end " @ "end" ; logicInput = "return function(gate, args) " @ " local data = args[1] " @ " for i = 1, #data do " @ " local c = data:sub(i, i) " @ " gate.romdata[i-1] = (c==\"1\") and 1 or 0 " @ " end " @ " Gate.queue(gate, 0) " @ "end" ; logicUpdate = "return function(gate) " @ " if Gate.getportstate(gate, 73)~=0 then " @ " local addr = ( " @ " (Gate.getportstate(gate, 1)) " @ " + (Gate.getportstate(gate, 2) * 2) " @ " + (Gate.getportstate(gate, 3) * 4) " @ " + (Gate.getportstate(gate, 4) * 8) " @ " + (Gate.getportstate(gate, 5) * 16) " @ " + (Gate.getportstate(gate, 6) * 32) " @ " + (Gate.getportstate(gate, 7) * 64) " @ " + (Gate.getportstate(gate, 8) * 128) " @ " ) " @ " for i = 0, 63 do " @ " Gate.setportstate(gate, 9+i, gate.romdata[addr+256*i]) " @ " end " @ " else " @ " for i = 9, 72 do " @ " Gate.setportstate(gate, i, 0) " @ " end " @ " end " @ "end" ; logicGlobal = ""; numLogicPorts = 73; isLogicRom = true; logicRomY = 4; logicRomZ = 64; logicRomX = 64; logicPortType[0] = 1; logicPortPos[0] = "63 -3 0"; logicPortDir[0] = 3; logicPortUIName[0] = "A0"; logicPortType[1] = 1; logicPortPos[1] = "61 -3 0"; logicPortDir[1] = 3; logicPortUIName[1] = "A1"; logicPortType[2] = 1; logicPortPos[2] = "59 -3 0"; logicPortDir[2] = 3; logicPortUIName[2] = "A2"; logicPortType[3] = 1; logicPortPos[3] = "57 -3 0"; logicPortDir[3] = 3; logicPortUIName[3] = "A3"; logicPortType[4] = 1; logicPortPos[4] = "55 -3 0"; logicPortDir[4] = 3; logicPortUIName[4] = "A4"; logicPortType[5] = 1; logicPortPos[5] = "53 -3 0"; logicPortDir[5] = 3; logicPortUIName[5] = "A5"; logicPortType[6] = 1; logicPortPos[6] = "51 -3 0"; logicPortDir[6] = 3; logicPortUIName[6] = "A6"; logicPortType[7] = 1; logicPortPos[7] = "49 -3 0"; logicPortDir[7] = 3; logicPortUIName[7] = "A7"; logicPortType[8] = 0; logicPortPos[8] = "63 3 0"; logicPortDir[8] = 1; logicPortUIName[8] = "O0"; logicPortType[9] = 0; logicPortPos[9] = "61 3 0"; logicPortDir[9] = 1; logicPortUIName[9] = "O1"; logicPortType[10] = 0; logicPortPos[10] = "59 3 0"; logicPortDir[10] = 1; logicPortUIName[10] = "O2"; logicPortType[11] = 0; logicPortPos[11] = "57 3 0"; logicPortDir[11] = 1; logicPortUIName[11] = "O3"; logicPortType[12] = 0; logicPortPos[12] = "55 3 0"; logicPortDir[12] = 1; logicPortUIName[12] = "O4"; logicPortType[13] = 0; logicPortPos[13] = "53 3 0"; logicPortDir[13] = 1; logicPortUIName[13] = "O5"; logicPortType[14] = 0; logicPortPos[14] = "51 3 0"; logicPortDir[14] = 1; logicPortUIName[14] = "O6"; logicPortType[15] = 0; logicPortPos[15] = "49 3 0"; logicPortDir[15] = 1; logicPortUIName[15] = "O7"; logicPortType[16] = 0; logicPortPos[16] = "47 3 0"; logicPortDir[16] = 1; logicPortUIName[16] = "O8"; logicPortType[17] = 0; logicPortPos[17] = "45 3 0"; logicPortDir[17] = 1; logicPortUIName[17] = "O9"; logicPortType[18] = 0; logicPortPos[18] = "43 3 0"; logicPortDir[18] = 1; logicPortUIName[18] = "O10"; logicPortType[19] = 0; logicPortPos[19] = "41 3 0"; logicPortDir[19] = 1; logicPortUIName[19] = "O11"; logicPortType[20] = 0; logicPortPos[20] = "39 3 0"; logicPortDir[20] = 1; logicPortUIName[20] = "O12"; logicPortType[21] = 0; logicPortPos[21] = "37 3 0"; logicPortDir[21] = 1; logicPortUIName[21] = "O13"; logicPortType[22] = 0; logicPortPos[22] = "35 3 0"; logicPortDir[22] = 1; logicPortUIName[22] = "O14"; logicPortType[23] = 0; logicPortPos[23] = "33 3 0"; logicPortDir[23] = 1; logicPortUIName[23] = "O15"; logicPortType[24] = 0; logicPortPos[24] = "31 3 0"; logicPortDir[24] = 1; logicPortUIName[24] = "O16"; logicPortType[25] = 0; logicPortPos[25] = "29 3 0"; logicPortDir[25] = 1; logicPortUIName[25] = "O17"; logicPortType[26] = 0; logicPortPos[26] = "27 3 0"; logicPortDir[26] = 1; logicPortUIName[26] = "O18"; logicPortType[27] = 0; logicPortPos[27] = "25 3 0"; logicPortDir[27] = 1; logicPortUIName[27] = "O19"; logicPortType[28] = 0; logicPortPos[28] = "23 3 0"; logicPortDir[28] = 1; logicPortUIName[28] = "O20"; logicPortType[29] = 0; logicPortPos[29] = "21 3 0"; logicPortDir[29] = 1; logicPortUIName[29] = "O21"; logicPortType[30] = 0; logicPortPos[30] = "19 3 0"; logicPortDir[30] = 1; logicPortUIName[30] = "O22"; logicPortType[31] = 0; logicPortPos[31] = "17 3 0"; logicPortDir[31] = 1; logicPortUIName[31] = "O23"; logicPortType[32] = 0; logicPortPos[32] = "15 3 0"; logicPortDir[32] = 1; logicPortUIName[32] = "O24"; logicPortType[33] = 0; logicPortPos[33] = "13 3 0"; logicPortDir[33] = 1; logicPortUIName[33] = "O25"; logicPortType[34] = 0; logicPortPos[34] = "11 3 0"; logicPortDir[34] = 1; logicPortUIName[34] = "O26"; logicPortType[35] = 0; logicPortPos[35] = "9 3 0"; logicPortDir[35] = 1; logicPortUIName[35] = "O27"; logicPortType[36] = 0; logicPortPos[36] = "7 3 0"; logicPortDir[36] = 1; logicPortUIName[36] = "O28"; logicPortType[37] = 0; logicPortPos[37] = "5 3 0"; logicPortDir[37] = 1; logicPortUIName[37] = "O29"; logicPortType[38] = 0; logicPortPos[38] = "3 3 0"; logicPortDir[38] = 1; logicPortUIName[38] = "O30"; logicPortType[39] = 0; logicPortPos[39] = "1 3 0"; logicPortDir[39] = 1; logicPortUIName[39] = "O31"; logicPortType[40] = 0; logicPortPos[40] = "-1 3 0"; logicPortDir[40] = 1; logicPortUIName[40] = "O32"; logicPortType[41] = 0; logicPortPos[41] = "-3 3 0"; logicPortDir[41] = 1; logicPortUIName[41] = "O33"; logicPortType[42] = 0; logicPortPos[42] = "-5 3 0"; logicPortDir[42] = 1; logicPortUIName[42] = "O34"; logicPortType[43] = 0; logicPortPos[43] = "-7 3 0"; logicPortDir[43] = 1; logicPortUIName[43] = "O35"; logicPortType[44] = 0; logicPortPos[44] = "-9 3 0"; logicPortDir[44] = 1; logicPortUIName[44] = "O36"; logicPortType[45] = 0; logicPortPos[45] = "-11 3 0"; logicPortDir[45] = 1; logicPortUIName[45] = "O37"; logicPortType[46] = 0; logicPortPos[46] = "-13 3 0"; logicPortDir[46] = 1; logicPortUIName[46] = "O38"; logicPortType[47] = 0; logicPortPos[47] = "-15 3 0"; logicPortDir[47] = 1; logicPortUIName[47] = "O39"; logicPortType[48] = 0; logicPortPos[48] = "-17 3 0"; logicPortDir[48] = 1; logicPortUIName[48] = "O40"; logicPortType[49] = 0; logicPortPos[49] = "-19 3 0"; logicPortDir[49] = 1; logicPortUIName[49] = "O41"; logicPortType[50] = 0; logicPortPos[50] = "-21 3 0"; logicPortDir[50] = 1; logicPortUIName[50] = "O42"; logicPortType[51] = 0; logicPortPos[51] = "-23 3 0"; logicPortDir[51] = 1; logicPortUIName[51] = "O43"; logicPortType[52] = 0; logicPortPos[52] = "-25 3 0"; logicPortDir[52] = 1; logicPortUIName[52] = "O44"; logicPortType[53] = 0; logicPortPos[53] = "-27 3 0"; logicPortDir[53] = 1; logicPortUIName[53] = "O45"; logicPortType[54] = 0; logicPortPos[54] = "-29 3 0"; logicPortDir[54] = 1; logicPortUIName[54] = "O46"; logicPortType[55] = 0; logicPortPos[55] = "-31 3 0"; logicPortDir[55] = 1; logicPortUIName[55] = "O47"; logicPortType[56] = 0; logicPortPos[56] = "-33 3 0"; logicPortDir[56] = 1; logicPortUIName[56] = "O48"; logicPortType[57] = 0; logicPortPos[57] = "-35 3 0"; logicPortDir[57] = 1; logicPortUIName[57] = "O49"; logicPortType[58] = 0; logicPortPos[58] = "-37 3 0"; logicPortDir[58] = 1; logicPortUIName[58] = "O50"; logicPortType[59] = 0; logicPortPos[59] = "-39 3 0"; logicPortDir[59] = 1; logicPortUIName[59] = "O51"; logicPortType[60] = 0; logicPortPos[60] = "-41 3 0"; logicPortDir[60] = 1; logicPortUIName[60] = "O52"; logicPortType[61] = 0; logicPortPos[61] = "-43 3 0"; logicPortDir[61] = 1; logicPortUIName[61] = "O53"; logicPortType[62] = 0; logicPortPos[62] = "-45 3 0"; logicPortDir[62] = 1; logicPortUIName[62] = "O54"; logicPortType[63] = 0; logicPortPos[63] = "-47 3 0"; logicPortDir[63] = 1; logicPortUIName[63] = "O55"; logicPortType[64] = 0; logicPortPos[64] = "-49 3 0"; logicPortDir[64] = 1; logicPortUIName[64] = "O56"; logicPortType[65] = 0; logicPortPos[65] = "-51 3 0"; logicPortDir[65] = 1; logicPortUIName[65] = "O57"; logicPortType[66] = 0; logicPortPos[66] = "-53 3 0"; logicPortDir[66] = 1; logicPortUIName[66] = "O58"; logicPortType[67] = 0; logicPortPos[67] = "-55 3 0"; logicPortDir[67] = 1; logicPortUIName[67] = "O59"; logicPortType[68] = 0; logicPortPos[68] = "-57 3 0"; logicPortDir[68] = 1; logicPortUIName[68] = "O60"; logicPortType[69] = 0; logicPortPos[69] = "-59 3 0"; logicPortDir[69] = 1; logicPortUIName[69] = "O61"; logicPortType[70] = 0; logicPortPos[70] = "-61 3 0"; logicPortDir[70] = 1; logicPortUIName[70] = "O62"; logicPortType[71] = 0; logicPortPos[71] = "-63 3 0"; logicPortDir[71] = 1; logicPortUIName[71] = "O63"; logicPortType[72] = 1; logicPortPos[72] = "63 -3 0"; logicPortDir[72] = 2; logicPortUIName[72] = "Clock"; logicPortCauseUpdate[72] = true; };