Instruction related to 2.5 sounds
Direct execution instruction indirect execution instruction of BEEP
Function
It whistles. The error sound registered in the song number "0" is returned to the default warning sound.
Format
BEEP[0|1]
Example
BEEP
BEPE 1
Parameter
0 | 1… Switch
Operation is detailed.
When the switch is not specified, it sounds it short as well as making an error. It doesn't advance to the following processing until finishing ringing. It advances to the following processing without the warning sound's ringing, and waiting when the switch is made "1". When the switch is made "0", the warning sound is stopped.
Attention
It returns to default when this BEEP instruction is executed when it registers in "0" turn by the EFFECT/SETSONG instruction, and the BEEP sound (error sound) is changed.

Direct execution instruction indirect execution instruction of BGM
Function
The state that seven sequences are blocked with the EFFECT instruction is not to become interrupted the performance because it performs the difference with the PLAY/EFFECT instruction to which MML that has already been registered in the sound memory is performed by the SETSONG instruction by the sequence number (the 0th) only for BGM. The example of the favorite doesn't specify the MML character string.
Format
BGM..[.. ..song number [ Volume [ ..fade Inn.. rate ] ].. ]
Example
It performs while making turning the tune registered in BGM 5,127 and 70→ song number 5 to volume 127 and the Fadoin.
BGM ,, 70
Parameter
The song number … The performed song number is specified. It is possible to specify it up to the number of tunes specified by "Registered number of songs" of "0" turn (for BEEP) ~ PLAYINIT instruction. Default =1.
The volume … The volume when performing is specified. The volume grows by the value large by "0~255", too. Default =127. When the value of 128 or more is specified, it grows more than former volume of waveform data. Specify 127 or less usually.
The fade Inn rate … The speed of the fade Inn is specified. The final volume of the fade Inn is a value specified by "Volume". The fade Inn is done by "0~255" the faster smaller the value is. When 0 is specified, the performance is started from the start without processing the fade Inn by "Volume" value. Default =0.
Operation is detailed.
The BGM instruction is used when chiefly performing music. Please make the sequence number "0" when you operate the song to pronounce a sequence control instruction PLAYFADE etc. with BGM to use the sequence number "0". The BGM instruction starts after stopping the song of the sequence number "0" every time it executes it.
"Song number" specifies the performed song number. The maximum value that can be specified is a number of tunes specified by "Registered number of songs" of the PLAYINIT instruction.
"Fade Inn rate" specifies the interval brought close to the value in which the volume is specified by "Volume". The fade Inn is not processed when making it to "0".

Direct execution instruction indirect execution instruction of DSP
Function
DSP is controlled.
Format
(1) DSP ON{<音色番号>,<レイヤー番号|ALL>,<エフェクター番号>,<レベル>}
(2) DSP OFF{<音色番号>,<レイヤー番号|ALL>}
(3) DSP ALL ON <エフェクター番号,レベル>
(4) DSP ALL OFF
Example
It is set that all tones of the tone data into which DSP ALL OFF→ is being loaded now are made DSP unused, and only the tone of the 38th layer 0 puts the reverberation by the maximum value.
DSP ON 38, 0, @REV, 7
All tones of the tone data into which DSP ALL ON@DEL and 5→ are being loaded now are initialized and the DSP use enabling and the effector are initialized by DeLay and level 5. Afterwards, all layers of tone number 5 and the 24th layers 2 are turned off.
DSP OFF 5, ALL, 24, 2
Parameter
<音色番号>… The tone number in which it wants to do the DSP effector to turning on or turning off is specified. Number specified by "@" command of MMLCan not be omitted.
<レイヤー番号|ALL>… The layer number in which it wants to do the DSP effector to turning on or turning off is specified. "ALL" can be specified instead of the layer number. In this case, all layers of the selected tone number become objects. Can not be omitted.
<エフェクター番号>… The kind of the DSP effector is specified. As well as "70: the input selection" of the TPROP instruction. When the TPORP instruction is executed, it is influenced. To which channel of the DSP mixer the slot output data is input is specified. It becomes invalid in GAMEBASICforSEGASATURN excluding the following numerical value though the range of specification is "0~15".
0 STEREO REVERB [ Reverberation ] @REV
1 STEREO DELAY [ DeLay ] @DEL
2 DISTORTION [ Distortion ] @DST
Always specify "0" for the DSP mode (single effector).
<レベル>… The level sent to the DSP input mixer is specified. As well as "71: the input mixture level" of the TPROP instruction. When the TPROP instruction is executed, it is influenced.
The input level when the slot output data is input to the DSP mixer is specified. Set for the function for all slots not to exceed "0dB" because it doesn't provide the protecting function in the overflow in the input mixer (It causes the distortion). The number of sounds that can be properly input when the value of "Input mixture level" is changed is as follows.

Input mixture levelLevelNumber of sounds that can be input
[dB]Magnification
0-MAXX0.000000-- Sound
1-36X0.01562564 sounds
2-30X0.03125032 sounds
3-24X0.06250016 sounds
4-18X0.125000Eight sounds
5-12X0.250000Four sounds
6-6X0.500000Two sounds
7-0X1.000000One sound
Operation is detailed.
Format (1) makes the DSP effector "ON" for the tone data that exists in the sound memory now in each layer. The constant symbol can be used for the effector number.
Format (2) makes the DSP effector "OFF" for the tone data that exists in the sound memory now in each layer.
The parameter that bundles both formats (1) and formats (2) by "…" can be repeatedly described.
Only a kind of effector can be used at the same time, and specify the effector number "0" by PLAYINIT "DSP" etc. , please when it is a single effector mode. In this case, the effector is switched by the MML command "Ec".
When the DSP effector is put on all tones, format (3) is specified.
Please specify format (4) when you do not pass the DSP effector through all tones.
In the tone data file, there is something to which "Level" is set by default. Please ..unpalatable.. operate each tone after executing "DSP ALL OFF" when the effect of not intending it becomes visible.
It is also possible to change in real time while performing. In this case, the value rewritten according to the timing of the note on is reflected. The setting to the tone data rearranged by the TARG instruction and the original PCM sampling data is also possible.
Attention
It becomes an error when not making it to the DSP mode by PLAYINIT "DSP" or PLAYINIT "DSPEXT". The data set again cannot be saved. Please the value set before that must return to the tone parameter of former value, and set change and go by PLAYINIT and the TARG instruction after registering the tone data that wants to change in the sound memory when doing when the tone data of the sound memory is replaced by the PLAYINIT/TARG instruction.
Warning
This instruction might become a sound that becomes how to give the parameter Y Ot, and is distorted. In this case, please execute the PLAYINIT instruction. Still, when be not emitted the sound or occur to the communication of the main and the sound system above, reset after of feeling relieved, the start, and the saving of the program, and try to execute it again.
Reference
"Block composition of 2.4 sound system""DSP effect module details"

Direct execution instruction indirect execution instruction of EFFECT
Function
The music (effect sound) specified by the MML character string is performed. It is possible only to register without sounding it then and there by setting "0" to the volume.
It moves to the following instruction without waiting to finish ringing unlike the PLAY instruction.
Seven music or less (effect sound) can be performed at the same time by specifying the song number. When both the song number and MML character strings are specified, it finishes playing the revival if MML is registered in the specified song number, and only the song number is specified from the second.
Format
(1) EFFECT[(),] <数値変数名>[ Song number [ Volume ] ] and [ [#] <トラック番号>[ "MML character string" ] ](Repeat for 16 tracks or less. )
(2)EFFECT[(<数値変数名>),]..[.. ..song number [ Volume ].. ]
Example
Only Doremi is registered in EFFECT 2, 0, and "CDE" → song number 2, and it doesn't perform.
The song data registered in EFFECT 2→ song number 2 is performed.
The song data registered in EFFECT-2→ song number 2 is performed without weight. (Perform by this method when using it in the real time game. )
Parameter
() <数値変数名>… A numeric variable identifier to store the allocated sequence number is specified. The EFFECT instruction returns the value to the numeric variable specified for here. "1~7" returns to a numeric variable. The type of the variable that can be specified is limited to the fixed zero point type or the array type.
The song number … The song number that is performed or newly registered is specified. It is possible to specify it up to the number of tunes specified by "Registered number of songs" of "0" turn (for BEEP)-PLAYINIT instruction.
The sound memory is thrown away every time it executes it without registering just like the PLAY sentence when omitting it. When the MML character string is omitted, it becomes an error. The EFFECT instruction where only the MML character string specified for one sentence is effective and extends more than two sentences is not recognized the continuation of the previous state.
Call it by EFFECT or the BGM instruction after doing the batch registration by using the SETSONG instruction when you register a long bureau because it ends because of the description of one sentence when you register short song data like the effect sound etc. though it is convenient.
Only EFFECT name Lane subtracts and can put ..(-).. sign on the song number. It doesn't wait until beginning to ring when the effect sound is requested when the minus sign is put. Refer to "Attention" for details.
The volume … The volume when performing is specified. The volume grows by the value large by "0~255", too. It is possible only to register without sounding it then and there by setting "0". Default =127. When the value of 128 or more is specified, it grows more than former volume of waveform data. Specify 127 or less usually.
<トラック番号>… To which track (performance part) the MML character string that continues after this is progressed is specified. You may replace order because it need not necessarily be always consecutive if it is a range of "0~15". The previous state is not maintained unlike the PLAY instruction, and the default value is always set as for the start. When the first MML track number is omitted, it becomes the track "0". When Toacc of MML on the way is omitted, one is allocated ahead and it becomes track +1 gotten. At this time, when 15 is exceeded, it becomes an error.
"MML character string" score data is defined by the character string. Refer to "2.6 details of MML" for details. The MML character string is delimited by ""and specified up to 16 tracks or less. The track where nothing is specified becomes "Yas".
Operation is detailed.
The EFFECT instruction can perform seven kinds of or less song data at the same time while managing the sequence number "1~7" (instruction only for ..the sequence number "0".. BGM). It sequentially allocates looking for the sequence number that has become empty if it executes it, and whether which sequence number the song data pronounced by the EFFECT instruction was allocated is returned to "()<数値変数名>". This return value is stored in the variable, and used as a parameter of the instruction related to other sequence controls such as PLAYFADE.
"Song number" specifies the song number that is registered or performed. The maximum value that can be specified is a number of tunes specified by "Registered number of songs" of the PLAYINIT instruction.
"Volume" specifies the volume when performing. In addition, there is mastering volume adjusted bringing the volume of all sequences together in the high rank ..working as the total volume of all tracks besides the volume setting command of MML.. ..(.. (Please refer to the VOLUME instruction for details). When "Song number" and "Volume" are omitted, and the MML character string is described from the head, each value begins the performance of the default value.
The MML character string progressed to the sound memory can be initialized by the PLAYINIT instruction or be performed again only by specifying the song number from the second because it exists in the memory as long as it doesn't register in the same song number again.
Please make "Volume" "0", register MML in the song area beforehand, and specify only "Song number" when actually sounding it when using it by a usual game program. Moreover, please use the SETSONG instruction when you register two or more effect sounds at a time.
The effect sound with a different direction where the sound is generated can be sounded while sharing the song data by combining with the PLAYPAN instruction and executing it.
Attention
Please note the following respect when you describe "Expression" with "()" in the song number.
When "(I)" is omitted, it becomes an error to try to read "(5-4)" that parentheses are attached as a numeric variable identifier though "EFFECT(I) and (5-4)" assumes "5-4=1" to be a song number, begins the performance, and returns the allocated sequence number to a numeric variable "I". Please do not omit a numeric variable identifier when you describe to song number .."(expression).."
This sound system has weight so that "PLAYSTAT" function that returns whether to ring because main CPU and sound CPU are independent or not to ring may function correctly. Therefore, the processing of the main side might stop momentarily immediately after the request. The return value of "PLAYINIT" function immediately after the request might become not correct as the evil though only the EFFECT instruction puts the minus sign on "Song number", and this weight can be omitted.
When another MML character string is overwrited for the song number performing now, it is not performed normally.
Because below EFFECT rewrites it while performing this data, EFFECT 1 "CDEFG" → is not normally performed.
EFFECT 1, "ABCDE"

Direct execution instruction indirect execution instruction of EG
Function
EG (Emberorb generator) parameter is set.
Format
EG < tone number and <レイヤー番号|ALL>[AR] > [,DR] [,SR] [,RR] [,SL] [,EGHOLD] [,LSLINK][,KS]
Example
EG 44, ALL, and AR=31 of 31, 18, 8, and 16→ tone number 44, DR=18, SR=8, and RR=16 are set.
Meaning of sign
AR attack rate
DR Dikei rate
SR Sastan rate
RR release rate
SL Sastan level
EGHOLD EG interrupt mode
LSLINK loop start link
KS key rate scaling
Parameter
<音色番号>… It reads, and the tone number that wants to be rewritten is specified. Number specified by "@" command of MMLCan not be omitted.
<レイヤー番号|ALL>… The layer number that wants to be rewritten is specified. "ALL" can be specified instead of the layer number. In this case, the selected layer all the tone numbers becomes an object. Can not be omitted.
AR … The amount of a time change to reaching from beginning to appear of the sound to the maximum value is specified.
・" 0~ 31 "
The amount (amount of the level attenuation) is 0 changes more minimum.
The amount (amount of the level attenuation) is 31 changes more maximum.
DR … The amount of a time change until attenuating from the maximum volume to the Sastan level is specified.
・" 0~ 31 "
The amount (amount of the level attenuation) is 0 changes more minimum.
The amount (amount of the level attenuation) is 31 changes more maximum.
SR … The amount of a time change from the Sastan level to attenuation in the state of a no sound is specified.
・" 0~ 31 "
The amount (amount of the level attenuation) is 0 changes more minimum.
The amount (amount of the level attenuation) is 31 changes more maximum.
It enters the state of the continuation sound without attenuating if it sets it to "0".
RR … The amount of a time change until attenuating in the state of a no sound is specified at the time the key turned off.
・" 0~ 31 "
The amount (amount of the level attenuation) is 0 changes more minimum.
The amount (amount of the level attenuation) is 31 changes more maximum.
SL … An actual level in the state of Sastan of the sound in which DR is passed from the maximum volume is specified.
・" 0~ 31 "
Minimum at 0 levels
Maximum at 31 levels
EGHOLD … Whether the value of the attack is maintained or is changed is specified.
It changes according to the value specified for 0 attack rate.
It reaches the maximum volume at the same time as one pronunciation. Time to maintain the maximum volume is decided by the value of the attack rate.
Beginning LSLINK "Loop" and "Caeuts from the state of the attack of EG to the state of Dikei" are made synchronous (Refer to the waveform data control of the TPROP instruction for the loop).
0 The position of Caeuts and the loop start point in the state of EG becomes it without any relation to.
One synchronization is taken.
KS … The key rate scaling has working to which each rate of Emberorb is changed by the interval (note number)(The rate that the Emberorb Caeuts speed quickens by becoming high pitched sounds is specified).
"0~14" And, "-1" -1 scaling OFF.
0 scaling is minimum.
14 scaling is the maximum.
Operation is detailed.
The volume and the tone change into the sounds of musical instruments at time. This time change is called Emberorb, and yesterday when this curve is mechanically produced is called EG (Emberorb generator).
The EG setting value is rewritten to the tone data that exists in the sound memory in each layer now. It is also possible to change in real time while performing. In this case, the value rewritten according to the timing of the note on is reflected.
The value of the item to which the item is skipped, and skipped doesn't change when only ""is specified.
EG shows the change according to the time of the amount of attenuation of the sound in four states.
Pronouncing all, EG doesn't do four states in Caeuts, and various Emberorb curves are drawn according to the timing of the key off. It attenuates from the level at that time according to a set value of the release rate when the key turning it off to attack state Cae Utstuu. Therefore, the Emberorb curve in this case attenuates aiming at the Sastan level according to a set value of the Dikei rate. It attenuates from the level in the point the key turned off according to a set value of the release rate afterwards when the key off is executed on the way of this.
The content of the parameter is the same as item 20~27 of the TPROP instruction. Therefore, when a pertinent matter is rewritten by the TPROP instruction, it is influenced.
Attention
The data set again cannot be saved. Please the value set before that must return to former tone parameter, and set change and go by PLAYINIT and the TARG instruction after registering the tone data that wants to change in the sound memory when doing when the tone data of the sound memory is replaced by the PLAYINIT/TARG instruction.
Warning
This instruction might become a sound that becomes strapping according to how to give the parameter the sound, and is distorted. In this case, please execute the PLAYINIT instruction. Still, when be not emitted the sound or occur to the communication of the main and the sound system above, reset after of be the hot start, and the saving of the program, and try to execute it again.

Direct execution instruction indirect execution instruction of LFO
Function
The LFO parameter is set.
Format
LFO < tone number and <レイヤー番号|ALL>[ LFO frequency [ LFO reset ] > ][ ALFO shape of waves ]
Example
It sets it in maximum each rectangular wave shape of waves = PLFO of PLFO = maximum in each triangular wave LFO reset = turning on and frequency of LFO =2.87Hz and ALFO shape of waves = ALFO of LFO 44, ALL, 1, 16, 2, 7, 1, and 7→ tone number 44=.
Parameter
<音色番号>… It reads, and the tone number that wants to be rewritten is specified. Number specified by "@" command of MMLCan not be omitted.
<レイヤー番号|ALL>… It reads, and the layer number that wants to be rewritten is specified. "ALL" can be specified instead of the layer number. In this case, all layers of the selected tone number become objects. Can not be omitted.
LFO reset … Whether LFO is reset when the key turning it on is specified.
0 asynchronous systems
When one key turning it on, LFO is reset.
The LFO frequency … A common oscillation frequency to ALFO/PLFO is specified.

Value oscillation frequency set to LFO frequency( Hz )
0 0.17
1 0.19
2 0.23
3 0.27
4 0.34
5 0.39
6 0.45
7 0.55
8 0.68
9 0.78
10 0.92
11 1.10
12 1.39
13 1.60
14 1.87
15 2.27
16 2.87
17 3.31
18 3.92
19 4.79
20 6.15
21 7.18
22 8.6
23 10.8
24 14.4
25 17.2
26 21.5
27 28.7
28 43.1
29 57.4
30 86.1
31 172.3

The ALFO shape of waves … The amplitude modulation wave form is specified.
0 saw wave @SAQ
One Ccaha @SQU
Two triangle wave @TRI
Three white noise @NOISE
At each ALFO … The hanging condition of the amplitude modulation by LFO is specified. The effect of the tremolo (..volume.. change periodically) can be expressed by this amplitude modulation.
Mixing to EG at each ALFO
There are no 0 influences.
1 Displacement of 0.4dB
2 Displacement of 0.8dB
3 Displacement of 1.5dB
4 Displacement of 3dB
5 Displacement of 6dB
6 Displacement of 12dB
7 Displacement of 24dB

The LFO shape of waves … The frequency modulation wave form is specified.
0 saw wave @SAQ
One Ccaha @SQU
Two triangle wave @TRI
Three white noise @NOISE

At each PLFO … The frequency modulation wave form is specified.
Influence on pitch at each PLFO
There are no 0 influences.
Displacement of 1+-7 cents
Displacement of 2+-13.5 cents
Displacement of 3+-27 cents
Displacement of 4+-55 cents
Displacement of 5+-112 cents
Displacement of 6+-230 cents
Displacement of 7+-494 cents

Operation is detailed.
The LFO setting value is rewritten to the tone data that exists in the sound memory in each layer now. It is also possible to change in real time while performing. In this case, the value rewritten according to the timing of the note on is reflected. The value of the item to which the item is skipped, and skipped doesn't change when only ""is specified.
LFO is a low frequency transmitter, and it is used for the modulation of the audio signal. LFO is installed in each slot by one, and has the output for the amplitude modulation of each slot and the output for the frequency modulation. There are four kinds of output wave forms of LFO (a saw tooth wave, a rectangular wave, a triangular wave, and the white noise), and these can be chosen arbitrarily.
A saw tooth wave, a rectangular wave, and triangular waves except the noise specify reset, and can change the frequency.
The shape of waves and the modulation level of LFO can set the shake width modulation side and the frequency modulation side respectively independently.
The content of the parameter is the same as item number 50~55 of the TPROP instruction. Therefore, the value writes and it changes when the TPROP instruction is executed.
Attention
The data set again cannot be saved. Please the value set before that must return to former tone parameter, and set change and go by PLAYINIT and the TARG instruction after registering the tone data that wants to change in the sound memory when doing when the tone data of the sound memory is replaced by the PLAYINIT/TARG instruction.
Warning
This instruction might become a sound that becomes strapping according to how to give the parameter the sound, and is distorted. In this case, please execute the PLAYINIT instruction. Still, when be not emitted the sound or occur to the communication of the main and the sound system above, reset after of be the hot start, and the saving of the program, and try to execute it again.

MMLSTAT() fixed zero point type function
Function
The status under the performance is acquired.
Format
M= MMLSTAT(<トラック番号>,<項目番号>)
Example
X= MMLSTAT( 8, 1 )
IF MMLSTAT( 0, 1 )THEN
Parameter
<トラック番号>… The MML track number that wants to be acquired is specified. It corresponds to the track number that specifies the MML character string by "0~15".
<項目番号>… The item that wants to be acquired is selected.
Value specified by 0 control commands MML (""Command)
Note number of one pronunciation
Two direct data levels
Three direct loaf of bread value
Four total level
Return value
It differs according to the item as follows.

Item number =0
The value specified by "Command MML control command (") returns. (trigger form)
" 0~ 127 "
After the value is read, it becomes "0".

Item number =1
Note number under pronunciation
" 0~ 127 "
"0" returns when not ringing.

Item number =2
Direct data level
" 0~ 7 "
The value specified by "72: direct data sending level" of the TPROP instruction returns.
"0" returns when not ringing.

Item number =3
Direct bread value
" 0~ 31 "
The value set by the auto bread option of "P" command of MML and the on command returns. The value of "73: the direct data location" of the TPROP instruction returns when the bread command is not executed. "0" returns when not ringing.

Item number =4
Total level
" 0~ 255 "
A final volume setting value after "(@) V(volume)" command of MML and "v (velocity)" processing pass returns. How much volume it pronounced can be understood though it is not possible to apply to a strict level meter because it is not a value in which the Emberorb generator is passed. It is necessary to note it because the loud sound will have occurred by the value small because it is "Amount of attenuation". "255" returns when not ringing. Refer to TL of FM command of the TARG instruction for the comparison between a numerical value and an actual level.

Operation is detailed.
The pronunciation of each track performing by MML can be acquired. Because the note number, the volume, and the location etc. pronouncing now can be read, it is also possible to make the meter from an easy BASIC program, and to move the character according to the note. Present status can be in real time read excluding the item number "0".
The item number "0" returns the value <制御コマンド>buried by ""of MML. When performing to the position, the value is returned when the value to ""Following" 0~127" is buried under an arbitrary position in the MML character string. A new control command appears in the same track or it is "The value is held. " until reading it by this instructionAfter it reads it once, it comes to return "0".
Separating the program according to the tune according to arbitrary timing by the use of this function becomes possible. Moreover, interrupt can be observed by "ON MMLSTAT GOSUB" sentence for the item number "0" of the track "0". Please refer to "ON MMLSTAT GOSUB" for details.
Attention
Each track can be read, and of which sequence status it is when two or more sequences are sounded at the same time cannot be judged.
Example 1
100 EFFECT(I) and "CDE" → performance beginning
110 *LOOP
120 IF PLAYSTAT(I) =0 THEN END→ ends when finishing ringing.
130 MN=MMLSTAT(0,1) → reads new status.
140 It returns if it is similar to the status read last time of IF MN=M0 THEN*LOOP ELSE MO=MN→. The parameter is displayed according to a new status value if differing.
150 IF MN= 60 THEN PRINT "C ";
160 IF MN= 62 THEN PRINT "D ";
170 IF MN= 64 THEN PRINT "E ";
180 GOTO *LOOP
Example 2
100 Command ..EFFECT(I) "CDEFGAB>CD 1 EFGAB>CDEFGAB" → "".. burial
110 *LOOP
120 IF MMLKSTAT(0,0) =1 The fade processing begins when performing to the position of THEN PLAYFADE I and 60→"1".
130 GOTO *LOOP

ON MMLSTAT GOSUB indirect execution instruction
Function
The subroutine executed when (of the control command of MML "") is observed by interrupt, and the value returns is set.
Format
ON MMLSTAT GOSUB <行番号|ラベル>
Example
ON MMLSTAT GOSUB 2000
ON MMLSTAT GOSUB *CHANGE_BGM
Parameter
<行番号>… The range of an effective numerical value is an integer of 1~99999.
<ラベル>… The name of the label that exists in the program is described. The name that can be specified is order in the the name of the label putting rule.
Operation is detailed.
It is in ""<制御コマンド>Track" 0" of MML, and specifies the interrupt processing called when it returns numerical values other than "0". ..watch.. ..beginning.. ....this instruction.. V-Sync when executed . ..drinking.. timing.. . of MML status. When the control command of the track "0" becomes it besides "0", the interrupt processing subroutine specified by this instruction is called.
Because the control command that has been sent can be read by "MMLSTAT(0,0)" in "Inside of the interrupt processing" (Set "1~127" returns), more detailed processing division is possible according to the value (For instance, BGM is changed in the bar valley where the delimitation is good).
Attention
When the same resource is treated, it is necessary to prohibit interrupt temporarily by using the LOCK instruction or to do the processing that is in my responsibility because interrupt from other interval timer is accepted while even processing interrupt.
It is necessary to note it because the GOSUB stack overflows when it takes time too much while processing interrupt. Moreover, it is necessary to note it because interrupt cannot be processed in time by heavy processing such as the scroll, the screen deletion, PAINT, and INPUT and the program stops temporarily. Please refer to ..H each other.. , INTERVAL instruction for the operation of the timer interrupt of the interval.
Interrupt hangs continuously when the interval of the control command is narrow until reading the following control command starts momentarily at the time of executed "MMLSTAT(0,0)", and the main is not processed.
Reference
It is convenient to use the song number for the control command when BGM changes. When it is issued because it is issued according to the timing of the note on and interrupt hangs, the control command of MML has "The following sound already begins to ring" possibility. The technique for switching according to fit timing is as follows.
・When you want to generate interrupt according to the timing that these two bars finished performing
DATA #0, " | L4 R1 | R R R R8 R16 R32 !1 R32 "
DATA #1, " | L4 C D E F | C D E F "


It moves to the interrupt processing after the time of the note passes for about roughly 32 minutes after the control command is issued though it differs somewhat depending on the performance tempo. Then, the control command is buried under this side of the note like this for 32 minutes.
Please adjust it by using direct strength "l"for the sound length when it is not possible to use only to control the track "0", and more detailed timing is specified.

Direct execution instruction indirect execution instruction of PLAY
Function
The music (effect sound) specified by the MML character string is performed. It executes it while waiting for the performance to end by one instruction.
Attention
This instruction is the one prepared to have interchangeability with past MML. The function of this sound system cannot be used enough completely.
Format
PLAY <トラック番号><トラック番号>]. (Repeat for 16 tracks or less. )
Example
PLAY 60 and "CDE" → Doremi are performed by the volume "60".
Parameter
The volume … The volume when performing is specified. The volume grows by the value large by "0~255", too. Default =127. When the value of 128 or more is specified, it grows more than former volume of waveform data. Specify 127 or less usually.
#<トラック番号>… To which track (performance part) the MML character string that continues after this is progressed is specified. If it is a range of "0~15", you need not necessarily be always consecutive. Moreover, you may replace order. However, when the track number is replaced on the way, it is performed because the state of the PLAY instruction executed ahead is maintained according to the track by the tone and the sound length specified by the previous PLAY instruction. When the track number of first MML is omitted, it becomes the track "0". When the track of MML on the way is omitted, it becomes track +1 allocated one ahead. At this time, when 15 is exceeded, it becomes an error.
"MML character string" >… score data ..< .. is defined by the character string. Refer to "2.6 details of MML" for details. The MML character string can be specified up to 16 tracks or less by delimiting it by ""The track where nothing is specified becomes "Yas". Moreover, it is possible to put it together compulsorily in the following PLAY instruction even if the total of the performance time is not suitable between tracks (Remaining time becomes a treatment of Yas).
Operation is detailed.
Because the PLAY instruction is used to succeed to a past MML specification, the function of this sound system cannot be used enough completely. It moves to the following instruction after it analyzes by one instruction, the performance begins in every case, and it is waited to end. When the PLAY instruction is described over two or more lines, the value of the previous PLAY instruction is succeeded to as it is while programming it (sound length and octave, etc.). Every time, after it is initialized, it is executed by the default value when executing it in the direct mode.
When a complex parameter specifies the suboption for the line one (pitch pipe bend etc.), the error of "Sound:Song bank full" is put out and the song data is interrupted because it blocks and the number is secured only by four blocks though the format of the MML character string is the same as other instructions that specify the MML character string. It is time when the number of notes that can be specified in four blocks sounded the note as it was for four minutes, and about 150 pieces. PLAY is executed by one instruction, and describe it, please dividing into several lines so that this error is displayed.
Attention
The number of blocks of song data areas secured for the PLAY instruction cannot be changed by the system fixation. The song data performed by the PLAY instruction doesn't remain in the sound memory because the temporary realm not allocated even in the song number is used and performed by it. Please use the EFFECT instruction or the SETSONG instruction when calling it again specifying the song number.

PLAYSTAT() fixed zero point type function
Function
The specified sequence number examines it whether performing.
Format
A= PLAYSTAT(<シーケンス番号>)
Example
BGM 1: VSYNC 2
*LBL:IF PLAYSTAT(0) =1 It loops while THEN*LBL→BGM is ringing between * LBL.
Parameter
<シーケンス番号>… The sequence number at which it looks up is specified. The repetition value of the EFFECT instruction is specified. " 0~ 7 "。 "0" is specified for the sequence sounded with BGM.
Return value
It becomes "0" while performing while .."1".. stopping.
Operation is detailed.
The specified sequence number examines it whether performing now. Because it is a function that examines the state which whether it is of being able to perform a new song, it is considered, the song that has interrupted temporarily by the PLAYPAUSE instruction is "Be performing", too.
Attention
Status immediately after might not become "1" when it begins to put the minus on the song number by the EFFECT instruction, and to perform by the BGM instruction (Depend on the sound system and the main system's working in parallel). In this case, please read after opening between at least twosync from the performance beginning (Refer to the VSYNC instruction).

Direct execution instruction indirect execution instruction of PLAYCONT
Function
The performance that stops temporarily with PLAYPAUSE is restarted.
Format
PLAYCONT<シーケンス番号>
Example
It stops temporarily at ten seconds after the performance of EFFECT(I) and "Dc CDEFGABdc" →EFFECT instruction begins, and it will restart in two seconds.
VSYNC 60* 10: PLAYPAUSE I
VSYNC 60* 2: PLAYCONT I
Parameter
<シーケンス番号>… The sequence number in which the performance is restarted is specified. The return value of the EFFECT instruction is specified. "0~7", and "-1" and "-2"
Operation is detailed.
"0" is specified for the sequence sounded with BGM. When "-1" is specified, all BGM/effect sound is restarted. When "-2" is specified, all the effects except BGM are restarted.

Direct execution instruction indirect execution instruction of PLAYFADE
Function
The volume of the sound performed by using the specified sequence number is gradually changed.
Format
PLAYFADE<シーケンス番号>,<ボリューム>,<フェード・レート>
Example
PLAYFADE 0, 0, 50
PLAYFADE I, 64, 80
Parameter
<シーケンス番号>… The sequence number in which the fade is processed is specified. The return value of the EFFECT instruction is specified. "0~7", and "-1" and "-2"
<ボリューム>… The volume when performing is specified. The volume grows by the value large by "0~255", too. Default =127. When the value of 128 or more is specified, it grows more than former volume of waveform data. Specify 127 or less usually. The performance stops when the value is made "0".
<フェード・レート>… The fade speed is specified. The final volume of the fade reaches the value specified by "Volume". The fade is done by "0~255" the faster smaller the value is. When "0" is specified, it becomes "Volume" value at once without processing the fade.
Operation is detailed.
"0" is specified for the sequence sounded with BGM. When "-1" is specified, the fade is processed to all BGM/effect sound. Moreover, when "-2" is specified, the fade is processed to all the effect sounds except BGM.

Direct execution instruction indirect execution instruction of PLAYINIT
Function
The sound memory is initialized, and the block allocation in the MML area is changed.
Format
(1) PLAYINIT["DSP"|"DSPEXT",] [ "Tone data file name" ], [ Number of registration songs ], and [ Enhanced number of blocks ] [,[~],] etc.<ソング番号><ソング番号><確保するブロック数>
(2) PLAYINIT [ "Tone data file name" ] and 0
(3) PLAYINIT
Example
PLAYINIT "DANCE", 10, 0, 2, 100, 3, 10
Or,
PLAYINIT "DANCE" and 10, 0, and 2~3,100→ tone data file are made "DANCE", and ten is secured. "0" and "4~10" turn are secured in "2", "2" turn and "3" turn are secured blocking "100", and the remainder is allocated in the song number "1".
The number of songs that can be registered without switching the PLAYINIT 200,100→ tone file is increased and "100" block increases "200" and the tone data area. (The song and the data area are initialized. )
Only the tone file is switched to "METAL" set initializing neither PLAYINIT "METAL" nor the song data to which 0→ is registered.
The sound memory is initialized in the PLAYINIT "DSP" and "PIANO" single → effector mode, and the piano set is loaded.
The sound memory is initialized in "DSPEXT" → of PLAYINIT multi effector mode and the standard set of default is loaded.
The PLAYINIT→ sound memory is returned to the state when the power supply is turned on.
Parameter
"DSP" | When "DSPEXT" … DSP effector is used, it specifies it. It comes to be able to use the command related to the DSP effect of MML by specifying this option. All the sound memories are initialized. The mixer is initialized as follows by the effector mode.
"DSP" single effector mode
Channel 0- EffectLevel: Maximum( 7 )
EffectPan : L (left)
Channel 1- EffectLevel: Maximum( 7 )
EffectPan : R (right)
Channel 2
It doesn't output it.
Channel 15

"DSPEXT" multi-effector mode
Channel 0- EffectLevel: Maximum (7) reverberation output
EffectPan : L (left)
Channel 1- EffectLevel: Maximum( 7 )
EffectPan : R (right)
Channel 2- EffectLevel: Maximum (7) DeLay output
EffectPan : L (left)
Channel 3- EffectLevel: Maximum( 7 )
EffectPan : R (right)
Channel Four- EffectLevel: Maximum (7) distortion output
EffectPan : C (center)
Channel 2
‥ It doesn't output it.
Channel 15


In putting the DSP effect, knowledge concerning the mixer is needed. Refer to "Block composition of 2.4 sound system" for details.
When the file of "Tone data file name" … tone data is changed, it specifies it. The tone data is grouped by use (four set X 4 kind). "STANDARD default ="Refer to "Details of 2.8 tone data" for the file name that can be specified.
The number of registration songs (number of tunes)… The number of registered song data is specified. The range of specification is "1~251. "Actually, the sequence for the BEEP instruction resides in "0" turn. Default =8(The sequence of "1" turn-"8" turn and "0" turn can be made). To make the amount management table when a lot of numbers of tunes are specified, a lot of memories are consumed. Necessary minimum number of tunes is recommended to be set. When "0" is specified, format (2) ..(.. replaces only the tone data without initializing the sound memory. At this time, the parameter in the back cannot be specified.
The enhanced number of blocks … The width of enhancing of the tone data area is specified. The range of specification is "0~487. " One block is 256 bytes. Default is "0" (standard value =1360 blocks)
<ソング番号>,<確保するブロック数>Or, <ソング番号>~ <ソング番号><確保するブロック数>… The number of memory blocks allocated in the specified song number is specified. One block is 256 bytes. The song number specifies the numerical value ("0" turn is for BEEP instruction) specified by "Registered number of songs "0" -". When a value that is larger than the number of tunes is specified, it becomes an error. Moreover, it is also possible to specify the range like "2~7". In this case, it becomes the number of blocks that even the song number "2~7" specified. The number of memory blocks of song numbers not specified becomes a default value. The specified number of blocks might not be able to be secured according to the amount of the remainder of the sound memory. Refer to the SFRE() function for details.

Operation is detailed.
The use division of the selection and the sound memory of the tone data used with MML is decided. When this instruction is not executed, it is initialized thoroughly to time when PLAYINIT "STANDARD" and 8 and 0 were executed (DSP unused, standard set or neither songs number 8 nor tone data areas are enhanced). Each song data is empty ""excluding "0" turn (for BEEP).
When "DSP" and "DSPEXT" are specified, the memory is initialized in the state that the DSP effect can be used.
The kind of effect that can be used at the same time in each DSP mode and the free area of the sound memory change, and select it according to the kind of the game program and the performance program, please. Please refer to "2.3 sound memory map" for details.
"Tone data file name" can be used by replacing it by the set of the waveform data of musical instruments and the effect sounds in which PCM is sampled according to the genre of music and the kind of the game. A variety of tone data including the rhythm musical instruments is stored in one tone data file, and it is possible to switch by the tone change command "@" of MML (Please refer to TARG and the TPROP() instruction for the edit of the tone data).
The tone in which the file is stepped over cannot change in the MML character string. Moreover, MML that has already been registered is deleted, and the song data for BEEP returns to default, too, when the tone file is changed by this instruction. When executing it by format (2), only the tone file can be replaced without being initialized. Time hangs somewhat in initialization so that the switch of the tone data file may accompany the CD access.
"Registered number of songs" specifies "0~251". Default becomes possible the change of the song data of "0" turn allocated for another and BEEP "8" turns from "1" turn by "8". The tone file is only replaced without considering format (2) when "0" is specified, and initializing the sound memory. In this case, the following parameters cannot be specified.

The use division of the selection and the sound memory of the tone data used with MML is decided. When this instruction is not executed, it is initialized thoroughly to time when PLAYINIT "STANDARD" and 8 and 0 were executed (DSP unused, standard set or neither songs number 8 nor tone data areas are enhanced). Each song data is empty ""excluding "0" turn (for BEEP).
When "DSP" and "DSPEXT" are specified, the memory is initialized in the state that the DSP effect can be used.
The kind of effect that can be used at the same time in each DSP mode and the free area of the sound memory change, and select it according to the kind of the game program and the performance program, please. Please refer to "2.3 sound memory map" for details.
"Tone data file name" can be used by replacing it by the set of the waveform data of musical instruments and the effect sounds in which PCM is sampled according to the genre of music and the kind of the game. A variety of tone data including the rhythm musical instruments is stored in one tone data file, and it is possible to switch by the tone change command "@" of MML (Please refer to TARG and the TPROP() instruction for the edit of the tone data).
The tone in which the file is stepped over cannot change in the MML character string. Moreover, MML that has already been registered is deleted, and the song data for BEEP returns to default, too, when the tone data file is changed by this instruction. When executing it by format (2), only the tone file can be replaced without being initialized. It somewhat takes time for initialization so that the switch of the tone data file may accompany the CD access.
"Registered number of songs" specifies "0~251". Default can change the song data of "0" turn allocated for another and BEEP "8" turns from "1" turn by "8". The tone file is only replaced without considering format (2) when "0" is specified, and initializing the sound memory. In this case, the following parameters cannot be specified.
"Enhanced number of blocks" is specified when widening it more than 340 Kbyte in the tone area. The tone data area is secured 340 Kbyte(1360 blocks) by the standard. When it rearranges or an original tone is added, it is likely to become insufficient by the TARG instruction in 340 Kbyte though there is no problem because it has installed on less than 340 Kbyte only if the tone data file is loaded by the PLAYINIT instruction and used (Become over memory flow while rearranging it). The tone data area can be enhanced to the unit of the block according to the example of the favorite at such time. It is possible up to 487 blocks or less (FreeArea1847 block).
When the size of each song of the song data registered according to the MML character string is changed, "Song number and secured number of blocks" is used. One block is 256 bytes, and the sound memory is secured for the unit of the block. If the treatment such as shortening other tunes is not taken according to the amount of the remainder of the sound memory, the hoped number of blocks might not be able to be secured though a so long tune can be registered if the number of blocks a song is increased. When the number that can be automatically registered doesn't decrease because the secured priority level is "Number of registration tunes", and the block was not able to be secured, it becomes an error. When the amount of the remainder of the song and the data area is secured, the SFRE() function is used.

The numbers of blocks of song data other than the song number "1" become "2" as for default, and the remainder block is allocated in the song number "1". The memory can be efficiently used by making a long tune such as BGM, and by the first allocating the effect sound in the song numbers of a short number of blocks usually. To change BGM in the game etc. according to the scene, and to store two or more be long tunes at a time, try to set the number of blocks of the numbers.
The error sound can be changed by increasing the number of blocks of "0" turns, and registering the song data by MML.

About the block allocation
The allocation of the song data to the sound memory gives priority to the convenience of management, and uses 256 bytes as one block. The song and 128-Kbyte(512 blocks) data area are the standards, exist, and it decreases more than 128 Kbyte when the tone data area is enhanced or it makes it to the DSP mode (The song and the data area decrease by 100 blocks when "PLAYINIT and 100" is executed).
128 K/256=512 block
The maximum in block value of the song data is as follows so that the fixed length header in four bytes X 253 (for + PLAY for 251+ BEEP)+ two bytes =1014 bytes may use and do by four blocks.
512-4=508 blocks(number of song data total blocks that user can use)

For PLAY instruction: Four blocks
For BEEP instruction: Two blocks
1:488 song number blocks
2:2 song number blocks
3:2 song number blocks
4:2 song number blocks
5:2 song number blocks
6:2 song number blocks
7:2 song number blocks
8:2 song number blocks

The block number of song number 1 is requested by the following expression.
512-4- (2*8) -4-expand-DSP block =488
↑↑↑↑↑
Number of enhancing blocks of tone areas for number PLAY of total block tune header tunes

In this example, both "Expand" and "DSP block" are "0. "
Some decreases when it is made to display by the SFRE() function because the header to register MML is preseted at the head of each song and the data area.
The tone data area is no enhanced or the memory of song 1 is not allocated by having increased the number of tunes and it becomes an error.

About the sound source cash
When the value more than 1360 blocks is set to the 2nd and 3rd parameter of the CLEAR instruction (secure of the file area), the sound source cash becomes effective.
CD is accessed in every case when PLAYINIT and the TARG instruction are executed, and the tone file is switched, and when the sound source cash is effective, it is possible to switch without the CD access to three files or less usually.
Only CLEAR and ..1360→ file area.. 1 is used for the sound source cash.
Only CLEAR and ..256,1360→ file area.. 2 are used for the sound source cash.
The CLEAR→ sound source cash is not used.
Both CLEAR and 1360,1360→ file areas are used for the sound source cash.

Example:
It is made to use to cache both CLEAR and 1360,1360→ file areas.
"PIANO" → of PLAYINIT piano set is loaded. (It is loaded directly into the sound memory. )
"METAL" → of PLAYINIT piano is loaded, and it takes shelter to file area 1 and the metal set is loaded.
"EXTRA1" → of PLAYINIT metal is loaded, and it takes shelter to file area 2 and the extra set is loaded.
The piano in file area 1 is swapped with "PIANO" → of PLAYINIT extra.
"ORCHEST" → of PLAYINIT piano is loaded, and it takes shelter to file area 2 and the orchestra set is loaded. At this time, the extra in file area 2 is annulled.

Attention
Please note that the number of empty blocks of the song and data area decreases when the tone data area is enhanced or is made DSP mode, and the number of necessary blocks might not be able to be secured. According to circumstances, because the sound system is initialized when the error occurs while executing this instruction, it might take time by the time the error is displayed.

Direct execution instruction indirect execution instruction of PLAYSPAN
Function
The direction where the sound performed by using the specified sequence number is generated is changed.
Format
PLAYPAN <シーケンス番号>, <パン>
Example
EFFECT(I) and -2: The effect sound of PLAYPAN I and 127→ song number "2" is sounded with a right channel.
Parameter
<シーケンス番号>… The sequence number in which the direction of generation is changed is specified. The return value of the EFFECT instruction is specified. When "0~7" and "-1" and "-1" are specified, the direction where all the effect sounds are generated is changed.
<パン>… The location of the sound when performing (bread value) is specified. Three subordinate position bits are disregarded, and processed right and left respectively as 16 stages though specify within the range of "-127(left)-0(center)-127(right)". It influences only a direct element.
Operation is detailed.
The location of the sound of the song data pronounced by the EFFECT instruction is changed. A right and left distribution can be done by using one like the effect sound etc. of the game song data. In this case, weight must not enter putting the minus sign on the song number specified by the EFFECT instruction.
Attention
After executing this instruction, all the values of the location set with P command and TPROP of MML become invalid.

Direct execution instruction indirect execution instruction of PLAYPAUSE
Function
The sound performed by using the specified sequence number is stopped temporarily.
Format
PLAYPAUSE<シーケンス番号>
Example
PLAYPAUSE 0
PLAYPAUSE -2
Parameter
<シーケンス番号>… The sequence number stopped temporarily is specified. The return value of the EFFECT instruction is specified. ” 0~ 7 ”および” -1 ”、” -2 ”
Operation is detailed.
"0" is specified for the sequence sounded with BGM. When "-1" is specified, all BGM/effect sound is stopped temporarily. When "-2" is specified, all the effect sounds except BGM are stopped temporarily.

Direct execution instruction indirect execution instruction of PLAYSTOP
Function
The sound performed by using the specified sequence number is stopped.
Format
PLAYSTOP<シーケンス番号>
Example
PLAYSTOP 0
PLAY STOP -2
Parameter
<シーケンス番号>… The sequence number stopped temporarily is specified. The return value of the EFFECT instruction is specified. ” 0~ 7 ”および” -1 ”、” -2 ”
Operation is detailed.
"0" is specified for the sequence sounded with BGM. When "-1" is specified, all BGM/effect sound is stopped. When "-2" is specified, all the effect sounds except BGM are stopped.

Direct execution instruction indirect execution instruction of PLAYTEMPO
Function
The speed of the sound performed by using the specified sequence number is changed.
Format
PLAYTEMPO<シーケンス番号>,<テンポ>
Example
BGM 1: VSYNC 2
It performs at a speed of PLAYTEMPO 0 and -4096→BGM original 1/2.
Parameter
<シーケンス番号>… The sequence number in which the speed is changed is specified. The return value of the EFFECT instruction is specified. "0~7", and "-1" and "-2"
<テンポ>… The tempo is specified by the value. The range that can be specified is "-32768~32768. "
Operation is detailed.
"Sequence number" specifies "0" for the sequence sounded with BGM. When "-1" is specified, the tempo in all BGM/effect is changed. When "-2" is specified, tempos of all the effect sounds except BGM are changed.
"Tempo" doubles by "4096" in a relative value to a standard tempo "0", and becomes 1/2 by "-4096".
Attention
The tempo command "T" of MML is given to priority more than PLAYTEMPO.
Moreover, when "Dc" command is executed, it is returned to an original tempo when looping by "DC" command of MML. A decrease of the above-mentioned doesn't appear when PLAYTEMPO is executed by the loop after it becomes a performance secondarily.

SETSONG indirect execution instruction
Function
MML defined by the DATA initialization statement is converted in the lump and it registers in the sound memory.
Format
SETSONG[ Song number ]
Example
SETSONG 3
RESTORE *BGM5: SETSONG
Parameter
The song number … The song number at the registration destination is specified. Range of "Registered number of songs" specified by PLAYINIT instruction. When the separator "SONG" is used, it is <ソング番号>disregarded because it becomes an error while registering when there is no enough empty block ..increasing the number of blocks allocated in the registered song number by the PLAYINIT instruction for this case...
Format to describe MML by DATA initialization statement
DATA [SONG<ソング番号>]
DATA [TEMPO<テンポ・チェンジ回数>]
<トラック番号>"MML character string" DATA[#,]
DATA …
DATA
<トラック番号>"MML character string" DATA[#,]
DATA …
DATA [SONG<ソング番号>]
DATA [TEMPO<テンポ・チェンジ回数>]
<トラック番号>"MML character string" DATA[#,]
DATA …
DATA
<トラック番号>"MML character string" DATA[#,]
DATA …
DATA

Operation is detailed.
MML of the DATA initialization statement that arranges depending and is described is converted in the lump and it registers in the sound memory. The registered song data can be performed by the EFFECT/BGM instruction. The MML character string is the same as the PLAY/EFFECT instruction. Please enclose it when you specify the sign including ""It is not necessary to enclose it"" ("|" and "|2:" etc.).
When the track number is not specified, it ..track number.. ....one.. "+".. registers every time the character string changes. Please delimit the character string with the separator of the DATA initialization statement or describe the DATA initialization statement separately when you register two or more tracks.
"- Please ..".. specify "+" sign. SETSONG returns the track number to "0" when these characters appear, and adds the song data of continuation.
Please change the position of the DATA initialization statement read by the RESTORE instruction or use the separator "SONG" when you register two or more tunes. <ソング番号>Because <ソング番号>MML character string specified by the following DATA initialization statements develops when "SONG" appears, <ソング番号>two or more tunes can be continuously registered without using the RESTORE instruction.
"SONG" <ソング番号>can be omitted. It is <ソング番号>registered in the song number specified by "SETSONG" when omitting it. When "SONG" is <ソング番号>described oppositely, "SETSONG" is disregarded and <ソング番号><ソング番号>registered from the song number specified by "SONG" sequentially.
"TEMPO" <テンポ・チェンジ回数>specifies the tempo change frequency. Default can specify even 1~256 by "16". Please change when you input the music score to which the tempo change more than 16 times is done in one. In this case, please note that the memory is consumed by increasing of the set frequency.
Please put "ENDSONG" at the end of data.
Attention
It is not performed normally to the song number performing now when overwriting.
Reference
As for "NEXT", "-", "+", and "ENDSONG", the usage such as "ENDSONG comment" and "- comment" can be done.
Example
1000 SETSONG

2000 DATA SONG1
2010 DATA #0, "T150S-2@53V12P64O4L8"
2020 DATA #1, "S-2@52V9P64O4L8"
2030 The MML character string from this line becomes continuation of the character string of 2010 lines with this DATA NEXT→ separator.
2040 DATA #0, "R8 | GAB>CC<|GAB>CC<"
2050 DATA #1, "R8 | R1 | R1"

3000 The MML character string after this is registered in song number 2 with this DATA SONG2→ separator.

4000 It is necessary to put DATA ENDSONG→ at the end.

SFRE() fixed zero point type function
Function
The free area of the song and the data area is returned.
Format
A= SFRE(<ソング番号>)
Example
PRINT SFRE( 1 )
Parameter
<ソング番号>… Song number at which it looks up or "-1" is specified. It is possible to specify it up to the number of tunes specified by "Number of registration songs" of "0" turn (for BEEP)-PLAYINIT instruction.
Return value
It is a free area in the area allocated in the specified song number. The unit is one block 256 bytes in "Block". When "-1" is specified, the free area in all the song areas is returned.
Operation is detailed.
The MML character string doesn't occupy the variable area of BASIC, and be progressed directly to the sound memory. Therefore, the function only for not the FRE function that searches for a usual free area but the sound memory is prepared. The amount of the remainder in the memory block is returned in each song secured by the PLAYINIT instruction.
Example
The sound memory is initialized by PLAYINIT[Enter] → default value.
Ready.
Because the song for ?SFRE(0) [Enter] →BEEP is set, it ..remainder.. becomes "1.7852" block.
1.7852
Ready.
The value in which two blocks are cut actually returns though it is allocated in the song number of ?SFRE(2) [Enter] empty → by two blocks because one byte of the end and the code is set from the start.
1.9961
Ready.
It can be confirmed to ?SFRE(2) *256[Enter] → that it is 511 bytes that decreased from two blocks (512 bytes) by one byte by multiplying and seeing 256 like this.
511
Ready.
?SFRE( 1 ) [Enter]
487.9961
Ready.
All remaining a memory is allocated in ?SFRE(1) *256[Enter] → song number 1. It is understood to remain about 122 Kbyte.
124927
Ready.
The number of PLAYINIT 1[Enter] → registration tunes is made "1".
Ready.
The number of PLAYINIT 251[Enter] → registration tunes is maximized.
Ready.
?SFRE(1) *256[Enter] → is the same as other songs, and becomes a minimum block.
511
Ready.
Please the number of blocks of the song number "1" must decrease when you secure the number of songs as understood from this example more than the necessity, and secure only the number of registration tunes, and use the memory effectively. The return value when "-1" is specified changes according to it because a total size of the header changes depending on the number of registration tunes, too.
Attention
Because the song area might treat the value of less than one block, the return value contains the fraction part.

Direct execution instruction indirect execution instruction of TARG
Function
A rearrangement of the tone data and an original tone are registered. When "READ" option is specified, the edit of each layer becomes possible. The parameter of the frequency modulation oscillator is set.
Format
(1) TARG{<"音色データファイル名",音色番号>[,<音色番号>…]}
(2) TARG READ [ Number of enhancing blocks of areas of layer data ][ BEEP tone switch ]
Example
TARG READ 10, 0
TARG "ROCK", 2, 5, "EXTRA2", 3
Parameter
<"音色データファイル名">… The file name of the tone data is specified. The tone data is grouped by use. Refer to "Details of 2.8 tone data" for the file name that can be specified. It is not omissible for format (1).
<音色番号>… The tone number newly selected is specified. The plural can be specified by delimiting it by ""if the tone data file doesn't change. All layers are copied at the same time. For instance, when the tone number of the drum set is specified, all drums in that are copied at a time. Use format (2) when you do not copy each layer. It is not possible to omit it.
READ … Format registered while reading parameter from DATA initialization statement. Original registration of the PCM sampling data and the setting of the slot algorithm of the frequency modulation oscillator can be used only for format (2) that puts "READ" option. A more detailed setting of the edit of each layer etc. can be done when registering by the DATA initialization statement.
The number of enhancing blocks of the layer and data area … When the layer and the data area are enhanced, the number of blocks is specified. "READ" option exclusive use. The range of specification is "0~108. " One block is 256 bytes. Default is "0" (standard value)
BEEP tone switch … Switch whether to set tone for BEEP in tone number "0". Range of specification is "0~1" (Default is "1")When "0" is specified, the BEEP tone is not set.
Operation is detailed.
Can it rearrange, and the original PCM sampling data be registered as tone data by freely selecting the tone from two or more tone data files. Sounding strings of the drum of "ROCK" set and "ORCHEST" set at the same time for instance becomes possible by using this instruction. The restructured tone data is allocated from "1" turn in order specifying it (The 0th are sure to become tones for the BEEP instruction and when "BEEP tone switch" is made "0", it is allocated from the 0th).
The unit of the rearrangement is "Tone number. " for format (1)For instance, when two or more layers exist like the drum set in the same tone number, all layers are copied at the same time.
Each layer can be edited when registering from the DATA initialization statement by format (2).
Even if the same tone number is continuously specified, the wave memory is not consumed because the repetition check is done as long as the file name of the copy origin is not changed as for the copied wave data. As a result, the tone of repetition that the parameter is different though the same wave data is used according to the TPROP/LFO/EG/DSP instruction can be made. For instance, it is also possible to register because of another tone and to use strings with a fast attack and slow strings properly.
Please specify "Number of enhancing blocks of the layer and data area" when "Sound:Out of layer memory" and "Sound:Layer overflow" are generated while registering. The tone data might become the memory exaggerated before reaching the maximum value according to the rearranged content though can register up to 128 at the same time. It becomes an error about 120 layers in default. Please adjust this when the error occurs at the rearrangement because it is irregular because of volume of data related to LFO that accompanies the number of layers and that of the tone data.

Whenever the memory in 36 bytes is consumed for one tone one layer when the reference value is recorded, and the number of one layers increases to one tone thereafter, 32 bytes are consumed.
Whenever the number of one operators increases for the frequency modulation oscillator layer, 32 bytes are consumed. 32 bytes of number * of layers consume the memory to the tone header in four bytes in short 32 ..number *.. layers (4+ of the memory ..consumption = tone number *..). When the layer and the data area are increased by one block (256 bytes), it is a calculation that can be added by seven tones when the layer is simply converted if they are 8 layers, and one tone one layer.
For instance, because the total of the layer used becomes 508 when registering by 127 tones with all four operators' frequency modulation oscillators, the layer data area in 508*32+4*127=16764 bytes is used. 127 frequency modulation oscillators of four operators cannot be actually registered if it doesn't enhance it by about 15 blocks because it consumes it by one block or less by the header and the accompanying data among these though the layer and the data area prepared by default are 16 blocks (4096 bytes)(52 blocks in case of 128 pieces). It is in fact impossible because it becomes as much as 128*32*127=520192 bytes even if it tries to secure this for 127 tones, and it exceeds it to the upper bound of the sound memory though can register up to 128 layers a tone.

"BEEP" tone switch is a switch whether to set the tone for BEEP in the tone number "0". When "@0" of MML is specified, it is sounded that users registered most first because the BEEP tone is not set when "0" is specified. Therefore, the sound at the error and the break might become unnatural according to how to give the parameter.

Format to describe parameter by DATA initialization statement
↓ Usual setting
DATA "Tone data file name" and >] of the number of the tone of <.
DATA …
Registration method of data of header none PCM
DATA [ Bn > ..< STARTPCM, 8|16, source bit control, sn, and en.. ]
DATA ["00FF00020405040200FRDFAF9F9FAFD00"etc.]
DATA …
DATA [ENDPCM] (* When STARTPCM is specified, it is always necessary. )
DATA …
↓ PCM is registered specifying the file name.
DATA [ < FILE and "FileName" bn > ..the first block, the first offset, sn, and en.. ]
DATA …
DATA …
It is this and one tone data.
DATA [BUILDLAYER]
DATA < "Tone data file name" [ Tone number, layer number, sn, en, and bn > ]
DATA …
DATA [ Bn > ..< STARTPCM, 8|16, source bit control, sn, and en.. ]
DATA ["00FF00020405040200FRDFAF9F9FAFD00"etc.]
DATA …
DATA [ENDPCM] (* When STARTPCM is specified, it is always necessary. )
DATA …
DATA [ < FILE and "FileName" bn > ..the first block, the first offset, sn, and en.. ]
DATA …
DATA [ KS > < FM, OP number, W, X, Y, M, S, and AR, DR, SR, RR, SL, TL, ml1, ml2, and dt ]
DATA …
[ DP > < FMEXT, OP number, W, X, Y, M, S, AR, DR, SR, RR, SL, TL, ml1, ml2, dt, KS, sn, en, vl, RE, LF, AW, AS, PW, PS, and MX ] ..DATA.. <
DATA …
DATA [ENDLAYER] (* It is always necessary at the BUILDLAYE R-rating. )
DATA …
DATA <ENDARRANGE> (* It is always necessary for the end of data. )

[{<"音色データファイル名",音色番号>[,<音色番号>…]}]
It is the same meaning when not narrowing in BUILDLAYER^ENDLAYER in case of the case of format (1). When former specified tone number is composed of two or more layers, all layers are copied at the same time.

[ Bn > ..< STARTPCM, 8|16, source bit control, sn, and en.. ] ~[ENDPCM]
When the waveform data of the life without header information is registered by the binary character string of "HEXBIN$" form, it specifies it.
The number of bits of sampling data (eight bits/16 bits) is specified following STARTPCM. "Source bit control" is the same .."31: the source bit control" specified with TPROP... The <*.AIF> <*.WAV>format of the direct giving the binary character string by the DATA initialization statement, and the so on and waveform data cannot be identified, and set the value normally pronounced, please. In many cases, a normal shape of waves can be reproduced by "1" or "2" for "0" or "3" and the WAVE form in case of the AIFF form. As for the AIFF form, the WAVE form sets "2" in "0" by default when registering by the FILE command.
"Sn:Start Note" and "En:End Note" specify the range of the note number in which the registered wave data is pronounced. The specified note number corresponds to the number of "N" command of MML. When the note number within the range specified here is requested, it actually pronounces.
"Bn:Base Note" specifies the note number in which it is made to pronounce by an original pitch. For instance, when the sampling data of 44.1KHz is sounded with N60 (C of octave 4), Base Note becomes "60". When the frequency doubles, it is 22 from the rule of going up by one octave half When the sampling data of KHz is sounded with N60 by a normal pitch, it falls by one octave when sounding it with N60 if "72" of one high octave is set and it becomes a normal pitch.
The binary character string is registered as a wave data until ENDPCM appears. Size of wave data that can be registered is maximum "..64.. .. Kbyte.. 2" in one toneThe remainder is disregarded when there is data any more.

[ < FILE and "File Name" bn > ..the first block, the first offset, sn, and en.. ]
The original PCM sampling data is registered from the file. "WAVE" form of "AIFF" form of the Macintosh standard and the Windows standard is distinguished automatically (AIFF-C is not identified).
Only the file of monaural (number 1 of channels) can be registered. The number of quantization bits identifies 8 bits or 16 bits. Sampling rate is not limited.
The stereo data is thinned out the wave data by the hand work only because it is that a right and left channel queues up alternately, divided into two layers, and can be registered in the form of the binary character string though doesn't recognize. If the start note and the end note, etc. of two layers are adjusted to the same value, and the value of the direct bread is distributed right and left in that case, the stereo data can be reproduced. Because the layer is divided, the size of former data can be registered to 64K*2=128 Kbyte. Please refer to the STARTPCM command for details.
The base note is set based on "Sampling rate" recorded to specify "-1" for "Bn:BaseNote" in the header of the file.
Please adjust, and set a suitable value to "Bn:BaseNote" so that it is reproduced when pronouncing by "C=N60 of octave 4" by an original pitch when not becoming an expected pitch. Moreover, even if the item of "12: the base note" of TPROP and "13: the file tune" is rewritten later, it is excellent.
Only the read file size should secure the area with CLEAR beforehand because it loads it into the user's area once when the file is analyzed.
The address in the work area is specified as much as BLOAD by "First block" and "First offset". Because the form of the file name conforms to BLOAD, too the extension of the file name should be Rinamed beforehand like "*.AIF" →"*. D" and "*.WAV" →"*. D", etc.

Default setting when original PCM sampling data is registered
・The loop start and the loop end address of waveform data are set to the head and the terminal of data.
・Attack rate-release rate is set in the maximum.
・The direct level is set in the maximum.

[BUILDLAYER]~ [ENDLAYER]
It registers in the layer edit mode. It is allocated in the tone number it defined between these two key words and one tone number the original PCM sampling data.
Each defined data corresponds to one layer of one tone inside (When three are defined, become the tone of three layers).
In the tone data, the same tone number has something for kinds of musical instruments and the base notes of sampling to change according to the note number, and to pronounce two or more wave data at the same time. Thus, each layer can be rearranged to the tone data other than one layer in one tone, and the original PCM sampling data be built into a part of the layer. Moreover, it is also possible to treat the frequency modulation oscillator at the same time (Refer to FM command).
Only cymbals of the drum set are taken out for instance by this function and allocating in one tone, and restructuring by combining the drum sounds of other tone files become possible. Moreover, because the wave data of an unnecessary layer of former tone data is not copied, the memory can be effectively used.
It is possible to specify it up to 128 layers a tone.
When the layer is edited, "Sn:StartNote" and "Bn:BaseNote" can be changed to the tone data stored in the tone data file. "Bin" is considered to be an offset from former information, and all "Sn", "En", and "Bn" items are shifted when making it to "-1" and "0". Please specify this when the pronunciation note number comes in succession when different tone data is constructed in one layer. Of course, it is also possible to set two or more layers to the same by intention number and to register. "Software layer" command of MML is effective to use the layer function temporarily ..can the treatment of two or more tone data in this case like one musical instruments and becoming.. ..(.. (Refer to" "/command of MML).

[ KS > < FM, OP number, W, X, Y, M, S, and AR, DR, SR, RR, SL, TL, ml1, ml2, and dt ]
[ DP > < FMEXT, OP number, W, X, Y, M, S, AR, DR, SR, RR, SL, TL, ml1, ml2, dt, KS, sn, en, vl, RE, LF, AW, AS, PW, PS, and MX ] … LFO setting etc.
The tone data can be made by the frequency modulation oscillator method only at the layer edit mode.
An original slot algorithm can be constructed by freely connecting 32 pronunciation slots. One layer treats and the connection treats "OP number" as an identifier corresponding to one frequency modulation oscillator operator. "OP number" need not be considered when registration is executed and because internal has been converted into "Layer number", the relation to other PCM sound source layers etc. be considered.
What you may specify within the range of "1~32" if the connection information of the OP number is corresponding because it sounds it while converting "Layer number" into actual "Slot number that has become empty" when pronouncing.
In a past frequency modulation oscillator command, as for the hardware structure of the sound source slot of Sega Saturn, which operator is made the career or Mojurata, on which operator feedback is put, and the modulation level from other operators is made very much can be set to the unit of the operator in detail by the algorithm's having been decided beforehand though it was a method to select it. Please note that the output sound cannot be expected when two or more operators' parameters are changed at a time.
Because it is also possible to simulate a past slot algorithm, the tone of a past frequency modulation oscillator can be transplanted (Please refer to example 5). In that case, the meanings of the modulation level and the multiple, etc. are different, and set the parameter for Sega Saturn based on an actual value that the numerical value is meant, please.

Attention
The following more detailed setting is possible for "FMEXT" mode.
Two or more FM tones are made to cohabit in the same tone, and it is possible to switch by the note number and to sound it repeatedly. Moreover, it is also possible to combine with the layer that uses usual PCM.
Whether the velocity and the level conversion are done to the unit of the operator or it doesn't cost it can be selected.
The level conversion is done, except when direct data sending level "S" is "0" at a normal "FM" mode.
The LFO parameter can be set to the unit of the operator. LFO is not used at a normal "FM" mode (It is set to all 0).
Attention
Operator..FM..switch. Useless data need not be specified for the operator who doesn't care by a normal setting.

"FM" Common item
OP number
It is an identification number of the operator who registers in this layer (1~32).
W
The wave form is specified. It becomes the modulation wave form to the operator connected next excluding the base slot (output the side). A more complex shape of waves can be produced by changing that career and inside T shapes of waves. The shape of waves for the modulation is loaded from CD and it registers. The memory of 3K for each kind word is consumed, and when the modulation is put in the same kind of shape of waves after that, a wavy memory is not pressed. Please refer to the following wavy chart.
1~47: Modulation wave form selection (47 kinds).
- n: Layer number n uses the shape of waves as a modulation wave form. In this case, there is a special rule and refer to the item of "M" (modulation level) described later, please.

FM modulation wave genealogy
X&Y
There are two system modulation input to the operator. X and Y simply do mixing and use two input by the same specification as the modulation signal. "OP number" set with other layers is specified. At this time, "OP number" should be an identification number of the operator who has already been registered. (1~32) because it is input to 1/2 each level to prevent the input level from overflowing after it drops ..making "OP number" of X and Y the same.. when not inputting it from one operator alone.
"OP number" specified here is converted into "Layer number" in the same tone internally when registration is executed, and is" 61 of the TPROP instructions: It is possible to confirm it by modulation input Y selection (layer number)"
M
The modulation level is specified. How much the modulation level is received from the input signal connected with X and Y is set.
MModulation levelThe maximum in address displacementM of past frequency modulation oscillator(YM2203/YM2608 etc.)
0~ 40 (π)0 (word)0
5+-1/16+-321
6+-1/8+-642
7+-1/4+-1283
8+-1/2+-2564
9+-1+-5125
10+-2+-10246
11+-4+-20487
12+-8+-4096-
13+-16+-8192-
14+-32+-16384-
15+-64+-32768-
The modulation is put that much deeply it becomes a sound like the noise if it puts it too much when the numerical value is enlarged though the metallic sound can be made.
Please ..modulation level ..same as "62: the modulation level" of the TPROP instruction here the meaning of the specified numerical value.... do not write 0"Order it to the layer data set to the PCM sound source mode according to not so TPROP"0""1" is written internally though "0" is specified for a modulation level in the frequency modulation oscillator command of this instruction (In even 0~4, the modulation level is 0).
The modulation level is "+-2 π" in the address displacement when "10" is specified for M for instance by the displacement of the wavy reading address corresponding to the modulation level, and an actual wavy reading address changes within the range of +-1024-word "When the positive value is specified for wave form (W), this address displacement need not be considered. It is information needed only when the modulation is put by using the PCM wave form registered in other layers by "-n". In this case, please note that one cycle (2 π) of the shape of waves is assumed to be "1024 words", the same waveform data is registered at three cycles, and the modulation of the above-mentioned Main Street is not good at the loop start address if neither "1024" nor the loop end address is set to "2048" (Refer to the following figure).
Because it is not a format registered in "1024" word of one cycle at three cycles, the modulation corresponding to modulation level (M) is done though it is also possible to use waveform data in the standard tone data file for the modulation. Please copy the data of one cycle "1024 words" at three cycles, and register the wave data of the header none by the DATA initialization statement or give it by "FILE" when you put the modulation in an external shape of waves.
The numerical value rightmost of the table is correspondence with a past frequency modulation oscillator chip such as YM2203/YM2608. Please refer the movement of the frequency modulation oscillator data.
Attention
When WaveForm=-n is specified, it is necessary to set a wavy format as shown in this figure. When M=11(+-4 π) or more is specified, waveform data never becomes insufficient so that hardware may automatically process the clipping.
S
Direct data sending level is specified. It is the same as "72: direct data sending level" of the TPROP instruction.
S level( dB )
0 -∞(Do not send it. )
1 -36
2 -30
3 -24
4 -18
5 -12
6 -6
7 -0
The levels other than the base slot (operator who finally outputs the sound) are made "0", operator's sound on the way makes it not send to the mixer, and it is also possible to do the sound under the modulation in mixing by raising the level by intention usually. Please note that the modulated sound doesn't ring when you make the level of the base slot "0".
The influence of the velocity and the level conversion is received when setting it to S for "FM" mode excluding "0".
AR~SL
The Emberorb generator is set to each operator. Please refer to the item of "24: the Sastan level "20: the attack rate" -" of the TPROP/EG instruction for a detailed content.
TL
Operator's OutputLevel is specified by the amount of attenuation (0~255). The value in which the amount of attenuation in the part where the bit was made "1" in the bit is totaled totals and comes to attenuate actual and to measure level 8 [dB]. Therefore, the amount of attenuation grows by the value set to "TL" large, and the volume becomes small. Oppositely, the amount of attenuation becomes small small the value set to TL, and the volume grows. It is possible to set to each operator, and the value set besides the base slot influences the tone.
TL bitSeven bitsSix bitsFive bitsFour bitsThree bitsTwo bitsOne bit0 bits
Amount of TL attenuation -48 -24 -12 -6 -3 -1.5 -0.8 -0.4
For instance, the amount of attenuation when "FFH" is written :.
-48 -24 -12 -6 -3 -1.5 -0.8 -0.4= -095.7[dB]
It becomes it.
ml1
It is multiple (compared with frequency)1. Please specify "-62~65". It becomes an interval the same as the MML mark at "36 ml1 =", "1 ml2 =", and "0 dt =".
ml2
It is multiple (compared with frequency)2. The magnification of the multiple set with ml1 is specified. It specifies it by "0~4".
dt
It is Detun (Ml1 is adjusted more in detail). Please specify "-128~127".
Next, the correspondence table with the multiple of a past frequency modulation oscillator is recorded.
The value is corrected in the inter printer as for the multiple and Detun, and base note (bn) and fineness tune (ft) are rewritten.
The view in the correspondence table only sets the value of ml1 and dt corresponding to it looking for a multiple value of a past frequency modulation oscillator (overtone composition).
Two steps below are numerical values that can be read when it basic makes a note of the TPROP instruction and the item of the fineness tune is referred by the one having been corrected for the set value.
Because this sound system reaches the limit of the value that can be previously specified for ml1, the numerical value that corresponds more than "11" cannot be specified with ml1 alone though "15" and "31" can be specified in the multiple in a past frequency modulation oscillator. Therefore, it is necessary to set the magnification of the multiple specified by ml2 with ml1. As a result, setting the price that rises a past, multiple range becomes possible.
Concretely, time that becomes usual twice if "1" is specified for ml2 the shape of waves at one cycle, specifies "24" for ml1, specifies usual "36" about multiple "1", and set it to multiple "2" and the same effect are achieved.
However, when the magnification is changed with ml2, modulation level M is influenced, too. It ..value given to M.. doesn't become it in case of not being .."-1".. when setting it to twice for instance.
Attention
Please look at the following table (actual, multiple table corresponding to a set value of ML1 and dt). 43 is set in ml1 when multiple 3 is generated and five is set to dt. Five of these Detun might become problems.
Three overtones are the sounds on octave +5 at a pure rate (one of the prosody). However, because the just intonation is not used easily by various reasons, the average law is generally used in present music. Five of Detun specified here is a fraction of going out when five degrees of the just intonation were expressed by the average law. This might become a problem. Please refer to the following item when you make an actual sound. Please read the book related to prosody/tuning about interesting one of details of prosody.
Actual sound making
1. Please use the value written here as it is when using it as Mojurata. It is necessary to give a tidy overtone relation.
2. It is necessary to note it in case of the use of a parallel algorithm etc. or the sound output outside directly. Then, when musical instruments with the overtone element of five degrees and the sound on is actually averaged at the same time by five degrees, the groan will be caused. Then, if the overtone element of five degrees is additionally put on the average rate beforehand in such a case, the groan is not caused. However, when the musical instruments are used by the single sound even when outputting it directly by such a parallel algorithm, very beautiful Harmony can be obtained if it matches it to the just intonation.
3. Please adjust Detun to 0 and use an original sound making when it is based on three overtones (for instance, case to put the modulation of multiple 6 on the career of multiple 3). It is because it is necessary to put out the output matched to five degrees at the average rate beforehand because of this being thought the sound making that makes sounding five sounds from the beginning assumption. In this case, please note that Detun of other operators who use it because of the tone should be calculated according to it.

Actual, multiple table corresponding to set value of ml1 and dt
Multiple of past frequency modulation oscillator0.512345678910
Value set to ml11224364348525558606264
Value set to dt00050-355-80010-35
Value set to dn534129221713107531
Value set to ft00050-355-80010-35

Actual, multiple table corresponding to set value of ml2
Value set to ml11224364348525558606264
Multiple of ml2=0: etc. Twice0.512345678910
Multiple of ml2=1: Twice12468101214161820
Multiple of ml2=2: Four times2481216202428323640
Multiple of ml2=3: Eight times48162432404856647280
Multiple of ml2=4: 16 times8163248648096112128144160
KS
It is a key rate scaling. Please refer to "27: the key rate scale" of the TPROP/EG instruction for details.
"FMEXT" special item
sn~ en
It is an end note as the start note. When the note number within the range specified here is requested, the operator is driven. Please adjust the operator for one tone to the same value all usually.
vl
It is a velocity and a level conversion switch. It is a switch whether the velocity and the level conversion are put according to the slot or do not put it. "0" or "1"
RE
It is LFO reset. Please refer to "50: LFO reset" of the TPROP/LFO instruction for details.
LF
It is LFO frequency. Please refer to "51: the LFO frequency" of the TPROP/LFO instruction for details.
AW
It is LFO amplitude modulation wave form. Please refer to "52: ALFO (amplitude modulation) shape of waves selection" of the TPROP/LFO instruction for details.
AS
It is LFO amplitude modulation degree. Please refer to "53: each ALFO (amplitude modulation)" of the TPROP/LFO instruction for details.
PW
It is LFO frequency modulation wave form. Please refer to "54: PLFO (frequency modulation) shape of waves" of the TPROP/LFO instruction for details.
PS
It is LFO frequency modulation degree. Please refer to "55: each PLFO (frequency modulation)" of the TPROP/LFO instruction for details.
MX
It is an input mixture level. Please refer to "71: the input mixture level" of the TPROP/DSP instruction for details.
DP
It is a direct data location. Please refer to "73: the direct data location" of the TPROP instruction for details.
<ENDARRANGE>
When ENDARRANGE is found, "TARG READ" is ended.

About a parameter different from a past frequency modulation oscillator
ItemYM2203/YM2806 etc.Sega Saturn
Sastan levelAmount 0~15 of attenuation from the maximum volumeActual level 0 ~ 31 from the maximum volume when attenuating
Release rate0~ 150~ 31
Total level0~ 1270~ 255
Detun-3~ 3-128~ 127
Modulation level M0~ 7Refer to the correspondence table.
Multiple0~ 15Refer to the correspondence table.
LFO relationInterchangeability noneInterchangeability none

Attention
This instruction doesn't contain the function of PLAYINIT. Please note alive the set song block allocation when you construct the tone data area securing neither the song nor the data area by the executed program. It is possible to perform by rearranging each song if it says oppositely.
Because the example of the favorite uses the file buffer of 340 Kbyte(1360 blocks), it is necessary to secure the area in advance of execution according to the 2nd or the 3rd parameter of the CLEAR instruction. In addition, when the original PCM sampling data is registered from the file, it is necessary to secure the user's area by the first parameter of the CLEAR instruction because the user's area is temporarily used. It is CLEAR instruction and method after it executes it if necessary again because it doesn't reside as for the area.
Rearranged tone data and original tone cannot be saved.
The tone file is loaded into the file buffer in every case when the tone data file name appears, and specify the tone number of the same file as much as possible continuously, please (It influences the execution speed).
There is something not to finish installing on the memory depending on the specified tone. In this case, the error is displayed, execution is interrupted, and execute it again, please after changing the combination or enhancing the tone data area by "Enhanced number of blocks" of the PLAYINIT instruction.
According to circumstances, because the sound system is initialized when the error occurs while executing this instruction, it might take time by the time the error is displayed.

Warning
This instruction might become a sound that becomes according to how to give the parameter the sound, and is distorted. In this case, please execute the PLAYINIT instruction. Still, when be not emitted the sound or occur to the communication of the main and the sound system above, reset after of be the hot start, and the saving of the program, and try to execute it again.

Example 1
1000 CLEAR ,1360
1001 PLAYINIT"STANDARD",,487
1002 TARG"STANDARD",44,"PIANO",1,"ETHNIC",4
1003 PLAY"L1@1CDEFGAB","L1@2CDEFGAB","L1@3<CDEFGAB"
It is a sample when only the arrangement of the tone data file is changed without using the DATA initialization statement. Strings of the standard set and the bamboo flute of the piano set and the ethnical set are sounded at the same time.

Example 2
1000 CLEAR ,1360: RESTORE *TONE_DATA
1010 TARG READ

2000 *TONE_DATA :'(ToneNumber)ToneName
2010 DATA BUILDLAYER :'(1)DrumSet
2020 DATA ROCK, 31, 3, 0, 0, -3 :'HiHat 42-42->39-39
2030 DATA 31, 0, 0, 0, 0 :'Kick 36-36->36-36
2040 DATA ORCHEST, 31, 2, 0, 0, -17 :' 57-57->40-40
2050 DATA STANDARD, 32, 8, 0, 0, +50 :'HandClap 0-39->50-89
2060 DATA 32, 1, 0, 0, +50 :'Tambourine 40-54->90-104
2070 DATA 31, 0, 0, 0, 0 :'Kick 0-36->0-36
2080 DATA 31, 1, 0, 0, -1 :'Snare 38-38->37-37
2090 DATA 31, 1, 0, 0, -1 :'Snare 38-38->37-37
2100 DATA ENDLAYER
2110 '
2120 DATA ROCK, 34 :'(2)PowerGuitar
2130 DATA ORCHEST, 32 :'(3)A.Piano
2140 DATA 35 :'(4)StringsArco
2150 DATA 37 :'(5)Harp
2160 DATA 42 :'(6)Oboe
2170 DATA 40 :'(7)Horn
2180 DATA STANDARD, 35 :'(8)synthBase
2190 DATA 51 :'(9)SynthPad1
2200 DATA 52 :'(10)SynthPad2
2210 DATA 53 :'(11)Brightness
2220 DATA DANCE, 39 :'(12)VoiceAhh
2230 '
2240 DATA BUILDLAYER :'(13)
2250 DATA DANCE, 35, 0, -1, -1, -1 :'VocoderVox
2260 DATA 45, 0, -1, -1, -1 :'MetalPad
2270 DATA ENDLAYER
2280 '
2290 DATA ENDARRANGE
It is a sample that edits the layer in the DATA initialization statement. (1)~ (13) The tone of a new row to the turn is registered.
Tone number (1) restructures the drum set. Because both "Sn" and "En" are "0", "Bn" is considered to be an offset from former note number.
Because all items are "-1", tone number (13) uses an original note number. In this case, "VocoderVox" and "MetalPad" are pronounced at the same time when specifying, "@13" with MML.

Example 3
1000 CLEAR ,1360: 'FileBuffer
1001 PLAYINIT "STANDARD": TARG READ
1002 PLAY "@1 L1 CDEFG"
1003 END
1004 DATA STARTPCM, 8, 0, 0, 127, 60 :'8bitSampleBASE= N60
1005 00000000000000000000000000000101
1006 01010101010101010101010101010101

5961 00000000000000000000000000000000
5962 00000000000000000000000000000000
5963 00000000000000000000000000000000
5964 ENDPCM
5965 ENDARRANGE
It is a sample that registers the wave data of the header none by the DATA initialization statement.

Example 4
1000 CLEAR 257, 1360: ?"Arrange [ERROR Sound]AIFF"
1001 PLAYINIT "ATANDARD": TARG READ
1002 EFFECT 0, "%1@1 Cl1200"
1003 END
1004 DATA FILE, "BRAM:WAVE_DT", 0, 0, 0, 127, -1
1005 DATA ENDARRANGE
It is a sample that registers the wave data from the file.

Example 5
1000 CLEAR ,1360: TARG READ
1001 EFFECT "@1 O2CDE>CDE>CDE>CDE"
1002 END
1003 '
1004 DATA BUILDLAYER
1005 ' OP#, W, X, Y, M, S, AR, DR, SR, RR, SL, TL, ml1, ml2, dt, KS'
1006 DATA FM, 1, 1, 1, 1, 0, 0, 11, 0, 0, 11, 0, 0, 24, 0, 0
1007 DATA FM, 2, 1, 1, 1, 5, 7, 11, 0, 0, 11, 0, 0, 12, 0, 0
1008 DATA ENDLAYER
1009 DATA ENDARRANGE
It is two operators' frequency modulation oscillator samples. Please the signature wave is output too much without putting the modulation, and variously change the parameter and try.
Next, the method of setting a past slot algorithm is recorded. When the modulation levels other than the feedback operator are set to "+-2 π", it can have a past frequency modulation oscillator and interchangeability. Modulation wave forms W are all examples of the signature wave. The direct data sending level S sets only the base slot (output the side) to the maximum value "7".

(0)
OP#, W,X,Y,M,S, …
DATA FM 1, 1, 1, 1, 10, 0, …
DATA FM 2, 1, 1, 1, 10, 0, …
DATA FM 3, 1, 2, 2, 10, 0, …
DATA FM 4, 1, 3, 3, 10, 7, …

(1)
OP#, W,X,Y,M,S, …
DATA FM 1, 1, 1, 1, 10, 0, …
DATA FM 2, 1, 2, 2, 0, 0, …
DATA FM 3, 1, 1, 2, 10, 0, …
DATA FM 4, 1, 3, 3, 10, 7, …

(2)
OP#, W,X,Y,M,S, …
DATA FM 1, 1, 1, 1, 10, 0, …
DATA FM 2, 1, 2, 2, 0, 0, …
DATA FM 3, 1, 2, 2, 10, 0, …
DATA FM 4, 1, 3, 1, 10, 7, …

(3)
OP#, W,X,Y,M,S, …
DATA FM 1, 1, 1, 1, 10, 0, …
DATA FM 2, 1, 1, 1, 10, 0, …
DATA FM 3, 1, 3, 3, 0, 0, …
DATA FM 4, 1, 2, 3, 10, 7, …

(4)
OP#, W,X,Y,M,S, …
DATA FM 1, 1, 1, 1, 10, 0, …
DATA FM 2, 1, 1, 1, 10, 7, …
DATA FM 3, 1, 3, 3, 0, 0, …
DATA FM 4, 1, 3, 3, 10, 7, …

(5)
OP#, W,X,Y,M,S, …
DATA FM 1, 1, 1, 1, 10, 0, …
DATA FM 2, 1, 1, 1, 10, 7, …
DATA FM 3, 1, 1, 1, 10, 7, …
DATA FM 4, 1, 1, 1, 10, 7, …

(6)
OP#, W,X,Y,M,S, …
DATA FM 1, 1, 1, 1, 10, 0, …
DATA FM 2, 1, 1, 1, 10, 7, …
DATA FM 3, 1, 3, 3, 0, 7, …
DATA FM 4, 1, 4, 4, 0, 7, …

(7)
OP#, W,X,Y,M,S, …
DATA FM 1, 1, 1, 1, 10, 7, …
DATA FM 2, 1, 2, 2, 0, 7, …
DATA FM 3, 1, 3, 3, 0, 7, …
DATA FM 4, 1, 4, 4, 0, 7, …
In this sound system, it is possible to connect it freely by handling 32 operators besides this. The output of (4) can be input to the fifth slot though another operator can input the output of the example of (7) for instance because there are only two system input. The method of setting in that case is recorded as follows.

(4')
OP#, W,X,Y,M,S, …
DATA FM 1, 1, 1, 1, 10, 0, …
DATA FM 2, 1, 1, 1, 10, 0, …
DATA FM 3, 1, 3, 3, 0, 0, …
DATA FM 4, 1, 3, 3, 10, 0, …
DATA FM 5, 1, 2, 4, 10, and 7… Because ← finality output became only the fifth, the 2nd and 4th S is made "0".
A special setting of taking out a direct element under the modulation, and sending part to the effector is possible, and try variously, please.
TFRE() fixed zero point type function
Function
The free area of the tone data area is returned.
Format
A= TFRE( 0 )
Example
PRINT TFRE( 0 )
Parameter
Especially, it is not significant. Please specify 0. The same value returns even if it specifies it excluding 0.
Return value
It is an amount of the remainder of the tone data area.
Operation is detailed.
The amount of the remainder of the tone data area that can be restructured with the TARG instruction is examined. Unit of return value is "Block" (One block is 256 bytes)It is rounded up below the decimal point.
Attention
The maximum value at present always returns even if which tone file is loaded as long as the TARG instruction is not used. For instance, "1360" returns when the tone area is not enhanced. Please note it to the last because it is a free area when it restructures with the TARG instruction.
Example
PLAYINIT: PRINT TFRE( 0 )
1360
Ready.
It becomes the normal size "1360" when initializing it in the state of default. This shows the size that is not shown present empty capacity but can be restructured with the TARG instruction.
PLAYINIT ,487: PRINT TFRE( 0 )
1847
Ready.
When the tone data area is enhanced in the maximum value, it is displayed, "1847". When the byte is converted, it is about 462 Kbyte. Under such a condition, when "PIANO" set is taken out and it restructures as "New tone data"
CLEAR ,1360: TARG "PIANO", 1: PRINT TFRE( 0 )
628
Ready.
The size of the remainder becomes "628". It is understood that the actual size used for the tone number "1" of "PIANO" set is "1847-628=1219" block from this. It ..remainder.. is understood to be able to add other tones within the range in "628" block from this method.

Direct execution instruction indirect execution instruction of TLIST
Function
An easy explanation of the tone data file is displayed.
Format
(1)TLIST[ "Tone data file name" ]
(2)TLIST "MENU"
Example
TLIST "DANCE"
TLIST
TLIST "MENU"
Parameter
The file name of "Tone data file name" … tone data is specified. The tone data opens, doesn't replace, and display only the explanation file reading from CD. When the file name is not specified, the list of the tone data that has been selected now is displayed.
The list of "MENU" … tone data file name is displayed.

Operation is detailed.
Tens of kind of tone is stored in the tone data file. The kind of musical instruments and the effect sounds allocated in the tone number is different according to the tone file. It is understood to want to know what the tone file that has been selected now is from executing it without specifying parameters. The content of the file that has not been selected now also specifies the file name, it is possible to examine, and use it, please when you want to know the musical instrument name to the tone number.
Attention
It doesn't agree to the content of the sound memory when the tone data is rearranged by the TARG instruction.
Example
The content of "ROCK" [Enter] of TLIST → lock set is displayed. [Rock Set]
00 BEEP 23 SQUARE SE 01 HEY! 24 SAW SE2 02 HUA 25 SINE SE2 03 POH 26 SQUARE SE2 04 KYA 27 SINE SE3 05 TAH 28 NOISE2 06 TOH 29 GLOCKEN 07 WAH 30 RUM 08 YAH 31 Drums 09 HAH 32 Fingered Bass 1 0 HOT 33 Picked Bass 11 CHUKIN 34 Power Guitar 12 NOISE 35 Solo Guitar 13 BA 36 Clean Guitar 14 BASHA 37 Organ 15 DOKA 38 Synth Brass 16 KACHA 39 Choir Pad 17 SHU 18 SAW WAVE 19 SINE W. 20 SQUARE W. 21 SAW SE 22 SINE SE
Direct execution instruction indirect execution instruction of TPROP() format (1) of decimal point type function format (2)
Function
A set value of the tone data is read, and rewritten.
Format
(1) A= TPROP(<音色番号,レイヤ番号,項目番号>)
(2) TPROP(<音色番号,[レイヤ番号|ALL],項目番号>)=A{[,A]}
Example
PLAYINIT "DSP", "PIANO"
FOR I=0 TO TPROP(1,0,1): TPROP(1,I,71) =7: TPROP(1,ALL,71) = NEXT→ or7
It is registered in the tone number "1" of "PIANO" set, and "71: the input mixture level" of "All layers" is maximized. Because the number of layers is different depending on the tone, it repeats and the frequency is acquired in the example of the favorite. The part enclosed with FOR~NEXT can be executed by one instruction of the above-mentioned example.
It is synonymous with TPROP(1,ALL,@AR) =20, 5, 7, 10, 3, 0, 1, and 5→EG 1, ALL, 20, 5, and 7 and 10, 3, 0, 1, and 5.
"20: the attack rate" The parameter to "27: the key rate scale -" is continuously set.
Parameter
<音色番号>… It reads, and the tone number that wants to be rewritten is specified. Number specified by "@" command of MML. Can not be omitted.
Layer number | ALL … The layer number that wants to be read, and to be rewritten is specified. Item number (of "Part Voice"  0< = The layer part is invalid to N< =10) because of a common item of each layer. Specify "0". Only format (2) (rewriting specification) can specify "ALL" instead of the layer number. In this case, all layers of the selected tone number become objects. Can not be omitted.
<項目番号>… It reads, and the number of the item that wants to be rewritten is specified. Refer to the following "Item number list" for the breakdown of the item number. Can not be omitted. "Constant symbol" that BASIC inter printer offers can be used for the item number. Specify the symbol name following "@" sign when using it.
Return value
The competing value is returned to the specified item for format (1).
Operation is detailed.
A set value can be read to the tone data that exists in the sound memory in each layer now, and the rewriting operation be done. It is also possible to change in real time while performing. In this case, the value rewritten according to the timing of the note on is reflected.
The setting to the tone data rearranged by the TARG instruction and the original PCM sampling data is also possible.
It reads and it operates it for format (1).
The rewriting operation is done for format (2). When rewriting is operated, it is possible to specify it continuously by delimiting a set value by ""
The item setting is as follows it divided roughly.
・Part VOICE( 0~ )
・Note on control( 10~ )
・EG (Emberorb generator) control( 20~ )
・Waveform data control( 30~ )
・LFO (low Frikenshe oscillator) control( 50~ )
・FM connecting wires( 60~ )
・Mixer(DSP) control( 70~ )
Please refer to "Item number list" for details.

Attention
The data set again cannot be saved. A pronunciation that is not emitted the sound according to a set value of the parameter, and is normal might not be able to be done. For this case, please execute the PLAYINIT instruction (format (3)) to return it to former state.
Please the value set before that must return to former tone parameter, and set change and go by PLAYINIT and the TARG instruction after registering the tone data that wants to change in the sound memory when doing when the tone data of the sound memory is replaced by PLAYINIT and the TARG instruction.
Warning
This instruction might become a sound that is not emitted the sound according to how to give the parameter, and distorts. In this case, please execute the PLAYINIT instruction. Still, when be not emitted the sound or occur to the main and the sound system and occur to the communication above, reset after of be the hot start, and the saving of the program, and try to execute it again.
Item number list
(R/W) is to be able to operate READ/WRITE. (R) Ca all-in prohibition is shown the peel.
Part VOICE( 0~ )
0 pipe bend cooking stove (R/W) @BEND
・ The pitch change the pitch pipe bend command of MML is specified by the maximum value is shown by the note number value.
・"0~12" and "24" can be set. When "12" is set, it becomes +-2 maximum octaves by one octave and +- "24".

Number of one layer -1(R/W) @LAYER
・It is "Number -1 of layers" registered in the specified tone number.
・It is not possible to increase it by this item though it competes fewer than former number of layers at the rewriting operation and is possible.
・It is not possible to return it based on the decreased number of layers.

Number of two tones -1(R) @TONE
・It is the maximum value of the tone number that can be specified (number -1 of tones).

Note on control( 10~ )
Ten start note (R/W) @SN
・Whether by which note number the tone registered in this layer rings is set. When the note number between the note number set here and the note number set with the end note comes, it is pronounced.
・「 0~ 127 」

11 end note (R/W) @EN
・Whether by which note number the tone registered in this layer rings is set. When the note number between the note number set here and the note number set with the start note comes, it is pronounced.
・「 0~ 127 」

12 base note (R/W) @BN
・The frequency that becomes the standard of waveform data is specified by the note number.
・「 0~ 127 」
Attention
It is corrected in "TARG" at the frequency modulation oscillator mode.

13 fineness tunes (R/W) @FT
・The frequency is adjusted by a more detailed unit.
・「 -127~ 128 」
Attention
It is corrected in "TARG" at the frequency modulation oscillator mode.

EG (Emberorb generator) control( 20~ )
Please refer to the EG instruction for details of the item. The value writes and it changes when the EG instruction is executed.
20 attack rate (R/W) @AR
21 Dikei rate (R/W) @DR
22 Sastan rate (R/W) @SR
23 release rate (R/W) @RR
24 Sastan level (R/W) @SL
25 EG interrupt mode (R/W) @EGHOLD
26 loop start link (R/W) @LSLINK
27 key rate scaling (R/W) @KS

Waveform data control( 30~ )
30 sound direct (R/W) @SDIR
・Whether waveform data is output directly or EG is passed is selected.
・When the original PCM sampling data is not used as musical instruments, you might make it to "1".
0 EG is passed.
1 It is output without being multiplied EG, TL, and ALFO, etc.

31 source bit control (R/W) @SB
・The bit reversing operation of the sound input data is specified.
0 reversing operation is not done.
It reverses excluding the sign bit of the waveform data that becomes one source.
The sign bit of the waveform data that becomes two sources is reversed.
Reversing of three both

32 sound source control (R/W) @SS
・The data used as sound input data is specified.
The wave data in 0 sound memory is used.
One internal generation data(noise)
Two internal generation data( ALL " 0 ")
・Each slot outputs the noise by using the output of the noise transmitter of LFO. Anything doesn't influence the noise as voice data the LFO parameter at this time. Moreover, when it is time when it does to make LFO for the low frequency number modulation and a wavy selection of LFO is made a noise, "50: LFO reset" is invalid.

33 loop control (R/W) @LOOP
・The loop form of waveform data is set.
0 loops OFF
One normality loop
Two reverse loop
Three Oltanatib loop
・The loop processing ends when the amount of attenuation became the maximum after it releases it and when the read point reaches the loop end points at loop OFF.
・When normal looping reverse loops, a petit-noise is generated if the data that "35: the loop start address" and "36: the loop end address" open is not the same value.

34 waveform data word length (R) @PCM8B
・It is word length of waveform data (It is not possible to change).
0 PCM data of 16 bits.
1 PCM data of eight bits.

35 loop start address (R/W) @LSA
・The loop and the starting point of waveform data are stored by the number of samples from the start address.
・The start address is read, and cannot be rewritten.
・ It is one sample by two bytes for 16 bits PCM.
・" &H0000~ &HFFFE "

36 loop end address (R/W) @LEA
・The loop end point of waveform data is stored by the number of samples from the start address.
・The start address is read, and cannot be rewritten.
・ It is one sample by two bytes for 16 bits PCM.
・" &H0000~ &HFFFE "

LFO (low Frikenshe oscillator) control( 50~ )
Please refer to the LFO instruction for details of the item. The value writes and it changes when the LFO instruction is executed.
50 LFO reset (R/W) @RE
51 LFO frequency (R/W) @LFOF
52 ALFO (amplitude modulation) shape of waves selection (R/W) @ALFOWS
53 At ALFO (amplitude modulation)
54 PLFO (frequency modulation) shape of waves selection (R/W) @PLFOWS
55 At PLFO (frequency modulation)

FM connecting wires( 60~ )
Input X selection of 60 modulations (layer number) (R/W) @MDX
・"Modulation input X" of the slot allocated when this layer pronounces is specified by the layer number.
・「 0~ 127 」(latest data)
・「 +128 」(data before generation first)
Attention
It sets it by FM command of the TARG instruction (OP number/X&Y) usually.

Input Y selection of 61 modulations (layer number) (R/W) @MDY
・"Modulation input X" of the slot allocated when this layer pronounces is specified by the layer number.
・「 0~ 127 」(latest data)
・「 +128 」(data before generation first)
Attention
It sets it by FM command of the TARG instruction (OP number/X&Y) usually.

62 modulation level (R/W) @MDL
・The influence of the modulation input source (The modulation level: M) on the modulation is specified.
Attention
It sets it by FM command (M) of the TARG instruction usually.

Mixer(DSP) control( 70~ )
Please refer to "Block composition of 2.4 sound system" and the DSP instruction for details.

70 input selection (R/W) @ISEL
・Please refer to "Level" of the DSP instruction for details of the item. The value writes and it changes when the DSP instruction is executed.
71 input mixture level (R/W) @IMIX
・Please refer to "Level" of the DSP instruction for details of the item. The value writes and it changes when the DSP instruction is executed.
72 direct data sending level (R/W) @DSEND
・The sending level of the direct data is specified according to the slot.
S level( dB )
0 -∞(Do not send it. )
1 -36
2 -30
3 -24
4 -18
5 -12
6 -6
7 -0

73 direct data location (R/W) @DPAN
・The location when the direct data is sent is specified according to the slot.
・ The influence of the command and the PLAYPAN instruction of "P" of MML is received.
Location data by DIPAN
DIPANLeft location( dB )Right location( dB )
0-00.0-00.0
1-03.0-00.0
2-06.0-00.0
3-09.0-00.0
4-12.0-00.0
5-15.0-00.0
6-18.0-00.0
7-21.0-00.0
8-24.0-00.0
9-27.0-00.0
10-30.0-00.0
11-33.0-00.0
12-36.0-00.0
13-39.0-00.0
14-42.0-00.0
15-∞-00.0
16-00.0-00.0
17-00.0-03.0
18-00.0-06.0
19-00.0-09.0
20-00.0-12.0
21-00.0-15.0
22-00.0-18.0
23-00.0-21.0
24-00.0-24.0
25-00.0-27.0
26-00.0-30.0
27-00.0-33.0
28-00.0-36.0
29-00.0-39.0
30-00.0-42.0
31-00.0-∞

Direct execution instruction indirect execution instruction of VOLUME
Function
The entire volume (mastering volume) is adjusted.
Format
VOLUME[ Volume ]
Example
VOLUME 0
Parameter
The volume … The entire volume value is specified. The volume grows greatly by "0~127", too. It becomes "127" when omitting it.
Operation is detailed.
The overall volume performed by the PLAY/EFFECT/BGM/BEEP instruction is adjusted.
Attention
It returns to the default value when the error occurs or interrupts by the break.