Being the only interesting source code I've seen released for the Z80 TI calculators in literally five years, I thought I would take a pedestrian look at these routines. With that said, this is a very interesting project.
The first thing to note is that it's a person with obvious C programming style, coding in Z80 assembly. Personally I found the code easy to follow, but for somebody who has never used structures in C, it might be a bit confusing. There are things like a "memory structure" called "thread_t" that organizes the data for each thread much like a structure. However, it's Z80, and not C, so there are preprocessor tricks added to change the size of the structure to add an extra word for "return value," which traditionally would be returned through the stack instead of added to the structure size. No big deal though, it works. The rest of the code is separated into very clear segments such as creating threads, stopping and joining.
The reason I have this code a 9 instead of a 10 is because it is, in my opinion, while an impressive project almost entirely useless. This is a lot of code, considering the benefits compared to simply adding a couple of calls in your "main loop" are few. The bottom line is if you're using interrupts already and reading key-presses, it means your code is blocking, and while it's blocking you can always add a "call" here or there to get this same functionality in about twenty lines of code.
With that said, I think this is a great little package. I give it a 9 out of 10, and a tip of my hat.