Developer tools for CdM processors
Project description
Developer tools for Coco-de-Mer processors
Installation
-
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
Development kit contents
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/
)
-
Getting started
Check out our Getting Stated guide.
Documentation
We are working on documentation, it will be available soon.
However, some docs are available in docs/
directory.
Report a bug
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
Setting up development environment
-
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
Building
Building individual projects
-
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
-
Building all projects at once
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
Contributing
-
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
Contact us
-
If you have a proposal or a suggestion you are free to open a GitHub Issue here.
-
For other questions contact:
-
Email: n.repin@g.nsu.ru
-
Telegram: @cdm_updates
(channel with updates, linked chat for support)
-
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file cdm_devkit-0.2.1.tar.gz
.
File metadata
- Download URL: cdm_devkit-0.2.1.tar.gz
- Upload date:
- Size: 92.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10a7ded973432f130677aee994d87d1ee28b2ff32b5d41d0f949d38989a987d0 |
|
MD5 | 9c9a7f4679c6845c9304cd898643d188 |
|
BLAKE2b-256 | 22bc213e71d6022e48bf6a1d2b1e855216cc5499a435a0837b5ff744240c4107 |
File details
Details for the file cdm_devkit-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: cdm_devkit-0.2.1-py3-none-any.whl
- Upload date:
- Size: 122.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d83f8931ecf8eb4084e83e46d2a5c759a5f2865f65f76c53a5e18a1c9847090e |
|
MD5 | b3af2f53ee6f028d3f75731733935858 |
|
BLAKE2b-256 | f8563abb7ecda8c12b366e946c85727f52a30fac892dfd1dc0624b56e4c89287 |