- Install Python package with
pip install cdm-devkit
- Install CdM Processors VS Code extension
- Download
-misc
archive from release page
For more information check out this guide.
cocas
- assembler and linkercocodump
- disassemblersynthm
- secondary decoder synthesis utilitycocoemu-server
- CdM emulator with CDP support
- Syntax highlighting and code snippets for CdM assembly languages
- Debug support
- Integrated build system
- Logisim processor implementations (
./
) - Logisim libraries (
jar/
)logisim-banked-memory
- banked memory for CdM-16logisim-cdm-emulator
- emulated CdM processorslogisim-debugger
- debugger for Logisim
For guides and technical information check out Documentation.
It is available in docs/
directory.
If you encountered a one, we recommend to report it using GitHub Issues:
- Open a new issue using this template
- Provide a proper name and description
- Provide the information on how to reproduce the bug
- Install Poetry
- Run
poetry install
at the project root
- Install JDK
- Gradle build system should be downloaded by
gradlew
script automatically on first run
- Install Node.js
- You will need a package manager, so it's recommended to get a provided npm binary from Node.js installer
- However, if you really understand what are you doing, you can use your favorite package manager such as pnpm, Yarn or (if you are on the cutting edge of progress) even Bun
- Navigate to
vscode-cdm-extension
- Run
npm install
- Run
poetry build
- Navigate to project folder;
- For UNIX-like systems:
- Run
./gradlew jar
- Run
- For Windows:
- Run
.\gradlew.bat jar
- Run
- Navigate to
vscode-cdm-extension
- Run
npx @vscode/vsce package
There is a handy Makefile
that will build all projects and prepare artifacts for distribution: just run make
to build all projects.
Tip
You can set a VERSION
variable if you want to specify the project version; note that it should be a valid SemVer version.
Example: make VERSION=1.2.3
If you want to participate in the development of the project, we are open to your pull requests!
Important
We expect all commit messages to comply these guidelines and use scope identifier(s) - the name of the subproject enclosed in square brackets. However, if the commit applies to the entire repository, scope identifier must be omitted.
An example message: [cocas] Add new target
docs
ci/cd
examples
tests
cdm*
cocas
cocoemu
cocodump
synthm
cdp-java
logisim-banked-memory
logisim-cdm-emulator
logisim-runner
vscode-cdm-extension
If you have a proposal or a suggestion, you are free to open a GitHub Issue here.
For other questions, use these contacts:
- Email: [email protected]
- Telegram: @cdm_updates
- (channel with updates, linked chat for support)