Skip to main content

vagrant-moses

A standalone C64 machine model: the memory map, the $01-banked bus and ROMs (sidplayfp's ROM-less set, or the real ones fetched and SHA-256 verified into a cache), the VIC-II and two CIAs over a shared two-phase event scheduler, a cycle-exact 6510 machine matching libsidplayfp, KERNAL file/keyboard traps, the power-on RAM, the installed-interrupt-vector discovery, the ROM-free IRQ dispatch path, and native extraction of files from release media (zip/gzip, d64/d71/d81, t64, p00).

Pure Python with no runtime dependencies; the CPU-driven parts (Machine, flat_mpu, KernalHost) run on jennings via the cpu extra; the media CLI's progress bar needs the cli extra. The SID audio model and SID-file knowledge (PSID/RSID containers, subtune headers, drivers) are deliberately not here.

Install

pip install -e ".[cpu]"

Use

from vagrant_moses import Cia, Machine, Scheduler, Vic, c64

mem = bytearray(c64.poweron_ram())                       # 64 KiB power-on image
vec, kernal = c64.installed_vector(mem, written, (lo, hi))
entry_pc = c64.install_irq_entry(vm, vec, kernal, img=(lo, hi))

sched = Scheduler()
vic = Vic(sched, ntsc=False, irq=lambda on: ..., set_ba=lambda on: ...)
cia = Cia(sched, interrupt=lambda on: ..., new=False)

machine = Machine(sids={0xD400: sid_device})            # cycle-exact C64
machine.ram[0x1000:0x1000 + len(code)] = code
machine.run(machine.reset(0x1000) + 985248)              # one PAL second
from vagrant_moses import iter_prgs

for path, prg in iter_prgs("release.zip", blob):        # zip -> d64.gz -> d64 -> PRG
    ...
pip install "vagrant-moses[cli]"
vagrant-moses media extract dl/ -o prg/                 # prints sha256 size $load path

Docs

Develop

pip install -e ".[dev]"
black --check src tests scripts && pylint src tests scripts && pytest

Metadata

Release files for vagrant-moses 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vagrant-moses 0.4.0
File Size Uploaded
vagrant_moses-0.4.0.tar.gz 60.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vagrant-moses 0.4.0
File Interpreter ABI Platform
vagrant_moses-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 105.8 kB

Release files / vagrant_moses-0.4.0.tar.gz

Download URL vagrant_moses-0.4.0.tar.gz
Size 60.3 kB
Tags Source
SHA-256 checksum
How to use checksums
ab61377ab3b6aec16d857f4c9f0b0fed8411f627d2b11be8d3d1e6e88acf35be
BLAKE2b-256 checksum
How to use checksums
26f4e3a3dc8178abab9e5cda9db2f942835ad49359809448b41596edda03fc06
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / vagrant_moses-0.4.0-py3-none-any.whl

Download URL vagrant_moses-0.4.0-py3-none-any.whl
Size 45.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
46e357c7f27a89f74706daa2cc8ff229fb54f97680983ffa75f53422cfff0062
BLAKE2b-256 checksum
How to use checksums
a1bbc083ccb08b7126aa3041c345b4a1a47fc03a0d5c398e1a3ac2bdacab8bda
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page