{"id":19601672,"url":"https://github.com/orangomango/logicsimulator","last_synced_at":"2025-04-27T17:32:02.768Z","repository":{"id":185386066,"uuid":"669504439","full_name":"OrangoMango/LogicSimulator","owner":"OrangoMango","description":"A simple logic gate simulator made in Java using the JavaFX framework.","archived":false,"fork":false,"pushed_at":"2023-09-03T09:46:13.000Z","size":2502,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2023-09-04T10:55:26.186Z","etag":null,"topics":["circuit-simulator","java","javafx","logic-simulator","webfx"],"latest_commit_sha":null,"homepage":"https://orangomango.itch.io/logicsimulator","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OrangoMango.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-07-22T13:48:55.000Z","updated_at":"2023-09-03T08:19:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"183269f5-fbb4-46d9-ad84-84e81ffd1c34","html_url":"https://github.com/OrangoMango/LogicSimulator","commit_stats":null,"previous_names":["orangomango/logicsimulator"],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OrangoMango%2FLogicSimulator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OrangoMango%2FLogicSimulator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OrangoMango%2FLogicSimulator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OrangoMango%2FLogicSimulator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OrangoMango","download_url":"https://codeload.github.com/OrangoMango/LogicSimulator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224076589,"owners_count":17251775,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["circuit-simulator","java","javafx","logic-simulator","webfx"],"created_at":"2024-11-11T09:19:27.560Z","updated_at":"2024-11-11T09:19:28.529Z","avatar_url":"https://github.com/OrangoMango.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ![icon](icon.png) LogicSimulator v1.1\nThis is a simple circuit simulator made in Java using the JavaFX framework.\n\n# Download\nAvailable for Windows, Linux and MacOS and browser.\n## Web-version\nTry the web-version now at https://orangomango.itch.io/logicsimulator.\n\n[![Screenshot_20230801-202809](https://github.com/OrangoMango/LogicSimulator/assets/61402409/6ad3fe71-0436-404d-b642-3cef2cb989af)](https://orangomango.itch.io/logicsimulator)\n\n# Features\n## Building blocks\n* Switches (input)\n* Lights/RGB Lights (output)\n* AND gate\n* NOT gate\n* Bus\n* Tri-state buffer\n* 7 Segment display\n* Circuits embedding using chips\n## Simulator features\n* Save/Load projects to a readable JSON format\n* Save projects as a chip with your custom name and color\n* Clear workspace\n* Delete gate/wire\n* Connect multiple buses together\n* Gate label\n* Connect/Disconnect pins from the circuit\n* Turn global power on/off\n* Export circuit to a PNG image\n\n# Keyboard usage help\n* Use `P` to toggle global power on/off (You can also click on the green/red rectangle at the bottom)\n* Use `H` to show/hide the toolbar\n* Use `DELETE` to delete selected gates from the circuit\n* Use `Shift` + `DELETE` to delete the wires of the selected gates in the circuit\n* Use `Z` and `X` to decrement/increment buses amount when placing a bus\n* Use `R` to align selected buses\n* Use `F1` to show/hide pin IDs\n* Use `Shift` when:\n\t* placing a wire to align it\n\t* to place an input pin instead of an output one onto the bus\n\t* to move pins that are on a bus\n* Use `Control` when:\n\t* placing a wire to delete the previous point\n\t* to define a new selection without unselecting the previous one\n* Use `Alt` to place a wirepoint on the position of the nearest wirepoint on the circuit\n\n# Mouse usage help\n* Use the scroll wheel to scale the canvas\n* Use `Left click`:\n\t* on pins to enter wire-placing mode\n\t* to place the chosen block from the menu on the right\n\t* to toggle a switch on/off\n\t* to delete a gate if you clicked on the `RM GATE` button\n\t* to place a pin on a bus (use `Shift` to toggle between an input/output pin)\n\t* to resize a bus horizontally or vertically\n\t* to connect buses together if you clicked on the `CONNECT BUS` button\n\t* to delete a wire if you clicked on the `RM WIRE` button (click on 2 pins)\n\t* to move a pin of the bus if the `Shift` key is pressed too\n\t* to define a selection area or if you click on the background to unselect the current selection\n* Use `Right click`:\n\t* to interrupt an action like creating a bus, deleting a gate or a wire\n\t* to move the camera\n\t* to move selected gates or selected wire points\n\t* to open the gate properties menu where you can change the label, remove a pin (if you clicked on a bus pin), and so on\n\t* to look inside a chip\n\n# Web version changes\n* To load a file, upload it and then click the `Load` button\n* To load chips into your project (**dependencies**), upload them by using the second upload button. Once uploaded, you find them in the sidebar on the right.\n* Use the slider to scale the UI\n* Toggle the `Move` button to move around the scene or to move the gates in your project (instead of the right-click)\n* Some buttons in the toolbar are replacements for the keys `DELETE`, `R`, `SHIFT`, `CONTROL` and `ALT`\n\n# Examples\nIndividual project files are available in the `examples` directory.\n* [1 bit register](https://github.com/OrangoMango/LogicSimulator/raw/main/examples/1bitRegister.png)\n* [4 bit adder](https://github.com/OrangoMango/LogicSimulator/raw/main/examples/4bAdder.png)\n* [4 bit register](https://github.com/OrangoMango/LogicSimulator/raw/main/examples/4bRegister.png)\n* [7 segment driver](https://github.com/OrangoMango/LogicSimulator/raw/main/examples/7sDriver.png)\n* [1 bit adder](https://github.com/OrangoMango/LogicSimulator/raw/main/examples/adder.png)\n* [4 bit ALU](https://github.com/OrangoMango/LogicSimulator/raw/main/examples/alu.png)\n* [Buffer](https://github.com/OrangoMango/LogicSimulator/raw/main/examples/buffer.png)\n* [Bus buffer](https://github.com/OrangoMango/LogicSimulator/raw/main/examples/busBuffer.png)\n* [Dabble](https://github.com/OrangoMango/LogicSimulator/raw/main/examples/dabble.png)\n* [D Flip-Flop](https://github.com/OrangoMango/LogicSimulator/raw/main/examples/dFlipFlop.png)\n* [Double dabble](https://github.com/OrangoMango/LogicSimulator/raw/main/examples/doubleDabble.png)\n* [NAND gate](https://github.com/OrangoMango/LogicSimulator/raw/main/examples/nand.png)\n* [NOR gate](https://github.com/OrangoMango/LogicSimulator/raw/main/examples/nor.png)\n* [OR gate](https://github.com/OrangoMango/LogicSimulator/raw/main/examples/or.png)\n* [Set-Reset Flip-Flop](https://github.com/OrangoMango/LogicSimulator/raw/main/examples/srFlipFlop.png)\n* [Set-Reset latch](https://github.com/OrangoMango/LogicSimulator/raw/main/examples/srLatch.png)\n* [XOR gate](https://github.com/OrangoMango/LogicSimulator/raw/main/examples/xor.png)\n\n# Simulator screenshots and exports\n![export](example.png)  \n![sc1](sc1.png)  \n![sc2](sc2.png)  \n\nThanks to [@SebLague](https://github.com/SebLague) who inspired me to make this :)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forangomango%2Flogicsimulator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forangomango%2Flogicsimulator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forangomango%2Flogicsimulator/lists"}