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.0.tar.gz (85.7 kB view hashes)

Uploaded Source

Built Distribution

cdm_devkit-0.2.0-py3-none-any.whl (113.1 kB view hashes)

Uploaded Python 3

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