V1 compatibility

V1 remains an explicit regression target with its specification and historical v1.0.0 artifacts. V2 retains opcodes 0–C and their timing for V1-valid programs, but changes the host protocol, queue sizes and status layout. The version query distinguishes V1 0x010140 from V2 0x020240.

Use protocol_emulator.v2.host.connect(transport) to select the matching host backend. V1 clients are not promised binary host compatibility with V2. The installed CLI remains V1; use the V2 Python toolchain for the new firmware. V2 ASIC build defaults do not change CLI or Python API protocol selection. The package/runtime version is 2.0.0rc1; protocol version queries are unchanged.

Use make v1-test, make v1-lint, make v1-synth and make v1-formal for explicit V1 checks. Pin simulation uses make -C test -f Makefile.v1pins. V1 metadata and its prior physical configuration are retained in physical/v1.

The full functional runner always includes both V1 and V2. Existing V1 core and pin cases remain required, alongside both tops’ lint/synthesis and the V1 induction and reset checks. V1’s four-byte TX buffering and request/NOP throughput limits must not be confused with V2’s packed writes and 16-entry queues.