The thread scheduler seems to work nicely. I’ve done a simple test project using it and uploaded here:
It uses the scheduler.c and scheduler.h files taken from the myPS2 sources and starts two threads. Some delay loops are done inside each thread to slow down processing for us to see what’s going on. The call to ‘Scheduler_YieldThread()’ is important so the thread can cooperate with the other threads.
Could be an alternative to the thread switching method I’m using at cosMix (actually, it’s quite similar).