Skip to content

Jarvx200/jvgate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jvgate - Logic Gate Simulator

Screenshot From 2025-08-05 20-17-59

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.

Code Structure

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.

How To Run It ?

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

TODO:

  • 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
vid.mp4

About

Logic gate playground in C with raylib

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published