This is a simple change to halt SA-1 instruction execute when someone writes bit $40 of the CCNT register. The SA-1 resumes where it left off instead of taking the reset vector such as when bit $20 is used. Since no commercial game uses this bit, it was tested by putting the SA-1 in a spin loop that increments a BW-RAM variable while the S-CPU writes either halted (CCNT=$40) or active (CCNT=$00) to CCNT. Other state machines may still be active in the SA-1 and it is expected that the user makes sure they are in a legal state, e.g. IDLE, when using this bit.
This is a simple change to halt SA-1 instruction execute when someone writes bit $40 of the CCNT register. The SA-1 resumes where it left off instead of taking the reset vector such as when bit $20 is used. Since no commercial game uses this bit, it was tested by putting the SA-1 in a spin loop that increments a BW-RAM variable while the S-CPU writes either halted (CCNT=$40) or active (CCNT=$00) to CCNT. Other state machines may still be active in the SA-1 and it is expected that the user makes sure they are in a legal state, e.g. IDLE, when using this bit.