Skip to main content

Developer tools for CdM processors

Project description

Developer tools for Coco-de-Mer processors

Installation

  1. Download latest version

  2. Install Python package from .whl file

    • Run pip install cdm-devkit-x.x.x.whl

    Package will be published to PyPI soon

  3. Install VS Code extension from .vsix file

    Remove 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

Development kit contents

After installation you get several components:

  • CLI Programs

    • cocas - assembler for CdM processors
    • cocodump - disassembler for CdM processors
    • synthm - 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 for cdm16
      • 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 uses ANTLR to parse assembly language

    • antlr4-python3-runtime is needed to run cocas 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 download Gradle automatically on first run

  • VS Code Extension uses official tools

Building

Building individual projects

  • Python-based projects:

    • Run poetry build
  • 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 your PATH
  • 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:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cdm_devkit-0.2.1.tar.gz (92.2 kB view details)

Uploaded Source

Built Distribution

cdm_devkit-0.2.1-py3-none-any.whl (122.1 kB view details)

Uploaded Python 3

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

Hashes for cdm_devkit-0.2.1.tar.gz
Algorithm Hash digest
SHA256 10a7ded973432f130677aee994d87d1ee28b2ff32b5d41d0f949d38989a987d0
MD5 9c9a7f4679c6845c9304cd898643d188
BLAKE2b-256 22bc213e71d6022e48bf6a1d2b1e855216cc5499a435a0837b5ff744240c4107

See more details on using hashes here.

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

Hashes for cdm_devkit-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d83f8931ecf8eb4084e83e46d2a5c759a5f2865f65f76c53a5e18a1c9847090e
MD5 b3af2f53ee6f028d3f75731733935858
BLAKE2b-256 f8563abb7ecda8c12b366e946c85727f52a30fac892dfd1dc0624b56e4c89287

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page