Please check out my blog post for an in-depth explanation on the project. Where I talk about:
- The Circuit
- Assembly Program
- Code Design
- Testing Strategies
- Extra Features
I have used 2 programs to build the software and the hardware. The first software is a free educational tool that allows programmers to design and simulate digital logic circuits. The second program, CocoIDE is made by Stephen Hunt and Alex Shafarenko. If you would like to use their program, you will need their permission since I cannot provide it on behalf of them.
- Logisim
- cdm-8
Before downloading the project files, you need to make sure you have the following installed. For CocoIDE you need python3. Addtionally, you need Java 5 or above for Logisim.
How to install Python 3
Links:
- Python homepage
- Python docs
How to install:
- Debian/Ubuntu
- Install using apt-get.
$ sudo apt-get update $ sudo apt-get install python3
- Install using apt-get.
- macOS
- Install Brew.
- Install Python using Brew.
$ brew install python3
- Windows
- Download Python from the Windows Download page.
- Run the installer.
- Be sure to check the box to have Python added to your PATH if the installer offers such an option (it's normally off by default).
For more details, see this gist - Set up a Python 3 virtual environment.
How to install Default JRE/JDK
- Debian/Ubuntu The easiest option for installing Java is using the version packaged with Ubuntu. Specifically, this will install OpenJDK 8, the latest and recommended version.
First, update the package index.
Next, install Java. Specifically, this command will install the Java Runtime Environment (JRE).
* sudo apt-get install default-jre
-
Windows
- Download Java from the Windows Download page.
- Run the installer.
-
macOS People on the Stackoverflow cautioned not to install 8 until 7 is installed. So we are going to install JDK 7 first.
Unlike other version managers such as NVM, jEnv itself doesn’t install JDKs. You have to do it yourself. Luckily, Homebrew Cask made this task really easy. But before doing that, let’s check if we already have JDK 7 installed by Homebrew Cask:
brew tap caskroom/versions
brew cask info java7
Download Logisim. Follow the instructions on the page. Run the installer.
- Install/fork project files.
- Run the Logisim program.
- Go to
File
. - Click on
Open
. - Select the project file name:
Graph Calculator Code.asm
- Software will ask for a library named cdm-8, it is also provided with the project files. Add the library to the program on the dialog box that pops up.
- If the dialog box does not open, go to
Project
, then click onLoad Library
and upload the cdm-8 library manually. - Manually change the coefficient values by pushing the buttons above the graph.
- From
Simulate
, increase theTick Frequency
to 4.1 KHz. CTRL+K
to enable ticks.
If you were able to get your hands on CocoIDE:
- Install/fork project files.
- Run CocoIDE using python3.
- Go to
Open
. - Select the project file name:
Graph Calculator Mark 4.circ
- Press
Compile Reset
- Drag the slider towards
Step
to analyse each execution, memory and the registers.
If you would like to add any extra features to the Logisim simulation, feel free to fork and create a pull request. Thank you!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Erol Gelbul - Website - [email protected]
Project Link: Graphing Calculator
Many thanks to Alex Shafarenko and Stephen Hunt. They are remarkable for creating a brilliant low level IDE for real-time program code analysis. Everything I know about assembly, they taught me.