] Wulms,
] 
] I'm asking you cause i'm sure you know this :)
] 
] I'm working on a scc emulator on the Clavia Nord Modular.
] I already made a psg and fm-pac so scc is the next logical thing :)
] 
] Now I don't know what the data format is for the wave data.
] As far as i remember it was 32 bytes long, but is every byte a sample?.
The wave data is 32 bytes long indeed. Every byte is an 8-bit unsigned sample 
value.
Two examples to illustrate.
To make a perfect square wave:
  0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255
To make a nice sine wave:
  for x = 0 to 31
    wave[x] = 128 + 127 * sin(x * 2 * PI / 32)
  next x


Please note that the frequency number in the frequency registers of the SCC 
is exactly 1 higher or lower then the frequency number in the frequency 
registers of the PSG. I do not know anymore if it is 1 higher or one lower. 
But the difference is exactly 1.
With other words, to calculate real frequency from frequency registers value:
  On PSG: 111861/(register value)
  On SCC: 111861/(register value + 1) or 111861/(register value - 1)
Although the difference in frequency is very small when not implemented 
correctly, the difference can become very audible due to interference between 
PSG and SCC channels.

Another thing to take into consideration:
On normal SCC: 
 Channel 1, 2 and 3 each have an individual wave
 Channel 4 and 5 share the 4th wave
On the SCC+ (delivered with Snather/SD-Snatcher):
 Each channel has an individual wave
 The SCC+ listens to other addresses then the SCC


Kind regards,
Alex Wulms


-- 
Visit The MSX Plaza (http://www.inter.nl.net/users/A.P.Wulms) for info on
XelaSoft, Merlasoft, Quadrivium, SD-Snatcher on fMSX, the MSX Hardware list,
XSA Disk images, documentation, Japanese MSX news from Ikeda and lots more.



--
For info, see http://www.stack.nl/~wynke/MSX/listinfo.html

Reply via email to