Surprisingly, this is a port of my C implementation of XDaliClock, rather than of the original Capps Mac assembly version, because there's now a TRS-80 C compiler. I suppose that was inevitable.
(Though it was branded as a TRS-80, the 1980 CoCo was a different architecture than the 1977 monochrome TRS-80, running an m6809 rather than a z80.)
Previously, previously, previously, previously, previously, previously, previously, previously, previously.
Ah, the CoCo, the redheaded stepchild of the home microcomputer wars. I played with them in Radio Shack at the time but otherwise never saw one in person. They may have been more popular elsewhere - they must have been, there was quite a following.
C.
They were a bit more popular in the UK where there was a near clone called the Dragon 64. Both could run OS-9 which was a realtime multitasking OS. This timely video goes into the similarities and differences: https://www.youtube.com/watch?v=D5hpLtjiKZc
I have two of these machines in my basement. The capacitors leaked on one, and I haven't opened up the other one to see how it's doing in its fourth decade. I'm pretty sure the magic smoke leaks out if these are connected to power.
The 6809 assembly in the daliclock port is familiar. The modern GCC-based C compiler is...not.
Back in the 80's the OS-9 C compiler had separate token parse and code gen modules because they wouldn't both fit into the same 64K address space at the same time as a nontrivial C program (so it used two processes with a pipe between them, because different processes could use different 64K address spaces). Optimization was a separate process too. Assembly and linkage were also separate binaries, but every toolchain has that.
K&R C, none of this fancy newfangled C89 stuff. TBH even calling it K&R is an exaggeration of its capabilities. Took a couple of minutes to build a few thousand lines of code.
There were probably more productive ways I could have spent my youth.
"You go, Cho's CoCo!"