I have good and bad news. The good news is that I’ve figured out how to synchronise the time and not have the Dreamcast prompt for a new date and time on reboot. Bad news is that it involves writing to the Flash memory. I’m not sure how to best handle this. If the time is syncd up and the difference is more than 29+ days worth, it would make sense to set it then-and-there, but if it’s 29 days, 23 hours, and 50 minutes, it might allow for 10 minutes of play time before the bug appears. I’m curious if there’s a way to force the Dreamcast not to bother with what the AICA reports? It’s definitely something I want to try out and see if running a game for 30 days will trip this issue.
In any case, it might make sense to trigger a store of the time when there’s more than something like 20 days of difference. I’m sure no one is going to play for ten days straight without turning off their Dreamcast. It does make me wonder if the BootROM checks the last stored time and updates it, because I haven’t seen any logic which would handle this automatically. It also makes me wonder how many times over the 20+ years of Dreamcast goodness that the time has been set and the value overwritten. I’m sure that it’s good for many, many writes, and there’s wear-levelling. Still. Makes me wonder how many more times we can set the clock before it ends.
Fucking glad I resolved it in a few hours after work today :D.