WonderSwan Total Sound Driver
Top

## wtc (MML Compiler)

### Summary

This software can compile from the ".MML" file to the "*.WTD" and "*.FX" file.
This software is 16bit MS-DOS application.

About the file
extension |
--- | ---
*.MML | MML(Music Macro Language) Sorce file.
*.WTD | Music data for the WTD.
*.FX | File format for the Wonder Witch(BANDAI and QUTE).
*.WSC | ROM image file for the Wonder Swan Emulator.

### Command line format

WTC filename

filename

Convert sorcefile.( "*.MML" file )

### MML Reference

Header command
Command |
--- | ---
TI title | Title of the .FX(WonderWitch format) file.
FI filename | File name of the .FX(WonderWitch format) file.
TB timebase | The number of the time base.
PA part | The number of the part(channel / track).
FX switch | Make switch of the .FX(WonderWitch format) file
@ no, waveform[32] | Define the voice data for the WonderSwan PCM.
@F no, no2, filename
E no, envelope[6] | Define the envelope data.
Ex no, envelope[13]
IN filename | Include file.
$ Sn MML | Define the macro.
C ch(,ch,..) MML | Set the part(channel / track).

When you write those command, you must write in the beginning of a line.

MML Command for the part and macro.
MML Command | Instruments | Function
--- | --- | ---
! | PCM,MIDI | Switch of the work memory access.
"address | PCM,MIDI | Set work memory address upper 8bit
$Sn | PCM,MIDI | Call the macro.
'velocity | MIDI | Accent.(for a velocity)
( | PCM,MIDI | Relative expression.(cc:11) (down)
) | PCM,MIDI | Relative expression.(cc:11) (up)
*type,n | PCM,MIDI | Switch of the LFO(Low Frequency Oscillator).
/type,n | PCM,MIDI | Switch of the Envelope.
0,address,var | PCM,MIDI | MOV [address], var ( [address] = var )
1,address,var | PCM,MIDI | ADD [address], var ( [address] = [address] + var )
2,address,var | PCM,MIDI | SUB [address], var ( [address] = [address] - var )
3,address,var | PCM,MIDI | AND [address], var ( [address] = [address] & var )
4,address,var | PCM,MIDI | OR [address], var ( [address] = [address] | var )
5,address,var | PCM,MIDI | XOR [address], var ( [address] = [address] ^ var )
6,address,var | PCM,MIDI | SET [address], var
7,address,var | PCM,MIDI | RES [address], var
8,address,var | PCM,MIDI | CMP [address], var
9,address,var | PCM,MIDI | TEST [address], var
[ | PCM,MIDI | Repeat start point.
: | PCM,MIDI | Repeat exit.
;flag | PCM,MIDI | Repeat conditional exit.
]count | PCM,MIDI | Repeat end point.
< | PCM,MIDI | Relative octave.(down)
> | PCM,MIDI | Relative octave.(up)
@no | PCM,MIDI | PCM : Set the voice. MIDI : Send the program change message
@Fno
@Sno,delay
@Rno
Bpitch(,range) | MIDI | Send the pitch bend message.
Ctrack | PCM,MIDI | Set the channel and Instruments.
Ddetune | PCM,MIDI | Set the detune of the interval.
Etype,no | PCM,MIDI | Set the envelope.
Fvolume | MIDI | Send the volume.(cc:7)
Gpressure | MIDI | Send the channel Pressure.
Hlsb,msb | MIDI | Send the bank select(cc:0,32)
Kdelay | PCM,MIDI | Set the keyon delay.
L | PCM,MIDI | Set the lnfinity loop point.
Mdelay,mod | MIDI | Send the modlation.(cc:1)
Nlsb,msb,data | MIDI | Send the Non Registered Parameter.(cc:6,98〜99)
Os | MIDI | Send the Sostenuto.(cc:66)
Ps | PCM,MIDI | PCM : Mode switch of the WonderSwan PCM. MIDI : Send the Hold(Dumper pedal, Sustain) (cc:64)
Qgatetime | PCM,MIDI | Set the gate time.(8 division)
Rbreath | MIDI | Send the Breath Controller (cc:2)
Ss | MIDI | Send the Soft pedal.(cc:67)
Tfoot | MIDI | Send the Foot Controller.(cc:4)
Ugatetime | PCM,MIDI | Set the gate time.(100 division)
Vdetune | PCM,MIDI | Set the detune of the expression
X{data[1],data[2],...,data[n],} | MIDI | Send the system exclusive message.
X{data[1],data[2],...,(data[i],...,data[j]),...,data[n],}
Z{data[1],data[2],...,data[n],} | MIDI | Send data of the RS-232C.
_trance | PCM,MIDI | Set the transposition
c(accidental)(length)(period)(tie/slur) | PCM,MIDI | Note of the C Doh
d(accidental)(length)(period)(tie/slur) | PCM,MIDI | Note of the D Re
e(accidental)(length)(period)(tie/slur) | PCM,MIDI | Note of the E Mi
f(accidental)(length)(period)(tie/slur) | PCM,MIDI | Note of the F Fa
g(accidental)(length)(period)(tie/slur) | PCM,MIDI | Note of the G Sol
a(accidental)(length)(period)(tie/slur) | PCM,MIDI | Note of the A La
b(accidental)(length)(period)(tie/slur) | PCM,MIDI | Note of the B H Si
r(length)(period)(tie/slur) | PCM,MIDI | Pause
kvelocity | MIDI | Set the keyon velocity.
llength | PCM,MIDI | Set the length when omit length pf the note command.
l%step
mtype,dr,sp,lv,co | PCM,MIDI | Set the LFO(Low Frequency Oscillator).
nnoise | PCM | Set the pink noise of the WonderSwan PCM channel 4.
ooctave | PCM,MIDI | Set the octave.
ppanpot(,mode) | PCM,MIDI | Set the panpot.(cc:10)
p%panpot(,mode)
qgatetime | PCM,MIDI | Set the gate time.(tick)
slevel,rate | PCM | Set the sweep of the WonderSwan PCM channel 3.
ttempo | PCM,MIDI | Set the tempo. (Set the H-blank interrupt of the WonderSwan)
t%H-Blank
ugatetime | PCM,MIDI | Set the pronunciation time.(tick)
vexpression | PCM,MIDI | Set the expression.(cc:11)
v%expression
xdev | PCM,MIDI | Set the number of the relative expression
ycc,data | MIDI | Send the control change message of the MIDI.
{accidental,note} | PCM,MIDI | Set the accidental.

PCM : PCM with a built in WonderSwan.
MIDI : Connected MIDI with RS-232C.