How to HES
HuSIC is a way (the only way?) to make music for the PC Engine/Turbografx-16. Th
is is everything you need, and English (google translator!) translations of all
the documents.
Also included is Rushjet1's autoecho and mmltranspose programs to make MML compo
sition nicer, Nullsleep and Virt's MCK tutorials, and NEZplug, for Winamp/XMplay
, to let you listen to whatever you make.
-------------------------------------------------------Things to do first:
- Install NEZplug. It's in the 'nezplug' folder. It should work for either Winam
p, or XMplay. If you are using XMplay, copy it to your XMplay program files fold
er. I don't know how to install Winamp plugins, sorry.
-------------------------------------------------------Using HuSIC:
- Create a folder inside 'husic>songs', put your MML in it. You can look at my M
ML which was included in 'husic>songs>test' if you want to see some HuSIC-ready
MML.
- Copy the MML into the 'husic>songs' directory, and run 'start_here.bat'.
- Type 'make_hes test' (no quotes) and hit enter. Obviously if the MML is not ca
lled test.mml, use whatever appropriate name. Do not include ".mml" on the end t
hough - 'make_hes test.mml' is wrong.
- You can now delete 'define.inc', 'effect.h', 'makehes.lst', 'makehes.pce', 'ma
kehes.sym', 'test.h' (or whatever song name). DO NOT delete 'make_hes.bat', 'mak
e_hes.sh', 'start_here.bat', or 'test.hes' (or whatever song name). You can dele
te the mml, because you already have a copy of it in the subdirectory you made f
or your song.
- Copy the 'test.hes' (or whatever) back to the subdirectory. Now 'husic>songs'
should look just how it did when you started.
- If you've installed NEZplug, you should be able to listen to your hes file, co
nvert it to wav, etc.
-------------------------------------------------------Using heswav:
This is really easy...
- Run heswav001.exe in the heswav folder.
- Draw a wave.
- Click 'Clipboard' to copy it to clipboard, paste it into your MML.
- Change the 'x' in the pasted data to a number which you haven't used for a wav
e yet. So:
@WTx={
$1f,$1f,$1e,$1d,$1d,$1c,$1b,$1b,$1a,$19,$18,$17,$17,$16,$16,$16,$14,$13,
$12,$12,$12,$11,$11,$10,$0f,$0f,$0e,$0c,$0a,$08,$06,$04
}
becomes...
@WT1={
$1f,$1f,$1e,$1d,$1d,$1c,$1b,$1b,$1a,$19,$18,$17,$17,$16,$16,$16,$14,$13,
$12,$12,$12,$11,$11,$10,$0f,$0f,$0e,$0c,$0a,$08,$06,$04
}
-------------------------------------------------------Basic MML things:
Channels ABCDEF are available. They are all pretty much the same. FM is only ava
ilable to channels A and B, samples only to channel F.
@WTx={
}
Wavetable. It should be 32 samples long, values can range from $0
0 --> $1f. The easiest way to make this is with heswav.
Wx
ne. Simple!
Nx
able.
Select a wavetable. 'A W1' would set channel A to use wavetable o
PLxx
PRxx
PCxx
Pxx
Left pan
Right pan
Center Pan
Pan
Don't set it and things will be centre panned
FS
FSOF
FF
'FM LFO' on.
'FM LFO' off.
'FM LFO' frequency.
Noise. 'B N1' would set channel B to use noise instead of a wavet
@vx={
}
Define a volume envelope. Numbers go to at least 29, I haven't tr
ied any higher. ;)
@vx
Select a volume envelope.
vx
Set channel volume. Note - this overrides any volume envelopes yo
u are using, and vice versa
--------------------------------------------------------
I think that's pretty much it!!
ant1 :)