CedarvilleCS / CedarLogic

CedarLogic: Free, Open Source Digital Logic Simulator
GNU General Public License v3.0
32 stars 19 forks source link

About CedarLogic

CedarLogic is a digital logic simulator often used in university classroom instruction. It includes all the basic gates, buses, JK and D flip flops, muxes, decoders, and a Z80 micro-processor. At Cedarville University it has been used by Computer Architecture 1 students to build and simulate a full mano-machine.

Please feel free to contribute tickets and pull requests. Currently the only maintainer is @joe-sonrichard.

History

CedarLogic was developed by Cedarville University professors for classroom instruction. It was released on Source Forge in 2006 where it's enjoyed long-lived popularity, over 20,000 downloads in 2019 alone.

The latest version availible on Source Forge was released in 2011/12 and has been the public face of CedarLogic. That version is still by far the most stable version of CedarLogic. Internally, senior design teams took a couple shots at improving it with added features, unfortunately accompanied by added bugs. The code-base at present is the has their improvements but also the accompanying instabilities.

In February 2020 Cedarville Unversity agreed to move it to GitHub with @joe-sonrichard heading up the project. As of this writing, the chief objective is to fix any known bugs and stabalize the product before considering further improvements.

Original Developers

Build Instructions

Getting Ready to Compile

TODO: Automate build process so this is antiquated (infrastructure as code)

  1. Install Visual Studio 2015 or newer. (Tested and works with Visual Studio 2019)

  2. Download wxWidgets 2.8.12 source for windows.

  3. Run wxWidgets source installer.

  4. (Optional) Set windows environment variable WXWIN to point to your wxWidgets directory.

  5. Edit %WXWIN%\include\wx\msw\setup.h so that wxUSE_GLCANVAS is 1 instead of 0.

  6. Edit %WXWIN%\src\msw\window.cpp so that it does not include pbt.h.

  7. Open Visual Studio's x86 native tools command prompt (NOT cmd or Powershell!) and run nmake:

cd %WXWIN%\build\msw
nmake /f makefile.vc               USE_OPENGL=1 RUNTIME_LIBS=static
nmake /f makefile.vc BUILD=release USE_OPENGL=1 RUNTIME_LIBS=static

Compiling and creating an installer.

  1. First, you need to install NSIS.

  2. Next, go to the root of the CedarLogic git repo (clone it if you haven't already).

  3. Run mkdir build && cd build

  4. Run cmake .. -A Win32 (If you did not set the windows environment variable earlier, also add -Dwxwin=C:/wxWidgets-2.8.12 to set wxwin variable to the base of the wxWidgets install path).

  5. There is now a Visual Studio Solution File in the build directory. Open the solution file with Visual Studio.

  6. Select Release from the configuration menu.

  7. Right click on the Package target to create a new installer in the build directory.

  8. There is now a CedarLogic installer executable in the build directory.

Version Summaries.

Run git tag to view all the tagged versions of CedarLogic.

NOTE: Old versions of this project are availible on source forge. The latest version on source forge is notable as it was stable though missing some later features.

v2.2017.01.16 - Buggy first release with busses.

v2.2017.01.18 - Fixed bugs.

v2.2017.05.02 - Borken version with lots of good, but enough bad to warrant abandonment.

v2.2018.01.26 - Branch from v2.2017.01.18, stable bus support with an installer and file associations.

v2.3.5 - Patch release to re-enable grayscale printing.