Skip to main content

Developer tools for CdM processors

Project description

Developer tools for Coco-de-Mer processors

Installation

For more information check out this guide.

Development kit contents

CLI Programs

  • cocas - assembler and linker
  • cocodump - disassembler
  • synthm - secondary decoder synthesis utility
  • cocoemu-server - CdM emulator with CDP support

Visual Studio Code Extension

  • Syntax highlighting and code snippets for CdM assembly languages
  • Debug support
  • Integrated build system

cdm-devkit-misc archive

  • Logisim processor implementations (./)
  • Logisim libraries (jar/)
    • logisim-banked-memory - banked memory for CdM-16
    • logisim-cdm-emulator - emulated CdM processors
    • logisim-debugger - debugger for Logisim

Documentation

For guides and technical information check out Documentation.

It is available in docs/ directory.

Report a bug

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

Setting up development environment

Python-based projects

  • Install Poetry
  • Run poetry install at the project root

Java-based projects

  • Install JDK
  • Gradle build system should be downloaded by gradlew script automatically on first run

Visual Studio Code extension

  • 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

Building

Building individual projects

Python-based projects

  • Run poetry build

Java-based projects

  • Navigate to project folder;
  • For UNIX-like systems:
    • Run ./gradlew jar
  • For Windows:
    • Run .\gradlew.bat jar

Visual Studio Code extension

  • Navigate to vscode-cdm-extension
  • Run npx @vscode/vsce package

Building all projects at once

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

Contributing

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

Scope identifiers

General

  • docs
  • ci/cd
  • examples
  • tests

Processor implementations

  • cdm*

Projects

  • cocas
  • cocoemu
  • cocodump
  • synthm
  • cdp-java
  • 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, use these contacts:

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.2.post0.tar.gz (691.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cdm_devkit-0.2.2.post0-py3-none-any.whl (720.4 kB view details)

Uploaded Python 3

File details

Details for the file cdm_devkit-0.2.2.post0.tar.gz.

File metadata

  • Download URL: cdm_devkit-0.2.2.post0.tar.gz
  • Upload date:
  • Size: 691.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.1

File hashes

Hashes for cdm_devkit-0.2.2.post0.tar.gz
Algorithm Hash digest
SHA256 407863ba38261d7827bd096b7a93710783820daea644ef7a7e36ad3b7b5fc372
MD5 163ea6a4ae86c7652031ebdf478f4eca
BLAKE2b-256 adfaa76ad5aa002355dcd40ac1c075f57531caad9a1cbc47ba9cdb0eead40fed

See more details on using hashes here.

File details

Details for the file cdm_devkit-0.2.2.post0-py3-none-any.whl.

File metadata

File hashes

Hashes for cdm_devkit-0.2.2.post0-py3-none-any.whl
Algorithm Hash digest
SHA256 cb9b919a92882d8e2a8d355f7e3a11c07b543234c456fa4428626655047a2d57
MD5 c9483685465055c86a572abfb2474200
BLAKE2b-256 aaa9fff6784831fbd435a5d13283cc881841cc0a00cb221cd0e90ff9ddb5e4eb

See more details on using hashes here.

Supported by

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