Pre-power Checks & Bring-up¶
Pre-power sanity checks¶
Verify all 6 pull-up resistors — each is 10 kΩ from a 65C02 control pin to +3.3 V (R1–R6, see Wiring).
Verify RAM OE# (pin 22) → +3.3 V, not GND.
Verify chip orientations — both the 65C02 and RAM have notches at the top. Reversed orientation usually shorts VCC to GND instantly.
Continuity-check the shared bus wires. A0 should beep between 65C02 pin 9, Pico pin 1, and RAM pin 10. Repeat for each address and data line.
Check no short between the +3.3 V rail and GND rail.
Power the breadboard (external 3.3 V). Measure 3.3 V at 65C02 pin 8 and RAM pin 28. Do not connect external 3.3 V to Pico VSYS yet.
Flash
piclone.uf2, plug in USB (Pico only), tie Pico GND to breadboard GND.
Bring-up sequence¶
Wire per Wiring, flash
piclone.uf2, connect USB (Pico) + external 3.3 V (breadboard), common GND.Set up host tools — install Romulan:
cd ~/Downloads/romulan && uv sync.Dumb-ROM test (no upload needed after a fresh boot): plug in USB — the built-in demo starts automatically and the CPU runs at 0.2 Hz (5 s per instruction). Observe it:
cd ~/Downloads/romulan uv run python -c " from romulan.hardware_api import HardwareAPI with HardwareAPI() as api: api.monitor(enable=True) input('Press Enter to stop...') api.monitor(enable=False) # before upload or read capture "
Or capture structured bus data:
uv run romulan hardware capture --until stp --port /dev/ttyACM0(with a ROM that ends inSTP).Full program test:
cd ~/Downloads/romulan uv run romulan program.txt --build --upload uv run romulan hardware capture --until stp --port /dev/ttyACM0
RAM test (optional): a program that
STAs thenLDAs from$0200. The HM62256 at 3.3 V may still be flaky — if reads fail, the built-in demo (which only writes to RAM) still works fine.