ThunderClock complete. ProDOS timestamps work.
ThunderClock Plus emulation is done. Implementation took about a week — straightforward compared to Videx.
The uPD1990AC state machine handles all seven command modes. The 40-bit BCD counter increments correctly off the 54MHz prescaler. Serial shift-in and shift-out match the datasheet timing. IRQ output works at all four pulse rates.
ProDOS 2.4.3 auto-detects the card on boot: it scans slots 7-1, reads the four signature bytes at $C100 offsets 0, 2, 4, 6, gets $08, $28, $58, $70, and installs the firmware’s built-in clock driver. File timestamps appear on every created and modified file immediately after boot with no additional configuration.
Tested with the Thunderware ThunderClock utility disk: the TIME program sets date and time, the CLOCK program displays a running clock. Both work. Concurrent operation with Videx (slot 3), SSC (slot 2), and Mockingboard (slot 4) stable.
The USB-C power persistence behavior works as expected. Connected a USB-C cable from a Raspberry Pi to the A2N20v2. Set the time. Powered off the Apple II. Waited several hours. Powered the Apple II back on — ProDOS picked up the correct time from the emulated clock with no drift visible to the second. The FPGA kept counting the whole time. This is the “ThunderClock with no batteries” becoming “ThunderClock with infinite batteries.”
CardCat now shows all five emulated cards in slots 1-4 and 7: ThunderClock Plus, Super Serial Card, Videx 80 Column Text Display Card, MockingBoard Card, and (slot 6 is the real Disk II controller) 5.25 Disk Interface Card.
The fork is done. Both new cards emulated, upstream bugs fixed and submitted. Tagging v1.0.