Skip to content

Instantly share code, notes, and snippets.

@Googulator
Last active April 27, 2025 03:16
Show Gist options
  • Save Googulator/482a02b7b146d0173467818a0c6e9343 to your computer and use it in GitHub Desktop.
Save Googulator/482a02b7b146d0173467818a0c6e9343 to your computer and use it in GitHub Desktop.
Fauxltair 8800 for Nandgame
{
"NandGame:Levels:ASSEMBLER1": {
"code": "# Assembler code \nD = 1\nLABEL loop\nA = 0x7FFF\n*A = D\n*A = D + 1\nA = loop\nJMP\n"
},
"NandGame:CustomComponent:3": {
"key": "3",
"name": "shl 8",
"inputs": [],
"outputs": [],
"diagram": {
"nodes": [],
"connections": []
}
},
"NandGame:Levels:STACK_PUSH_STATIC": {
"code": "# Assembler code \nA = address\nD = *A\nPUSH_D"
},
"NandGame:Levels:STACK_POP_ARG": {
"code": "# Assembler code \nA = index\nD = A\nA = ARGS\nA = D + *A\nD = A\nA = CHEAT\n*A = D\nPOP_D\nA = CHEAT\nA = *A\n*A = D"
},
"NandGame:Levels:FLOAT_MUL": {
"nodes": [{
"type": "FLOAT_UNPACK",
"x": 124,
"y": 579,
"id": "0"
}, {
"type": "FLOAT_UNPACK",
"x": 276,
"y": 603,
"id": "1"
}, {
"type": "FLOAT_PACK",
"x": 126,
"y": 115,
"id": "2"
}, {
"type": "FLOAT_MUL_UNPACKED",
"x": 196,
"y": 438,
"id": "3"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "1"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "2"
},
"target": {
"nodeId": "2",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "1"
},
"target": {
"nodeId": "3",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "2"
},
"target": {
"nodeId": "3",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "1"
},
"target": {
"nodeId": "3",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "2"
},
"target": {
"nodeId": "3",
"connectorId": "5"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:CS_GENERAL_MEMORY": {
"nodes": [{
"type": "DFF16",
"x": 506,
"y": 353,
"id": "0"
}, {
"type": "DFF16",
"x": 721,
"y": 350,
"id": "1"
}, {
"type": "DFF16",
"x": 926,
"y": 351,
"id": "2"
}, {
"type": "DFF16",
"x": 1144,
"y": 353,
"id": "3"
}, {
"type": "SELECT16",
"x": 681,
"y": 120,
"id": "4"
}, {
"type": "SELECT16",
"x": 567,
"y": 223,
"id": "5"
}, {
"type": "SELECT16",
"x": 783,
"y": 209,
"id": "6"
}, {
"type": "SELECT16",
"x": 1063,
"y": 115,
"id": "7"
}, {
"type": "SELECT16",
"x": 974,
"y": 209,
"id": "8"
}, {
"type": "SELECT16",
"x": 1167,
"y": 211,
"id": "9"
}, {
"type": "DEMUX",
"x": 645,
"y": 499,
"id": "10"
}, {
"type": "DEMUX",
"x": 1057,
"y": 495,
"id": "11"
}, {
"type": "DEMUX",
"x": 840,
"y": 585,
"id": "12"
}
],
"connections": [{
"source": {
"nodeId": "10",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "6"
},
"target": {
"nodeId": "0",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "10",
"connectorId": "1"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "6"
},
"target": {
"nodeId": "1",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "11",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "6"
},
"target": {
"nodeId": "2",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "11",
"connectorId": "1"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "3",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "6"
},
"target": {
"nodeId": "3",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "5",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "6",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "6",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "6",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "4"
},
"target": {
"nodeId": "7",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "8",
"connectorId": "0"
},
"target": {
"nodeId": "7",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "9",
"connectorId": "0"
},
"target": {
"nodeId": "7",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "5"
},
"target": {
"nodeId": "8",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "8",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "8",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "5"
},
"target": {
"nodeId": "9",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "9",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "9",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "10",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "12",
"connectorId": "0"
},
"target": {
"nodeId": "10",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "11",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "12",
"connectorId": "1"
},
"target": {
"nodeId": "11",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "12",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "12",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "7",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "1"
}
}
]
},
"NandGame:Levels:IO2": {
"nodes": [{
"type": "LAMP",
"x": 370,
"y": 245,
"id": "0"
}, {
"type": "BUTTON",
"x": 97,
"y": 251,
"id": "1"
}, {
"type": "AND",
"x": 537,
"y": 503,
"id": "2"
}, {
"type": "SPLIT16",
"x": 97,
"y": 500,
"id": "3"
}, {
"type": "AND",
"x": 494,
"y": 390,
"id": "4"
}, {
"type": "AND",
"x": 395,
"y": 375,
"id": "5"
}, {
"type": "BUNDLE16",
"x": 24,
"y": 132,
"id": "6"
}
],
"connections": [{
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "15"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "14"
},
"target": {
"nodeId": "5",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "6",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:CS_MODE": {
"nodes": [{
"type": "DFF",
"x": 100,
"y": 234,
"id": "0"
}, {
"type": "AND",
"x": 115,
"y": 532,
"id": "1"
}, {
"type": "OR",
"x": 78,
"y": 420,
"id": "2"
}, {
"type": "INV",
"x": 194,
"y": 143,
"id": "3"
}, {
"type": "BUNDLE16",
"x": 447,
"y": 211,
"id": "4"
}
],
"connections": [{
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "0",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "14"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "4",
"connectorId": "15"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "2"
}
}
]
},
"NandGame:Levels:CALL": {
"code": "# Assembler code \nPUSH_STATIC ARGS\nPUSH_STATIC LOCALS\nPUSH_VALUE ret\nA = SP\nD = *A\nA = argumentCount\nD = D - A\nA = 3\nD = D - A\nA = ARGS\n*A = D\nA = functionName\nJMP\nLABEL ret\nA = ARGS\nD = *A\nA = OLDARGS\n*A = D\nPOP_STATIC LOCALS\nPOP_STATIC ARGS\nA = OLDARGS\nD = *A\nA = SP\n*A = D\nA = RETVAL\nD = *A\nPUSH_D"
},
"NandGame:Levels:ALU2": {
"nodes": [{
"type": "ARITHMETIC_UNIT",
"x": 207,
"y": 277,
"id": "0"
}, {
"type": "LOGIC_UNIT",
"x": 357,
"y": 258,
"id": "1"
}, {
"type": "SELECT16",
"x": 218,
"y": 115,
"id": "2"
}, {
"type": "ZERO16",
"x": 772,
"y": 674,
"id": "3"
}, {
"type": "SELECT16",
"x": 518,
"y": 410,
"id": "4"
}, {
"type": "SELECT16",
"x": 358,
"y": 471,
"id": "5"
}, {
"type": "SELECT16",
"x": 825,
"y": 474,
"id": "6"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "4"
},
"target": {
"nodeId": "5",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "5"
},
"target": {
"nodeId": "5",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "6"
},
"target": {
"nodeId": "5",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "4"
},
"target": {
"nodeId": "6",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "6"
},
"target": {
"nodeId": "6",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "5"
},
"target": {
"nodeId": "6",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:RETURN": {
"code": "# Assembler code \nPOP_STATIC RETVAL\nA = LOCALS\nD = *A\nA = SP\n*A = D\nPOP_A\nJMP"
},
"NandGame:Levels:RAM": {
"nodes": [{
"type": "DFF16",
"x": 405,
"y": 283,
"id": "0"
}, {
"type": "DFF16",
"x": 214,
"y": 288,
"id": "1"
}, {
"type": "SELECT16",
"x": 199,
"y": 154,
"id": "2"
}, {
"type": "DEMUX",
"x": 186,
"y": 502,
"id": "3"
}
],
"connections": [{
"source": {
"nodeId": "3",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "0",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "1",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "3",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:PROGRAM1": {
"code": [32912, 2, 34064, 32775]
},
"NandGame:Levels:ESCAPE": {
"code": "# Assembler code \nLABEL OBSTACLE\n# Check if we have an obstacle\nA = 0x7FFF\nD = *A\nA = 0x100\nD = D & A\nA = FORWARD\nD; JEQ\n\n# We have an obstacle - turn!\nA = 8\nD = A\nA = 0x7FFF\n*A = D\n*A = 0\n\n# Wait for turn to complete\nLABEL TURN_WAIT\nA = 0x7FFF\nD = *A\nA = 0x200\nD = D & A\nA = TURN_WAIT\nD; JNE\n\n# Turn complete - check for obstacle again\nA = OBSTACLE\nJMP\n\nLABEL FORWARD\n# No obstacle - move forward\nA = 4\nD = A\nA = 0x7FFF\n*A = D\n*A = 0\n\n# Wait for forward move to complete\nLABEL FORWARD_WAIT\nA = 0x7FFF\nD = *A\nA = 0x400\nD = D & A\nA = FORWARD_WAIT\nD; JNE\n\n# Move complete - check obstacle\nA = OBSTACLE\nJMP"
},
"NandGame:Levels:SHARED_COMPILER_CONFIG": {
"lexical": [{
"type": 1,
"pattern": "[ ]+",
"action": 0
}, {
"type": 1,
"pattern": "[0-9]+",
"action": 3,
"label": "Number"
}, {
"type": 0,
"pattern": "+ - ( )",
"action": 2
}
],
"rules": [{
"lhs": "Expression",
"rhs": "Number",
"codegen": "PUSH_VALUE [Number]"
}, {
"lhs": "Expression",
"rhs": "Expression + Expression",
"codegen": "[Expression 1]\n[Expression 2]\nADD"
}, {
"lhs": "Expression",
"rhs": "Expression - Expression",
"codegen": "[Expression 1]\n[Expression 2]\nSUB"
}, {
"lhs": "Expression",
"rhs": "- Expression",
"codegen": "[Expression]\nNEG"
}, {
"lhs": "Expression",
"rhs": "( Expression )",
"codegen": "[Expression]"
}
],
"runtimeLibrary": ""
},
"NandGame:Levels:STACK_ADD": {
"code": "# Assembler code \nPOP_D\nPOP_A\nD = D + A\nPUSH_D"
},
"NandGame:Levels:STACK_NOT": {
"code": "# Assembler code \nPOP_D\nD = ~D\nPUSH_D"
},
"NandGame:Levels": ["RELAY_NAND", "INV", "AND", "OR", "XOR", "HALFADD", "FULLADD", "ADD2", "INC", "SUB", "ISZERO", "SIGN", "MULTIPLEXER", "DEMUX", "ALU_LOGIC", "ALU_ARITHMETIC", "ALU2", "CONDITION", "SR_LATCH", "LATCH", "DFF", "DFF2", "COUNTER", "RAM", "CPU_STATE", "ALU_INSTRUCTION", "CONTROL_SELECTOR", "CONTROL_UNIT", "CPU3", "IO2", "PROGRAM1", "OPCODES2", "ASSEMBLER1", "READ_KEYBOARD", "ESCAPE", "ASSEMBLER_DISPLAY", "ASSEMBLER_NETWORK_RECEIVE", "STACK_INIT", "STACK_PUSH_D", "STACK_POP_D", "STACK_POP_A", "STACK_PUSH_VALUE", "STACK_ADD", "STACK_SUB", "STACK_NEG", "STACK_AND", "STACK_OR", "TOKENIZE_EXPRESSION", "GRAMMAR_EXPRESSION", "CODEGEN_EXPRESSION", "STACK_EQ", "STACK_GT", "STACK_LT", "STACK_NOT", "STACK_GOTO", "STACK_IF_GOTO", "STACK_PUSH_MEMORY", "STACK_POP_MEMORY", "STACK_PUSH_STATIC", "STACK_POP_STATIC", "CALL", "FUNCTION", "RETURN", "STACK_PUSH_ARG", "STACK_POP_ARG", "STACK_PUSH_LOCAL", "STACK_POP_LOCAL", "CMOS_NAND", "CMOS_INV", "CMOS_NOR", "XNOR", "SHL", "SHR", "SAR", "SHL16", "MAX16", "MUL16", "FLOAT_UNPACK", "FLOAT_MUL_UNPACKED", "FLOAT_NORMALIZE_OVERFLOW", "FLOAT_VERIFY_EXPONENT", "FLOAT_ALIGN", "ADD_SIGNED_MAGNITUDE", "FLOAT_NORMALIZE_UNDERFLOW", "FLOAT_PACK", "FLOAT_MUL", "FLOAT_ADD", "CS_TRIGGER", "CS_MODE", "CS_REGISTER", "CS_PROGRAM_COUNTER", "CS_REGISTER_BLOCK", "CS_GENERAL_MEMORY", "CS_MAPPED_MEMORY", "CS_CONTROL_UNIT", "CS_COMBINE"],
"NandGame:Levels:COUNTER": {
"nodes": [{
"type": "DFF16",
"x": 118,
"y": 262,
"id": "0"
}, {
"type": "INC16",
"x": 415,
"y": 319,
"id": "1"
}, {
"type": "SELECT16",
"x": 287,
"y": 433,
"id": "2"
}, {
"type": "INV",
"x": 147,
"y": 460,
"id": "3"
}
],
"connections": [{
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "0",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:ALU_INSTRUCTION": {
"nodes": [{
"type": "ALU2",
"x": 119,
"y": 238,
"id": "0"
}, {
"type": "SPLIT16",
"x": 50,
"y": 548,
"id": "1"
}, {
"type": "CONDITION2",
"x": 394,
"y": 112,
"id": "2"
}, {
"type": "SELECT16",
"x": 524,
"y": 408,
"id": "3"
}
],
"connections": [{
"source": {
"nodeId": "1",
"connectorId": "5"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "6"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "7"
},
"target": {
"nodeId": "0",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "8"
},
"target": {
"nodeId": "0",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "9"
},
"target": {
"nodeId": "0",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "0",
"connectorId": "5"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "6"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "13"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "14"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "15"
},
"target": {
"nodeId": "2",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "3"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "3",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "3",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "10"
},
"target": {
"nodeId": "output",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "11"
},
"target": {
"nodeId": "output",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "12"
},
"target": {
"nodeId": "output",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "4"
}
}
]
},
"NandGame:Levels:STACK_GT": {
"code": "# Assembler code \nPOP_D\nPOP_A\nD = D - A\nA = equals\nD; JGE\nD = 0\nD = ~D\nPUSH_D\nA = end\nJMP\n\nLABEL equals\nPUSH_VALUE 0\n\nLABEL end"
},
"NandGame:Levels:TOKENIZE_EXPRESSION": {
"source": "2 + 2"
},
"NandGame:Levels:STACK_EQ": {
"code": "# Assembler code \nPOP_D\nPOP_A\nD = D - A\nA = equals\nD; JNE\nD = 0\nD = ~D\nPUSH_D\nA = end\nJMP\n\nLABEL equals\nPUSH_VALUE 0\n\nLABEL end"
},
"NandGame:Levels:ALU_LOGIC": {
"nodes": [{
"type": "INV16",
"x": 231,
"y": 458,
"id": "0"
}, {
"type": "AND16",
"x": 600,
"y": 460,
"id": "1"
}, {
"type": "OR16",
"x": 477,
"y": 455,
"id": "2"
}, {
"type": "XOR16",
"x": 357,
"y": 459,
"id": "3"
}, {
"type": "SELECT16",
"x": 228,
"y": 292,
"id": "4"
}, {
"type": "SELECT16",
"x": 432,
"y": 297,
"id": "5"
}, {
"type": "SELECT16",
"x": 198,
"y": 161,
"id": "6"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "3",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "5",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "6",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "6",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "6",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:CustomComponent:1": {
"key": "1",
"name": "shl 2",
"inputs": [{
"pins": [{
"label": "",
"width": 16
}
]
}
],
"outputs": [{
"pins": [{
"label": "",
"width": 16
}
]
}
],
"diagram": {
"nodes": [{
"type": "SHL",
"x": 147.5,
"y": 317,
"id": "0"
}, {
"type": "SHL",
"x": 149.5,
"y": 456,
"id": "1"
}
],
"connections": [{
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
}
},
"NandGame:Levels:CPU_STATE": {
"nodes": [{
"type": "RAM",
"x": 533,
"y": 124,
"id": "0"
}, {
"type": "DFF16",
"x": 52,
"y": 385,
"id": "1"
}, {
"type": "DFF16",
"x": 272,
"y": 383,
"id": "2"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "4"
},
"target": {
"nodeId": "0",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "4"
},
"target": {
"nodeId": "1",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "4"
},
"target": {
"nodeId": "2",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "2"
}
}
]
},
"NandGame:Levels:CS_PROGRAM_COUNTER": {
"nodes": [{
"type": "CS_REGISTER",
"x": 490,
"y": 305,
"id": "0"
}, {
"type": "INC16",
"x": 156,
"y": 493,
"id": "1"
}, {
"type": "SELECT16",
"x": 355,
"y": 562,
"id": "2"
}, {
"type": "INV",
"x": 359,
"y": 439,
"id": "3"
}
],
"connections": [{
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "0",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "4"
},
"target": {
"nodeId": "0",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "5"
},
"target": {
"nodeId": "0",
"connectorId": "6"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "1"
},
"target": {
"nodeId": "output",
"connectorId": "1"
}
}
]
},
"NandGame:Levels:CS_REGISTER_BLOCK": {
"nodes": [{
"type": "CS_PC",
"x": 902,
"y": 298,
"id": "0"
}, {
"type": "CS_REGISTER",
"x": 190,
"y": 308,
"id": "1"
}, {
"type": "CS_REGISTER",
"x": 405,
"y": 319,
"id": "2"
}, {
"type": "CS_REGISTER",
"x": 682,
"y": 312,
"id": "3"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "5"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "6"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "4"
},
"target": {
"nodeId": "0",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "8"
},
"target": {
"nodeId": "0",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "7"
},
"target": {
"nodeId": "0",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "10"
},
"target": {
"nodeId": "0",
"connectorId": "5"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "6"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "8"
},
"target": {
"nodeId": "1",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "7"
},
"target": {
"nodeId": "1",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "1"
},
"target": {
"nodeId": "1",
"connectorId": "5"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "10"
},
"target": {
"nodeId": "1",
"connectorId": "6"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "6"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "8"
},
"target": {
"nodeId": "2",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "7"
},
"target": {
"nodeId": "2",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "9"
},
"target": {
"nodeId": "2",
"connectorId": "5"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "10"
},
"target": {
"nodeId": "2",
"connectorId": "6"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "6"
},
"target": {
"nodeId": "3",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "8"
},
"target": {
"nodeId": "3",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "7"
},
"target": {
"nodeId": "3",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "10"
},
"target": {
"nodeId": "3",
"connectorId": "6"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "1"
},
"target": {
"nodeId": "output",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "1"
},
"target": {
"nodeId": "output",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "1"
},
"target": {
"nodeId": "output",
"connectorId": "5"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "6"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "1"
},
"target": {
"nodeId": "output",
"connectorId": "7"
}
}
]
},
"NandGame:Levels:STACK_NEG": {
"code": "# Assembler code \nPOP_D\nD = -D\nPUSH_D"
},
"NandGame:Levels:AND": {
"nodes": [{
"type": "NAND",
"x": 109,
"y": 606,
"id": "0"
}, {
"type": "NAND",
"x": 76,
"y": 128,
"id": "1"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:STACK_PUSH_ARG": {
"code": "# Assembler code \nA = index\nD = A\nA = ARGS\nA = D + *A\nD = *A\nPUSH_D"
},
"NandGame:Levels:DFF": {
"nodes": [{
"type": "LATCH",
"x": 128,
"y": 250,
"id": "0"
}, {
"type": "LATCH",
"x": 226,
"y": 390,
"id": "1"
}, {
"type": "INV",
"x": 42,
"y": 385,
"id": "2"
}, {
"type": "AND",
"x": 99,
"y": 548,
"id": "3"
}
],
"connections": [{
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "3",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:ISZERO": {
"nodes": [{
"type": "OR",
"x": 93,
"y": 247,
"id": "0"
}, {
"type": "OR",
"x": 67,
"y": 414,
"id": "1"
}, {
"type": "OR",
"x": 208,
"y": 383,
"id": "2"
}, {
"type": "INV",
"x": 138,
"y": 121,
"id": "3"
}
],
"connections": [{
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:CustomComponents": ["1", "2", "3", "4"],
"NandGame:Levels:STACK_AND": {
"code": "# Assembler code \nPOP_D\nPOP_A\nD = D & A\nPUSH_D"
},
"NandGame:CustomComponent:4": {
"key": "4",
"name": "Fauxltair",
"inputs": [{
"pins": [{
"label": "X",
"width": 16
}
]
}, {
"pins": [{
"label": "A",
"width": 16
}
]
}, {
"pins": [{
"label": "a",
"width": 1
}
]
}, {
"pins": [{
"label": "d",
"width": 1
}
]
}, {
"pins": [{
"label": "*a",
"width": 1
}
]
}, {
"pins": [{
"label": "m",
"width": 1
}
]
}, {
"pins": [{
"label": "j",
"width": 1
}
]
}, {
"pins": [{
"label": "dp",
"width": 1
}
]
}, {
"pins": [{
"label": "ex",
"width": 1
}
]
}
],
"outputs": [{
"pins": [{
"label": "I",
"width": 16
}
]
}, {
"pins": [{
"label": "*A",
"width": 16
}
]
}
],
"diagram": {
"nodes": [{
"type": "CONTROL_UNIT",
"x": 788.5,
"y": 292,
"id": "0"
}, {
"type": "CS_REGISTER_BLOCK",
"x": 79.5,
"y": 211,
"id": "1"
}, {
"type": "CS_MAPPED_MEMORY",
"x": 581.5,
"y": 96,
"id": "2"
}, {
"type": "CLOCK",
"x": 506.5,
"y": 545,
"id": "3"
}, {
"type": "SELECT",
"x": 820.5,
"y": 443,
"id": "4"
}, {
"type": "SELECT",
"x": 1031.5,
"y": 499,
"id": "5"
}, {
"type": "AND",
"x": 657.5,
"y": 524,
"id": "6"
}, {
"type": "AND",
"x": 839.5,
"y": 559,
"id": "7"
}, {
"type": "AND",
"x": 308.5,
"y": 491,
"id": "8"
}, {
"type": "AND",
"x": 1338.5,
"y": 477,
"id": "9"
}, {
"type": "SELECT",
"x": 1308.5,
"y": 342,
"id": "10"
}, {
"type": "SELECT",
"x": 478.5,
"y": 375,
"id": "11"
}, {
"type": "SELECT16",
"x": 106.5,
"y": 555,
"id": "12"
}, {
"type": "SELECT16",
"x": 973.5,
"y": 151,
"id": "13"
}, {
"type": "SELECT16",
"x": 394.5,
"y": 282,
"id": "14"
}, {
"type": "SELECT",
"x": 1514.5,
"y": 212,
"id": "15"
}, {
"type": "AND",
"x": 1506.5,
"y": 524,
"id": "16"
}, {
"type": "SELECT16",
"x": 1368.5,
"y": 161,
"id": "17"
}, {
"type": "OR",
"x": 1101.5,
"y": 100,
"id": "18"
}
],
"connections": [{
"source": {
"nodeId": "2",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "2"
},
"target": {
"nodeId": "0",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "13",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "8",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "12",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "18",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "5"
}
}, {
"source": {
"nodeId": "11",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "10"
}
}, {
"source": {
"nodeId": "14",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "15",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "13",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "6"
},
"target": {
"nodeId": "2",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "4"
},
"target": {
"nodeId": "2",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "11",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "5"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "8"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "1"
},
"target": {
"nodeId": "4",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "8"
},
"target": {
"nodeId": "5",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "7",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "2"
},
"target": {
"nodeId": "5",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "6",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "7"
},
"target": {
"nodeId": "6",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "7",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "7"
},
"target": {
"nodeId": "7",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "5"
},
"target": {
"nodeId": "8",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "7"
},
"target": {
"nodeId": "8",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "6"
},
"target": {
"nodeId": "9",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "7"
},
"target": {
"nodeId": "9",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "8"
},
"target": {
"nodeId": "10",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "9",
"connectorId": "0"
},
"target": {
"nodeId": "10",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "4"
},
"target": {
"nodeId": "10",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "8"
},
"target": {
"nodeId": "11",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "7"
},
"target": {
"nodeId": "11",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "11",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "8"
},
"target": {
"nodeId": "12",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "17",
"connectorId": "0"
},
"target": {
"nodeId": "12",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "12",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "8"
},
"target": {
"nodeId": "13",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "13",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "13",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "8"
},
"target": {
"nodeId": "14",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "14",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "14",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "8"
},
"target": {
"nodeId": "15",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "16",
"connectorId": "0"
},
"target": {
"nodeId": "15",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "3"
},
"target": {
"nodeId": "15",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "4"
},
"target": {
"nodeId": "16",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "7"
},
"target": {
"nodeId": "16",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "10",
"connectorId": "0"
},
"target": {
"nodeId": "17",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "17",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "6"
},
"target": {
"nodeId": "17",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "4"
},
"target": {
"nodeId": "18",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "8"
},
"target": {
"nodeId": "18",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "1"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "1"
}
}
]
}
},
"NandGame:Levels:GRAMMAR_EXPRESSION": {
"source": "2 + 2"
},
"NandGame:Levels:FLOAT_UNPACK": {
"nodes": [{
"type": "SPLIT16",
"x": 352,
"y": 628,
"id": "0"
}, {
"type": "BUNDLE16",
"x": 308,
"y": 268,
"id": "1"
}, {
"type": "ZERO",
"x": 735,
"y": 624,
"id": "2"
}, {
"type": "BUNDLE16",
"x": 714,
"y": 281,
"id": "3"
}, {
"type": "ISZERO",
"x": 988,
"y": 592,
"id": "4"
}, {
"type": "INV",
"x": 964,
"y": 471,
"id": "5"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "5"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "6"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "7"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "8"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "9"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "10"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "1"
},
"target": {
"nodeId": "1",
"connectorId": "11"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "2"
},
"target": {
"nodeId": "1",
"connectorId": "12"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "3"
},
"target": {
"nodeId": "1",
"connectorId": "13"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "4"
},
"target": {
"nodeId": "1",
"connectorId": "14"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "5"
},
"target": {
"nodeId": "1",
"connectorId": "15"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "5"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "6"
},
"target": {
"nodeId": "3",
"connectorId": "6"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "7"
},
"target": {
"nodeId": "3",
"connectorId": "7"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "8"
},
"target": {
"nodeId": "3",
"connectorId": "8"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "9"
},
"target": {
"nodeId": "3",
"connectorId": "9"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "10"
},
"target": {
"nodeId": "3",
"connectorId": "10"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "11"
},
"target": {
"nodeId": "3",
"connectorId": "11"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "12"
},
"target": {
"nodeId": "3",
"connectorId": "12"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "13"
},
"target": {
"nodeId": "3",
"connectorId": "13"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "14"
},
"target": {
"nodeId": "3",
"connectorId": "14"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "15"
},
"target": {
"nodeId": "3",
"connectorId": "15"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "2"
}
}
]
},
"NandGame:Levels:STACK_PUSH_VALUE": {
"code": "# Assembler code \nA = value\nD = A\nPUSH_D"
},
"NandGame:Levels:STACK_PUSH_MEMORY": {
"code": "# Assembler code \nPOP_A\nD = *A\nPUSH_D"
},
"NandGame:Levels:STACK_POP_A": {
"code": "# Assembler code \nA = SP\n*A = *A - 1\nA = SP\nA = *A\nA = *A"
},
"NandGame:Levels:STACK_POP_MEMORY": {
"code": "# Assembler code \nPOP_D\nPOP_A\n*A = D"
},
"NandGame:Levels:SIGN": {
"nodes": [{
"type": "SPLIT16",
"x": 61,
"y": 590,
"id": "0"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:ASSEMBLER_DISPLAY": {
"code": "# Assembler code \nA = 0x07E0\nD = A\nD = ~D\nA = 0x4000\n*A = D\nA = 0x4020\n#D = ~D\n*A = D\nA = 0x4040\n#D = ~D\n*A = D\nA = 0x4060\n#D = ~D\n*A = D\nA = 0x4080\n#D = ~D\n*A = D\nA = 0x40A0\nD = ~D\n*A = D\nA = 0x40C0\n#D = ~D\n*A = D\nA = 0x40E0\n#D = ~D\n*A = D\nA = 0x4100\n#D = ~D\n*A = D\nA = 0x4120\n#D = ~D\n*A = D\nA = 0x4140\n#D = ~D\n*A = D\nA = 0x4160\nD = ~D\n*A = D\nA = 0x4180\n#D = ~D\n*A = D\nA = 0x41A0\n#D = ~D\n*A = D\nA = 0x41C0\n#D = ~D\n*A = D\nA = 0x41E0\n#D = ~D\n*A = D"
},
"NandGame:Levels:STACK_POP_LOCAL": {
"code": "# Assembler code \nA = index\nD = A\nA = LOCALS\nA = D + *A\nD = A\nA = CHEAT\n*A = D\nPOP_D\nA = CHEAT\nA = *A\n*A = D"
},
"NandGame:Levels:ASSEMBLER_NETWORK_RECEIVE": {
"code": "# Assembler code \nINIT_STACK\nLABEL again\nCALL display_image 0\n\nA = again\nJMP\n\nFUNCTION display_image 1\nPUSH_VALUE 0x4F10\nPOP_LOCAL 0\nLABEL wait_for_one\nCALL get_bit 0\nPOP_D\nA = wait_for_one\nD; JEQ\nLABEL loop\n#PUSH_VALUE 0x0FF0\n#POP_STATIC 0x5000\nPUSH_LOCAL 0\nCALL get_word 0\nPOP_MEMORY\nPUSH_LOCAL 0\nPUSH_VALUE 0x20\nADD\nPOP_LOCAL 0\n\n#PUSH_VALUE 0x700F\n#POP_STATIC 0x5000\n\nCALL get_bit 0\nPOP_D\nA = loop\nD; JNE\n#PUSH_VALUE 0x0F0F\n#POP_STATIC 0x5000\nPUSH_VALUE 0\nRETURN\n\nFUNCTION get_word 0\nCALL get_bit 0\nCALL double 1\nCALL get_bit 0\nOR\nCALL double 1\nCALL get_bit 0\nOR\nCALL double 1\nCALL get_bit 0\nOR\nCALL double 1\nCALL get_bit 0\nOR\nCALL double 1\nCALL get_bit 0\nOR\nCALL double 1\nCALL get_bit 0\nOR\nCALL double 1\nCALL get_bit 0\nOR\nCALL double 1\nCALL get_bit 0\nOR\nCALL double 1\nCALL get_bit 0\nOR\nCALL double 1\nCALL get_bit 0\nOR\nCALL double 1\nCALL get_bit 0\nOR\nCALL double 1\nCALL get_bit 0\nOR\nCALL double 1\nCALL get_bit 0\nOR\nCALL double 1\nCALL get_bit 0\nOR\nCALL double 1\nCALL get_bit 0\nOR\nRETURN\n\nFUNCTION double 0\npush.argument 0\npush.argument 0\nADD\nRETURN\n\nFUNCTION get_bit 1\nPUSH_STATIC 0x6001\nPUSH_VALUE 0x2\nAND\nPOP_LOCAL 0\nLABEL get_bit_not_ready\nPUSH_STATIC 0x6001\nPUSH_VALUE 0x2\nAND\nPUSH_LOCAL 0\nPOP_D\nPOP_A\nD = D - A\nA = get_bit_not_ready\nD; JEQ\nPUSH_STATIC 0x6001\nPUSH_VALUE 0x1\nAND\nRETURN\n\nLABEL end\n"
},
"NandGame:Levels:CMOS_NAND": {
"nodes": [{
"type": "PMOS",
"x": 84,
"y": 380,
"id": "0"
}, {
"type": "PMOS",
"x": 231,
"y": 388,
"id": "1"
}, {
"type": "NMOS",
"x": 418,
"y": 317,
"id": "2"
}, {
"type": "NMOS",
"x": 431,
"y": 448,
"id": "3"
}, {
"type": "TRINARY_LOGIC_WIRE_JUNCTION",
"x": 154,
"y": 275,
"id": "4"
}, {
"type": "TRINARY_LOGIC_WIRE_JUNCTION",
"x": 217,
"y": 190,
"id": "5"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "3",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:STACK_OR": {
"code": "# Assembler code \nPOP_D\nPOP_A\nD = D | A\nPUSH_D"
},
"NandGame:Levels:XOR": {
"nodes": [{
"type": "NAND",
"x": 203,
"y": 356.4947720469958,
"id": "0"
}, {
"type": "NAND",
"x": 35,
"y": 352.8516659539957,
"id": "1"
}, {
"type": "NAND",
"x": 126,
"y": 230.81561443013064,
"id": "2"
}, {
"type": "NAND",
"x": 121,
"y": 478.5641822307664,
"id": "3"
}
],
"connections": [{
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "3",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:XNOR": {
"nodes": [{
"type": "XOR",
"x": 77,
"y": 314,
"id": "0"
}, {
"type": "INV",
"x": 81,
"y": 174,
"id": "1"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:SHL16": {
"nodes": [{
"type": "SHL",
"x": 246,
"y": 428,
"id": "0"
}, {
"type": "SHL",
"x": 242,
"y": 339,
"id": "1"
}, {
"type": "SHL",
"x": 124,
"y": 435,
"id": "2"
}, {
"type": "SHL",
"x": 388,
"y": 437,
"id": "3"
}, {
"type": "SHL",
"x": 397,
"y": 338,
"id": "4"
}, {
"type": "SHL",
"x": 399,
"y": 248,
"id": "5"
}, {
"type": "SHL",
"x": 401,
"y": 145,
"id": "6"
}, {
"type": "SHL",
"x": 697,
"y": 377,
"id": "7"
}, {
"type": "SHL",
"x": 697,
"y": 273,
"id": "8"
}, {
"type": "SHL",
"x": 700,
"y": 178,
"id": "9"
}, {
"type": "SHL",
"x": 834,
"y": 497,
"id": "10"
}, {
"type": "SHL",
"x": 839,
"y": 384,
"id": "11"
}, {
"type": "SHL",
"x": 694,
"y": 483,
"id": "12"
}, {
"type": "SHL",
"x": 849,
"y": 271,
"id": "13"
}, {
"type": "SHL",
"x": 851,
"y": 165,
"id": "14"
}, {
"type": "SELECT16",
"x": 120,
"y": 289,
"id": "15"
}, {
"type": "SELECT16",
"x": 61,
"y": 179,
"id": "16"
}, {
"type": "SELECT16",
"x": 202,
"y": 119,
"id": "17"
}, {
"type": "SELECT16",
"x": 584,
"y": 73,
"id": "18"
}
],
"connections": [{
"source": {
"nodeId": "15",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "4"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "16",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "6",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "12",
"connectorId": "0"
},
"target": {
"nodeId": "7",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "7",
"connectorId": "0"
},
"target": {
"nodeId": "8",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "8",
"connectorId": "0"
},
"target": {
"nodeId": "9",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "9",
"connectorId": "0"
},
"target": {
"nodeId": "10",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "10",
"connectorId": "0"
},
"target": {
"nodeId": "11",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "17",
"connectorId": "0"
},
"target": {
"nodeId": "12",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "11",
"connectorId": "0"
},
"target": {
"nodeId": "13",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "13",
"connectorId": "0"
},
"target": {
"nodeId": "14",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "15",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "15",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "4"
},
"target": {
"nodeId": "15",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "16",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "16",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "15",
"connectorId": "0"
},
"target": {
"nodeId": "16",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "17",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "0"
},
"target": {
"nodeId": "17",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "16",
"connectorId": "0"
},
"target": {
"nodeId": "17",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "18",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "14",
"connectorId": "0"
},
"target": {
"nodeId": "18",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "17",
"connectorId": "0"
},
"target": {
"nodeId": "18",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "18",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:STACK_IF_GOTO": {
"code": "# Assembler code \nPOP_D\nA = label\nD; JNE"
},
"NandGame:Levels:STACK_PUSH_D": {
"code": "# Assembler code \nA = SP\nA = *A\n*A = D\nD = A + 1\nA = SP\n*A = D"
},
"NandGame:Levels:CPU3": {
"nodes": [{
"type": "CLOCK",
"x": 434,
"y": 598,
"id": "0"
}, {
"type": "CONTROL_UNIT",
"x": 435,
"y": 251,
"id": "1"
}, {
"type": "STATE",
"x": 874,
"y": 178,
"id": "2"
}, {
"type": "ROM",
"x": 107,
"y": 233,
"id": "3",
"state": {
"words": [1, 2, 3, 4, 5, 6, 7, 8]
}
}, {
"type": "COUNTER",
"x": 123,
"y": 542,
"id": "4"
}
],
"connections": [{
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "1"
},
"target": {
"nodeId": "1",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "2"
},
"target": {
"nodeId": "1",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "1"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "2"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "3"
},
"target": {
"nodeId": "2",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "4"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "2"
}
}
]
},
"NandGame:Levels:READ_KEYBOARD": {
"code": "# Assembler code \nA = 0x1000\nD = A\nA = 0xFFF\n*A = D\n\nLABEL READ\nA = 0x6000\nD = *A\nA = READ\nD; JEQ\nA = 0xFFF\nA = *A\n*A = D\nD = A + 1\nA = 0xFFF\n*A = D\n\nLABEL ZEROWAIT\nA = 0x6000\nD = *A\nA = ZEROWAIT\nD; JNE\nA = READ\nA; JMP"
},
"NandGame:Levels:FLOAT_ALIGN": {
"nodes": [{
"type": "BARREL_SHR",
"x": 397,
"y": 328,
"id": "0"
}, {
"type": "MAX16",
"x": 158,
"y": 463,
"id": "1"
}, {
"type": "SUB16",
"x": 284,
"y": 405,
"id": "2"
}, {
"type": "SUB16",
"x": 497,
"y": 403,
"id": "3"
}, {
"type": "BARREL_SHR",
"x": 607,
"y": 330,
"id": "4"
}
],
"connections": [{
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "3",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "4",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "2"
}
}
]
},
"NandGame:Levels:STACK_POP_STATIC": {
"code": "# Assembler code \nPOP_D\nA = address\n*A = D"
},
"NandGame:Levels:INV": {
"nodes": [{
"type": "NAND",
"x": 76,
"y": 251,
"id": "0"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:DFF2": {
"nodes": [{
"type": "DFF",
"x": 113,
"y": 393,
"id": "0"
}, {
"type": "DFF",
"x": 258,
"y": 379,
"id": "1"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "0",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "1",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "1"
}
}
]
},
"NandGame:Levels:SUB": {
"nodes": [{
"type": "INV16",
"x": 199,
"y": 576,
"id": "0"
}, {
"type": "ADDC16",
"x": 161,
"y": 352,
"id": "1"
}, {
"type": "INV",
"x": 324,
"y": 471,
"id": "2"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "1"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:MAX16": {
"nodes": [{
"type": "SUB16",
"x": 217,
"y": 520,
"id": "0"
}, {
"type": "ISNEG",
"x": 218,
"y": 408,
"id": "1"
}, {
"type": "SELECT16",
"x": 247,
"y": 277,
"id": "2"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:CS_MAPPED_MEMORY": {
"nodes": [{
"type": "GP_MEMORY_512K",
"x": 411,
"y": 124,
"id": "0"
}, {
"type": "SPLIT16",
"x": 173,
"y": 572,
"id": "1"
}, {
"type": "BUNDLE18",
"x": 170,
"y": 410,
"id": "2"
}, {
"type": "BUNDLE18",
"x": 965,
"y": 163,
"id": "3"
}, {
"type": "SPLIT16",
"x": 988,
"y": 342,
"id": "4"
}, {
"type": "AND",
"x": 607,
"y": 479,
"id": "5"
}, {
"type": "SPLIT16",
"x": 999,
"y": 596,
"id": "6"
}, {
"type": "SELECT16",
"x": 947,
"y": 472,
"id": "7"
}, {
"type": "INV",
"x": 754,
"y": 432,
"id": "8"
}, {
"type": "SELECT16",
"x": 1093,
"y": 465,
"id": "9"
}, {
"type": "SELECT16",
"x": 1214,
"y": 470,
"id": "10"
}, {
"type": "SELECT16",
"x": 1342,
"y": 474,
"id": "11"
}, {
"type": "SELECT16",
"x": 1463,
"y": 471,
"id": "12"
}, {
"type": "SELECT16",
"x": 1594,
"y": 464,
"id": "13"
}, {
"type": "SELECT16",
"x": 1713,
"y": 471,
"id": "14"
}
],
"connections": [{
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "5"
},
"target": {
"nodeId": "0",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "9",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "10",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "11",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "1"
},
"target": {
"nodeId": "2",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "2"
},
"target": {
"nodeId": "2",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "3"
},
"target": {
"nodeId": "2",
"connectorId": "5"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "4"
},
"target": {
"nodeId": "2",
"connectorId": "6"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "5"
},
"target": {
"nodeId": "2",
"connectorId": "7"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "6"
},
"target": {
"nodeId": "2",
"connectorId": "8"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "7"
},
"target": {
"nodeId": "2",
"connectorId": "9"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "8"
},
"target": {
"nodeId": "2",
"connectorId": "10"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "9"
},
"target": {
"nodeId": "2",
"connectorId": "11"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "10"
},
"target": {
"nodeId": "2",
"connectorId": "12"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "11"
},
"target": {
"nodeId": "2",
"connectorId": "13"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "12"
},
"target": {
"nodeId": "2",
"connectorId": "14"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "13"
},
"target": {
"nodeId": "2",
"connectorId": "15"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "14"
},
"target": {
"nodeId": "2",
"connectorId": "16"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "15"
},
"target": {
"nodeId": "2",
"connectorId": "17"
}
}, {
"source": {
"nodeId": "12",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "13",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "14",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "1"
},
"target": {
"nodeId": "3",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "2"
},
"target": {
"nodeId": "3",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "3"
},
"target": {
"nodeId": "3",
"connectorId": "5"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "4"
},
"target": {
"nodeId": "3",
"connectorId": "6"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "5"
},
"target": {
"nodeId": "3",
"connectorId": "7"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "6"
},
"target": {
"nodeId": "3",
"connectorId": "8"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "7"
},
"target": {
"nodeId": "3",
"connectorId": "9"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "8"
},
"target": {
"nodeId": "3",
"connectorId": "10"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "9"
},
"target": {
"nodeId": "3",
"connectorId": "11"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "10"
},
"target": {
"nodeId": "3",
"connectorId": "12"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "11"
},
"target": {
"nodeId": "3",
"connectorId": "13"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "12"
},
"target": {
"nodeId": "3",
"connectorId": "14"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "13"
},
"target": {
"nodeId": "3",
"connectorId": "15"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "14"
},
"target": {
"nodeId": "3",
"connectorId": "16"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "15"
},
"target": {
"nodeId": "3",
"connectorId": "17"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "5",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "8",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "4"
},
"target": {
"nodeId": "6",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "7",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "0"
},
"target": {
"nodeId": "7",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "4"
},
"target": {
"nodeId": "7",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "7",
"connectorId": "0"
},
"target": {
"nodeId": "8",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "9",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "1"
},
"target": {
"nodeId": "9",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "5"
},
"target": {
"nodeId": "9",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "10",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "2"
},
"target": {
"nodeId": "10",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "6"
},
"target": {
"nodeId": "10",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "11",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "3"
},
"target": {
"nodeId": "11",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "7"
},
"target": {
"nodeId": "11",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "12",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "9"
},
"target": {
"nodeId": "12",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "13"
},
"target": {
"nodeId": "12",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "13",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "10"
},
"target": {
"nodeId": "13",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "14"
},
"target": {
"nodeId": "13",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "14",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "11"
},
"target": {
"nodeId": "14",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "15"
},
"target": {
"nodeId": "14",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "1"
},
"target": {
"nodeId": "output",
"connectorId": "1"
}
}
]
},
"NandGame:Levels:ADD2": {
"nodes": [{
"type": "ADDC",
"x": 224,
"y": 451,
"id": "0"
}, {
"type": "ADDC",
"x": 114,
"y": 324,
"id": "1"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "4"
},
"target": {
"nodeId": "0",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "1"
},
"target": {
"nodeId": "output",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "1"
},
"target": {
"nodeId": "output",
"connectorId": "2"
}
}
]
},
"NandGame:Levels:ADD_SIGNED_MAGNITUDE": {
"nodes": [{
"type": "XOR",
"x": 241,
"y": 426,
"id": "0"
}, {
"type": "INV16",
"x": 221,
"y": 579,
"id": "1"
}, {
"type": "SELECT16",
"x": 126,
"y": 320,
"id": "2"
}, {
"type": "INV16",
"x": 338,
"y": 513,
"id": "3"
}, {
"type": "SELECT16",
"x": 345,
"y": 315,
"id": "4"
}, {
"type": "ADD16",
"x": 233,
"y": 257,
"id": "5"
}, {
"type": "ISNEG",
"x": 65,
"y": 191,
"id": "6"
}, {
"type": "INC16",
"x": 342,
"y": 424,
"id": "7"
}, {
"type": "INC16",
"x": 203,
"y": 493,
"id": "8"
}, {
"type": "INV16",
"x": 278,
"y": 170,
"id": "9"
}, {
"type": "INC16",
"x": 274,
"y": 83,
"id": "10"
}, {
"type": "SELECT16",
"x": 179,
"y": 94,
"id": "11"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "8",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "2",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "4"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "7",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "4"
},
"target": {
"nodeId": "4",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "6",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "7",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "8",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "9",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "9",
"connectorId": "0"
},
"target": {
"nodeId": "10",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "0"
},
"target": {
"nodeId": "11",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "10",
"connectorId": "0"
},
"target": {
"nodeId": "11",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "11",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "11",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "1"
}
}
]
},
"NandGame:Levels:FLOAT_NORMALIZE_UNDERFLOW": {
"nodes": [{
"type": "SHL",
"x": 417,
"y": 579,
"id": "0"
}, {
"type": "SPLIT16",
"x": 789,
"y": 610,
"id": "1"
}, {
"type": "SHL",
"x": 421,
"y": 505,
"id": "2"
}, {
"type": "SHL",
"x": 419,
"y": 417,
"id": "3"
}, {
"type": "SHL",
"x": 420,
"y": 345,
"id": "4"
}, {
"type": "SHL",
"x": 432,
"y": 261,
"id": "5"
}, {
"type": "SHL",
"x": 558,
"y": 577,
"id": "6"
}, {
"type": "SHL",
"x": 557,
"y": 499,
"id": "7"
}, {
"type": "SHL",
"x": 548,
"y": 410,
"id": "8"
}, {
"type": "SHL",
"x": 551,
"y": 325,
"id": "9"
}, {
"type": "SHL",
"x": 553,
"y": 241,
"id": "10"
}, {
"type": "INV16",
"x": 6,
"y": 649,
"id": "11"
}, {
"type": "ADDC16",
"x": 98,
"y": 573,
"id": "12"
}, {
"type": "ADDC16",
"x": 98,
"y": 466,
"id": "13"
}, {
"type": "ADDC16",
"x": 111,
"y": 389,
"id": "14"
}, {
"type": "ADDC16",
"x": 110,
"y": 318,
"id": "15"
}, {
"type": "ADDC16",
"x": 106,
"y": 234,
"id": "16"
}, {
"type": "ADDC16",
"x": 230,
"y": 581,
"id": "17"
}, {
"type": "ADDC16",
"x": 219,
"y": 489,
"id": "18"
}, {
"type": "ADDC16",
"x": 222,
"y": 413,
"id": "19"
}, {
"type": "ADDC16",
"x": 229,
"y": 327,
"id": "20"
}, {
"type": "ADDC16",
"x": 236,
"y": 223,
"id": "21"
}, {
"type": "SELECT16",
"x": 731,
"y": 96,
"id": "22"
}, {
"type": "SELECT16",
"x": 1101,
"y": 101,
"id": "23"
}, {
"type": "SELECT16",
"x": 743,
"y": 200,
"id": "24"
}, {
"type": "SELECT16",
"x": 1119,
"y": 193,
"id": "25"
}, {
"type": "SELECT16",
"x": 739,
"y": 294,
"id": "26"
}, {
"type": "SELECT16",
"x": 744,
"y": 380,
"id": "27"
}, {
"type": "SELECT16",
"x": 746,
"y": 469,
"id": "28"
}, {
"type": "SELECT16",
"x": 866,
"y": 103,
"id": "29"
}, {
"type": "SELECT16",
"x": 878,
"y": 181,
"id": "30"
}, {
"type": "SELECT16",
"x": 894,
"y": 255,
"id": "31"
}, {
"type": "SELECT16",
"x": 891,
"y": 387,
"id": "32"
}, {
"type": "SELECT16",
"x": 898,
"y": 492,
"id": "33"
}, {
"type": "SELECT16",
"x": 1104,
"y": 263,
"id": "34"
}, {
"type": "SELECT16",
"x": 1118,
"y": 386,
"id": "35"
}, {
"type": "SELECT16",
"x": 1131,
"y": 475,
"id": "36"
}, {
"type": "SELECT16",
"x": 1252,
"y": 107,
"id": "37"
}, {
"type": "SELECT16",
"x": 1248,
"y": 229,
"id": "38"
}, {
"type": "SELECT16",
"x": 1251,
"y": 324,
"id": "39"
}, {
"type": "SELECT16",
"x": 1252,
"y": 393,
"id": "40"
}, {
"type": "SELECT16",
"x": 1267,
"y": 497,
"id": "41"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "6",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "0"
},
"target": {
"nodeId": "7",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "7",
"connectorId": "0"
},
"target": {
"nodeId": "8",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "8",
"connectorId": "0"
},
"target": {
"nodeId": "9",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "9",
"connectorId": "0"
},
"target": {
"nodeId": "10",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "11",
"connectorId": "0"
},
"target": {
"nodeId": "12",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "12",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "11",
"connectorId": "0"
},
"target": {
"nodeId": "13",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "12",
"connectorId": "1"
},
"target": {
"nodeId": "13",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "11",
"connectorId": "0"
},
"target": {
"nodeId": "14",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "13",
"connectorId": "1"
},
"target": {
"nodeId": "14",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "11",
"connectorId": "0"
},
"target": {
"nodeId": "15",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "14",
"connectorId": "1"
},
"target": {
"nodeId": "15",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "11",
"connectorId": "0"
},
"target": {
"nodeId": "16",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "15",
"connectorId": "1"
},
"target": {
"nodeId": "16",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "11",
"connectorId": "0"
},
"target": {
"nodeId": "17",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "16",
"connectorId": "1"
},
"target": {
"nodeId": "17",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "11",
"connectorId": "0"
},
"target": {
"nodeId": "18",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "17",
"connectorId": "1"
},
"target": {
"nodeId": "18",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "11",
"connectorId": "0"
},
"target": {
"nodeId": "19",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "18",
"connectorId": "1"
},
"target": {
"nodeId": "19",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "11",
"connectorId": "0"
},
"target": {
"nodeId": "20",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "19",
"connectorId": "1"
},
"target": {
"nodeId": "20",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "11",
"connectorId": "0"
},
"target": {
"nodeId": "21",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "20",
"connectorId": "1"
},
"target": {
"nodeId": "21",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "5"
},
"target": {
"nodeId": "22",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "22",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "24",
"connectorId": "0"
},
"target": {
"nodeId": "22",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "5"
},
"target": {
"nodeId": "23",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "23",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "25",
"connectorId": "0"
},
"target": {
"nodeId": "23",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "6"
},
"target": {
"nodeId": "24",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "24",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "26",
"connectorId": "0"
},
"target": {
"nodeId": "24",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "6"
},
"target": {
"nodeId": "25",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "12",
"connectorId": "1"
},
"target": {
"nodeId": "25",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "34",
"connectorId": "0"
},
"target": {
"nodeId": "25",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "7"
},
"target": {
"nodeId": "26",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "26",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "27",
"connectorId": "0"
},
"target": {
"nodeId": "26",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "8"
},
"target": {
"nodeId": "27",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "27",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "28",
"connectorId": "0"
},
"target": {
"nodeId": "27",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "9"
},
"target": {
"nodeId": "28",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "28",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "29",
"connectorId": "0"
},
"target": {
"nodeId": "28",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "10"
},
"target": {
"nodeId": "29",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "29",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "30",
"connectorId": "0"
},
"target": {
"nodeId": "29",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "11"
},
"target": {
"nodeId": "30",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "0"
},
"target": {
"nodeId": "30",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "31",
"connectorId": "0"
},
"target": {
"nodeId": "30",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "12"
},
"target": {
"nodeId": "31",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "7",
"connectorId": "0"
},
"target": {
"nodeId": "31",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "32",
"connectorId": "0"
},
"target": {
"nodeId": "31",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "13"
},
"target": {
"nodeId": "32",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "8",
"connectorId": "0"
},
"target": {
"nodeId": "32",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "33",
"connectorId": "0"
},
"target": {
"nodeId": "32",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "14"
},
"target": {
"nodeId": "33",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "9",
"connectorId": "0"
},
"target": {
"nodeId": "33",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "10",
"connectorId": "0"
},
"target": {
"nodeId": "33",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "7"
},
"target": {
"nodeId": "34",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "13",
"connectorId": "1"
},
"target": {
"nodeId": "34",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "35",
"connectorId": "0"
},
"target": {
"nodeId": "34",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "8"
},
"target": {
"nodeId": "35",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "14",
"connectorId": "1"
},
"target": {
"nodeId": "35",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "36",
"connectorId": "0"
},
"target": {
"nodeId": "35",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "9"
},
"target": {
"nodeId": "36",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "15",
"connectorId": "1"
},
"target": {
"nodeId": "36",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "37",
"connectorId": "0"
},
"target": {
"nodeId": "36",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "10"
},
"target": {
"nodeId": "37",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "16",
"connectorId": "1"
},
"target": {
"nodeId": "37",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "38",
"connectorId": "0"
},
"target": {
"nodeId": "37",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "11"
},
"target": {
"nodeId": "38",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "17",
"connectorId": "1"
},
"target": {
"nodeId": "38",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "39",
"connectorId": "0"
},
"target": {
"nodeId": "38",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "12"
},
"target": {
"nodeId": "39",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "18",
"connectorId": "1"
},
"target": {
"nodeId": "39",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "40",
"connectorId": "0"
},
"target": {
"nodeId": "39",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "13"
},
"target": {
"nodeId": "40",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "19",
"connectorId": "1"
},
"target": {
"nodeId": "40",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "41",
"connectorId": "0"
},
"target": {
"nodeId": "40",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "14"
},
"target": {
"nodeId": "41",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "20",
"connectorId": "1"
},
"target": {
"nodeId": "41",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "21",
"connectorId": "1"
},
"target": {
"nodeId": "41",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "23",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "22",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "1"
}
}
]
},
"NandGame:Levels:CS_TRIGGER": {
"nodes": [{
"type": "COUNTER",
"x": 61,
"y": 311,
"id": "0"
}, {
"type": "SPLIT16",
"x": 303,
"y": 300,
"id": "1"
}, {
"type": "BUNDLE16",
"x": 304,
"y": 135,
"id": "2"
}, {
"type": "INC16",
"x": 375,
"y": 486,
"id": "3"
}
],
"connections": [{
"source": {
"nodeId": "1",
"connectorId": "7"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "8"
},
"target": {
"nodeId": "2",
"connectorId": "8"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "9"
},
"target": {
"nodeId": "2",
"connectorId": "9"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "10"
},
"target": {
"nodeId": "2",
"connectorId": "10"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "11"
},
"target": {
"nodeId": "2",
"connectorId": "11"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "12"
},
"target": {
"nodeId": "2",
"connectorId": "12"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "13"
},
"target": {
"nodeId": "2",
"connectorId": "13"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "14"
},
"target": {
"nodeId": "2",
"connectorId": "14"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "15"
},
"target": {
"nodeId": "2",
"connectorId": "15"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "7"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:OR": {
"nodes": [{
"type": "INV",
"x": 62,
"y": 582,
"id": "0"
}, {
"type": "INV",
"x": 176,
"y": 580,
"id": "1"
}, {
"type": "NAND",
"x": 72,
"y": 138,
"id": "2"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:STACK_SUB": {
"code": "# Assembler code \nPOP_D\nPOP_A\nD = A - D\nPUSH_D"
},
"NandGame:Levels:STACK_INIT": {
"code": "# Assembler code \nA = 256\nD = A\nA = SP\n*A = D"
},
"NandGame:Levels:DEMUX": {
"nodes": [{
"type": "AND",
"x": 70,
"y": 207,
"id": "0"
}, {
"type": "INV",
"x": 158,
"y": 383,
"id": "1"
}, {
"type": "AND",
"x": 236,
"y": 286,
"id": "2"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "1"
}
}
]
},
"NandGame:Levels:FLOAT_MUL_UNPACKED": {
"nodes": [{
"type": "XOR",
"x": 102,
"y": 450,
"id": "0"
}, {
"type": "MUL32",
"x": 613,
"y": 494,
"id": "1"
}, {
"type": "CONST",
"x": 316,
"y": 425,
"id": "2",
"state": 15
}, {
"type": "ADD16",
"x": 212,
"y": 457,
"id": "3"
}, {
"type": "SUB16",
"x": 203,
"y": 280,
"id": "4"
}, {
"type": "SPLIT22",
"x": 506,
"y": 366,
"id": "5"
}, {
"type": "BUNDLE16",
"x": 353,
"y": 167,
"id": "6"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "5"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "4"
},
"target": {
"nodeId": "3",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "6",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "1"
},
"target": {
"nodeId": "6",
"connectorId": "5"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "2"
},
"target": {
"nodeId": "6",
"connectorId": "6"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "3"
},
"target": {
"nodeId": "6",
"connectorId": "7"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "4"
},
"target": {
"nodeId": "6",
"connectorId": "8"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "5"
},
"target": {
"nodeId": "6",
"connectorId": "9"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "6"
},
"target": {
"nodeId": "6",
"connectorId": "10"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "7"
},
"target": {
"nodeId": "6",
"connectorId": "11"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "8"
},
"target": {
"nodeId": "6",
"connectorId": "12"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "9"
},
"target": {
"nodeId": "6",
"connectorId": "13"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "10"
},
"target": {
"nodeId": "6",
"connectorId": "14"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "11"
},
"target": {
"nodeId": "6",
"connectorId": "15"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "2"
}
}
]
},
"NandGame:Levels:FLOAT_VERIFY_EXPONENT": {
"nodes": [{
"type": "AND16",
"x": 126,
"y": 418,
"id": "0"
}, {
"type": "CONST",
"x": 174,
"y": 520,
"id": "1",
"state": 65504
}, {
"type": "CONST",
"x": 559,
"y": 582,
"id": "2",
"state": 31
}, {
"type": "ISZERO",
"x": 122,
"y": 314,
"id": "3"
}, {
"type": "SELECT16",
"x": 139,
"y": 197,
"id": "4"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "output",
"connectorId": "1"
}
}
]
},
"NandGame:Levels:FLOAT_PACK": {
"nodes": [{
"type": "BUNDLE16",
"x": 147,
"y": 118,
"id": "0"
}, {
"type": "ISZERO",
"x": 350,
"y": 588,
"id": "1"
}, {
"type": "SELECT16",
"x": 367,
"y": 399,
"id": "2"
}, {
"type": "SPLIT16",
"x": 6,
"y": 323,
"id": "3"
}, {
"type": "FLOAT_NORMALIZE_UNDERFLOW",
"x": 216,
"y": 538,
"id": "4"
}, {
"type": "SPLIT16",
"x": 364,
"y": 328,
"id": "5"
}, {
"type": "FLOAT_VERIFY_EXPONENT",
"x": 222,
"y": 421,
"id": "6"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "11"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "12"
},
"target": {
"nodeId": "0",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "13"
},
"target": {
"nodeId": "0",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "14"
},
"target": {
"nodeId": "0",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "15"
},
"target": {
"nodeId": "0",
"connectorId": "5"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "6"
},
"target": {
"nodeId": "0",
"connectorId": "6"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "7"
},
"target": {
"nodeId": "0",
"connectorId": "7"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "8"
},
"target": {
"nodeId": "0",
"connectorId": "8"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "9"
},
"target": {
"nodeId": "0",
"connectorId": "9"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "10"
},
"target": {
"nodeId": "0",
"connectorId": "10"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "11"
},
"target": {
"nodeId": "0",
"connectorId": "11"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "12"
},
"target": {
"nodeId": "0",
"connectorId": "12"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "13"
},
"target": {
"nodeId": "0",
"connectorId": "13"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "14"
},
"target": {
"nodeId": "0",
"connectorId": "14"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "15"
},
"target": {
"nodeId": "0",
"connectorId": "15"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "4",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "1"
},
"target": {
"nodeId": "5",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "6",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "1"
},
"target": {
"nodeId": "6",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:CS_CONTROL_UNIT": {
"nodes": [{
"type": "CONTROL_UNIT",
"x": 828,
"y": 507,
"id": "0"
}, {
"type": "SPLIT16",
"x": 41,
"y": 808,
"id": "1"
}, {
"type": "AND",
"x": 51,
"y": 433,
"id": "2"
}, {
"type": "INV",
"x": 64,
"y": 557,
"id": "3"
}, {
"type": "SELECT",
"x": 84,
"y": 125,
"id": "4"
}, {
"type": "SELECT",
"x": 214,
"y": 132,
"id": "5"
}, {
"type": "SELECT",
"x": 368,
"y": 143,
"id": "6"
}, {
"type": "SELECT",
"x": 598,
"y": 211,
"id": "7"
}, {
"type": "SELECT16",
"x": 808,
"y": 202,
"id": "8"
}, {
"type": "SELECT16",
"x": 242,
"y": 689,
"id": "9"
}, {
"type": "SELECT16",
"x": 414,
"y": 696,
"id": "10"
}, {
"type": "SELECT16",
"x": 925,
"y": 681,
"id": "11"
}, {
"type": "SELECT16",
"x": 1116,
"y": 688,
"id": "12"
}, {
"type": "SELECT16",
"x": 339,
"y": 615,
"id": "13"
}, {
"type": "SELECT16",
"x": 1033,
"y": 600,
"id": "14"
}, {
"type": "SELECT16",
"x": 606,
"y": 503,
"id": "15"
}, {
"type": "AND",
"x": 228,
"y": 438,
"id": "16"
}, {
"type": "AND",
"x": 276,
"y": 245,
"id": "17"
}, {
"type": "AND",
"x": 521,
"y": 375,
"id": "18"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "4"
},
"target": {
"nodeId": "0",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "1"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "10"
},
"target": {
"nodeId": "4",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "1"
},
"target": {
"nodeId": "4",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "11"
},
"target": {
"nodeId": "5",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "2"
},
"target": {
"nodeId": "5",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "6",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "12"
},
"target": {
"nodeId": "6",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "3"
},
"target": {
"nodeId": "6",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "7",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "14"
},
"target": {
"nodeId": "7",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "4"
},
"target": {
"nodeId": "7",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "8",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "15",
"connectorId": "0"
},
"target": {
"nodeId": "8",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "8",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "9"
},
"target": {
"nodeId": "9",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "9",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "9",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "9"
},
"target": {
"nodeId": "10",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "5"
},
"target": {
"nodeId": "10",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "4"
},
"target": {
"nodeId": "10",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "9"
},
"target": {
"nodeId": "11",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "7"
},
"target": {
"nodeId": "11",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "6"
},
"target": {
"nodeId": "11",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "9"
},
"target": {
"nodeId": "12",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "9"
},
"target": {
"nodeId": "12",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "8"
},
"target": {
"nodeId": "12",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "8"
},
"target": {
"nodeId": "13",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "10",
"connectorId": "0"
},
"target": {
"nodeId": "13",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "9",
"connectorId": "0"
},
"target": {
"nodeId": "13",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "8"
},
"target": {
"nodeId": "14",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "12",
"connectorId": "0"
},
"target": {
"nodeId": "14",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "11",
"connectorId": "0"
},
"target": {
"nodeId": "14",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "7"
},
"target": {
"nodeId": "15",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "14",
"connectorId": "0"
},
"target": {
"nodeId": "15",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "13",
"connectorId": "0"
},
"target": {
"nodeId": "15",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "16",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "2"
},
"target": {
"nodeId": "16",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "17",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "15"
},
"target": {
"nodeId": "17",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "18",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "13"
},
"target": {
"nodeId": "18",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "18",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "17",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "8",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "5"
}
}, {
"source": {
"nodeId": "7",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "6"
}
}, {
"source": {
"nodeId": "8",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "7"
}
}, {
"source": {
"nodeId": "16",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "8"
}
}
]
},
"NandGame:Levels:FLOAT_ADD": {
"nodes": [{
"type": "ADD_SIGNED_MAGNITUDE",
"x": 148,
"y": 267,
"id": "0"
}, {
"type": "FLOAT_UNPACK",
"x": 178,
"y": 604,
"id": "1"
}, {
"type": "FLOAT_UNPACK",
"x": 334,
"y": 601,
"id": "2"
}, {
"type": "FLOAT_PACK",
"x": 128,
"y": 136,
"id": "3"
}, {
"type": "FLOAT_ALIGN",
"x": 396,
"y": 467,
"id": "4"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "2"
},
"target": {
"nodeId": "0",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "1"
},
"target": {
"nodeId": "3",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "1"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "2"
},
"target": {
"nodeId": "4",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "1"
},
"target": {
"nodeId": "4",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "2"
},
"target": {
"nodeId": "4",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:FUNCTION": {
"code": "# Assembler code \nLABEL functionName\nA = SP\nD = *A\nA = LOCALS\n*A = D\nA = localsCount\nD = D + A\nA = SP\n*A = D"
},
"NandGame:Levels:LATCH": {
"nodes": [{
"type": "SELECT",
"x": 106,
"y": 352,
"id": "0"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:SHL": {
"nodes": [{
"type": "SPLIT16",
"x": 96,
"y": 479,
"id": "0"
}, {
"type": "BUNDLE16",
"x": 117,
"y": 356,
"id": "1"
}, {
"type": "ZERO",
"x": 456,
"y": 479,
"id": "2"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "1"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "2"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "3"
},
"target": {
"nodeId": "1",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "4"
},
"target": {
"nodeId": "1",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "5"
},
"target": {
"nodeId": "1",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "6"
},
"target": {
"nodeId": "1",
"connectorId": "5"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "7"
},
"target": {
"nodeId": "1",
"connectorId": "6"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "8"
},
"target": {
"nodeId": "1",
"connectorId": "7"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "9"
},
"target": {
"nodeId": "1",
"connectorId": "8"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "10"
},
"target": {
"nodeId": "1",
"connectorId": "9"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "11"
},
"target": {
"nodeId": "1",
"connectorId": "10"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "12"
},
"target": {
"nodeId": "1",
"connectorId": "11"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "13"
},
"target": {
"nodeId": "1",
"connectorId": "12"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "14"
},
"target": {
"nodeId": "1",
"connectorId": "13"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "15"
},
"target": {
"nodeId": "1",
"connectorId": "14"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "15"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:SHR": {
"nodes": [{
"type": "SPLIT16",
"x": 73,
"y": 529,
"id": "0"
}, {
"type": "BUNDLE16",
"x": 51,
"y": 305,
"id": "1"
}, {
"type": "ZERO",
"x": -2,
"y": 584,
"id": "2"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "1"
},
"target": {
"nodeId": "1",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "2"
},
"target": {
"nodeId": "1",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "3"
},
"target": {
"nodeId": "1",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "4"
},
"target": {
"nodeId": "1",
"connectorId": "5"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "5"
},
"target": {
"nodeId": "1",
"connectorId": "6"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "6"
},
"target": {
"nodeId": "1",
"connectorId": "7"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "7"
},
"target": {
"nodeId": "1",
"connectorId": "8"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "8"
},
"target": {
"nodeId": "1",
"connectorId": "9"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "9"
},
"target": {
"nodeId": "1",
"connectorId": "10"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "10"
},
"target": {
"nodeId": "1",
"connectorId": "11"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "11"
},
"target": {
"nodeId": "1",
"connectorId": "12"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "12"
},
"target": {
"nodeId": "1",
"connectorId": "13"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "13"
},
"target": {
"nodeId": "1",
"connectorId": "14"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "14"
},
"target": {
"nodeId": "1",
"connectorId": "15"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:STACK_GOTO": {
"code": "# Assembler code \nA = label\nJMP"
},
"NandGame:Levels:STACK_LT": {
"code": "# Assembler code \nPOP_D\nPOP_A\nD = D - A\nA = equals\nD; JLE\nD = 0\nD = ~D\nPUSH_D\nA = end\nJMP\n\nLABEL equals\nPUSH_VALUE 0\n\nLABEL end"
},
"NandGame:Levels:CONDITION": {
"nodes": [{
"type": "ISNEG",
"x": 287,
"y": 569,
"id": "0"
}, {
"type": "ISZERO",
"x": 402,
"y": 571,
"id": "1"
}, {
"type": "AND",
"x": 78,
"y": 405,
"id": "2"
}, {
"type": "AND",
"x": 197,
"y": 392,
"id": "3"
}, {
"type": "AND",
"x": 316,
"y": 296,
"id": "4"
}, {
"type": "OR",
"x": 87,
"y": 109,
"id": "5"
}, {
"type": "OR",
"x": 238,
"y": 205,
"id": "6"
}, {
"type": "OR",
"x": 370,
"y": 465,
"id": "7"
}, {
"type": "INV",
"x": 345,
"y": 380,
"id": "8"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "8",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "6",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "6",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "7",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "7",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "7",
"connectorId": "0"
},
"target": {
"nodeId": "8",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:CONTROL_UNIT": {
"nodes": [{
"type": "ALU_INSTRUCTION",
"x": 553,
"y": 274,
"id": "0"
}, {
"type": "SELECT16",
"x": 149,
"y": 146,
"id": "1"
}, {
"type": "SELECT16",
"x": 390,
"y": 367,
"id": "2"
}, {
"type": "OR",
"x": 268,
"y": 150,
"id": "3"
}, {
"type": "ISNEG",
"x": 45,
"y": 564,
"id": "4"
}, {
"type": "INV",
"x": 70,
"y": 460,
"id": "5"
}
],
"connections": [{
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "0",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "0",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "1"
},
"target": {
"nodeId": "3",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "2"
},
"target": {
"nodeId": "output",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "3"
},
"target": {
"nodeId": "output",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "4"
},
"target": {
"nodeId": "output",
"connectorId": "4"
}
}
]
},
"NandGame:Levels:STACK_PUSH_LOCAL": {
"code": "# Assembler code \nA = index\nD = A\nA = LOCALS\nA = D + *A\nD = *A\nPUSH_D"
},
"NandGame:Levels:FLOAT_NORMALIZE_OVERFLOW": {
"nodes": [{
"type": "SPLIT16",
"x": 288,
"y": 497,
"id": "0"
}, {
"type": "BUNDLE16",
"x": 264,
"y": 402,
"id": "1"
}, {
"type": "SELECT16",
"x": 318,
"y": 255,
"id": "2"
}, {
"type": "ADD16",
"x": 111,
"y": 270,
"id": "3"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "4"
},
"target": {
"nodeId": "1",
"connectorId": "5"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "5"
},
"target": {
"nodeId": "1",
"connectorId": "6"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "6"
},
"target": {
"nodeId": "1",
"connectorId": "7"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "7"
},
"target": {
"nodeId": "1",
"connectorId": "8"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "8"
},
"target": {
"nodeId": "1",
"connectorId": "9"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "9"
},
"target": {
"nodeId": "1",
"connectorId": "10"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "10"
},
"target": {
"nodeId": "1",
"connectorId": "11"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "11"
},
"target": {
"nodeId": "1",
"connectorId": "12"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "12"
},
"target": {
"nodeId": "1",
"connectorId": "13"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "13"
},
"target": {
"nodeId": "1",
"connectorId": "14"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "14"
},
"target": {
"nodeId": "1",
"connectorId": "15"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "4"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "2",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "4"
},
"target": {
"nodeId": "3",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "1"
}
}
]
},
"NandGame:Programs": [],
"NandGame:Levels:CS_REGISTER": {
"nodes": [{
"type": "DFF16",
"x": 260,
"y": 288,
"id": "0"
}, {
"type": "DFF16",
"x": 526,
"y": 282,
"id": "1"
}, {
"type": "SELECT16",
"x": 508,
"y": 435,
"id": "2"
}, {
"type": "AND",
"x": 257,
"y": 463,
"id": "3"
}, {
"type": "AND",
"x": 75,
"y": 410,
"id": "4"
}, {
"type": "INV",
"x": 149,
"y": 565,
"id": "5"
}, {
"type": "OR",
"x": 293,
"y": 546,
"id": "6"
}, {
"type": "OR",
"x": 146,
"y": 464,
"id": "7"
}, {
"type": "SELECT16",
"x": 353,
"y": 480,
"id": "8"
}, {
"type": "AND",
"x": 370,
"y": 606,
"id": "9"
}, {
"type": "AND",
"x": 880,
"y": 450,
"id": "10"
}, {
"type": "INV",
"x": 1016,
"y": 551,
"id": "11"
}, {
"type": "SELECT16",
"x": 807,
"y": 348,
"id": "12"
}
],
"connections": [{
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "12",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "6"
},
"target": {
"nodeId": "0",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "6"
},
"target": {
"nodeId": "1",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "2",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "7",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "5",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "6",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "6",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "7",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "7",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "9",
"connectorId": "0"
},
"target": {
"nodeId": "8",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "5"
},
"target": {
"nodeId": "8",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "8",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "9",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "4"
},
"target": {
"nodeId": "9",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "10",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "11",
"connectorId": "0"
},
"target": {
"nodeId": "10",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "4"
},
"target": {
"nodeId": "11",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "10",
"connectorId": "0"
},
"target": {
"nodeId": "12",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "12",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "8",
"connectorId": "0"
},
"target": {
"nodeId": "12",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "1"
}
}
]
},
"NandGame:Levels:FULLADD": {
"nodes": [{
"type": "HALFADD",
"x": 184,
"y": 480,
"id": "0"
}, {
"type": "HALFADD",
"x": 168,
"y": 254,
"id": "1"
}, {
"type": "OR",
"x": 68,
"y": 135,
"id": "2"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "1"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "1"
},
"target": {
"nodeId": "output",
"connectorId": "1"
}
}
]
},
"NandGame:Levels:SHARED_STACK_CONSTANTS": {
"constants": [{
"name": "SP",
"value": "0"
}, {
"name": "ARGS",
"value": "1"
}, {
"name": "LOCALS",
"value": "2"
}, {
"name": "RETVAL",
"value": "6"
}, {
"name": "OLDARGS",
"value": "8"
}, {
"name": "CHEAT",
"value": "10"
}
]
},
"NandGame:Levels:HALFADD": {
"nodes": [{
"type": "NAND",
"x": 344,
"y": 385.5274988874003,
"id": "0"
}, {
"type": "NAND",
"x": 15,
"y": 389.4960784042875,
"id": "1"
}, {
"type": "NAND",
"x": 178,
"y": 247.8598901098901,
"id": "2"
}, {
"type": "NAND",
"x": 138,
"y": 529.7205776483629,
"id": "3"
}, {
"type": "NAND",
"x": 41,
"y": 177.2554945054945,
"id": "4"
}
],
"connections": [{
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "3",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "1"
}
}
]
},
"NandGame:Levels:CONTROL_SELECTOR": {
"nodes": [{
"type": "SELECT16",
"x": 162.5,
"y": 278,
"id": "0"
}, {
"type": "SELECT",
"x": 301.5,
"y": 278,
"id": "1"
}, {
"type": "SELECT",
"x": 427.5,
"y": 272,
"id": "2"
}, {
"type": "SELECT",
"x": 596.5,
"y": 278,
"id": "3"
}, {
"type": "SELECT",
"x": 734.5,
"y": 290,
"id": "4"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "6"
},
"target": {
"nodeId": "0",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "7"
},
"target": {
"nodeId": "1",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "8"
},
"target": {
"nodeId": "2",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "4"
},
"target": {
"nodeId": "3",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "9"
},
"target": {
"nodeId": "3",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "5"
},
"target": {
"nodeId": "4",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "10"
},
"target": {
"nodeId": "4",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "4"
}
}
]
},
"NandGame:Levels:INC": {
"nodes": [{
"type": "ADDC16",
"x": 154,
"y": 315,
"id": "0"
}, {
"type": "INV",
"x": 201,
"y": 451,
"id": "1"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "1"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:CS_COMBINE": {
"nodes": [{
"type": "CS_CONTROL_UNIT",
"x": 530,
"y": 408,
"id": "0"
}, {
"type": "CS_TRIGGER",
"x": 1498,
"y": 439,
"id": "1"
}, {
"type": "CS_REGISTER_BLOCK",
"x": 131,
"y": 281,
"id": "2"
}, {
"type": "CLOCK",
"x": 591,
"y": 614,
"id": "3"
}, {
"type": "CS_MODE",
"x": 1274,
"y": 243,
"id": "4"
}, {
"type": "CS_MAPPED_MEMORY",
"x": 602,
"y": 110,
"id": "5"
}
],
"connections": [{
"source": {
"nodeId": "5",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "2"
},
"target": {
"nodeId": "0",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "3"
},
"target": {
"nodeId": "0",
"connectorId": "5"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "4"
},
"target": {
"nodeId": "0",
"connectorId": "6"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "5"
},
"target": {
"nodeId": "0",
"connectorId": "7"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "6"
},
"target": {
"nodeId": "0",
"connectorId": "8"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "7"
},
"target": {
"nodeId": "0",
"connectorId": "9"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "5"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "1"
},
"target": {
"nodeId": "2",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "3"
},
"target": {
"nodeId": "2",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "7"
},
"target": {
"nodeId": "2",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "6"
},
"target": {
"nodeId": "2",
"connectorId": "5"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "4"
},
"target": {
"nodeId": "2",
"connectorId": "6"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "7"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "1"
},
"target": {
"nodeId": "2",
"connectorId": "8"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "2"
},
"target": {
"nodeId": "2",
"connectorId": "9"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "10"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "8"
},
"target": {
"nodeId": "4",
"connectorId": "0"
},
"points": [{
"x": 1111,
"y": 362
}
]
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "2"
},
"target": {
"nodeId": "5",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "5"
},
"target": {
"nodeId": "5",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "6"
},
"target": {
"nodeId": "5",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "4"
},
"target": {
"nodeId": "5",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "5"
}
}
]
},
"NandGame:Levels:ALU_ARITHMETIC": {
"nodes": [{
"type": "ZERO",
"x": 892,
"y": 634,
"id": "0"
}, {
"type": "BUNDLE16",
"x": 459,
"y": 466,
"id": "1"
}, {
"type": "INV",
"x": 686,
"y": 563,
"id": "2"
}, {
"type": "SELECT16",
"x": 341,
"y": 392,
"id": "3"
}, {
"type": "ADD16",
"x": 252,
"y": 247,
"id": "4"
}, {
"type": "SUB16",
"x": 106,
"y": 262,
"id": "5"
}, {
"type": "SELECT16",
"x": 23,
"y": 137,
"id": "6"
}
],
"connections": [{
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "15"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "3",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "5",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "6",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "6",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "6",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:CMOS_NOR": {
"nodes": [{
"type": "NMOS",
"x": 86,
"y": 358,
"id": "0"
}, {
"type": "NMOS",
"x": 163,
"y": 256,
"id": "1"
}, {
"type": "PMOS",
"x": 372,
"y": 263,
"id": "2"
}, {
"type": "PMOS",
"x": 429,
"y": 413,
"id": "3"
}, {
"type": "TRINARY_LOGIC_WIRE_JUNCTION",
"x": 99,
"y": 169,
"id": "4"
}, {
"type": "TRINARY_LOGIC_WIRE_JUNCTION",
"x": 197,
"y": 88,
"id": "5"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "3"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "3",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:SR_LATCH": {
"nodes": [{
"type": "NAND",
"x": 63,
"y": 254,
"id": "0"
}, {
"type": "NAND",
"x": 219,
"y": 253,
"id": "1"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:STACK_POP_D": {
"code": "# Assembler code \nA = SP\nD = *A - 1\n*A = D\nA = SP\nA = *A\nD = *A"
},
"NandGame:Levels:MUL16": {
"nodes": [{
"type": "SHL",
"x": 125,
"y": 585,
"id": "0"
}, {
"type": "SHL",
"x": 123,
"y": 503,
"id": "1"
}, {
"type": "SHL",
"x": 124,
"y": 433,
"id": "2"
}, {
"type": "SHL",
"x": 122,
"y": 360,
"id": "3"
}, {
"type": "SHL",
"x": 122,
"y": 300,
"id": "4"
}, {
"type": "SHL",
"x": 125,
"y": 221,
"id": "5"
}, {
"type": "SHL",
"x": 128,
"y": 145,
"id": "6"
}, {
"type": "SHL",
"x": 215,
"y": 613,
"id": "7"
}, {
"type": "SHL",
"x": 216,
"y": 538,
"id": "8"
}, {
"type": "SHL",
"x": 234,
"y": 472,
"id": "9"
}, {
"type": "SHL",
"x": 240,
"y": 404,
"id": "10"
}, {
"type": "SHL",
"x": 219,
"y": 331,
"id": "11"
}, {
"type": "SHL",
"x": 239,
"y": 249,
"id": "12"
}, {
"type": "SHL",
"x": 241,
"y": 180,
"id": "13"
}, {
"type": "SHL",
"x": 243,
"y": 110,
"id": "14"
}, {
"type": "SPLIT16",
"x": 1021,
"y": 625,
"id": "15"
}, {
"type": "SELECT16",
"x": 1607,
"y": 526,
"id": "16"
}, {
"type": "SELECT16",
"x": 1707,
"y": 531,
"id": "17"
}, {
"type": "SELECT16",
"x": 1517,
"y": 516,
"id": "18"
}, {
"type": "SELECT16",
"x": 1416,
"y": 516,
"id": "19"
}, {
"type": "SELECT16",
"x": 1316,
"y": 498,
"id": "20"
}, {
"type": "SELECT16",
"x": 1226,
"y": 495,
"id": "21"
}, {
"type": "SELECT16",
"x": 1131,
"y": 493,
"id": "22"
}, {
"type": "SELECT16",
"x": 1039,
"y": 496,
"id": "23"
}, {
"type": "SELECT16",
"x": 957,
"y": 500,
"id": "24"
}, {
"type": "SELECT16",
"x": 871,
"y": 504,
"id": "25"
}, {
"type": "SELECT16",
"x": 782,
"y": 504,
"id": "26"
}, {
"type": "SELECT16",
"x": 698,
"y": 507,
"id": "27"
}, {
"type": "SELECT16",
"x": 617,
"y": 500,
"id": "28"
}, {
"type": "SELECT16",
"x": 531,
"y": 505,
"id": "29"
}, {
"type": "SELECT16",
"x": 441,
"y": 503,
"id": "30"
}, {
"type": "SELECT16",
"x": 349,
"y": 513,
"id": "31"
}, {
"type": "ADDC16",
"x": 1705,
"y": 440,
"id": "32"
}, {
"type": "ADDC16",
"x": 1613,
"y": 377,
"id": "33"
}, {
"type": "ADDC16",
"x": 1490,
"y": 336,
"id": "34"
}, {
"type": "ADDC16",
"x": 1412,
"y": 293,
"id": "35"
}, {
"type": "ADDC16",
"x": 1315,
"y": 263,
"id": "36"
}, {
"type": "ADDC16",
"x": 1211,
"y": 243,
"id": "37"
}, {
"type": "ADDC16",
"x": 1107,
"y": 219,
"id": "38"
}, {
"type": "ADDC16",
"x": 1007,
"y": 199,
"id": "39"
}, {
"type": "ADDC16",
"x": 903,
"y": 191,
"id": "40"
}, {
"type": "ADDC16",
"x": 803,
"y": 163,
"id": "41"
}, {
"type": "ADDC16",
"x": 727,
"y": 141,
"id": "42"
}, {
"type": "ADDC16",
"x": 647,
"y": 134,
"id": "43"
}, {
"type": "ADDC16",
"x": 574,
"y": 114,
"id": "44"
}, {
"type": "ADDC16",
"x": 492,
"y": 101,
"id": "45"
}, {
"type": "ADDC16",
"x": 404,
"y": 91,
"id": "46"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "4",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "5",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "6",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "0"
},
"target": {
"nodeId": "7",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "7",
"connectorId": "0"
},
"target": {
"nodeId": "8",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "8",
"connectorId": "0"
},
"target": {
"nodeId": "9",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "9",
"connectorId": "0"
},
"target": {
"nodeId": "10",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "10",
"connectorId": "0"
},
"target": {
"nodeId": "11",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "11",
"connectorId": "0"
},
"target": {
"nodeId": "12",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "12",
"connectorId": "0"
},
"target": {
"nodeId": "13",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "13",
"connectorId": "0"
},
"target": {
"nodeId": "14",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "15",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "15",
"connectorId": "14"
},
"target": {
"nodeId": "16",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "16",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "15",
"connectorId": "15"
},
"target": {
"nodeId": "17",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "17",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "15",
"connectorId": "13"
},
"target": {
"nodeId": "18",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "18",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "15",
"connectorId": "12"
},
"target": {
"nodeId": "19",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "19",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "15",
"connectorId": "11"
},
"target": {
"nodeId": "20",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "20",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "15",
"connectorId": "10"
},
"target": {
"nodeId": "21",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "4",
"connectorId": "0"
},
"target": {
"nodeId": "21",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "15",
"connectorId": "9"
},
"target": {
"nodeId": "22",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "5",
"connectorId": "0"
},
"target": {
"nodeId": "22",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "15",
"connectorId": "8"
},
"target": {
"nodeId": "23",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "6",
"connectorId": "0"
},
"target": {
"nodeId": "23",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "15",
"connectorId": "7"
},
"target": {
"nodeId": "24",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "7",
"connectorId": "0"
},
"target": {
"nodeId": "24",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "15",
"connectorId": "6"
},
"target": {
"nodeId": "25",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "8",
"connectorId": "0"
},
"target": {
"nodeId": "25",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "15",
"connectorId": "5"
},
"target": {
"nodeId": "26",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "9",
"connectorId": "0"
},
"target": {
"nodeId": "26",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "15",
"connectorId": "4"
},
"target": {
"nodeId": "27",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "10",
"connectorId": "0"
},
"target": {
"nodeId": "27",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "15",
"connectorId": "3"
},
"target": {
"nodeId": "28",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "11",
"connectorId": "0"
},
"target": {
"nodeId": "28",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "15",
"connectorId": "2"
},
"target": {
"nodeId": "29",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "12",
"connectorId": "0"
},
"target": {
"nodeId": "29",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "15",
"connectorId": "1"
},
"target": {
"nodeId": "30",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "13",
"connectorId": "0"
},
"target": {
"nodeId": "30",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "15",
"connectorId": "0"
},
"target": {
"nodeId": "31",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "14",
"connectorId": "0"
},
"target": {
"nodeId": "31",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "16",
"connectorId": "0"
},
"target": {
"nodeId": "32",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "17",
"connectorId": "0"
},
"target": {
"nodeId": "32",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "18",
"connectorId": "0"
},
"target": {
"nodeId": "33",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "32",
"connectorId": "1"
},
"target": {
"nodeId": "33",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "19",
"connectorId": "0"
},
"target": {
"nodeId": "34",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "33",
"connectorId": "1"
},
"target": {
"nodeId": "34",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "20",
"connectorId": "0"
},
"target": {
"nodeId": "35",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "34",
"connectorId": "1"
},
"target": {
"nodeId": "35",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "21",
"connectorId": "0"
},
"target": {
"nodeId": "36",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "35",
"connectorId": "1"
},
"target": {
"nodeId": "36",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "22",
"connectorId": "0"
},
"target": {
"nodeId": "37",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "36",
"connectorId": "1"
},
"target": {
"nodeId": "37",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "23",
"connectorId": "0"
},
"target": {
"nodeId": "38",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "37",
"connectorId": "1"
},
"target": {
"nodeId": "38",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "24",
"connectorId": "0"
},
"target": {
"nodeId": "39",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "38",
"connectorId": "1"
},
"target": {
"nodeId": "39",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "25",
"connectorId": "0"
},
"target": {
"nodeId": "40",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "39",
"connectorId": "1"
},
"target": {
"nodeId": "40",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "26",
"connectorId": "0"
},
"target": {
"nodeId": "41",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "40",
"connectorId": "1"
},
"target": {
"nodeId": "41",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "27",
"connectorId": "0"
},
"target": {
"nodeId": "42",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "41",
"connectorId": "1"
},
"target": {
"nodeId": "42",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "28",
"connectorId": "0"
},
"target": {
"nodeId": "43",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "42",
"connectorId": "1"
},
"target": {
"nodeId": "43",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "29",
"connectorId": "0"
},
"target": {
"nodeId": "44",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "43",
"connectorId": "1"
},
"target": {
"nodeId": "44",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "30",
"connectorId": "0"
},
"target": {
"nodeId": "45",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "44",
"connectorId": "1"
},
"target": {
"nodeId": "45",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "31",
"connectorId": "0"
},
"target": {
"nodeId": "46",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "45",
"connectorId": "1"
},
"target": {
"nodeId": "46",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "46",
"connectorId": "1"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:CMOS_INV": {
"nodes": [{
"type": "PMOS",
"x": 72,
"y": 335,
"id": "0"
}, {
"type": "NMOS",
"x": 189,
"y": 336,
"id": "1"
}, {
"type": "TRINARY_LOGIC_WIRE_JUNCTION",
"x": 107,
"y": 173,
"id": "2"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:RELAY_NAND": {
"nodes": [{
"type": "RELAY-OFF",
"x": 78,
"y": 271,
"id": "0"
}, {
"type": "RELAY-ON",
"x": 169,
"y": 111,
"id": "1"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "0",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:SAR": {
"nodes": [{
"type": "SPLIT16",
"x": 132,
"y": 517,
"id": "0"
}, {
"type": "BUNDLE16",
"x": 109,
"y": 434,
"id": "1"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "1"
},
"target": {
"nodeId": "1",
"connectorId": "2"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "2"
},
"target": {
"nodeId": "1",
"connectorId": "3"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "3"
},
"target": {
"nodeId": "1",
"connectorId": "4"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "4"
},
"target": {
"nodeId": "1",
"connectorId": "5"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "5"
},
"target": {
"nodeId": "1",
"connectorId": "6"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "6"
},
"target": {
"nodeId": "1",
"connectorId": "7"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "7"
},
"target": {
"nodeId": "1",
"connectorId": "8"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "8"
},
"target": {
"nodeId": "1",
"connectorId": "9"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "9"
},
"target": {
"nodeId": "1",
"connectorId": "10"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "10"
},
"target": {
"nodeId": "1",
"connectorId": "11"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "11"
},
"target": {
"nodeId": "1",
"connectorId": "12"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "12"
},
"target": {
"nodeId": "1",
"connectorId": "13"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "13"
},
"target": {
"nodeId": "1",
"connectorId": "14"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "14"
},
"target": {
"nodeId": "1",
"connectorId": "15"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:CustomComponent:2": {
"key": "2",
"name": "shl 4",
"inputs": [{
"pins": [{
"label": "",
"width": 16
}
]
}
],
"outputs": [{
"pins": [{
"label": "",
"width": 16
}
]
}
],
"diagram": {
"nodes": [{
"type": "1",
"x": 132,
"y": 517,
"id": "0"
}, {
"type": "1",
"x": 132,
"y": 364,
"id": "1"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
}
},
"NandGame:Levels:MULTIPLEXER": {
"nodes": [{
"type": "INV",
"x": 60,
"y": 546.1169377880849,
"id": "0"
}, {
"type": "NAND",
"x": 316,
"y": 444.8383175340212,
"id": "1"
}, {
"type": "NAND",
"x": 130,
"y": 410.0195684259818,
"id": "2"
}, {
"type": "NAND",
"x": 181,
"y": 135.13970686059358,
"id": "3"
}
],
"connections": [{
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "0",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "0"
},
"target": {
"nodeId": "1",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "1"
},
"target": {
"nodeId": "1",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "0",
"connectorId": "0"
},
"target": {
"nodeId": "2",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "input",
"connectorId": "2"
},
"target": {
"nodeId": "2",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "2",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "0"
}
}, {
"source": {
"nodeId": "1",
"connectorId": "0"
},
"target": {
"nodeId": "3",
"connectorId": "1"
}
}, {
"source": {
"nodeId": "3",
"connectorId": "0"
},
"target": {
"nodeId": "output",
"connectorId": "0"
}
}
]
},
"NandGame:Levels:OPCODES2": {
"destinations": [{
"key": "",
"value": [false, false, false]
}, {
"key": "A =",
"value": [true, false, false]
}, {
"key": "D =",
"value": [false, true, false]
}, {
"key": "*A =",
"value": [false, false, true]
}, {
"key": "A, D =",
"value": [true, true, false]
}, {
"key": "D, *A =",
"value": [false, true, true]
}, {
"key": "A, D, *A =",
"value": [true, true, true]
}
],
"calculations": [{
"key": "D+A",
"value": [true, false, false, false, false]
}, {
"key": "D-A",
"value": [true, true, false, false, false]
}, {
"key": "A-D",
"value": [true, true, false, false, true]
}, {
"key": "D+1",
"value": [true, false, true, false, false]
}, {
"key": "A+1",
"value": [true, false, true, false, true]
}, {
"key": "D-1",
"value": [true, true, true, false, false]
}, {
"key": "A-1",
"value": [true, true, true, false, true]
}, {
"key": "-D",
"value": [true, true, false, true, true]
}, {
"key": "-A",
"value": [true, true, false, true, false]
}, {
"key": "-1",
"value": [true, true, true, true, false]
}, {
"key": "1",
"value": [true, false, true, true, false]
}, {
"key": "D",
"value": [true, false, false, true, true]
}, {
"key": "A",
"value": [true, false, false, true, false]
}, {
"key": "D&A",
"value": [false, false, false, false, false]
}, {
"key": "D|A",
"value": [false, false, true, false, false]
}, {
"key": "~D",
"value": [false, true, true, false, false]
}, {
"key": "~A",
"value": [false, true, true, false, true]
}, {
"key": "0",
"value": [false, false, false, true, false]
}
],
"jumps": [{
"key": "",
"value": [false, false, false]
}, {
"key": "; JLT",
"value": [true, false, false]
}, {
"key": "; JEQ",
"value": [false, true, false]
}, {
"key": "; JGT",
"value": [false, false, true]
}, {
"key": "; JLE",
"value": [true, true, false]
}, {
"key": "; JGE",
"value": [false, true, true]
}, {
"key": "; JMP",
"value": [true, true, true]
}
]
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment