Mailbox Seal
A host process shares an eight byte frame with this board through a mailbox in SRAM. It writes the frame, then raises a ready flag so the firmware knows the frame is complete. The firmware must wait for that flag, compute a keyed rolling seal over the eight frame bytes, and report it.
The seal is computed by folding each byte into a running value:
seal = key for each byte b in the frame: seal = (seal * 31 + b) mod 65536
The starting key is fixed for this device. A correct run prints one line, SEAL:<four hex digits>, then DONE on its own line.
The host can place any frame it likes, so the seal is never a fixed value: the only way to report the right seal is to read the mailbox the host filled and run the recurrence over those exact bytes.
The starter reports a seal for every frame, but it is always wrong. Find why and fix it.