Last active
April 27, 2025 03:16
-
-
Save Googulator/482a02b7b146d0173467818a0c6e9343 to your computer and use it in GitHub Desktop.
Fauxltair 8800 for Nandgame
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"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