Still in early development, bugs are expected, issues and pr's are warmly welcomed
jvgate is a simple digital logic simulator written in c with minimal dependencies, has a simple gui written with raylib that lets the user move elements in the workspace.
The program is build to be easily extensible, using a struct with a LogicElement and GraphicElement for each circuit Element, that further can define it's own Logic/Display
procedures using the varargs function pointers that these two inside structures have.
The outside wrapping struct can as well hold other potential metadata depending on the circuit element.
Raylib needs to be locally installed
git clone git@github.com:Jarvx200/jvgate.git #Clone the repo
cd ./jvgate
git submodule init
git submodule update #For raygui init
make- Macros for consistent enum initialization
- Serialization/Deserialization for saving and loading circuits
- Parsing the output of an element to multiple other elements
- Abstract user-defined component with an inner logic-gate graph
- Slow down/ Speed up topsort for aditional rendering
- GUI Polish, Multiple collapsable windows to see the data in real time
- Documentation with gitbook