I wrote a simple demo of how to support multiple threads on the NES, both cooperative and pre-emptive. The latter are implemented using the APU's 60 Hz interrupt, and another version using the DMC interrupt running at 4000 times per second for finer switching granularity. Source is generously commented and assembles with NESASM. It has been tested on my NES.
nes_threads.zip
The cooperative version could be implemented on modern architectures without much difficulty. Using it an emulator could simplify things a lot.
nes_threads.zip
The cooperative version could be implemented on modern architectures without much difficulty. Using it an emulator could simplify things a lot.