Giter VIP home page Giter VIP logo

cedarlogic's Introduction

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.

cedarlogic's People

Contributors

cbroberg95 avatar jakeprem avatar joehcq1 avatar jvoneiff avatar realmadsci avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.