initial commit

This commit is contained in:
Redo
2020-05-19 02:22:30 -05:00
commit 1cdffd4e01
203 changed files with 108753 additions and 0 deletions

View File

@ -0,0 +1,20 @@
lualogic_require($LuaLogic::Path @ "bricks/gates/OR.cs");
datablock fxDTSBrickData(LogicGate_DFlipFlop_Data : LogicGate_OR_Data)
{
subCategory = "Memory";
uiName = "D FlipFlop";
iconName = $LuaLogic::Path @ "icons/D FlipFlop";
logicUIName = "D FlipFlop";
logicUIDesc = "Q becomes D when C rises";
logicUpdate = "return function(gate) if gate.ports[1]:isrising() then gate.ports[3]:setstate(gate.ports[2].state) end end";
logicPortUIName[0] = "C";
logicPortCauseUpdate[1] = false;
logicPortUIName[1] = "D";
logicPortUIName[2] = "Q";
};
lualogic_registergatedefinition("LogicGate_DFlipFlop_Data");

View File

@ -0,0 +1,60 @@
datablock fxDTSBrickData(LogicGate_DFlipflopGridMemory2_Data)
{
brickFile = $LuaLogic::Path @ "bricks/blb/DFlipflopGridMemory2.blb";
category = "Logic Bricks";
subCategory = "Memory";
uiName = "D Flipflop Grid Memory 2";
iconName = $LuaLogic::Path @ "icons/D Flipflop Grid Memory 2";
hasPrint = 1;
printAspectRatio = "Logic";
orientationFix = 3;
isLogic = true;
isLogicGate = true;
isLogicInput = false;
logicUIName = "D Flipflop Grid Memory 2";
logicUIDesc = "D Flipflop where Clk = C & A & B, R = Q & A & B";
logicUpdate = "return function(gate) if gate.ports[3].state and gate.ports[4].state and gate.ports[6]:isrising() then " @
" gate.ports[1]:setstate(gate.ports[5].state) " @
"end " @
"gate.ports[2]:setstate(gate.ports[3].state and gate.ports[4].state and gate.ports[1].state) end";
numLogicPorts = 6;
logicPortType[0] = 0;
logicPortPos[0] = "0 0 4";
logicPortDir[0] = 4;
logicPortUIName[0] = "Q";
logicPortType[1] = 0;
logicPortPos[1] = "0 0 4";
logicPortDir[1] = 1;
logicPortUIName[1] = "Readout";
logicPortType[2] = 1;
logicPortPos[2] = "0 0 0";
logicPortDir[2] = 2;
logicPortCauseUpdate[2] = true;
logicPortUIName[2] = "A";
logicPortType[3] = 1;
logicPortPos[3] = "0 0 2";
logicPortDir[3] = 1;
logicPortCauseUpdate[3] = true;
logicPortUIName[3] = "B";
logicPortType[4] = 1;
logicPortPos[4] = "0 0 -4";
logicPortDir[4] = 1;
logicPortCauseUpdate[4] = false;
logicPortUIName[4] = "Data";
logicPortType[5] = 1;
logicPortPos[5] = "0 0 -2";
logicPortDir[5] = 1;
logicPortCauseUpdate[5] = true;
logicPortUIName[5] = "Clock";
};
lualogic_registergatedefinition("LogicGate_DFlipflopGridMemory2_Data");

21
bricks/memory/SRLatch.cs Normal file
View File

@ -0,0 +1,21 @@
lualogic_require($LuaLogic::Path @ "bricks/memory/DFlipFlop.cs");
datablock fxDTSBrickData(LogicGate_SRLatch_Data : LogicGate_DFlipFlop_Data)
{
subCategory = "Memory";
uiName = "SR Latch";
iconName = $LuaLogic::Path @ "icons/D FlipFlop";
logicUIName = "SR Latch";
logicUIDesc = "Q becomes 0 if R is on, else 1 when S is on";
logicUpdate = "return function(gate) if gate.ports[1].state then gate.ports[3]:setstate(false) elseif gate.ports[2].state then gate.ports[3]:setstate(true) end end";
logicPortUIName[0] = "R";
logicPortCauseUpdate[0] = true;
logicPortUIName[1] = "S";
logicPortCauseUpdate[1] = true;
logicPortUIName[2] = "Q";
};
lualogic_registergatedefinition("LogicGate_SRLatch_Data");