I don't know accurate knownledge about the SPC currently is, but I've a couple of questions :
- What kind of delay there is with key on/key off operations ? I've tried to make test programms, if I key on without ever keying off, I get an annoying slapping sound (I don't know about on the real hardware). If I key off right before I key on, on some SPC players/emulators the key on is ignored. Is the solution to key off a decent time before each key on the only accurate/viable solution ?
- About the DIV instruction.... It takes 16 bit input and only 8-bit output. What happen if you do 65535/1 ? The result would sure not fit 8-bit quotient+8-bit remainder. I guess you only get low 8 bits of result but the real remainder (that's the only thing that make sense when using shift-and-substract method). What does division by zero output ? I guess result is always $ff and remainder is the original dividend (that would make the most sense again) but no doccument specifies that.
- Is it possible to change echo delay during playback very quickly to get reverb ?
- When echo is enabled back on a channel after being disabled, I suppose this only allow output from that channel to go into the echo buffer to be heard again later at lower volume. I've seen some SPC players/emulators emulate it so that as soon as echo is enabled past sound data is heard from that channel even if it was disabled before. As I don't see how the past data could go into the echo buffer (unless each channel has its own individual echo buffer, which isn't the case), I guess this can only be wrong, but again I'm not sure.
- The processor have DI and EI instruction to enable/disable interrups. But is there any other source of interrupt than reset ? (I doubt reset is maskable). It's said that reset vector is stored at $fffe but I don't see any other interrupt vector mentionned in docs.
- What kind of delay there is with key on/key off operations ? I've tried to make test programms, if I key on without ever keying off, I get an annoying slapping sound (I don't know about on the real hardware). If I key off right before I key on, on some SPC players/emulators the key on is ignored. Is the solution to key off a decent time before each key on the only accurate/viable solution ?
- About the DIV instruction.... It takes 16 bit input and only 8-bit output. What happen if you do 65535/1 ? The result would sure not fit 8-bit quotient+8-bit remainder. I guess you only get low 8 bits of result but the real remainder (that's the only thing that make sense when using shift-and-substract method). What does division by zero output ? I guess result is always $ff and remainder is the original dividend (that would make the most sense again) but no doccument specifies that.
- Is it possible to change echo delay during playback very quickly to get reverb ?
- When echo is enabled back on a channel after being disabled, I suppose this only allow output from that channel to go into the echo buffer to be heard again later at lower volume. I've seen some SPC players/emulators emulate it so that as soon as echo is enabled past sound data is heard from that channel even if it was disabled before. As I don't see how the past data could go into the echo buffer (unless each channel has its own individual echo buffer, which isn't the case), I guess this can only be wrong, but again I'm not sure.
- The processor have DI and EI instruction to enable/disable interrups. But is there any other source of interrupt than reset ? (I doubt reset is maskable). It's said that reset vector is stored at $fffe but I don't see any other interrupt vector mentionned in docs.