I did some further testing. Seems the best way to determine when a sound has finished playing is to monitor the INT status bit. Just remember to clear the INT before each SET_PLAY.
The PLAY bit will not work as it does not get cleared until you change to another mode (i.e. RECORD).
The READY bit will not tell when the sound is completed playing, rather it tells you that the chip is ready to receive another SPI command (which can happen before the sound is complete when using SETPLAY).
I couldn't find how to edit the previous post, so here are the changed parts:
(obviously your start/end addresses will be different)
Code:mainloop: PAUSE 1000 s_addr = $049 e_addr = $07c GOSUB isd_set_play GOSUB isd_wait_int GoSub isd_clr_int PAUSE 1000 s_addr = $07d e_addr = $093 GOSUB isd_set_play GOSUB isd_wait_int GoSub isd_clr_int GoTo main_loop '-------------------------------------------------------------------------- isd_wait_int: GOSUB isd_rd_status IF isINT = 0 THEN isd_wait_int RETURN




Bookmarks