C000 B : Write any value to this address to start the Z80 interrupt
in the TLCS-900h code.

So in the above example, what exactly is returned from (4000h) and (4001h)? I'm assuming this is a way for the TLCS900h code to actually read whats going on in the chip, but what kind of data lives here? And Right/Left volume?

C000 B : Write any value to this address to start the Z80 interrupt
in the TLCS-900h code.

So in the above example, what exactly is returned from (4000h) and (4001h)? I'm assuming this is a way for the TLCS900h code to actually read whats going on in the chip, but what kind of data lives here? And Right/Left volume?

Man, I don't remember anything about this. Have you looked at the RACE source code to see if it mentions anything useful about it?

Yeah my guess is that the noise setting is coming from the bios, because the bios Z80 driver writes to 4000h during the intro chime. I'm going to implement a couple input buttons that change the noise and tone channels and watch what the values become as my next step.

So far my results are inconclusive. I'm seeing the TLCS900h read 00 00 for 4000h and 4001h (I had some reading out of order), and now my Z80 is reading 01 0E for 4000h and 4001h. Next step is adding in the Z80 debugger to NeoGPC, then I can figure out what the Z80 driver is writing that allows the TLCS900h read to pick up on. I'm also trying to conceptualize on how to run the two CPUs side by side that does not rely on the tlcs900h.cpp code doing sound executes (driving a cycle forward), but that might be a little too complex for this experiment.