TASEmulators / TASEmulators/BizHawk

[Core Port Req.] CubeChip-SDL/Cadmium (CHIP-8 and variants)

Open
#4,101 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Request: New core/port/re-port
Dominant language
C#
Stars
2.8k
Forks
468
PR merge metrics
No merged PRs in 30d

Description

Upstream info
  • Target platforms: win/mac/tux
  • Source repo
  • Language(s): C++
  • License: MPL 2.0
Merits

CHIP-8 is a pretty interesting and historically relevant platform, considering its age and the various communities that have popped up around it in the decades, who have created a substantial amount of games for the system that I think would be neat to have support of. Both CubeChip-SDL and Cadmium seem like the best out of all the ones I have looked at and both their main devs have helped out with info while writing this core request issue.

Technical details
  • Single-threaded
  • Has I/O abstraction accepting byte array
  • No savestates of its own

Alternative: Cadmium

Note: Cadmium is currently in the middle of a refactoring, so any porting would have to wait until that was done.

Upstream info
  • Target platforms: win/mac/tux
  • Source repo
  • Language(s): C++
  • License: MIT (Expat)
Technical details
  • Cannot currently build as shared library
  • Has frontend/backend separation
  • Can force single-threaded
  • Has I/O abstraction accepting byte array
  • No savestates of its own

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the CubeChip-SDL source repository and the alternative Cadmium repository, noting that Cadmium is undergoing refactoring. Determine which upstream implementation can meet BizHawk's core-port needs for Windows, macOS, and Linux, including its I/O abstraction and single-threaded operation. Done means a viable CHIP-8 core is selected and integrated for the listed target platforms.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
game-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.