-
Download latest version
-
Install Python package from
.whl
file- Run
pip install cdm-devkit-x.x.x.whl
Package will be published to PyPI soon
- Run
-
Install VS Code extension from
.vsix
fileRemove all other extensions that add support for CdM processors
- Open Command Palette
Ctrl+Shift+P
- Type
vsix
- Select
Install from VSIX
- Select
vscode-cdm-extension-x.x.x.vsix
- Read more
Extension will be published to VS Code Marketplace soon
- Open Command Palette
After installation you get several components:
-
CLI Programs
cocas
- assembler for CdM processorscocodump
- disassembler for CdM processorssynthm
- secondary decoder synthesis utility- (coming soon)
-
VS Code Extension
- Assembler language support for all CdM processors (syntax highlighting and code snippets)
- Debug support (coming soon)
-
cdm-devkit-misc archive
-
Processor implementations (
./
) -
Logisim libraries (
jar/
)logisim-banked-memory
- banked memory forcdm16
logisim-cdm-emulator
- emulated CdM processors
-
Code and scheme examples (
examples/
)
-
Check out our Getting Stated guide.
We are working on documentation, it will be available soon.
However, some docs are available in docs/
directory.
You can report a bug with GitHub Issues.
-
Open new issue here
-
Use a template
-
Provide a proper name and description of a problem
-
Provide information on how to reproduce a bug
-
Python-based projects use
Poetry
as build system-
Install
Poetry
-
Run
poetry install
to download dependencies
cocas
usesANTLR
to parse assembly language-
antlr4-python3-runtime
is needed to runcocas
and is installed with other dependencies -
However, if you want to fiddle with grammar files and generate new parser you would need to install
antlr4-tools
, this package is installed with development dependencies (Read more)
-
-
Java-based projects use
Gradle
as build system-
Install
JDK
-
gradlew
script should downloadGradle
automatically on first run
-
-
VS Code Extension uses official tools
-
Python-based projects:
- Run
poetry build
- Run
-
Java-based projects:
-
Navigate to project folder
-
Run
./gradlew jar
(on Unix) -
Run
.\gradlew.bat jar
(on Windows)
-
-
VS Code extension:
-
Navigate to
vscode-cdm-extension/
-
Run
vsce package
-
There is a Makefile
that will build all projects and prepare files for distribution
- Run
make
to build all projects
Set VERSION
variable if you want to specify project version
- Example:
make VERSION=1.2.3
VERSION
should be valid SemVer version
You can get
make
on Windows from GnuWin32 project.
- For Windows 10 and above:
- Run
winget install GnuWin32.Make
- Maybe you would need to add
bin/
directory of make to yourPATH
- Using
Chocolatey
:
- Run
choco install make
- You can read about other installation methods here
-
All contributions should be done via pull requests.
-
Commit messages should be written according to these guidelines
-
Commit messages should start with a scope identifier - project name surrounded by square brackets. That will help to determine which project commit belongs to.
Example: [cocas] Add new feature
Commits related to whole repository shouldn't use scope identifier
Possible scope identifiers are:
-
General:
docs
ci/cd
examples
tests
-
Processor implementations:
cdm*
-
Projects:
cocas
cocoemu
cocodump
synthm
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 contact:
-
Email: [email protected]
-
Telegram: @cdm_updates
(channel with updates, linked chat for support)
-