What Zero Wing seems to do is:
Code
1. request z80 bus
2. clear z80 reset
3. copy inital z80 "ram clear program" to the z80 ram area
4. start z80 reset
4. return z80 bus
5. clear z80 reset
6. do some stuff
7. start z80 reset
8. request z80 bus
9. clear z80 reset
10. copy sound program to the z80 ram area
11. start z80 request
12. return z80 bus
13. clear z80 reset

Followed by a long list of 'return z80 bus' and 'clear z80 reset' messages which shouldn't do much since the lines are already released.

At point 3 however, the z80 is actually running. I'd say that that is incorrect, it should be halted/wiating for the bus to be released.