Konami SCC - Deformation Register (98E0h)

Deformation Register (98E0h)

This register is not used by any Konami game. All the addresses in the memory area (98E0h - 98FFh) refer to the same register. Resetting the SCC will set this register to 0.

The bits are RRB000XX with the following meaning:

XX: Freq multiplier
00 = *1
01 = *256
10 = *16
11 = *16

The lower two bits (XX) influence the frequency.
If set to 01b, all frequencies are multiplied by 256.
If set to 11b or 10b, all frequencies are multiplied by 16.
(This affects both freq of voice and rotation speed.)

B: Reset if freq is written
0 = Normal
1 = Start from beginning of sample when freq changes
If bit 5 is set, waveform playback is started from the beginning when a frequency register is written to.
(This can be also used to implement sub-sample phase differences and among channels)

RR: Rotation
00 = Normal, No rotation
01 = Rotate all waveforms with channel own freq. CH4 & CH5 common waveform will be rotated with CH5 freq.
10 = Rotate only CH4 & CH5 common waveform. Waveform will be rotated with CH4 freq.
11 = as 10, but to be verified by HW tests.

Channels that are rotating are READ ONLY. Writing will have no effect.
Rotating speed is same as reading speed of sample from memory. This means that it is easy to use CH4 & CH5 common waveform as time counter for sample in other channel. Note anyway, that reading too actively may cause noise as SCC can't read the memory at the same time.

Reading from this register will return FFh, but will set bit 6 of the register. Since the waves start to rotate now, the values in 9800h through 987Fh will change each time you read them.

Read more about this topic:  Konami SCC

Famous quotes containing the word register:

    Every new baby is a blind desperate vote for survival: people who find themselves unable to register an effective political protest against extermination do so by a biological act.
    Lewis Mumford (1895–1990)