little-scale wrote:0x20 this has been mentioned as a test / experimental / undocumented register for sound functions, no idea how it works.
0x27 contains the set, reset, load flags for timers A and B, which apparently function alongside the YM2612 sound functions, but I'm not sure how these can be used. I believe that this will let you unlock a formant synthesis mode that could in theory be used for speech or complex wave synthesis.
0x2A is the value set for the DAC output for channel 6.
Set the DAC to ON, but don't play samples or waveforms. Instead, send a DC value directly to 0x2A. This will have different effects depending on the hardware you are using, and seems to be most pronounced with model 2 units.
More info here: http://little-scale.blogspot.com.au/200
ional.html
0x2C seems to put the DAC into a "super loud mode", play around with the upper nibble to hear the effect.
More info here: http://forums.sonicretro.org/index.php?showtopic=28589
More info here: http://md.squee.co/wiki/YM2612#Register_.242C
Thanks for the infos!
0x27 seems to be the so called CSM mode
look at this video http://www.tudou.com/programs/view/IsH_CP_vNnM/ it seems to showcase the use of CSM for formant synthesis...
look at the last channels with only sine waves that seems to play together the form the vocals...
It is coming from this place http://www.geocities.jp/submarine600/ht
voice.html there is some CSM programming info for the OPN/OPNA on the PC-8801...there is a zip file http://www.geocities.jp/submarine600/fi
090729.zip that I do not understand well (you probably would better) but there seems to be PCM datas involved to (voice.dat) also the file csm88.z88 have some registers setting that could help you.
there is probably a good reason for the lack of use (if any?) of this mode on megadrive music
EDIT:
Google translate is my friend
reg 0x27 on CSM MODE seems to work like that:
Similar to CH3 Special Mode (adjustable F-NUMBERS) work for CH3 only.
The only difference seems to be the AUTOMATIC KEY ON/OFF of the 4 OP's ...in fact it is a kind of mimic of a DAC that plays back a PCM CSM play the sound at regular intervals rewriting the 4 TL's and F-Numbers of the operators as well.
The interrupt seems to process at intervals of Timer-A.
Regarding Nemesis test on the YM2612:
Special mode is always active when CSM mode is active. CSM mode is only active when the mode bits are set to 10, NOT when they are set to 11. so we have to test the corresponding midi CC values that are working for the GENMDM
In order for CSM mode to have any effect, Timer A must be loaded. In other words, bit 0 of reg 0x27 must be set to 1. None of the other timer-related flags, including the reset and enable bits, nor the state of Timer B, have any impact on CSM mode whatsoever, and the act of changing the state of these settings at any time have no impact on the operation of the CSM mode, as long as the channel 3 mode, and Timer A load flag remain unchanged.
The effects of CSM mode:
When CSM mode is correctly enabled, each time Timer A expires, the following two steps occur, in the specified order:
1. Key-on is sent to all operators in channel 3
2. Key-off is sent to all operators in channel 3
In other words, key on occurs, immediately followed by key-off, at the instant Timer A expires.
The Attack Rate must be set to 31 otherwise you got no sound, because of the instant key off. TL and RR are the two only parameters which control the envelope under CSM mode.
Regarding manual key on:
CSM mode only affects operators which are currently keyed off. If you were to manually key-on all operators in channel 3, then enable CSM mode, the CSM mode would have no effect until you sent a manual key-off event. If you never send a manual key-off, CSM mode will never take effect.
It seems to be a pain in the ass to program for speech synthesis but nice to try! and knowing formant frequencies is a +
I also have a couple of questions:
1- regarding the CH3 special mode F NUMBERS...could you provide me the lowest and the highest frequencies in HZ and(FNUMBER) that you can reach ? just to be sure I made it right in my FMDRIVE and for GENMDM compatibility
2-regarding SSG EG... I see in the CC Chart101.txt that you have one CC enable function and one CC setting for the SSG shapes.
Isn't it normally available as a per operator basis ? so on one channel we should have 4 CC's for SSG on/off and 4 CC's for SSG shapes?
maybe you did not implement it yet... so i assume it's a global enable for all operators of the channel ?
anyway great job! thx again for the update
thx++
Last edited by Aly James (Jan 22, 2013 3:40 am)