Skip to main content

Python automation harness for driving SID-Wizard inside asid-vice — captures per-frame SID register writes from the real 6502 player.

Project description

sidwizard-driver

Python harness that drives SID-Wizard inside asid-vice and captures per-frame SID register writes from its real 6502 player. Output is a deduplicated (frame, reg, value) CSV — ground truth for verifying pure-Python SWM players like pysidwizard.

Built on vice-driver.

Install

pip install sidwizard-driver

Requires Docker (or compatible) and the asid-vice:latest image — see anarkiwi/asid-vice.

The SID-Wizard editor disk is fetched on demand from CSDB and cached under ~/.cache/sidwizard-driver/ (override with --d64 <path> or XDG_CACHE_HOME). Pre-fetch:

python -m sidwizard_driver.fetch

Usage

Boot smoke:

python -m sidwizard_driver.smoke

Capture a tune to CSV:

python -m sidwizard_driver.capture --swm tune.swm --frames 1500 --out tune.csv

Dump per-frame player ghost-register state:

python -m sidwizard_driver.ghost_dump --swm tune.swm --frames 60 --annotate --out ghost.csv

CSV schema

capture emits frame,reg,value (integers). Frame 0 is the first player tick after F1. reg is the SID register offset (0..0x18). Consecutive writes of the same value to the same register are collapsed.

ghost_dump emits frame,addr,value (with optional label column). Each frame yields rows for the per-voice zero-page block ($10..$80) plus three additional rows for the filter-program self-modifying operand bytes — labelled FLTCTRL / FLTPOSI / CWEPCNT. The latter live in the loaded player code ($1xxx) and let downstream tools reconstruct SID-Wizard's per-frame filter table position + sweep counter, which are NOT in zero page.

License

Apache-2.0.

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

sidwizard_driver-0.3.0.tar.gz (55.7 kB view details)

Uploaded Source

Built Distribution

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

sidwizard_driver-0.3.0-py3-none-any.whl (55.0 kB view details)

Uploaded Python 3

File details

Details for the file sidwizard_driver-0.3.0.tar.gz.

File metadata

  • Download URL: sidwizard_driver-0.3.0.tar.gz
  • Upload date:
  • Size: 55.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sidwizard_driver-0.3.0.tar.gz
Algorithm Hash digest
SHA256 396fda61b631b1b93db8b9c29a8878e2a1c5a2c6992094a59a944ae5e874fbc6
MD5 fc8e42303c81dd5e2e67b929c890bbba
BLAKE2b-256 ec773d4998a081cbf8f6bfd285442872e2a5cabe854c306ffd6b8f0ee67627a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for sidwizard_driver-0.3.0.tar.gz:

Publisher: publish.yml on anarkiwi/sidwizard-driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sidwizard_driver-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for sidwizard_driver-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e03b41036d4ea8626d940fbdb2ffe0cd48f78e3da5e3b21abbf47839d0968b25
MD5 46a52e2a2ad1f8bab667399d092ba275
BLAKE2b-256 407f08b85de80e921faf6f5ba54c6e212953c10f621f2566715f0fcf606ac6fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for sidwizard_driver-0.3.0-py3-none-any.whl:

Publisher: publish.yml on anarkiwi/sidwizard-driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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