add icons, make rom use c data

This commit is contained in:
Redo 2022-11-14 13:41:10 -06:00
parent 6008b022b0
commit ddedb380ac
590 changed files with 86705 additions and 93429 deletions

View File

@ -30,7 +30,37 @@ exec("./newcode/Wire 1x29f.cs");
exec("./newcode/Wire 1x30f.cs");
exec("./newcode/Wire 1x31f.cs");
exec("./newcode/Wire 1x32f.cs");
exec("./newcode/Wire 1x33f.cs");
exec("./newcode/Wire 1x34f.cs");
exec("./newcode/Wire 1x35f.cs");
exec("./newcode/Wire 1x36f.cs");
exec("./newcode/Wire 1x37f.cs");
exec("./newcode/Wire 1x38f.cs");
exec("./newcode/Wire 1x39f.cs");
exec("./newcode/Wire 1x40f.cs");
exec("./newcode/Wire 1x41f.cs");
exec("./newcode/Wire 1x42f.cs");
exec("./newcode/Wire 1x43f.cs");
exec("./newcode/Wire 1x44f.cs");
exec("./newcode/Wire 1x45f.cs");
exec("./newcode/Wire 1x46f.cs");
exec("./newcode/Wire 1x47f.cs");
exec("./newcode/Wire 1x48f.cs");
exec("./newcode/Wire 1x49f.cs");
exec("./newcode/Wire 1x50f.cs");
exec("./newcode/Wire 1x51f.cs");
exec("./newcode/Wire 1x52f.cs");
exec("./newcode/Wire 1x53f.cs");
exec("./newcode/Wire 1x54f.cs");
exec("./newcode/Wire 1x55f.cs");
exec("./newcode/Wire 1x56f.cs");
exec("./newcode/Wire 1x57f.cs");
exec("./newcode/Wire 1x58f.cs");
exec("./newcode/Wire 1x59f.cs");
exec("./newcode/Wire 1x60f.cs");
exec("./newcode/Wire 1x61f.cs");
exec("./newcode/Wire 1x62f.cs");
exec("./newcode/Wire 1x63f.cs");
exec("./newcode/Wire 1x64f.cs");
exec("./newcode/Wire 1x1x2f.cs");
exec("./newcode/Wire 1x1.cs");
@ -90,6 +120,7 @@ exec("./newcode/Wire 1x1x112f.cs");
exec("./newcode/Wire 1x1x128f.cs");
exec("./newcode/Wire 1x1x48.cs");
exec("./newcode/Wire 1x1x160f.cs");
exec("./newcode/Wire 1x1x256f.cs");
exec("./newcode/Wire 1x2x5f.cs");
exec("./newcode/Wire 64x64f.cs");
exec("./newcode/Wire 2x2f.cs");
@ -382,13 +413,9 @@ exec("./newcode/Demux 6 Bit.cs");
exec("./newcode/Demux 6 Bit Vertical.cs");
exec("./newcode/Mux 6 Bit.cs");
exec("./newcode/Mux 6 Bit Vertical.cs");
exec("./newcode/Demux 7 Bit.cs");
exec("./newcode/Demux 7 Bit Vertical.cs");
exec("./newcode/Mux 7 Bit.cs");
exec("./newcode/Mux 7 Bit Vertical.cs");
exec("./newcode/Demux 8 Bit.cs");
exec("./newcode/Demux 8 Bit Vertical.cs");
exec("./newcode/Mux 8 Bit.cs");
exec("./newcode/Mux 8 Bit Vertical.cs");
exec("./newcode/ROM 4x4.cs");
exec("./newcode/ROM 4x4x4.cs");
@ -398,20 +425,36 @@ exec("./newcode/ROM 8x8x4.cs");
exec("./newcode/ROM 8x8x8.cs");
exec("./newcode/ROM 16x4x16.cs");
exec("./newcode/ROM 32x2x32.cs");
exec("./newcode/ROM 64x1x48.cs");
exec("./newcode/ROM 64x1x64.cs");
exec("./newcode/ROM 16x16.cs");
exec("./newcode/ROM 16x16x4.cs");
exec("./newcode/ROM 16x16x8.cs");
exec("./newcode/ROM 16x16x16.cs");
exec("./newcode/ROM 32x8x32.cs");
exec("./newcode/ROM 64x4x48.cs");
exec("./newcode/ROM 64x4x64.cs");
exec("./newcode/ROM 32x16.cs");
exec("./newcode/ROM 32x16x4.cs");
exec("./newcode/ROM 32x16x8.cs");
exec("./newcode/ROM 32x16x16.cs");
exec("./newcode/ROM 32x16x32.cs");
exec("./newcode/ROM 64x8x48.cs");
exec("./newcode/ROM 64x8x64.cs");
exec("./newcode/ROM 32x32x8.cs");
exec("./newcode/ROM 32x32x16.cs");
exec("./newcode/ROM 32x32x32.cs");
exec("./newcode/ROM 64x16x48.cs");
exec("./newcode/ROM 64x16x64.cs");
exec("./newcode/ROM 64x32x8.cs");
exec("./newcode/ROM 64x32x16.cs");
exec("./newcode/ROM 64x32x32.cs");
exec("./newcode/ROM 64x32x48.cs");
exec("./newcode/ROM 64x32x64.cs");
exec("./newcode/ROM 64x64x8.cs");
exec("./newcode/ROM 64x64x16.cs");
exec("./newcode/ROM 64x64x32.cs");
exec("./newcode/ROM 64x64x48.cs");
exec("./newcode/ROM 64x64x64.cs");
exec("./newcode/Adder 1 Bit.cs");
exec("./newcode/Adder 2 Bit.cs");

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,2 @@
1 1 256
BRICK

View File

@ -0,0 +1,2 @@
1 33 1
BRICK

View File

@ -0,0 +1,2 @@
1 34 1
BRICK

View File

@ -0,0 +1,2 @@
1 35 1
BRICK

View File

@ -0,0 +1,2 @@
1 36 1
BRICK

View File

@ -0,0 +1,2 @@
1 37 1
BRICK

View File

@ -0,0 +1,2 @@
1 38 1
BRICK

View File

@ -0,0 +1,2 @@
1 39 1
BRICK

View File

@ -0,0 +1,2 @@
1 40 1
BRICK

View File

@ -0,0 +1,2 @@
1 41 1
BRICK

View File

@ -0,0 +1,2 @@
1 42 1
BRICK

View File

@ -0,0 +1,2 @@
1 43 1
BRICK

View File

@ -0,0 +1,2 @@
1 44 1
BRICK

View File

@ -0,0 +1,2 @@
1 45 1
BRICK

View File

@ -0,0 +1,2 @@
1 46 1
BRICK

View File

@ -0,0 +1,2 @@
1 47 1
BRICK

View File

@ -0,0 +1,2 @@
1 49 1
BRICK

View File

@ -0,0 +1,2 @@
1 50 1
BRICK

View File

@ -0,0 +1,2 @@
1 51 1
BRICK

View File

@ -0,0 +1,2 @@
1 52 1
BRICK

View File

@ -0,0 +1,2 @@
1 53 1
BRICK

View File

@ -0,0 +1,2 @@
1 54 1
BRICK

View File

@ -0,0 +1,2 @@
1 55 1
BRICK

View File

@ -0,0 +1,2 @@
1 56 1
BRICK

View File

@ -0,0 +1,2 @@
1 57 1
BRICK

View File

@ -0,0 +1,2 @@
1 58 1
BRICK

View File

@ -0,0 +1,2 @@
1 59 1
BRICK

View File

@ -0,0 +1,2 @@
1 60 1
BRICK

View File

@ -0,0 +1,2 @@
1 61 1
BRICK

View File

@ -0,0 +1,2 @@
1 62 1
BRICK

View File

@ -0,0 +1,2 @@
1 63 1
BRICK

View File

@ -1,736 +0,0 @@
datablock fxDtsBrickData(LogicGate_Demux7_Data){
brickFile = $LuaLogic::Path @ "bricks/gen/newbricks/Demux 7 Bit.blb";
iconName = $LuaLogic::Path @ "bricks/gen/newicons/Demux 7 Bit";
category = "Logic Bricks";
subCategory = "Mux";
uiName = "Demux 7 Bit";
logicUIName = "Demux 7 Bit";
logicUIDesc = "";
hasPrint = 1;
printAspectRatio = "Logic";
logicBrickSize = "128 1 1";
orientationFix = 3;
isLogic = true;
isLogicGate = true;
isLogicInput = false;
logicInit =
"return function(gate) " @
" gate.laston = 8 " @
"end"
;
logicInput = "";
logicUpdate =
"return function(gate) " @
" if Gate.getportstate(gate, 136)~=0 then " @
" local idx = 8 + " @
" (Gate.getportstate(gate, 1) * 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.setportstate(gate, idx, 1) " @
" if gate.laston~=idx then " @
" Gate.setportstate(gate, gate.laston, 0) " @
" gate.laston = idx " @
" end " @
" else " @
" Gate.setportstate(gate, gate.laston, 0) " @
" end " @
"end"
;
logicGlobal = "";
numLogicPorts = 136;
logicPortType[0] = 1;
logicPortPos[0] = "127 0 0";
logicPortDir[0] = 3;
logicPortUIName[0] = "Sel0";
logicPortType[1] = 1;
logicPortPos[1] = "125 0 0";
logicPortDir[1] = 3;
logicPortUIName[1] = "Sel1";
logicPortType[2] = 1;
logicPortPos[2] = "123 0 0";
logicPortDir[2] = 3;
logicPortUIName[2] = "Sel2";
logicPortType[3] = 1;
logicPortPos[3] = "121 0 0";
logicPortDir[3] = 3;
logicPortUIName[3] = "Sel3";
logicPortType[4] = 1;
logicPortPos[4] = "119 0 0";
logicPortDir[4] = 3;
logicPortUIName[4] = "Sel4";
logicPortType[5] = 1;
logicPortPos[5] = "117 0 0";
logicPortDir[5] = 3;
logicPortUIName[5] = "Sel5";
logicPortType[6] = 1;
logicPortPos[6] = "115 0 0";
logicPortDir[6] = 3;
logicPortUIName[6] = "Sel6";
logicPortType[7] = 0;
logicPortPos[7] = "127 0 0";
logicPortDir[7] = 1;
logicPortUIName[7] = "Out0";
logicPortType[8] = 0;
logicPortPos[8] = "125 0 0";
logicPortDir[8] = 1;
logicPortUIName[8] = "Out1";
logicPortType[9] = 0;
logicPortPos[9] = "123 0 0";
logicPortDir[9] = 1;
logicPortUIName[9] = "Out2";
logicPortType[10] = 0;
logicPortPos[10] = "121 0 0";
logicPortDir[10] = 1;
logicPortUIName[10] = "Out3";
logicPortType[11] = 0;
logicPortPos[11] = "119 0 0";
logicPortDir[11] = 1;
logicPortUIName[11] = "Out4";
logicPortType[12] = 0;
logicPortPos[12] = "117 0 0";
logicPortDir[12] = 1;
logicPortUIName[12] = "Out5";
logicPortType[13] = 0;
logicPortPos[13] = "115 0 0";
logicPortDir[13] = 1;
logicPortUIName[13] = "Out6";
logicPortType[14] = 0;
logicPortPos[14] = "113 0 0";
logicPortDir[14] = 1;
logicPortUIName[14] = "Out7";
logicPortType[15] = 0;
logicPortPos[15] = "111 0 0";
logicPortDir[15] = 1;
logicPortUIName[15] = "Out8";
logicPortType[16] = 0;
logicPortPos[16] = "109 0 0";
logicPortDir[16] = 1;
logicPortUIName[16] = "Out9";
logicPortType[17] = 0;
logicPortPos[17] = "107 0 0";
logicPortDir[17] = 1;
logicPortUIName[17] = "Out10";
logicPortType[18] = 0;
logicPortPos[18] = "105 0 0";
logicPortDir[18] = 1;
logicPortUIName[18] = "Out11";
logicPortType[19] = 0;
logicPortPos[19] = "103 0 0";
logicPortDir[19] = 1;
logicPortUIName[19] = "Out12";
logicPortType[20] = 0;
logicPortPos[20] = "101 0 0";
logicPortDir[20] = 1;
logicPortUIName[20] = "Out13";
logicPortType[21] = 0;
logicPortPos[21] = "99 0 0";
logicPortDir[21] = 1;
logicPortUIName[21] = "Out14";
logicPortType[22] = 0;
logicPortPos[22] = "97 0 0";
logicPortDir[22] = 1;
logicPortUIName[22] = "Out15";
logicPortType[23] = 0;
logicPortPos[23] = "95 0 0";
logicPortDir[23] = 1;
logicPortUIName[23] = "Out16";
logicPortType[24] = 0;
logicPortPos[24] = "93 0 0";
logicPortDir[24] = 1;
logicPortUIName[24] = "Out17";
logicPortType[25] = 0;
logicPortPos[25] = "91 0 0";
logicPortDir[25] = 1;
logicPortUIName[25] = "Out18";
logicPortType[26] = 0;
logicPortPos[26] = "89 0 0";
logicPortDir[26] = 1;
logicPortUIName[26] = "Out19";
logicPortType[27] = 0;
logicPortPos[27] = "87 0 0";
logicPortDir[27] = 1;
logicPortUIName[27] = "Out20";
logicPortType[28] = 0;
logicPortPos[28] = "85 0 0";
logicPortDir[28] = 1;
logicPortUIName[28] = "Out21";
logicPortType[29] = 0;
logicPortPos[29] = "83 0 0";
logicPortDir[29] = 1;
logicPortUIName[29] = "Out22";
logicPortType[30] = 0;
logicPortPos[30] = "81 0 0";
logicPortDir[30] = 1;
logicPortUIName[30] = "Out23";
logicPortType[31] = 0;
logicPortPos[31] = "79 0 0";
logicPortDir[31] = 1;
logicPortUIName[31] = "Out24";
logicPortType[32] = 0;
logicPortPos[32] = "77 0 0";
logicPortDir[32] = 1;
logicPortUIName[32] = "Out25";
logicPortType[33] = 0;
logicPortPos[33] = "75 0 0";
logicPortDir[33] = 1;
logicPortUIName[33] = "Out26";
logicPortType[34] = 0;
logicPortPos[34] = "73 0 0";
logicPortDir[34] = 1;
logicPortUIName[34] = "Out27";
logicPortType[35] = 0;
logicPortPos[35] = "71 0 0";
logicPortDir[35] = 1;
logicPortUIName[35] = "Out28";
logicPortType[36] = 0;
logicPortPos[36] = "69 0 0";
logicPortDir[36] = 1;
logicPortUIName[36] = "Out29";
logicPortType[37] = 0;
logicPortPos[37] = "67 0 0";
logicPortDir[37] = 1;
logicPortUIName[37] = "Out30";
logicPortType[38] = 0;
logicPortPos[38] = "65 0 0";
logicPortDir[38] = 1;
logicPortUIName[38] = "Out31";
logicPortType[39] = 0;
logicPortPos[39] = "63 0 0";
logicPortDir[39] = 1;
logicPortUIName[39] = "Out32";
logicPortType[40] = 0;
logicPortPos[40] = "61 0 0";
logicPortDir[40] = 1;
logicPortUIName[40] = "Out33";
logicPortType[41] = 0;
logicPortPos[41] = "59 0 0";
logicPortDir[41] = 1;
logicPortUIName[41] = "Out34";
logicPortType[42] = 0;
logicPortPos[42] = "57 0 0";
logicPortDir[42] = 1;
logicPortUIName[42] = "Out35";
logicPortType[43] = 0;
logicPortPos[43] = "55 0 0";
logicPortDir[43] = 1;
logicPortUIName[43] = "Out36";
logicPortType[44] = 0;
logicPortPos[44] = "53 0 0";
logicPortDir[44] = 1;
logicPortUIName[44] = "Out37";
logicPortType[45] = 0;
logicPortPos[45] = "51 0 0";
logicPortDir[45] = 1;
logicPortUIName[45] = "Out38";
logicPortType[46] = 0;
logicPortPos[46] = "49 0 0";
logicPortDir[46] = 1;
logicPortUIName[46] = "Out39";
logicPortType[47] = 0;
logicPortPos[47] = "47 0 0";
logicPortDir[47] = 1;
logicPortUIName[47] = "Out40";
logicPortType[48] = 0;
logicPortPos[48] = "45 0 0";
logicPortDir[48] = 1;
logicPortUIName[48] = "Out41";
logicPortType[49] = 0;
logicPortPos[49] = "43 0 0";
logicPortDir[49] = 1;
logicPortUIName[49] = "Out42";
logicPortType[50] = 0;
logicPortPos[50] = "41 0 0";
logicPortDir[50] = 1;
logicPortUIName[50] = "Out43";
logicPortType[51] = 0;
logicPortPos[51] = "39 0 0";
logicPortDir[51] = 1;
logicPortUIName[51] = "Out44";
logicPortType[52] = 0;
logicPortPos[52] = "37 0 0";
logicPortDir[52] = 1;
logicPortUIName[52] = "Out45";
logicPortType[53] = 0;
logicPortPos[53] = "35 0 0";
logicPortDir[53] = 1;
logicPortUIName[53] = "Out46";
logicPortType[54] = 0;
logicPortPos[54] = "33 0 0";
logicPortDir[54] = 1;
logicPortUIName[54] = "Out47";
logicPortType[55] = 0;
logicPortPos[55] = "31 0 0";
logicPortDir[55] = 1;
logicPortUIName[55] = "Out48";
logicPortType[56] = 0;
logicPortPos[56] = "29 0 0";
logicPortDir[56] = 1;
logicPortUIName[56] = "Out49";
logicPortType[57] = 0;
logicPortPos[57] = "27 0 0";
logicPortDir[57] = 1;
logicPortUIName[57] = "Out50";
logicPortType[58] = 0;
logicPortPos[58] = "25 0 0";
logicPortDir[58] = 1;
logicPortUIName[58] = "Out51";
logicPortType[59] = 0;
logicPortPos[59] = "23 0 0";
logicPortDir[59] = 1;
logicPortUIName[59] = "Out52";
logicPortType[60] = 0;
logicPortPos[60] = "21 0 0";
logicPortDir[60] = 1;
logicPortUIName[60] = "Out53";
logicPortType[61] = 0;
logicPortPos[61] = "19 0 0";
logicPortDir[61] = 1;
logicPortUIName[61] = "Out54";
logicPortType[62] = 0;
logicPortPos[62] = "17 0 0";
logicPortDir[62] = 1;
logicPortUIName[62] = "Out55";
logicPortType[63] = 0;
logicPortPos[63] = "15 0 0";
logicPortDir[63] = 1;
logicPortUIName[63] = "Out56";
logicPortType[64] = 0;
logicPortPos[64] = "13 0 0";
logicPortDir[64] = 1;
logicPortUIName[64] = "Out57";
logicPortType[65] = 0;
logicPortPos[65] = "11 0 0";
logicPortDir[65] = 1;
logicPortUIName[65] = "Out58";
logicPortType[66] = 0;
logicPortPos[66] = "9 0 0";
logicPortDir[66] = 1;
logicPortUIName[66] = "Out59";
logicPortType[67] = 0;
logicPortPos[67] = "7 0 0";
logicPortDir[67] = 1;
logicPortUIName[67] = "Out60";
logicPortType[68] = 0;
logicPortPos[68] = "5 0 0";
logicPortDir[68] = 1;
logicPortUIName[68] = "Out61";
logicPortType[69] = 0;
logicPortPos[69] = "3 0 0";
logicPortDir[69] = 1;
logicPortUIName[69] = "Out62";
logicPortType[70] = 0;
logicPortPos[70] = "1 0 0";
logicPortDir[70] = 1;
logicPortUIName[70] = "Out63";
logicPortType[71] = 0;
logicPortPos[71] = "-1 0 0";
logicPortDir[71] = 1;
logicPortUIName[71] = "Out64";
logicPortType[72] = 0;
logicPortPos[72] = "-3 0 0";
logicPortDir[72] = 1;
logicPortUIName[72] = "Out65";
logicPortType[73] = 0;
logicPortPos[73] = "-5 0 0";
logicPortDir[73] = 1;
logicPortUIName[73] = "Out66";
logicPortType[74] = 0;
logicPortPos[74] = "-7 0 0";
logicPortDir[74] = 1;
logicPortUIName[74] = "Out67";
logicPortType[75] = 0;
logicPortPos[75] = "-9 0 0";
logicPortDir[75] = 1;
logicPortUIName[75] = "Out68";
logicPortType[76] = 0;
logicPortPos[76] = "-11 0 0";
logicPortDir[76] = 1;
logicPortUIName[76] = "Out69";
logicPortType[77] = 0;
logicPortPos[77] = "-13 0 0";
logicPortDir[77] = 1;
logicPortUIName[77] = "Out70";
logicPortType[78] = 0;
logicPortPos[78] = "-15 0 0";
logicPortDir[78] = 1;
logicPortUIName[78] = "Out71";
logicPortType[79] = 0;
logicPortPos[79] = "-17 0 0";
logicPortDir[79] = 1;
logicPortUIName[79] = "Out72";
logicPortType[80] = 0;
logicPortPos[80] = "-19 0 0";
logicPortDir[80] = 1;
logicPortUIName[80] = "Out73";
logicPortType[81] = 0;
logicPortPos[81] = "-21 0 0";
logicPortDir[81] = 1;
logicPortUIName[81] = "Out74";
logicPortType[82] = 0;
logicPortPos[82] = "-23 0 0";
logicPortDir[82] = 1;
logicPortUIName[82] = "Out75";
logicPortType[83] = 0;
logicPortPos[83] = "-25 0 0";
logicPortDir[83] = 1;
logicPortUIName[83] = "Out76";
logicPortType[84] = 0;
logicPortPos[84] = "-27 0 0";
logicPortDir[84] = 1;
logicPortUIName[84] = "Out77";
logicPortType[85] = 0;
logicPortPos[85] = "-29 0 0";
logicPortDir[85] = 1;
logicPortUIName[85] = "Out78";
logicPortType[86] = 0;
logicPortPos[86] = "-31 0 0";
logicPortDir[86] = 1;
logicPortUIName[86] = "Out79";
logicPortType[87] = 0;
logicPortPos[87] = "-33 0 0";
logicPortDir[87] = 1;
logicPortUIName[87] = "Out80";
logicPortType[88] = 0;
logicPortPos[88] = "-35 0 0";
logicPortDir[88] = 1;
logicPortUIName[88] = "Out81";
logicPortType[89] = 0;
logicPortPos[89] = "-37 0 0";
logicPortDir[89] = 1;
logicPortUIName[89] = "Out82";
logicPortType[90] = 0;
logicPortPos[90] = "-39 0 0";
logicPortDir[90] = 1;
logicPortUIName[90] = "Out83";
logicPortType[91] = 0;
logicPortPos[91] = "-41 0 0";
logicPortDir[91] = 1;
logicPortUIName[91] = "Out84";
logicPortType[92] = 0;
logicPortPos[92] = "-43 0 0";
logicPortDir[92] = 1;
logicPortUIName[92] = "Out85";
logicPortType[93] = 0;
logicPortPos[93] = "-45 0 0";
logicPortDir[93] = 1;
logicPortUIName[93] = "Out86";
logicPortType[94] = 0;
logicPortPos[94] = "-47 0 0";
logicPortDir[94] = 1;
logicPortUIName[94] = "Out87";
logicPortType[95] = 0;
logicPortPos[95] = "-49 0 0";
logicPortDir[95] = 1;
logicPortUIName[95] = "Out88";
logicPortType[96] = 0;
logicPortPos[96] = "-51 0 0";
logicPortDir[96] = 1;
logicPortUIName[96] = "Out89";
logicPortType[97] = 0;
logicPortPos[97] = "-53 0 0";
logicPortDir[97] = 1;
logicPortUIName[97] = "Out90";
logicPortType[98] = 0;
logicPortPos[98] = "-55 0 0";
logicPortDir[98] = 1;
logicPortUIName[98] = "Out91";
logicPortType[99] = 0;
logicPortPos[99] = "-57 0 0";
logicPortDir[99] = 1;
logicPortUIName[99] = "Out92";
logicPortType[100] = 0;
logicPortPos[100] = "-59 0 0";
logicPortDir[100] = 1;
logicPortUIName[100] = "Out93";
logicPortType[101] = 0;
logicPortPos[101] = "-61 0 0";
logicPortDir[101] = 1;
logicPortUIName[101] = "Out94";
logicPortType[102] = 0;
logicPortPos[102] = "-63 0 0";
logicPortDir[102] = 1;
logicPortUIName[102] = "Out95";
logicPortType[103] = 0;
logicPortPos[103] = "-65 0 0";
logicPortDir[103] = 1;
logicPortUIName[103] = "Out96";
logicPortType[104] = 0;
logicPortPos[104] = "-67 0 0";
logicPortDir[104] = 1;
logicPortUIName[104] = "Out97";
logicPortType[105] = 0;
logicPortPos[105] = "-69 0 0";
logicPortDir[105] = 1;
logicPortUIName[105] = "Out98";
logicPortType[106] = 0;
logicPortPos[106] = "-71 0 0";
logicPortDir[106] = 1;
logicPortUIName[106] = "Out99";
logicPortType[107] = 0;
logicPortPos[107] = "-73 0 0";
logicPortDir[107] = 1;
logicPortUIName[107] = "Out100";
logicPortType[108] = 0;
logicPortPos[108] = "-75 0 0";
logicPortDir[108] = 1;
logicPortUIName[108] = "Out101";
logicPortType[109] = 0;
logicPortPos[109] = "-77 0 0";
logicPortDir[109] = 1;
logicPortUIName[109] = "Out102";
logicPortType[110] = 0;
logicPortPos[110] = "-79 0 0";
logicPortDir[110] = 1;
logicPortUIName[110] = "Out103";
logicPortType[111] = 0;
logicPortPos[111] = "-81 0 0";
logicPortDir[111] = 1;
logicPortUIName[111] = "Out104";
logicPortType[112] = 0;
logicPortPos[112] = "-83 0 0";
logicPortDir[112] = 1;
logicPortUIName[112] = "Out105";
logicPortType[113] = 0;
logicPortPos[113] = "-85 0 0";
logicPortDir[113] = 1;
logicPortUIName[113] = "Out106";
logicPortType[114] = 0;
logicPortPos[114] = "-87 0 0";
logicPortDir[114] = 1;
logicPortUIName[114] = "Out107";
logicPortType[115] = 0;
logicPortPos[115] = "-89 0 0";
logicPortDir[115] = 1;
logicPortUIName[115] = "Out108";
logicPortType[116] = 0;
logicPortPos[116] = "-91 0 0";
logicPortDir[116] = 1;
logicPortUIName[116] = "Out109";
logicPortType[117] = 0;
logicPortPos[117] = "-93 0 0";
logicPortDir[117] = 1;
logicPortUIName[117] = "Out110";
logicPortType[118] = 0;
logicPortPos[118] = "-95 0 0";
logicPortDir[118] = 1;
logicPortUIName[118] = "Out111";
logicPortType[119] = 0;
logicPortPos[119] = "-97 0 0";
logicPortDir[119] = 1;
logicPortUIName[119] = "Out112";
logicPortType[120] = 0;
logicPortPos[120] = "-99 0 0";
logicPortDir[120] = 1;
logicPortUIName[120] = "Out113";
logicPortType[121] = 0;
logicPortPos[121] = "-101 0 0";
logicPortDir[121] = 1;
logicPortUIName[121] = "Out114";
logicPortType[122] = 0;
logicPortPos[122] = "-103 0 0";
logicPortDir[122] = 1;
logicPortUIName[122] = "Out115";
logicPortType[123] = 0;
logicPortPos[123] = "-105 0 0";
logicPortDir[123] = 1;
logicPortUIName[123] = "Out116";
logicPortType[124] = 0;
logicPortPos[124] = "-107 0 0";
logicPortDir[124] = 1;
logicPortUIName[124] = "Out117";
logicPortType[125] = 0;
logicPortPos[125] = "-109 0 0";
logicPortDir[125] = 1;
logicPortUIName[125] = "Out118";
logicPortType[126] = 0;
logicPortPos[126] = "-111 0 0";
logicPortDir[126] = 1;
logicPortUIName[126] = "Out119";
logicPortType[127] = 0;
logicPortPos[127] = "-113 0 0";
logicPortDir[127] = 1;
logicPortUIName[127] = "Out120";
logicPortType[128] = 0;
logicPortPos[128] = "-115 0 0";
logicPortDir[128] = 1;
logicPortUIName[128] = "Out121";
logicPortType[129] = 0;
logicPortPos[129] = "-117 0 0";
logicPortDir[129] = 1;
logicPortUIName[129] = "Out122";
logicPortType[130] = 0;
logicPortPos[130] = "-119 0 0";
logicPortDir[130] = 1;
logicPortUIName[130] = "Out123";
logicPortType[131] = 0;
logicPortPos[131] = "-121 0 0";
logicPortDir[131] = 1;
logicPortUIName[131] = "Out124";
logicPortType[132] = 0;
logicPortPos[132] = "-123 0 0";
logicPortDir[132] = 1;
logicPortUIName[132] = "Out125";
logicPortType[133] = 0;
logicPortPos[133] = "-125 0 0";
logicPortDir[133] = 1;
logicPortUIName[133] = "Out126";
logicPortType[134] = 0;
logicPortPos[134] = "-127 0 0";
logicPortDir[134] = 1;
logicPortUIName[134] = "Out127";
logicPortType[135] = 1;
logicPortPos[135] = "127 0 0";
logicPortDir[135] = 2;
logicPortUIName[135] = "Enable";
logicPortCauseUpdate[135] = true;
};

File diff suppressed because it is too large Load Diff

View File

@ -1,733 +0,0 @@
datablock fxDtsBrickData(LogicGate_Mux7_Data){
brickFile = $LuaLogic::Path @ "bricks/gen/newbricks/Mux 7 Bit.blb";
iconName = $LuaLogic::Path @ "bricks/gen/newicons/Mux 7 Bit";
category = "Logic Bricks";
subCategory = "Mux";
uiName = "Mux 7 Bit";
logicUIName = "Mux 7 Bit";
logicUIDesc = "";
hasPrint = 1;
printAspectRatio = "Logic";
logicBrickSize = "128 1 1";
orientationFix = 3;
isLogic = true;
isLogicGate = true;
isLogicInput = false;
logicInit = "";
logicInput = "";
logicUpdate =
"return function(gate) " @
" if Gate.getportstate(gate, 136) then " @
" local idx = 8 + " @
" (Gate.getportstate(gate, 1) * 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.setportstate(gate, 137, Gate.getportstate(gate, idx)) " @
" else " @
" Gate.setportstate(gate, 137, 0) " @
" end " @
"end"
;
logicGlobal = "";
numLogicPorts = 137;
logicPortType[0] = 1;
logicPortPos[0] = "127 0 0";
logicPortDir[0] = 3;
logicPortUIName[0] = "Sel0";
logicPortType[1] = 1;
logicPortPos[1] = "125 0 0";
logicPortDir[1] = 3;
logicPortUIName[1] = "Sel1";
logicPortType[2] = 1;
logicPortPos[2] = "123 0 0";
logicPortDir[2] = 3;
logicPortUIName[2] = "Sel2";
logicPortType[3] = 1;
logicPortPos[3] = "121 0 0";
logicPortDir[3] = 3;
logicPortUIName[3] = "Sel3";
logicPortType[4] = 1;
logicPortPos[4] = "119 0 0";
logicPortDir[4] = 3;
logicPortUIName[4] = "Sel4";
logicPortType[5] = 1;
logicPortPos[5] = "117 0 0";
logicPortDir[5] = 3;
logicPortUIName[5] = "Sel5";
logicPortType[6] = 1;
logicPortPos[6] = "115 0 0";
logicPortDir[6] = 3;
logicPortUIName[6] = "Sel6";
logicPortType[7] = 1;
logicPortPos[7] = "127 0 0";
logicPortDir[7] = 1;
logicPortUIName[7] = "In0";
logicPortType[8] = 1;
logicPortPos[8] = "125 0 0";
logicPortDir[8] = 1;
logicPortUIName[8] = "In1";
logicPortType[9] = 1;
logicPortPos[9] = "123 0 0";
logicPortDir[9] = 1;
logicPortUIName[9] = "In2";
logicPortType[10] = 1;
logicPortPos[10] = "121 0 0";
logicPortDir[10] = 1;
logicPortUIName[10] = "In3";
logicPortType[11] = 1;
logicPortPos[11] = "119 0 0";
logicPortDir[11] = 1;
logicPortUIName[11] = "In4";
logicPortType[12] = 1;
logicPortPos[12] = "117 0 0";
logicPortDir[12] = 1;
logicPortUIName[12] = "In5";
logicPortType[13] = 1;
logicPortPos[13] = "115 0 0";
logicPortDir[13] = 1;
logicPortUIName[13] = "In6";
logicPortType[14] = 1;
logicPortPos[14] = "113 0 0";
logicPortDir[14] = 1;
logicPortUIName[14] = "In7";
logicPortType[15] = 1;
logicPortPos[15] = "111 0 0";
logicPortDir[15] = 1;
logicPortUIName[15] = "In8";
logicPortType[16] = 1;
logicPortPos[16] = "109 0 0";
logicPortDir[16] = 1;
logicPortUIName[16] = "In9";
logicPortType[17] = 1;
logicPortPos[17] = "107 0 0";
logicPortDir[17] = 1;
logicPortUIName[17] = "In10";
logicPortType[18] = 1;
logicPortPos[18] = "105 0 0";
logicPortDir[18] = 1;
logicPortUIName[18] = "In11";
logicPortType[19] = 1;
logicPortPos[19] = "103 0 0";
logicPortDir[19] = 1;
logicPortUIName[19] = "In12";
logicPortType[20] = 1;
logicPortPos[20] = "101 0 0";
logicPortDir[20] = 1;
logicPortUIName[20] = "In13";
logicPortType[21] = 1;
logicPortPos[21] = "99 0 0";
logicPortDir[21] = 1;
logicPortUIName[21] = "In14";
logicPortType[22] = 1;
logicPortPos[22] = "97 0 0";
logicPortDir[22] = 1;
logicPortUIName[22] = "In15";
logicPortType[23] = 1;
logicPortPos[23] = "95 0 0";
logicPortDir[23] = 1;
logicPortUIName[23] = "In16";
logicPortType[24] = 1;
logicPortPos[24] = "93 0 0";
logicPortDir[24] = 1;
logicPortUIName[24] = "In17";
logicPortType[25] = 1;
logicPortPos[25] = "91 0 0";
logicPortDir[25] = 1;
logicPortUIName[25] = "In18";
logicPortType[26] = 1;
logicPortPos[26] = "89 0 0";
logicPortDir[26] = 1;
logicPortUIName[26] = "In19";
logicPortType[27] = 1;
logicPortPos[27] = "87 0 0";
logicPortDir[27] = 1;
logicPortUIName[27] = "In20";
logicPortType[28] = 1;
logicPortPos[28] = "85 0 0";
logicPortDir[28] = 1;
logicPortUIName[28] = "In21";
logicPortType[29] = 1;
logicPortPos[29] = "83 0 0";
logicPortDir[29] = 1;
logicPortUIName[29] = "In22";
logicPortType[30] = 1;
logicPortPos[30] = "81 0 0";
logicPortDir[30] = 1;
logicPortUIName[30] = "In23";
logicPortType[31] = 1;
logicPortPos[31] = "79 0 0";
logicPortDir[31] = 1;
logicPortUIName[31] = "In24";
logicPortType[32] = 1;
logicPortPos[32] = "77 0 0";
logicPortDir[32] = 1;
logicPortUIName[32] = "In25";
logicPortType[33] = 1;
logicPortPos[33] = "75 0 0";
logicPortDir[33] = 1;
logicPortUIName[33] = "In26";
logicPortType[34] = 1;
logicPortPos[34] = "73 0 0";
logicPortDir[34] = 1;
logicPortUIName[34] = "In27";
logicPortType[35] = 1;
logicPortPos[35] = "71 0 0";
logicPortDir[35] = 1;
logicPortUIName[35] = "In28";
logicPortType[36] = 1;
logicPortPos[36] = "69 0 0";
logicPortDir[36] = 1;
logicPortUIName[36] = "In29";
logicPortType[37] = 1;
logicPortPos[37] = "67 0 0";
logicPortDir[37] = 1;
logicPortUIName[37] = "In30";
logicPortType[38] = 1;
logicPortPos[38] = "65 0 0";
logicPortDir[38] = 1;
logicPortUIName[38] = "In31";
logicPortType[39] = 1;
logicPortPos[39] = "63 0 0";
logicPortDir[39] = 1;
logicPortUIName[39] = "In32";
logicPortType[40] = 1;
logicPortPos[40] = "61 0 0";
logicPortDir[40] = 1;
logicPortUIName[40] = "In33";
logicPortType[41] = 1;
logicPortPos[41] = "59 0 0";
logicPortDir[41] = 1;
logicPortUIName[41] = "In34";
logicPortType[42] = 1;
logicPortPos[42] = "57 0 0";
logicPortDir[42] = 1;
logicPortUIName[42] = "In35";
logicPortType[43] = 1;
logicPortPos[43] = "55 0 0";
logicPortDir[43] = 1;
logicPortUIName[43] = "In36";
logicPortType[44] = 1;
logicPortPos[44] = "53 0 0";
logicPortDir[44] = 1;
logicPortUIName[44] = "In37";
logicPortType[45] = 1;
logicPortPos[45] = "51 0 0";
logicPortDir[45] = 1;
logicPortUIName[45] = "In38";
logicPortType[46] = 1;
logicPortPos[46] = "49 0 0";
logicPortDir[46] = 1;
logicPortUIName[46] = "In39";
logicPortType[47] = 1;
logicPortPos[47] = "47 0 0";
logicPortDir[47] = 1;
logicPortUIName[47] = "In40";
logicPortType[48] = 1;
logicPortPos[48] = "45 0 0";
logicPortDir[48] = 1;
logicPortUIName[48] = "In41";
logicPortType[49] = 1;
logicPortPos[49] = "43 0 0";
logicPortDir[49] = 1;
logicPortUIName[49] = "In42";
logicPortType[50] = 1;
logicPortPos[50] = "41 0 0";
logicPortDir[50] = 1;
logicPortUIName[50] = "In43";
logicPortType[51] = 1;
logicPortPos[51] = "39 0 0";
logicPortDir[51] = 1;
logicPortUIName[51] = "In44";
logicPortType[52] = 1;
logicPortPos[52] = "37 0 0";
logicPortDir[52] = 1;
logicPortUIName[52] = "In45";
logicPortType[53] = 1;
logicPortPos[53] = "35 0 0";
logicPortDir[53] = 1;
logicPortUIName[53] = "In46";
logicPortType[54] = 1;
logicPortPos[54] = "33 0 0";
logicPortDir[54] = 1;
logicPortUIName[54] = "In47";
logicPortType[55] = 1;
logicPortPos[55] = "31 0 0";
logicPortDir[55] = 1;
logicPortUIName[55] = "In48";
logicPortType[56] = 1;
logicPortPos[56] = "29 0 0";
logicPortDir[56] = 1;
logicPortUIName[56] = "In49";
logicPortType[57] = 1;
logicPortPos[57] = "27 0 0";
logicPortDir[57] = 1;
logicPortUIName[57] = "In50";
logicPortType[58] = 1;
logicPortPos[58] = "25 0 0";
logicPortDir[58] = 1;
logicPortUIName[58] = "In51";
logicPortType[59] = 1;
logicPortPos[59] = "23 0 0";
logicPortDir[59] = 1;
logicPortUIName[59] = "In52";
logicPortType[60] = 1;
logicPortPos[60] = "21 0 0";
logicPortDir[60] = 1;
logicPortUIName[60] = "In53";
logicPortType[61] = 1;
logicPortPos[61] = "19 0 0";
logicPortDir[61] = 1;
logicPortUIName[61] = "In54";
logicPortType[62] = 1;
logicPortPos[62] = "17 0 0";
logicPortDir[62] = 1;
logicPortUIName[62] = "In55";
logicPortType[63] = 1;
logicPortPos[63] = "15 0 0";
logicPortDir[63] = 1;
logicPortUIName[63] = "In56";
logicPortType[64] = 1;
logicPortPos[64] = "13 0 0";
logicPortDir[64] = 1;
logicPortUIName[64] = "In57";
logicPortType[65] = 1;
logicPortPos[65] = "11 0 0";
logicPortDir[65] = 1;
logicPortUIName[65] = "In58";
logicPortType[66] = 1;
logicPortPos[66] = "9 0 0";
logicPortDir[66] = 1;
logicPortUIName[66] = "In59";
logicPortType[67] = 1;
logicPortPos[67] = "7 0 0";
logicPortDir[67] = 1;
logicPortUIName[67] = "In60";
logicPortType[68] = 1;
logicPortPos[68] = "5 0 0";
logicPortDir[68] = 1;
logicPortUIName[68] = "In61";
logicPortType[69] = 1;
logicPortPos[69] = "3 0 0";
logicPortDir[69] = 1;
logicPortUIName[69] = "In62";
logicPortType[70] = 1;
logicPortPos[70] = "1 0 0";
logicPortDir[70] = 1;
logicPortUIName[70] = "In63";
logicPortType[71] = 1;
logicPortPos[71] = "-1 0 0";
logicPortDir[71] = 1;
logicPortUIName[71] = "In64";
logicPortType[72] = 1;
logicPortPos[72] = "-3 0 0";
logicPortDir[72] = 1;
logicPortUIName[72] = "In65";
logicPortType[73] = 1;
logicPortPos[73] = "-5 0 0";
logicPortDir[73] = 1;
logicPortUIName[73] = "In66";
logicPortType[74] = 1;
logicPortPos[74] = "-7 0 0";
logicPortDir[74] = 1;
logicPortUIName[74] = "In67";
logicPortType[75] = 1;
logicPortPos[75] = "-9 0 0";
logicPortDir[75] = 1;
logicPortUIName[75] = "In68";
logicPortType[76] = 1;
logicPortPos[76] = "-11 0 0";
logicPortDir[76] = 1;
logicPortUIName[76] = "In69";
logicPortType[77] = 1;
logicPortPos[77] = "-13 0 0";
logicPortDir[77] = 1;
logicPortUIName[77] = "In70";
logicPortType[78] = 1;
logicPortPos[78] = "-15 0 0";
logicPortDir[78] = 1;
logicPortUIName[78] = "In71";
logicPortType[79] = 1;
logicPortPos[79] = "-17 0 0";
logicPortDir[79] = 1;
logicPortUIName[79] = "In72";
logicPortType[80] = 1;
logicPortPos[80] = "-19 0 0";
logicPortDir[80] = 1;
logicPortUIName[80] = "In73";
logicPortType[81] = 1;
logicPortPos[81] = "-21 0 0";
logicPortDir[81] = 1;
logicPortUIName[81] = "In74";
logicPortType[82] = 1;
logicPortPos[82] = "-23 0 0";
logicPortDir[82] = 1;
logicPortUIName[82] = "In75";
logicPortType[83] = 1;
logicPortPos[83] = "-25 0 0";
logicPortDir[83] = 1;
logicPortUIName[83] = "In76";
logicPortType[84] = 1;
logicPortPos[84] = "-27 0 0";
logicPortDir[84] = 1;
logicPortUIName[84] = "In77";
logicPortType[85] = 1;
logicPortPos[85] = "-29 0 0";
logicPortDir[85] = 1;
logicPortUIName[85] = "In78";
logicPortType[86] = 1;
logicPortPos[86] = "-31 0 0";
logicPortDir[86] = 1;
logicPortUIName[86] = "In79";
logicPortType[87] = 1;
logicPortPos[87] = "-33 0 0";
logicPortDir[87] = 1;
logicPortUIName[87] = "In80";
logicPortType[88] = 1;
logicPortPos[88] = "-35 0 0";
logicPortDir[88] = 1;
logicPortUIName[88] = "In81";
logicPortType[89] = 1;
logicPortPos[89] = "-37 0 0";
logicPortDir[89] = 1;
logicPortUIName[89] = "In82";
logicPortType[90] = 1;
logicPortPos[90] = "-39 0 0";
logicPortDir[90] = 1;
logicPortUIName[90] = "In83";
logicPortType[91] = 1;
logicPortPos[91] = "-41 0 0";
logicPortDir[91] = 1;
logicPortUIName[91] = "In84";
logicPortType[92] = 1;
logicPortPos[92] = "-43 0 0";
logicPortDir[92] = 1;
logicPortUIName[92] = "In85";
logicPortType[93] = 1;
logicPortPos[93] = "-45 0 0";
logicPortDir[93] = 1;
logicPortUIName[93] = "In86";
logicPortType[94] = 1;
logicPortPos[94] = "-47 0 0";
logicPortDir[94] = 1;
logicPortUIName[94] = "In87";
logicPortType[95] = 1;
logicPortPos[95] = "-49 0 0";
logicPortDir[95] = 1;
logicPortUIName[95] = "In88";
logicPortType[96] = 1;
logicPortPos[96] = "-51 0 0";
logicPortDir[96] = 1;
logicPortUIName[96] = "In89";
logicPortType[97] = 1;
logicPortPos[97] = "-53 0 0";
logicPortDir[97] = 1;
logicPortUIName[97] = "In90";
logicPortType[98] = 1;
logicPortPos[98] = "-55 0 0";
logicPortDir[98] = 1;
logicPortUIName[98] = "In91";
logicPortType[99] = 1;
logicPortPos[99] = "-57 0 0";
logicPortDir[99] = 1;
logicPortUIName[99] = "In92";
logicPortType[100] = 1;
logicPortPos[100] = "-59 0 0";
logicPortDir[100] = 1;
logicPortUIName[100] = "In93";
logicPortType[101] = 1;
logicPortPos[101] = "-61 0 0";
logicPortDir[101] = 1;
logicPortUIName[101] = "In94";
logicPortType[102] = 1;
logicPortPos[102] = "-63 0 0";
logicPortDir[102] = 1;
logicPortUIName[102] = "In95";
logicPortType[103] = 1;
logicPortPos[103] = "-65 0 0";
logicPortDir[103] = 1;
logicPortUIName[103] = "In96";
logicPortType[104] = 1;
logicPortPos[104] = "-67 0 0";
logicPortDir[104] = 1;
logicPortUIName[104] = "In97";
logicPortType[105] = 1;
logicPortPos[105] = "-69 0 0";
logicPortDir[105] = 1;
logicPortUIName[105] = "In98";
logicPortType[106] = 1;
logicPortPos[106] = "-71 0 0";
logicPortDir[106] = 1;
logicPortUIName[106] = "In99";
logicPortType[107] = 1;
logicPortPos[107] = "-73 0 0";
logicPortDir[107] = 1;
logicPortUIName[107] = "In100";
logicPortType[108] = 1;
logicPortPos[108] = "-75 0 0";
logicPortDir[108] = 1;
logicPortUIName[108] = "In101";
logicPortType[109] = 1;
logicPortPos[109] = "-77 0 0";
logicPortDir[109] = 1;
logicPortUIName[109] = "In102";
logicPortType[110] = 1;
logicPortPos[110] = "-79 0 0";
logicPortDir[110] = 1;
logicPortUIName[110] = "In103";
logicPortType[111] = 1;
logicPortPos[111] = "-81 0 0";
logicPortDir[111] = 1;
logicPortUIName[111] = "In104";
logicPortType[112] = 1;
logicPortPos[112] = "-83 0 0";
logicPortDir[112] = 1;
logicPortUIName[112] = "In105";
logicPortType[113] = 1;
logicPortPos[113] = "-85 0 0";
logicPortDir[113] = 1;
logicPortUIName[113] = "In106";
logicPortType[114] = 1;
logicPortPos[114] = "-87 0 0";
logicPortDir[114] = 1;
logicPortUIName[114] = "In107";
logicPortType[115] = 1;
logicPortPos[115] = "-89 0 0";
logicPortDir[115] = 1;
logicPortUIName[115] = "In108";
logicPortType[116] = 1;
logicPortPos[116] = "-91 0 0";
logicPortDir[116] = 1;
logicPortUIName[116] = "In109";
logicPortType[117] = 1;
logicPortPos[117] = "-93 0 0";
logicPortDir[117] = 1;
logicPortUIName[117] = "In110";
logicPortType[118] = 1;
logicPortPos[118] = "-95 0 0";
logicPortDir[118] = 1;
logicPortUIName[118] = "In111";
logicPortType[119] = 1;
logicPortPos[119] = "-97 0 0";
logicPortDir[119] = 1;
logicPortUIName[119] = "In112";
logicPortType[120] = 1;
logicPortPos[120] = "-99 0 0";
logicPortDir[120] = 1;
logicPortUIName[120] = "In113";
logicPortType[121] = 1;
logicPortPos[121] = "-101 0 0";
logicPortDir[121] = 1;
logicPortUIName[121] = "In114";
logicPortType[122] = 1;
logicPortPos[122] = "-103 0 0";
logicPortDir[122] = 1;
logicPortUIName[122] = "In115";
logicPortType[123] = 1;
logicPortPos[123] = "-105 0 0";
logicPortDir[123] = 1;
logicPortUIName[123] = "In116";
logicPortType[124] = 1;
logicPortPos[124] = "-107 0 0";
logicPortDir[124] = 1;
logicPortUIName[124] = "In117";
logicPortType[125] = 1;
logicPortPos[125] = "-109 0 0";
logicPortDir[125] = 1;
logicPortUIName[125] = "In118";
logicPortType[126] = 1;
logicPortPos[126] = "-111 0 0";
logicPortDir[126] = 1;
logicPortUIName[126] = "In119";
logicPortType[127] = 1;
logicPortPos[127] = "-113 0 0";
logicPortDir[127] = 1;
logicPortUIName[127] = "In120";
logicPortType[128] = 1;
logicPortPos[128] = "-115 0 0";
logicPortDir[128] = 1;
logicPortUIName[128] = "In121";
logicPortType[129] = 1;
logicPortPos[129] = "-117 0 0";
logicPortDir[129] = 1;
logicPortUIName[129] = "In122";
logicPortType[130] = 1;
logicPortPos[130] = "-119 0 0";
logicPortDir[130] = 1;
logicPortUIName[130] = "In123";
logicPortType[131] = 1;
logicPortPos[131] = "-121 0 0";
logicPortDir[131] = 1;
logicPortUIName[131] = "In124";
logicPortType[132] = 1;
logicPortPos[132] = "-123 0 0";
logicPortDir[132] = 1;
logicPortUIName[132] = "In125";
logicPortType[133] = 1;
logicPortPos[133] = "-125 0 0";
logicPortDir[133] = 1;
logicPortUIName[133] = "In126";
logicPortType[134] = 1;
logicPortPos[134] = "-127 0 0";
logicPortDir[134] = 1;
logicPortUIName[134] = "In127";
logicPortType[135] = 1;
logicPortPos[135] = "127 0 0";
logicPortDir[135] = 2;
logicPortUIName[135] = "Enable";
logicPortCauseUpdate[135] = true;
logicPortType[136] = 0;
logicPortPos[136] = "-127 0 0";
logicPortDir[136] = 0;
logicPortUIName[136] = "Out";
};

File diff suppressed because it is too large Load Diff

View File

@ -24,6 +24,7 @@ datablock fxDtsBrickData(LogicGate_Rom16x16x1_Data){
" gate.romdata = {} " @
" for i = 0, 255 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
@ -32,7 +33,9 @@ datablock fxDtsBrickData(LogicGate_Rom16x16x1_Data){
" 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 " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"

View File

@ -24,6 +24,7 @@ datablock fxDtsBrickData(LogicGate_Rom16x16x16_Data){
" gate.romdata = {} " @
" for i = 0, 4095 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
@ -32,7 +33,9 @@ datablock fxDtsBrickData(LogicGate_Rom16x16x16_Data){
" 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 " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"

View File

@ -24,6 +24,7 @@ datablock fxDtsBrickData(LogicGate_Rom16x16x4_Data){
" gate.romdata = {} " @
" for i = 0, 1023 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
@ -32,7 +33,9 @@ datablock fxDtsBrickData(LogicGate_Rom16x16x4_Data){
" 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 " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"

View File

@ -24,6 +24,7 @@ datablock fxDtsBrickData(LogicGate_Rom16x16x8_Data){
" gate.romdata = {} " @
" for i = 0, 2047 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
@ -32,7 +33,9 @@ datablock fxDtsBrickData(LogicGate_Rom16x16x8_Data){
" 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 " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"

View File

@ -24,6 +24,7 @@ datablock fxDtsBrickData(LogicGate_Rom16x4x16_Data){
" gate.romdata = {} " @
" for i = 0, 1023 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
@ -32,7 +33,9 @@ datablock fxDtsBrickData(LogicGate_Rom16x4x16_Data){
" 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 " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"

View File

@ -0,0 +1,127 @@
datablock fxDtsBrickData(LogicGate_Rom32x16x1_Data){
brickFile = $LuaLogic::Path @ "bricks/gen/newbricks/ROM 32x16.blb";
iconName = $LuaLogic::Path @ "bricks/gen/newicons/ROM 32x16";
category = "Logic Bricks";
subCategory = "ROM";
uiName = "ROM 32x16";
logicUIName = "ROM 32x16";
logicUIDesc = "";
hasPrint = 1;
printAspectRatio = "Logic";
logicBrickSize = "32 16 1";
orientationFix = 3;
isLogic = true;
isLogicGate = true;
isLogicInput = false;
logicInit =
"return function(gate) " @
" gate.romdata = {} " @
" for i = 0, 511 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
logicInput =
"return function(gate, args) " @
" local data = args[1] " @
" for i = 1, #data do " @
" local c = data:sub(i, i) " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"
;
logicUpdate =
"return function(gate) " @
" if Gate.getportstate(gate, 11)~=0 then " @
" Gate.setportstate(gate, 10, gate.romdata[( " @
" (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) " @
" + (Gate.getportstate(gate, 9) * 256) " @
" )]) " @
" else " @
" Gate.setportstate(gate, 10, 0) " @
" end " @
"end"
;
logicGlobal = "";
numLogicPorts = 11;
isLogicRom = true;
logicRomY = 16;
logicRomZ = 1;
logicRomX = 32;
logicPortType[0] = 1;
logicPortPos[0] = "31 -15 0";
logicPortDir[0] = 3;
logicPortUIName[0] = "A0";
logicPortType[1] = 1;
logicPortPos[1] = "29 -15 0";
logicPortDir[1] = 3;
logicPortUIName[1] = "A1";
logicPortType[2] = 1;
logicPortPos[2] = "27 -15 0";
logicPortDir[2] = 3;
logicPortUIName[2] = "A2";
logicPortType[3] = 1;
logicPortPos[3] = "25 -15 0";
logicPortDir[3] = 3;
logicPortUIName[3] = "A3";
logicPortType[4] = 1;
logicPortPos[4] = "23 -15 0";
logicPortDir[4] = 3;
logicPortUIName[4] = "A4";
logicPortType[5] = 1;
logicPortPos[5] = "21 -15 0";
logicPortDir[5] = 3;
logicPortUIName[5] = "A5";
logicPortType[6] = 1;
logicPortPos[6] = "19 -15 0";
logicPortDir[6] = 3;
logicPortUIName[6] = "A6";
logicPortType[7] = 1;
logicPortPos[7] = "17 -15 0";
logicPortDir[7] = 3;
logicPortUIName[7] = "A7";
logicPortType[8] = 1;
logicPortPos[8] = "15 -15 0";
logicPortDir[8] = 3;
logicPortUIName[8] = "A8";
logicPortType[9] = 0;
logicPortPos[9] = "31 15 0";
logicPortDir[9] = 1;
logicPortUIName[9] = "O0";
logicPortType[10] = 1;
logicPortPos[10] = "31 -15 0";
logicPortDir[10] = 2;
logicPortUIName[10] = "Clock";
logicPortCauseUpdate[10] = true;
};

View File

@ -0,0 +1,207 @@
datablock fxDtsBrickData(LogicGate_Rom32x16x16_Data){
brickFile = $LuaLogic::Path @ "bricks/gen/newbricks/ROM 32x16x16.blb";
iconName = $LuaLogic::Path @ "bricks/gen/newicons/ROM 32x16x16";
category = "Logic Bricks";
subCategory = "ROM";
uiName = "ROM 32x16x16";
logicUIName = "ROM 32x16x16";
logicUIDesc = "";
hasPrint = 1;
printAspectRatio = "Logic";
logicBrickSize = "32 16 1";
orientationFix = 3;
isLogic = true;
isLogicGate = true;
isLogicInput = false;
logicInit =
"return function(gate) " @
" gate.romdata = {} " @
" for i = 0, 8191 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
logicInput =
"return function(gate, args) " @
" local data = args[1] " @
" for i = 1, #data do " @
" local c = data:sub(i, i) " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"
;
logicUpdate =
"return function(gate) " @
" if Gate.getportstate(gate, 26)~=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) " @
" + (Gate.getportstate(gate, 9) * 256) " @
" ) " @
" for i = 0, 15 do " @
" Gate.setportstate(gate, 10+i, gate.romdata[addr+512*i]) " @
" end " @
" else " @
" for i = 10, 25 do " @
" Gate.setportstate(gate, i, 0) " @
" end " @
" end " @
"end"
;
logicGlobal = "";
numLogicPorts = 26;
isLogicRom = true;
logicRomY = 16;
logicRomZ = 16;
logicRomX = 32;
logicPortType[0] = 1;
logicPortPos[0] = "31 -15 0";
logicPortDir[0] = 3;
logicPortUIName[0] = "A0";
logicPortType[1] = 1;
logicPortPos[1] = "29 -15 0";
logicPortDir[1] = 3;
logicPortUIName[1] = "A1";
logicPortType[2] = 1;
logicPortPos[2] = "27 -15 0";
logicPortDir[2] = 3;
logicPortUIName[2] = "A2";
logicPortType[3] = 1;
logicPortPos[3] = "25 -15 0";
logicPortDir[3] = 3;
logicPortUIName[3] = "A3";
logicPortType[4] = 1;
logicPortPos[4] = "23 -15 0";
logicPortDir[4] = 3;
logicPortUIName[4] = "A4";
logicPortType[5] = 1;
logicPortPos[5] = "21 -15 0";
logicPortDir[5] = 3;
logicPortUIName[5] = "A5";
logicPortType[6] = 1;
logicPortPos[6] = "19 -15 0";
logicPortDir[6] = 3;
logicPortUIName[6] = "A6";
logicPortType[7] = 1;
logicPortPos[7] = "17 -15 0";
logicPortDir[7] = 3;
logicPortUIName[7] = "A7";
logicPortType[8] = 1;
logicPortPos[8] = "15 -15 0";
logicPortDir[8] = 3;
logicPortUIName[8] = "A8";
logicPortType[9] = 0;
logicPortPos[9] = "31 15 0";
logicPortDir[9] = 1;
logicPortUIName[9] = "O0";
logicPortType[10] = 0;
logicPortPos[10] = "29 15 0";
logicPortDir[10] = 1;
logicPortUIName[10] = "O1";
logicPortType[11] = 0;
logicPortPos[11] = "27 15 0";
logicPortDir[11] = 1;
logicPortUIName[11] = "O2";
logicPortType[12] = 0;
logicPortPos[12] = "25 15 0";
logicPortDir[12] = 1;
logicPortUIName[12] = "O3";
logicPortType[13] = 0;
logicPortPos[13] = "23 15 0";
logicPortDir[13] = 1;
logicPortUIName[13] = "O4";
logicPortType[14] = 0;
logicPortPos[14] = "21 15 0";
logicPortDir[14] = 1;
logicPortUIName[14] = "O5";
logicPortType[15] = 0;
logicPortPos[15] = "19 15 0";
logicPortDir[15] = 1;
logicPortUIName[15] = "O6";
logicPortType[16] = 0;
logicPortPos[16] = "17 15 0";
logicPortDir[16] = 1;
logicPortUIName[16] = "O7";
logicPortType[17] = 0;
logicPortPos[17] = "15 15 0";
logicPortDir[17] = 1;
logicPortUIName[17] = "O8";
logicPortType[18] = 0;
logicPortPos[18] = "13 15 0";
logicPortDir[18] = 1;
logicPortUIName[18] = "O9";
logicPortType[19] = 0;
logicPortPos[19] = "11 15 0";
logicPortDir[19] = 1;
logicPortUIName[19] = "O10";
logicPortType[20] = 0;
logicPortPos[20] = "9 15 0";
logicPortDir[20] = 1;
logicPortUIName[20] = "O11";
logicPortType[21] = 0;
logicPortPos[21] = "7 15 0";
logicPortDir[21] = 1;
logicPortUIName[21] = "O12";
logicPortType[22] = 0;
logicPortPos[22] = "5 15 0";
logicPortDir[22] = 1;
logicPortUIName[22] = "O13";
logicPortType[23] = 0;
logicPortPos[23] = "3 15 0";
logicPortDir[23] = 1;
logicPortUIName[23] = "O14";
logicPortType[24] = 0;
logicPortPos[24] = "1 15 0";
logicPortDir[24] = 1;
logicPortUIName[24] = "O15";
logicPortType[25] = 1;
logicPortPos[25] = "31 -15 0";
logicPortDir[25] = 2;
logicPortUIName[25] = "Clock";
logicPortCauseUpdate[25] = true;
};

View File

@ -0,0 +1,287 @@
datablock fxDtsBrickData(LogicGate_Rom32x16x32_Data){
brickFile = $LuaLogic::Path @ "bricks/gen/newbricks/ROM 32x16x32.blb";
iconName = $LuaLogic::Path @ "bricks/gen/newicons/ROM 32x16x32";
category = "Logic Bricks";
subCategory = "ROM";
uiName = "ROM 32x16x32";
logicUIName = "ROM 32x16x32";
logicUIDesc = "";
hasPrint = 1;
printAspectRatio = "Logic";
logicBrickSize = "32 16 1";
orientationFix = 3;
isLogic = true;
isLogicGate = true;
isLogicInput = false;
logicInit =
"return function(gate) " @
" gate.romdata = {} " @
" for i = 0, 16383 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
logicInput =
"return function(gate, args) " @
" local data = args[1] " @
" for i = 1, #data do " @
" local c = data:sub(i, i) " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"
;
logicUpdate =
"return function(gate) " @
" if Gate.getportstate(gate, 42)~=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) " @
" + (Gate.getportstate(gate, 9) * 256) " @
" ) " @
" for i = 0, 31 do " @
" Gate.setportstate(gate, 10+i, gate.romdata[addr+512*i]) " @
" end " @
" else " @
" for i = 10, 41 do " @
" Gate.setportstate(gate, i, 0) " @
" end " @
" end " @
"end"
;
logicGlobal = "";
numLogicPorts = 42;
isLogicRom = true;
logicRomY = 16;
logicRomZ = 32;
logicRomX = 32;
logicPortType[0] = 1;
logicPortPos[0] = "31 -15 0";
logicPortDir[0] = 3;
logicPortUIName[0] = "A0";
logicPortType[1] = 1;
logicPortPos[1] = "29 -15 0";
logicPortDir[1] = 3;
logicPortUIName[1] = "A1";
logicPortType[2] = 1;
logicPortPos[2] = "27 -15 0";
logicPortDir[2] = 3;
logicPortUIName[2] = "A2";
logicPortType[3] = 1;
logicPortPos[3] = "25 -15 0";
logicPortDir[3] = 3;
logicPortUIName[3] = "A3";
logicPortType[4] = 1;
logicPortPos[4] = "23 -15 0";
logicPortDir[4] = 3;
logicPortUIName[4] = "A4";
logicPortType[5] = 1;
logicPortPos[5] = "21 -15 0";
logicPortDir[5] = 3;
logicPortUIName[5] = "A5";
logicPortType[6] = 1;
logicPortPos[6] = "19 -15 0";
logicPortDir[6] = 3;
logicPortUIName[6] = "A6";
logicPortType[7] = 1;
logicPortPos[7] = "17 -15 0";
logicPortDir[7] = 3;
logicPortUIName[7] = "A7";
logicPortType[8] = 1;
logicPortPos[8] = "15 -15 0";
logicPortDir[8] = 3;
logicPortUIName[8] = "A8";
logicPortType[9] = 0;
logicPortPos[9] = "31 15 0";
logicPortDir[9] = 1;
logicPortUIName[9] = "O0";
logicPortType[10] = 0;
logicPortPos[10] = "29 15 0";
logicPortDir[10] = 1;
logicPortUIName[10] = "O1";
logicPortType[11] = 0;
logicPortPos[11] = "27 15 0";
logicPortDir[11] = 1;
logicPortUIName[11] = "O2";
logicPortType[12] = 0;
logicPortPos[12] = "25 15 0";
logicPortDir[12] = 1;
logicPortUIName[12] = "O3";
logicPortType[13] = 0;
logicPortPos[13] = "23 15 0";
logicPortDir[13] = 1;
logicPortUIName[13] = "O4";
logicPortType[14] = 0;
logicPortPos[14] = "21 15 0";
logicPortDir[14] = 1;
logicPortUIName[14] = "O5";
logicPortType[15] = 0;
logicPortPos[15] = "19 15 0";
logicPortDir[15] = 1;
logicPortUIName[15] = "O6";
logicPortType[16] = 0;
logicPortPos[16] = "17 15 0";
logicPortDir[16] = 1;
logicPortUIName[16] = "O7";
logicPortType[17] = 0;
logicPortPos[17] = "15 15 0";
logicPortDir[17] = 1;
logicPortUIName[17] = "O8";
logicPortType[18] = 0;
logicPortPos[18] = "13 15 0";
logicPortDir[18] = 1;
logicPortUIName[18] = "O9";
logicPortType[19] = 0;
logicPortPos[19] = "11 15 0";
logicPortDir[19] = 1;
logicPortUIName[19] = "O10";
logicPortType[20] = 0;
logicPortPos[20] = "9 15 0";
logicPortDir[20] = 1;
logicPortUIName[20] = "O11";
logicPortType[21] = 0;
logicPortPos[21] = "7 15 0";
logicPortDir[21] = 1;
logicPortUIName[21] = "O12";
logicPortType[22] = 0;
logicPortPos[22] = "5 15 0";
logicPortDir[22] = 1;
logicPortUIName[22] = "O13";
logicPortType[23] = 0;
logicPortPos[23] = "3 15 0";
logicPortDir[23] = 1;
logicPortUIName[23] = "O14";
logicPortType[24] = 0;
logicPortPos[24] = "1 15 0";
logicPortDir[24] = 1;
logicPortUIName[24] = "O15";
logicPortType[25] = 0;
logicPortPos[25] = "-1 15 0";
logicPortDir[25] = 1;
logicPortUIName[25] = "O16";
logicPortType[26] = 0;
logicPortPos[26] = "-3 15 0";
logicPortDir[26] = 1;
logicPortUIName[26] = "O17";
logicPortType[27] = 0;
logicPortPos[27] = "-5 15 0";
logicPortDir[27] = 1;
logicPortUIName[27] = "O18";
logicPortType[28] = 0;
logicPortPos[28] = "-7 15 0";
logicPortDir[28] = 1;
logicPortUIName[28] = "O19";
logicPortType[29] = 0;
logicPortPos[29] = "-9 15 0";
logicPortDir[29] = 1;
logicPortUIName[29] = "O20";
logicPortType[30] = 0;
logicPortPos[30] = "-11 15 0";
logicPortDir[30] = 1;
logicPortUIName[30] = "O21";
logicPortType[31] = 0;
logicPortPos[31] = "-13 15 0";
logicPortDir[31] = 1;
logicPortUIName[31] = "O22";
logicPortType[32] = 0;
logicPortPos[32] = "-15 15 0";
logicPortDir[32] = 1;
logicPortUIName[32] = "O23";
logicPortType[33] = 0;
logicPortPos[33] = "-17 15 0";
logicPortDir[33] = 1;
logicPortUIName[33] = "O24";
logicPortType[34] = 0;
logicPortPos[34] = "-19 15 0";
logicPortDir[34] = 1;
logicPortUIName[34] = "O25";
logicPortType[35] = 0;
logicPortPos[35] = "-21 15 0";
logicPortDir[35] = 1;
logicPortUIName[35] = "O26";
logicPortType[36] = 0;
logicPortPos[36] = "-23 15 0";
logicPortDir[36] = 1;
logicPortUIName[36] = "O27";
logicPortType[37] = 0;
logicPortPos[37] = "-25 15 0";
logicPortDir[37] = 1;
logicPortUIName[37] = "O28";
logicPortType[38] = 0;
logicPortPos[38] = "-27 15 0";
logicPortDir[38] = 1;
logicPortUIName[38] = "O29";
logicPortType[39] = 0;
logicPortPos[39] = "-29 15 0";
logicPortDir[39] = 1;
logicPortUIName[39] = "O30";
logicPortType[40] = 0;
logicPortPos[40] = "-31 15 0";
logicPortDir[40] = 1;
logicPortUIName[40] = "O31";
logicPortType[41] = 1;
logicPortPos[41] = "31 -15 0";
logicPortDir[41] = 2;
logicPortUIName[41] = "Clock";
logicPortCauseUpdate[41] = true;
};

View File

@ -0,0 +1,147 @@
datablock fxDtsBrickData(LogicGate_Rom32x16x4_Data){
brickFile = $LuaLogic::Path @ "bricks/gen/newbricks/ROM 32x16x4.blb";
iconName = $LuaLogic::Path @ "bricks/gen/newicons/ROM 32x16x4";
category = "Logic Bricks";
subCategory = "ROM";
uiName = "ROM 32x16x4";
logicUIName = "ROM 32x16x4";
logicUIDesc = "";
hasPrint = 1;
printAspectRatio = "Logic";
logicBrickSize = "32 16 1";
orientationFix = 3;
isLogic = true;
isLogicGate = true;
isLogicInput = false;
logicInit =
"return function(gate) " @
" gate.romdata = {} " @
" for i = 0, 2047 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
logicInput =
"return function(gate, args) " @
" local data = args[1] " @
" for i = 1, #data do " @
" local c = data:sub(i, i) " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"
;
logicUpdate =
"return function(gate) " @
" if Gate.getportstate(gate, 14)~=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) " @
" + (Gate.getportstate(gate, 9) * 256) " @
" ) " @
" for i = 0, 3 do " @
" Gate.setportstate(gate, 10+i, gate.romdata[addr+512*i]) " @
" end " @
" else " @
" for i = 10, 13 do " @
" Gate.setportstate(gate, i, 0) " @
" end " @
" end " @
"end"
;
logicGlobal = "";
numLogicPorts = 14;
isLogicRom = true;
logicRomY = 16;
logicRomZ = 4;
logicRomX = 32;
logicPortType[0] = 1;
logicPortPos[0] = "31 -15 0";
logicPortDir[0] = 3;
logicPortUIName[0] = "A0";
logicPortType[1] = 1;
logicPortPos[1] = "29 -15 0";
logicPortDir[1] = 3;
logicPortUIName[1] = "A1";
logicPortType[2] = 1;
logicPortPos[2] = "27 -15 0";
logicPortDir[2] = 3;
logicPortUIName[2] = "A2";
logicPortType[3] = 1;
logicPortPos[3] = "25 -15 0";
logicPortDir[3] = 3;
logicPortUIName[3] = "A3";
logicPortType[4] = 1;
logicPortPos[4] = "23 -15 0";
logicPortDir[4] = 3;
logicPortUIName[4] = "A4";
logicPortType[5] = 1;
logicPortPos[5] = "21 -15 0";
logicPortDir[5] = 3;
logicPortUIName[5] = "A5";
logicPortType[6] = 1;
logicPortPos[6] = "19 -15 0";
logicPortDir[6] = 3;
logicPortUIName[6] = "A6";
logicPortType[7] = 1;
logicPortPos[7] = "17 -15 0";
logicPortDir[7] = 3;
logicPortUIName[7] = "A7";
logicPortType[8] = 1;
logicPortPos[8] = "15 -15 0";
logicPortDir[8] = 3;
logicPortUIName[8] = "A8";
logicPortType[9] = 0;
logicPortPos[9] = "31 15 0";
logicPortDir[9] = 1;
logicPortUIName[9] = "O0";
logicPortType[10] = 0;
logicPortPos[10] = "29 15 0";
logicPortDir[10] = 1;
logicPortUIName[10] = "O1";
logicPortType[11] = 0;
logicPortPos[11] = "27 15 0";
logicPortDir[11] = 1;
logicPortUIName[11] = "O2";
logicPortType[12] = 0;
logicPortPos[12] = "25 15 0";
logicPortDir[12] = 1;
logicPortUIName[12] = "O3";
logicPortType[13] = 1;
logicPortPos[13] = "31 -15 0";
logicPortDir[13] = 2;
logicPortUIName[13] = "Clock";
logicPortCauseUpdate[13] = true;
};

View File

@ -0,0 +1,167 @@
datablock fxDtsBrickData(LogicGate_Rom32x16x8_Data){
brickFile = $LuaLogic::Path @ "bricks/gen/newbricks/ROM 32x16x8.blb";
iconName = $LuaLogic::Path @ "bricks/gen/newicons/ROM 32x16x8";
category = "Logic Bricks";
subCategory = "ROM";
uiName = "ROM 32x16x8";
logicUIName = "ROM 32x16x8";
logicUIDesc = "";
hasPrint = 1;
printAspectRatio = "Logic";
logicBrickSize = "32 16 1";
orientationFix = 3;
isLogic = true;
isLogicGate = true;
isLogicInput = false;
logicInit =
"return function(gate) " @
" gate.romdata = {} " @
" for i = 0, 4095 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
logicInput =
"return function(gate, args) " @
" local data = args[1] " @
" for i = 1, #data do " @
" local c = data:sub(i, i) " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"
;
logicUpdate =
"return function(gate) " @
" if Gate.getportstate(gate, 18)~=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) " @
" + (Gate.getportstate(gate, 9) * 256) " @
" ) " @
" for i = 0, 7 do " @
" Gate.setportstate(gate, 10+i, gate.romdata[addr+512*i]) " @
" end " @
" else " @
" for i = 10, 17 do " @
" Gate.setportstate(gate, i, 0) " @
" end " @
" end " @
"end"
;
logicGlobal = "";
numLogicPorts = 18;
isLogicRom = true;
logicRomY = 16;
logicRomZ = 8;
logicRomX = 32;
logicPortType[0] = 1;
logicPortPos[0] = "31 -15 0";
logicPortDir[0] = 3;
logicPortUIName[0] = "A0";
logicPortType[1] = 1;
logicPortPos[1] = "29 -15 0";
logicPortDir[1] = 3;
logicPortUIName[1] = "A1";
logicPortType[2] = 1;
logicPortPos[2] = "27 -15 0";
logicPortDir[2] = 3;
logicPortUIName[2] = "A2";
logicPortType[3] = 1;
logicPortPos[3] = "25 -15 0";
logicPortDir[3] = 3;
logicPortUIName[3] = "A3";
logicPortType[4] = 1;
logicPortPos[4] = "23 -15 0";
logicPortDir[4] = 3;
logicPortUIName[4] = "A4";
logicPortType[5] = 1;
logicPortPos[5] = "21 -15 0";
logicPortDir[5] = 3;
logicPortUIName[5] = "A5";
logicPortType[6] = 1;
logicPortPos[6] = "19 -15 0";
logicPortDir[6] = 3;
logicPortUIName[6] = "A6";
logicPortType[7] = 1;
logicPortPos[7] = "17 -15 0";
logicPortDir[7] = 3;
logicPortUIName[7] = "A7";
logicPortType[8] = 1;
logicPortPos[8] = "15 -15 0";
logicPortDir[8] = 3;
logicPortUIName[8] = "A8";
logicPortType[9] = 0;
logicPortPos[9] = "31 15 0";
logicPortDir[9] = 1;
logicPortUIName[9] = "O0";
logicPortType[10] = 0;
logicPortPos[10] = "29 15 0";
logicPortDir[10] = 1;
logicPortUIName[10] = "O1";
logicPortType[11] = 0;
logicPortPos[11] = "27 15 0";
logicPortDir[11] = 1;
logicPortUIName[11] = "O2";
logicPortType[12] = 0;
logicPortPos[12] = "25 15 0";
logicPortDir[12] = 1;
logicPortUIName[12] = "O3";
logicPortType[13] = 0;
logicPortPos[13] = "23 15 0";
logicPortDir[13] = 1;
logicPortUIName[13] = "O4";
logicPortType[14] = 0;
logicPortPos[14] = "21 15 0";
logicPortDir[14] = 1;
logicPortUIName[14] = "O5";
logicPortType[15] = 0;
logicPortPos[15] = "19 15 0";
logicPortDir[15] = 1;
logicPortUIName[15] = "O6";
logicPortType[16] = 0;
logicPortPos[16] = "17 15 0";
logicPortDir[16] = 1;
logicPortUIName[16] = "O7";
logicPortType[17] = 1;
logicPortPos[17] = "31 -15 0";
logicPortDir[17] = 2;
logicPortUIName[17] = "Clock";
logicPortCauseUpdate[17] = true;
};

View File

@ -24,6 +24,7 @@ datablock fxDtsBrickData(LogicGate_Rom32x2x32_Data){
" gate.romdata = {} " @
" for i = 0, 2047 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
@ -32,7 +33,9 @@ datablock fxDtsBrickData(LogicGate_Rom32x2x32_Data){
" 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 " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"

View File

@ -24,6 +24,7 @@ datablock fxDtsBrickData(LogicGate_Rom32x32x16_Data){
" gate.romdata = {} " @
" for i = 0, 16383 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
@ -32,7 +33,9 @@ datablock fxDtsBrickData(LogicGate_Rom32x32x16_Data){
" 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 " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"

View File

@ -24,6 +24,7 @@ datablock fxDtsBrickData(LogicGate_Rom32x32x32_Data){
" gate.romdata = {} " @
" for i = 0, 32767 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
@ -32,7 +33,9 @@ datablock fxDtsBrickData(LogicGate_Rom32x32x32_Data){
" 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 " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"

View File

@ -24,6 +24,7 @@ datablock fxDtsBrickData(LogicGate_Rom32x32x8_Data){
" gate.romdata = {} " @
" for i = 0, 8191 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
@ -32,7 +33,9 @@ datablock fxDtsBrickData(LogicGate_Rom32x32x8_Data){
" 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 " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"

View File

@ -24,6 +24,7 @@ datablock fxDtsBrickData(LogicGate_Rom32x8x32_Data){
" gate.romdata = {} " @
" for i = 0, 8191 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
@ -32,7 +33,9 @@ datablock fxDtsBrickData(LogicGate_Rom32x8x32_Data){
" 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 " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"

View File

@ -24,6 +24,7 @@ datablock fxDtsBrickData(LogicGate_Rom4x4x1_Data){
" gate.romdata = {} " @
" for i = 0, 15 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
@ -32,7 +33,9 @@ datablock fxDtsBrickData(LogicGate_Rom4x4x1_Data){
" 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 " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"

View File

@ -24,6 +24,7 @@ datablock fxDtsBrickData(LogicGate_Rom4x4x4_Data){
" gate.romdata = {} " @
" for i = 0, 63 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
@ -32,7 +33,9 @@ datablock fxDtsBrickData(LogicGate_Rom4x4x4_Data){
" 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 " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"

View File

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

View File

@ -24,6 +24,7 @@ datablock fxDtsBrickData(LogicGate_Rom64x16x64_Data){
" gate.romdata = {} " @
" for i = 0, 65535 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
@ -32,7 +33,9 @@ datablock fxDtsBrickData(LogicGate_Rom64x16x64_Data){
" 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 " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"

View File

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

View File

@ -24,6 +24,7 @@ datablock fxDtsBrickData(LogicGate_Rom64x1x64_Data){
" gate.romdata = {} " @
" for i = 0, 4095 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
@ -32,7 +33,9 @@ datablock fxDtsBrickData(LogicGate_Rom64x1x64_Data){
" 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 " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"

View File

@ -0,0 +1,219 @@
datablock fxDtsBrickData(LogicGate_Rom64x32x16_Data){
brickFile = $LuaLogic::Path @ "bricks/gen/newbricks/ROM 64x32x16.blb";
iconName = $LuaLogic::Path @ "bricks/gen/newicons/ROM 64x32x16";
category = "Logic Bricks";
subCategory = "ROM";
uiName = "ROM 64x32x16";
logicUIName = "ROM 64x32x16";
logicUIDesc = "";
hasPrint = 1;
printAspectRatio = "Logic";
logicBrickSize = "64 32 1";
orientationFix = 3;
isLogic = true;
isLogicGate = true;
isLogicInput = false;
logicInit =
"return function(gate) " @
" gate.romdata = {} " @
" for i = 0, 32767 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
logicInput =
"return function(gate, args) " @
" local data = args[1] " @
" for i = 1, #data do " @
" local c = data:sub(i, i) " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"
;
logicUpdate =
"return function(gate) " @
" if Gate.getportstate(gate, 28)~=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) " @
" + (Gate.getportstate(gate, 9) * 256) " @
" + (Gate.getportstate(gate, 10) * 512) " @
" + (Gate.getportstate(gate, 11) * 1024) " @
" ) " @
" for i = 0, 15 do " @
" Gate.setportstate(gate, 12+i, gate.romdata[addr+2048*i]) " @
" end " @
" else " @
" for i = 12, 27 do " @
" Gate.setportstate(gate, i, 0) " @
" end " @
" end " @
"end"
;
logicGlobal = "";
numLogicPorts = 28;
isLogicRom = true;
logicRomY = 32;
logicRomZ = 16;
logicRomX = 64;
logicPortType[0] = 1;
logicPortPos[0] = "63 -31 0";
logicPortDir[0] = 3;
logicPortUIName[0] = "A0";
logicPortType[1] = 1;
logicPortPos[1] = "61 -31 0";
logicPortDir[1] = 3;
logicPortUIName[1] = "A1";
logicPortType[2] = 1;
logicPortPos[2] = "59 -31 0";
logicPortDir[2] = 3;
logicPortUIName[2] = "A2";
logicPortType[3] = 1;
logicPortPos[3] = "57 -31 0";
logicPortDir[3] = 3;
logicPortUIName[3] = "A3";
logicPortType[4] = 1;
logicPortPos[4] = "55 -31 0";
logicPortDir[4] = 3;
logicPortUIName[4] = "A4";
logicPortType[5] = 1;
logicPortPos[5] = "53 -31 0";
logicPortDir[5] = 3;
logicPortUIName[5] = "A5";
logicPortType[6] = 1;
logicPortPos[6] = "51 -31 0";
logicPortDir[6] = 3;
logicPortUIName[6] = "A6";
logicPortType[7] = 1;
logicPortPos[7] = "49 -31 0";
logicPortDir[7] = 3;
logicPortUIName[7] = "A7";
logicPortType[8] = 1;
logicPortPos[8] = "47 -31 0";
logicPortDir[8] = 3;
logicPortUIName[8] = "A8";
logicPortType[9] = 1;
logicPortPos[9] = "45 -31 0";
logicPortDir[9] = 3;
logicPortUIName[9] = "A9";
logicPortType[10] = 1;
logicPortPos[10] = "43 -31 0";
logicPortDir[10] = 3;
logicPortUIName[10] = "A10";
logicPortType[11] = 0;
logicPortPos[11] = "63 31 0";
logicPortDir[11] = 1;
logicPortUIName[11] = "O0";
logicPortType[12] = 0;
logicPortPos[12] = "61 31 0";
logicPortDir[12] = 1;
logicPortUIName[12] = "O1";
logicPortType[13] = 0;
logicPortPos[13] = "59 31 0";
logicPortDir[13] = 1;
logicPortUIName[13] = "O2";
logicPortType[14] = 0;
logicPortPos[14] = "57 31 0";
logicPortDir[14] = 1;
logicPortUIName[14] = "O3";
logicPortType[15] = 0;
logicPortPos[15] = "55 31 0";
logicPortDir[15] = 1;
logicPortUIName[15] = "O4";
logicPortType[16] = 0;
logicPortPos[16] = "53 31 0";
logicPortDir[16] = 1;
logicPortUIName[16] = "O5";
logicPortType[17] = 0;
logicPortPos[17] = "51 31 0";
logicPortDir[17] = 1;
logicPortUIName[17] = "O6";
logicPortType[18] = 0;
logicPortPos[18] = "49 31 0";
logicPortDir[18] = 1;
logicPortUIName[18] = "O7";
logicPortType[19] = 0;
logicPortPos[19] = "47 31 0";
logicPortDir[19] = 1;
logicPortUIName[19] = "O8";
logicPortType[20] = 0;
logicPortPos[20] = "45 31 0";
logicPortDir[20] = 1;
logicPortUIName[20] = "O9";
logicPortType[21] = 0;
logicPortPos[21] = "43 31 0";
logicPortDir[21] = 1;
logicPortUIName[21] = "O10";
logicPortType[22] = 0;
logicPortPos[22] = "41 31 0";
logicPortDir[22] = 1;
logicPortUIName[22] = "O11";
logicPortType[23] = 0;
logicPortPos[23] = "39 31 0";
logicPortDir[23] = 1;
logicPortUIName[23] = "O12";
logicPortType[24] = 0;
logicPortPos[24] = "37 31 0";
logicPortDir[24] = 1;
logicPortUIName[24] = "O13";
logicPortType[25] = 0;
logicPortPos[25] = "35 31 0";
logicPortDir[25] = 1;
logicPortUIName[25] = "O14";
logicPortType[26] = 0;
logicPortPos[26] = "33 31 0";
logicPortDir[26] = 1;
logicPortUIName[26] = "O15";
logicPortType[27] = 1;
logicPortPos[27] = "63 -31 0";
logicPortDir[27] = 2;
logicPortUIName[27] = "Clock";
logicPortCauseUpdate[27] = true;
};

View File

@ -0,0 +1,299 @@
datablock fxDtsBrickData(LogicGate_Rom64x32x32_Data){
brickFile = $LuaLogic::Path @ "bricks/gen/newbricks/ROM 64x32x32.blb";
iconName = $LuaLogic::Path @ "bricks/gen/newicons/ROM 64x32x32";
category = "Logic Bricks";
subCategory = "ROM";
uiName = "ROM 64x32x32";
logicUIName = "ROM 64x32x32";
logicUIDesc = "";
hasPrint = 1;
printAspectRatio = "Logic";
logicBrickSize = "64 32 1";
orientationFix = 3;
isLogic = true;
isLogicGate = true;
isLogicInput = false;
logicInit =
"return function(gate) " @
" gate.romdata = {} " @
" for i = 0, 65535 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
logicInput =
"return function(gate, args) " @
" local data = args[1] " @
" for i = 1, #data do " @
" local c = data:sub(i, i) " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"
;
logicUpdate =
"return function(gate) " @
" if Gate.getportstate(gate, 44)~=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) " @
" + (Gate.getportstate(gate, 9) * 256) " @
" + (Gate.getportstate(gate, 10) * 512) " @
" + (Gate.getportstate(gate, 11) * 1024) " @
" ) " @
" for i = 0, 31 do " @
" Gate.setportstate(gate, 12+i, gate.romdata[addr+2048*i]) " @
" end " @
" else " @
" for i = 12, 43 do " @
" Gate.setportstate(gate, i, 0) " @
" end " @
" end " @
"end"
;
logicGlobal = "";
numLogicPorts = 44;
isLogicRom = true;
logicRomY = 32;
logicRomZ = 32;
logicRomX = 64;
logicPortType[0] = 1;
logicPortPos[0] = "63 -31 0";
logicPortDir[0] = 3;
logicPortUIName[0] = "A0";
logicPortType[1] = 1;
logicPortPos[1] = "61 -31 0";
logicPortDir[1] = 3;
logicPortUIName[1] = "A1";
logicPortType[2] = 1;
logicPortPos[2] = "59 -31 0";
logicPortDir[2] = 3;
logicPortUIName[2] = "A2";
logicPortType[3] = 1;
logicPortPos[3] = "57 -31 0";
logicPortDir[3] = 3;
logicPortUIName[3] = "A3";
logicPortType[4] = 1;
logicPortPos[4] = "55 -31 0";
logicPortDir[4] = 3;
logicPortUIName[4] = "A4";
logicPortType[5] = 1;
logicPortPos[5] = "53 -31 0";
logicPortDir[5] = 3;
logicPortUIName[5] = "A5";
logicPortType[6] = 1;
logicPortPos[6] = "51 -31 0";
logicPortDir[6] = 3;
logicPortUIName[6] = "A6";
logicPortType[7] = 1;
logicPortPos[7] = "49 -31 0";
logicPortDir[7] = 3;
logicPortUIName[7] = "A7";
logicPortType[8] = 1;
logicPortPos[8] = "47 -31 0";
logicPortDir[8] = 3;
logicPortUIName[8] = "A8";
logicPortType[9] = 1;
logicPortPos[9] = "45 -31 0";
logicPortDir[9] = 3;
logicPortUIName[9] = "A9";
logicPortType[10] = 1;
logicPortPos[10] = "43 -31 0";
logicPortDir[10] = 3;
logicPortUIName[10] = "A10";
logicPortType[11] = 0;
logicPortPos[11] = "63 31 0";
logicPortDir[11] = 1;
logicPortUIName[11] = "O0";
logicPortType[12] = 0;
logicPortPos[12] = "61 31 0";
logicPortDir[12] = 1;
logicPortUIName[12] = "O1";
logicPortType[13] = 0;
logicPortPos[13] = "59 31 0";
logicPortDir[13] = 1;
logicPortUIName[13] = "O2";
logicPortType[14] = 0;
logicPortPos[14] = "57 31 0";
logicPortDir[14] = 1;
logicPortUIName[14] = "O3";
logicPortType[15] = 0;
logicPortPos[15] = "55 31 0";
logicPortDir[15] = 1;
logicPortUIName[15] = "O4";
logicPortType[16] = 0;
logicPortPos[16] = "53 31 0";
logicPortDir[16] = 1;
logicPortUIName[16] = "O5";
logicPortType[17] = 0;
logicPortPos[17] = "51 31 0";
logicPortDir[17] = 1;
logicPortUIName[17] = "O6";
logicPortType[18] = 0;
logicPortPos[18] = "49 31 0";
logicPortDir[18] = 1;
logicPortUIName[18] = "O7";
logicPortType[19] = 0;
logicPortPos[19] = "47 31 0";
logicPortDir[19] = 1;
logicPortUIName[19] = "O8";
logicPortType[20] = 0;
logicPortPos[20] = "45 31 0";
logicPortDir[20] = 1;
logicPortUIName[20] = "O9";
logicPortType[21] = 0;
logicPortPos[21] = "43 31 0";
logicPortDir[21] = 1;
logicPortUIName[21] = "O10";
logicPortType[22] = 0;
logicPortPos[22] = "41 31 0";
logicPortDir[22] = 1;
logicPortUIName[22] = "O11";
logicPortType[23] = 0;
logicPortPos[23] = "39 31 0";
logicPortDir[23] = 1;
logicPortUIName[23] = "O12";
logicPortType[24] = 0;
logicPortPos[24] = "37 31 0";
logicPortDir[24] = 1;
logicPortUIName[24] = "O13";
logicPortType[25] = 0;
logicPortPos[25] = "35 31 0";
logicPortDir[25] = 1;
logicPortUIName[25] = "O14";
logicPortType[26] = 0;
logicPortPos[26] = "33 31 0";
logicPortDir[26] = 1;
logicPortUIName[26] = "O15";
logicPortType[27] = 0;
logicPortPos[27] = "31 31 0";
logicPortDir[27] = 1;
logicPortUIName[27] = "O16";
logicPortType[28] = 0;
logicPortPos[28] = "29 31 0";
logicPortDir[28] = 1;
logicPortUIName[28] = "O17";
logicPortType[29] = 0;
logicPortPos[29] = "27 31 0";
logicPortDir[29] = 1;
logicPortUIName[29] = "O18";
logicPortType[30] = 0;
logicPortPos[30] = "25 31 0";
logicPortDir[30] = 1;
logicPortUIName[30] = "O19";
logicPortType[31] = 0;
logicPortPos[31] = "23 31 0";
logicPortDir[31] = 1;
logicPortUIName[31] = "O20";
logicPortType[32] = 0;
logicPortPos[32] = "21 31 0";
logicPortDir[32] = 1;
logicPortUIName[32] = "O21";
logicPortType[33] = 0;
logicPortPos[33] = "19 31 0";
logicPortDir[33] = 1;
logicPortUIName[33] = "O22";
logicPortType[34] = 0;
logicPortPos[34] = "17 31 0";
logicPortDir[34] = 1;
logicPortUIName[34] = "O23";
logicPortType[35] = 0;
logicPortPos[35] = "15 31 0";
logicPortDir[35] = 1;
logicPortUIName[35] = "O24";
logicPortType[36] = 0;
logicPortPos[36] = "13 31 0";
logicPortDir[36] = 1;
logicPortUIName[36] = "O25";
logicPortType[37] = 0;
logicPortPos[37] = "11 31 0";
logicPortDir[37] = 1;
logicPortUIName[37] = "O26";
logicPortType[38] = 0;
logicPortPos[38] = "9 31 0";
logicPortDir[38] = 1;
logicPortUIName[38] = "O27";
logicPortType[39] = 0;
logicPortPos[39] = "7 31 0";
logicPortDir[39] = 1;
logicPortUIName[39] = "O28";
logicPortType[40] = 0;
logicPortPos[40] = "5 31 0";
logicPortDir[40] = 1;
logicPortUIName[40] = "O29";
logicPortType[41] = 0;
logicPortPos[41] = "3 31 0";
logicPortDir[41] = 1;
logicPortUIName[41] = "O30";
logicPortType[42] = 0;
logicPortPos[42] = "1 31 0";
logicPortDir[42] = 1;
logicPortUIName[42] = "O31";
logicPortType[43] = 1;
logicPortPos[43] = "63 -31 0";
logicPortDir[43] = 2;
logicPortUIName[43] = "Clock";
logicPortCauseUpdate[43] = true;
};

View File

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

View File

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

View File

@ -0,0 +1,179 @@
datablock fxDtsBrickData(LogicGate_Rom64x32x8_Data){
brickFile = $LuaLogic::Path @ "bricks/gen/newbricks/ROM 64x32x8.blb";
iconName = $LuaLogic::Path @ "bricks/gen/newicons/ROM 64x32x8";
category = "Logic Bricks";
subCategory = "ROM";
uiName = "ROM 64x32x8";
logicUIName = "ROM 64x32x8";
logicUIDesc = "";
hasPrint = 1;
printAspectRatio = "Logic";
logicBrickSize = "64 32 1";
orientationFix = 3;
isLogic = true;
isLogicGate = true;
isLogicInput = false;
logicInit =
"return function(gate) " @
" gate.romdata = {} " @
" for i = 0, 16383 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
logicInput =
"return function(gate, args) " @
" local data = args[1] " @
" for i = 1, #data do " @
" local c = data:sub(i, i) " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"
;
logicUpdate =
"return function(gate) " @
" if Gate.getportstate(gate, 20)~=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) " @
" + (Gate.getportstate(gate, 9) * 256) " @
" + (Gate.getportstate(gate, 10) * 512) " @
" + (Gate.getportstate(gate, 11) * 1024) " @
" ) " @
" for i = 0, 7 do " @
" Gate.setportstate(gate, 12+i, gate.romdata[addr+2048*i]) " @
" end " @
" else " @
" for i = 12, 19 do " @
" Gate.setportstate(gate, i, 0) " @
" end " @
" end " @
"end"
;
logicGlobal = "";
numLogicPorts = 20;
isLogicRom = true;
logicRomY = 32;
logicRomZ = 8;
logicRomX = 64;
logicPortType[0] = 1;
logicPortPos[0] = "63 -31 0";
logicPortDir[0] = 3;
logicPortUIName[0] = "A0";
logicPortType[1] = 1;
logicPortPos[1] = "61 -31 0";
logicPortDir[1] = 3;
logicPortUIName[1] = "A1";
logicPortType[2] = 1;
logicPortPos[2] = "59 -31 0";
logicPortDir[2] = 3;
logicPortUIName[2] = "A2";
logicPortType[3] = 1;
logicPortPos[3] = "57 -31 0";
logicPortDir[3] = 3;
logicPortUIName[3] = "A3";
logicPortType[4] = 1;
logicPortPos[4] = "55 -31 0";
logicPortDir[4] = 3;
logicPortUIName[4] = "A4";
logicPortType[5] = 1;
logicPortPos[5] = "53 -31 0";
logicPortDir[5] = 3;
logicPortUIName[5] = "A5";
logicPortType[6] = 1;
logicPortPos[6] = "51 -31 0";
logicPortDir[6] = 3;
logicPortUIName[6] = "A6";
logicPortType[7] = 1;
logicPortPos[7] = "49 -31 0";
logicPortDir[7] = 3;
logicPortUIName[7] = "A7";
logicPortType[8] = 1;
logicPortPos[8] = "47 -31 0";
logicPortDir[8] = 3;
logicPortUIName[8] = "A8";
logicPortType[9] = 1;
logicPortPos[9] = "45 -31 0";
logicPortDir[9] = 3;
logicPortUIName[9] = "A9";
logicPortType[10] = 1;
logicPortPos[10] = "43 -31 0";
logicPortDir[10] = 3;
logicPortUIName[10] = "A10";
logicPortType[11] = 0;
logicPortPos[11] = "63 31 0";
logicPortDir[11] = 1;
logicPortUIName[11] = "O0";
logicPortType[12] = 0;
logicPortPos[12] = "61 31 0";
logicPortDir[12] = 1;
logicPortUIName[12] = "O1";
logicPortType[13] = 0;
logicPortPos[13] = "59 31 0";
logicPortDir[13] = 1;
logicPortUIName[13] = "O2";
logicPortType[14] = 0;
logicPortPos[14] = "57 31 0";
logicPortDir[14] = 1;
logicPortUIName[14] = "O3";
logicPortType[15] = 0;
logicPortPos[15] = "55 31 0";
logicPortDir[15] = 1;
logicPortUIName[15] = "O4";
logicPortType[16] = 0;
logicPortPos[16] = "53 31 0";
logicPortDir[16] = 1;
logicPortUIName[16] = "O5";
logicPortType[17] = 0;
logicPortPos[17] = "51 31 0";
logicPortDir[17] = 1;
logicPortUIName[17] = "O6";
logicPortType[18] = 0;
logicPortPos[18] = "49 31 0";
logicPortDir[18] = 1;
logicPortUIName[18] = "O7";
logicPortType[19] = 1;
logicPortPos[19] = "63 -31 0";
logicPortDir[19] = 2;
logicPortUIName[19] = "Clock";
logicPortCauseUpdate[19] = true;
};

View File

@ -0,0 +1,361 @@
datablock fxDtsBrickData(LogicGate_Rom64x4x48_Data){
brickFile = $LuaLogic::Path @ "bricks/gen/newbricks/ROM 64x4x48.blb";
iconName = $LuaLogic::Path @ "bricks/gen/newicons/ROM 64x4x48";
category = "Logic Bricks";
subCategory = "ROM";
uiName = "ROM 64x4x48";
logicUIName = "ROM 64x4x48";
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, 12287 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
logicInput =
"return function(gate, args) " @
" local data = args[1] " @
" for i = 1, #data do " @
" local c = data:sub(i, i) " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"
;
logicUpdate =
"return function(gate) " @
" if Gate.getportstate(gate, 57)~=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, 47 do " @
" Gate.setportstate(gate, 9+i, gate.romdata[addr+256*i]) " @
" end " @
" else " @
" for i = 9, 56 do " @
" Gate.setportstate(gate, i, 0) " @
" end " @
" end " @
"end"
;
logicGlobal = "";
numLogicPorts = 57;
isLogicRom = true;
logicRomY = 4;
logicRomZ = 48;
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] = 1;
logicPortPos[56] = "63 -3 0";
logicPortDir[56] = 2;
logicPortUIName[56] = "Clock";
logicPortCauseUpdate[56] = true;
};

View File

@ -24,6 +24,7 @@ datablock fxDtsBrickData(LogicGate_Rom64x4x64_Data){
" gate.romdata = {} " @
" for i = 0, 16383 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
@ -32,7 +33,9 @@ datablock fxDtsBrickData(LogicGate_Rom64x4x64_Data){
" 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 " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"

View File

@ -24,6 +24,7 @@ datablock fxDtsBrickData(LogicGate_Rom64x64x16_Data){
" gate.romdata = {} " @
" for i = 0, 65535 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
@ -32,7 +33,9 @@ datablock fxDtsBrickData(LogicGate_Rom64x64x16_Data){
" 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 " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"

View File

@ -24,6 +24,7 @@ datablock fxDtsBrickData(LogicGate_Rom64x64x32_Data){
" gate.romdata = {} " @
" for i = 0, 131071 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
@ -32,7 +33,9 @@ datablock fxDtsBrickData(LogicGate_Rom64x64x32_Data){
" 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 " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"

View File

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

View File

@ -24,6 +24,7 @@ datablock fxDtsBrickData(LogicGate_Rom64x64x64_Data){
" gate.romdata = {} " @
" for i = 0, 262143 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
@ -32,7 +33,9 @@ datablock fxDtsBrickData(LogicGate_Rom64x64x64_Data){
" 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 " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"

View File

@ -24,6 +24,7 @@ datablock fxDtsBrickData(LogicGate_Rom64x64x8_Data){
" gate.romdata = {} " @
" for i = 0, 32767 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
@ -32,7 +33,9 @@ datablock fxDtsBrickData(LogicGate_Rom64x64x8_Data){
" 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 " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"

View File

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

View File

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

View File

@ -24,6 +24,7 @@ datablock fxDtsBrickData(LogicGate_Rom8x2x8_Data){
" gate.romdata = {} " @
" for i = 0, 127 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
@ -32,7 +33,9 @@ datablock fxDtsBrickData(LogicGate_Rom8x2x8_Data){
" 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 " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"

View File

@ -24,6 +24,7 @@ datablock fxDtsBrickData(LogicGate_Rom8x8x1_Data){
" gate.romdata = {} " @
" for i = 0, 63 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
@ -32,7 +33,9 @@ datablock fxDtsBrickData(LogicGate_Rom8x8x1_Data){
" 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 " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"

View File

@ -24,6 +24,7 @@ datablock fxDtsBrickData(LogicGate_Rom8x8x4_Data){
" gate.romdata = {} " @
" for i = 0, 255 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
@ -32,7 +33,9 @@ datablock fxDtsBrickData(LogicGate_Rom8x8x4_Data){
" 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 " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"

View File

@ -24,6 +24,7 @@ datablock fxDtsBrickData(LogicGate_Rom8x8x8_Data){
" gate.romdata = {} " @
" for i = 0, 511 do " @
" gate.romdata[i] = 0 " @
" Gate.setcdata(gate, i, 0) " @
" end " @
"end"
;
@ -32,7 +33,9 @@ datablock fxDtsBrickData(LogicGate_Rom8x8x8_Data){
" 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 " @
" local v = (c==\"1\") and 1 or 0 " @
" gate.romdata[i-1] = v " @
" Gate.setcdata(gate, i-1, v) " @
" end " @
" Gate.queue(gate, 0) " @
"end"

View File

@ -0,0 +1,19 @@
datablock fxDtsBrickData(LogicWire_1x1x256f_Data){
brickFile = $LuaLogic::Path @ "bricks/gen/newbricks/Wire 1x1x256f.blb";
iconName = $LuaLogic::Path @ "bricks/gen/newicons/Wire 1x1x256f";
category = "Logic Bricks";
subCategory = "Wires Vertical";
uiName = "Wire 1x1x256f";
logicBrickSize = "1 1 256";
orientationFix = 0;
isLogic = true;
isLogicWire = true;
};

View File

@ -0,0 +1,19 @@
datablock fxDtsBrickData(LogicWire_1x33f_Data){
brickFile = $LuaLogic::Path @ "bricks/gen/newbricks/Wire 1x33f.blb";
iconName = $LuaLogic::Path @ "bricks/gen/newicons/Wire 1x33f";
category = "Logic Bricks";
subCategory = "Wires Horizontal";
uiName = "Wire 1x33f";
logicBrickSize = "1 33 1";
orientationFix = 0;
isLogic = true;
isLogicWire = true;
};

View File

@ -0,0 +1,19 @@
datablock fxDtsBrickData(LogicWire_1x34f_Data){
brickFile = $LuaLogic::Path @ "bricks/gen/newbricks/Wire 1x34f.blb";
iconName = $LuaLogic::Path @ "bricks/gen/newicons/Wire 1x34f";
category = "Logic Bricks";
subCategory = "Wires Horizontal";
uiName = "Wire 1x34f";
logicBrickSize = "1 34 1";
orientationFix = 0;
isLogic = true;
isLogicWire = true;
};

View File

@ -0,0 +1,19 @@
datablock fxDtsBrickData(LogicWire_1x35f_Data){
brickFile = $LuaLogic::Path @ "bricks/gen/newbricks/Wire 1x35f.blb";
iconName = $LuaLogic::Path @ "bricks/gen/newicons/Wire 1x35f";
category = "Logic Bricks";
subCategory = "Wires Horizontal";
uiName = "Wire 1x35f";
logicBrickSize = "1 35 1";
orientationFix = 0;
isLogic = true;
isLogicWire = true;
};

View File

@ -0,0 +1,19 @@
datablock fxDtsBrickData(LogicWire_1x36f_Data){
brickFile = $LuaLogic::Path @ "bricks/gen/newbricks/Wire 1x36f.blb";
iconName = $LuaLogic::Path @ "bricks/gen/newicons/Wire 1x36f";
category = "Logic Bricks";
subCategory = "Wires Horizontal";
uiName = "Wire 1x36f";
logicBrickSize = "1 36 1";
orientationFix = 0;
isLogic = true;
isLogicWire = true;
};

Some files were not shown because too many files have changed in this diff Show More