Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 17 additions & 1 deletion CLAUDE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -446,7 +446,23 @@ post-W1) ip65 layout:

Scripts under `tools/uci/` require a U64E (default 192.168.1.81,
overridable via the `U64_HOST` environment variable) and use
`DeviceLock` + `enable_uci`/`disable_uci`:
`DeviceLock` + `enable_uci`/`disable_uci`.

They also require the `c64-test-harness` package, which is a **separate
public repo, not vendored here** — `requirements.txt` lists only
`cryptography`. Install it into the same interpreter you run the scripts
with:

git clone https://github.com/JC-000/c64-test-harness # sibling dir
pip install -e ../c64-test-harness

Without it every script here dies at import with `ModuleNotFoundError:
No module named 'c64_test_harness'` (issue #90). The instruction already
existed under the VICE testing section of README.md, but nothing on the
UCI path mentioned it, so anyone who built with `make BACKEND=uci` and
went straight to these scripts never crossed it.

The scripts:

- `boot_check.py` — boot the PRG and assert the backend banner
(`BACKEND=uci|ip65`, default uci), the
Expand Down
9 changes: 9 additions & 0 deletions README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -214,6 +214,15 @@ The setup script creates `br-c64` with `tap-c64-0`/`tap-c64-1`, assigns `10.0.65

Scripts under `tools/uci/` drive a real Ultimate 64 Elite over the network (default `192.168.1.81`, overridable via the `U64_HOST` environment variable), exercising the **UCI backend only** (built with `make BACKEND=uci`). They DMA the PRG into RAM, run the boot, and snapshot UCI/TLS state on completion or timeout. These scripts do not run under VICE.

**Prerequisite — `c64-test-harness` (same as the VICE suites above).** It is a separate public package, not vendored here; `requirements.txt` carries only `cryptography`. Without it every script in this directory dies at import with `ModuleNotFoundError: No module named 'c64_test_harness'`:

```bash
git clone https://github.com/JC-000/c64-test-harness # sibling of this repo
pip install -e ../c64-test-harness
```

Install it into the **same interpreter you run the scripts with** — if you use a virtualenv, `pip` and `python3` must both be that venv's, or the import fails despite the install appearing to succeed.

```bash
python3 tools/uci/boot_check.py # UCI firmware detection
python3 tools/uci/phase2_check.py # DHCP + local IP readback
Expand Down