Files
uv-k5-v3-emulator/qemu
mckero 3b03a025fb Rounds 102-103: the read side works -- 97401 low-row reads -- and the phase question needs two runs
A probe at the guest's GPIO_IDR read, printing only when a row line is low (what read_rows() would return non-idle), rate-limited to one line per 200 reads and carrying its own running total, because round 98's cap hid a later phase behind an earlier one -- a mistake made again in this round's first version and corrected in the same round.

Result: 97401 low-row reads, with column selections 0x70, 0x68 and 0x38 (port B pins 3, 4 and 6 pulled low one at a time, the four-column scan really running) and row patterns 0xe and 0x7. So the firmware drives columns, selects them one at a time, and reads a low row back; the count, about 1400 a second, agrees with round 101's scan-rate estimate.

What it did not settle is which phase produced them, because of a sampling window: the four-second sampler ran from boot and its whole window fell before the first keypress, so it reported zero while the probe's final total was 97401 -- the same lesson this file already carries, made again in my own sampler rather than in the probe.

Next: two runs, not one instrument -- one session that only launches the app (the resident loop polling) and one that gets the app running and then presses keys, comparing the probe's final totals.
2026-10-02 15:55:21 +08:00
..