Changes

Jump to: navigation, search

MGSDRV MML 11

4,512 bytes added, 05:17, 26 June 2018
#title
Specifies title name of the data. Multiple lines are valid if you use with "{" and "}". Maximum length is 1k byte, including comments or others.
Example:#title { "Falcom Ys morning grow" "SCC is needed" }
If you want to use double quotation in strings, repeat twice. If "Object too big" error occurs when exceed 80 characters in the title, usually it can be avoided with allocating track buffer (and reduce it lesser than automatic allocated bytes) with #alloc.
Allocates track buffers. Usually, track buffer is automatically allocated (16k/ all tracks(=16 or 18) bytes) when the track is used first time. If you use many tracks to write MML in, allocate bytes with this command.
Example:#alloc 0=100; Allocates 100 bytes to track 0 #alloc { 3=100, 5=256 }
#alloc { 3=100,
5=256 }
;Allocates multiple track buffers at once
Specifies tone/noise mode for PSG. The range is 0-3 and 1 is used when it is omitted.
0 - no specification (and nothing changed) 1 - only tone 2 - only noise 3 - tone and noise
(2) Noise
;]
Defines emd end position of repetition.
;@<tone_number>
Writes data<d> to register<r>, which actually uses envelope. It is ignored for SCC.
;¥<n>
Adds <n> to current frequency. The range is -127 to 127. It rises frequency with positive number. Unit is the same as "¥" MML command.
Defines envelope data.
 Mode Mode ... same as@e. Noise Noise ... same as@e.
Up to about 10 is appropriate because if you set huge number to this parameter, sound ends in a moment (if you wish it on some purpose).
;RR
Speed of reducing volume from key off. RE is reduced from envelope volume which currently holded.
Defines tone data fir SCC. Data are hexadecimal(00-ff). Data should be 32 units and cannot be omitted.
Example:@s02 = { 7f7f7f7f 7f7f7f7f 7f7f7f7f 7f7f7f7f ;PSG 80808080 80808080 80808080 80808080 }
;@v<number> = { data ... }
Defines original tone of FM.
Example:@v15 = { ;BRASS
; TL FB
25, 7,
;@#<number> = <n>
Changes assigned ROM tone number of the tone. MGSC assigns 1-15 of ROM tone to @0-14. Tones after @15 is assigned 0(original tone) and definition of tone is valid when <number> is more than 15. @# changes ROM tone number assigned to each tones. The range of <n> is 0-15 and 0 means original tone(refer about other numbers).
 
==Comments==
If ";"(semicolon) are found in the lunes(including MML), it is recognized as comment from the semicolon to the end of the line(CRLF) and ignored.
 
MGSC1.1[5][en]
==MML==
It means debug command. It does fast forward automatically up to the position of "$" command when played with -p.
 
==About Errors==
 
MGSC stops compiling when detects even one error in the source.
 
<error_reason> in <line_number>
>> <(all_of)contents_in_the_line>
 
Error reason is printed in Kanji character when Kanji driver resides and printed in alphabets in other case.
 
Line numbers are counted from 0 (and matches with KID.COM,AKID.COM editors' one). Note that there are not always exists the reason of errors in displayed line inside (especially in the case of macros and omission of close brace).
 
==Appendix==
 
===(1)Tempo===
 
MGSC never occurs tempo gaps between tracks with any tempo, but pay attention to tempo changing.
 
'#tempo' should be used with for the first time. You should change tempo in the first track and if you change it again in the songs, synchronize timings with other tracks.
 
Example:
1 t86l4ct190def
2 l8ccddeeff
3 l16cdecdecd
 
Example above does not occur tempo gaps but example below occur it, because changing tempo while playing musics on the tracks 2 and 3.
 
Example:
1 t86l8ct190def
2 l4cdef
3 l4gggg
 
Tempo are not independent on every tracks. Track 2 and 3 does not have tempo settings but that on the track 1 (to be exact, at the note next to changing tempo) effects other tracks in 2 examples above. Tempo setting on such manner only consumes track buffers.
 
Example:
1 t86cdet90cdet100cdef
2 t86efgt90efgt100efga
3 t86ccct90ccct100cccc
 
===(2)Length settings===
 
Meanings of length setting with "%" of MGSC are different from old versions. MGSC is not effected by tempo, old versions has different value for each tempo though.
 
For example, fourth note is always %48. MGSDRV does not need length setting with %, as far as notes has the length which can be divided by 192.
 
Quintuple note (5 notes) cannot be divided from 192 by integer, set appropriate length of note with %.
 
Valid minimum length of note is effected by tempo(MGSDRV cannot make sound shorter than 1/60 seconds). Formula of minimum length of note with tempo is as follows.
 
14400/tempo = minimum length (truncated after the decimal point)
 
Minimum length of note is hundred-ninety-second(192) note when result of this formula is greater than 192.
 
=== (3)Searching to MGSDRV===
 
MGSDRV is required for playing musics with -p option. Resided MGSDRV is used but if it is not on the memory, the file defined as environmental valuable mgsdrv is loaded. DOS1 searches MGSDRV.COM in the current directory.
 
**Compiled data with this version of MGSC can be played on MGSDRV v3.13 or higher.
 
=== (4)Assigning ROM tone number===
 
The name of tones are different from that of MSX-MUSIC
 
{|
|Tone number||ROM tone number||Tine name
|-
|0||1||Violin
|-
|1||2||Guitar
|-
|2||3||Piano
|-
|3||4||Flute
|-
|4||5||Clarinet
|-
|5||6||Oboe
|-
|6||7||Trumpet
|-
|7||8||Organ
|-
|8||9||Horn
|-
|9||10||Synthesizer
|-
|10||11||Harpsichord
|-
|11||12||Vibraphone
|-
|12||13||Synthesizer bass
|-
|13||14||Wooden bass
|-
|14||15||Electric bass
|-
|15||0||
|-
|:|:||Original tones
|-
|31||0||
|-
|}
 
===(5)-e option on command line===
 
-e option limits to only CP/M functions. MGSC works on CP/M emulators etc. if Z80 commands are supported. Playing musics are not supported (-p option and others are not valid).
 
==History==
===version1.06(private ver)===
 
*Added @f command
*Added $ command
*Inserted waits to fast forwarding(SELECT) while playing with -p option on fast mode of turbo R
*Added fast forwarding with SHIFT+SELECT keys (on only fast mode if turbo R)
*Added control command
*Added automatic return to DOS after end of playing music
 
 
 
===version 1.07===
 
*Added #macro_offset,#machine_id
*Discontinued function to enclose MML with "{" and "}" which had had bugs from ver1.04
*Added hi (LFO initialization) command
 
 
===version 1.08===
 
*Corrected kanji text garbling in control strings
*Added #disenable_mgsrc command
*Added -s option to force saving data
 
 
===version 1.09===
 
*Added Y and \ command to @e envelope
*Corrected end of file error of DOS
 
 
===version 1.10===
*Corrected disorder bug of "/" command in @e envelope.
*Added #opll_tune
*Added @l command
 
 
===version 1.11===
 
*Added -q option
*Enables standard input as source(type a.mus | mgsc)
*Added CP/M support
 
 
**Citation and redistribution are not restricted
 
 
Special thanks
{|
|TARO
|-
|Saibara
|-
|BLASTER
|-
|TAKAWO
|-
|CHABIN
|-
|}
 
Refference: MXC Document
 
{|
|MARIO NET :AIN
|-
|FALCON NET :FALC0180
|-
|NATSUME NET:NAT25667
|-
|}
 
�Ain

Navigation menu