TFM Music Maker
Moderator: BigEvilCorporation
TFM Music Maker
Hello, a friend send me his first TFM Music Maker release...
for the one who read KMod doc, you'll understand why I added a new format to my ym2612 instrument dump...
here his message:
----------------------------------------------
I released my tracker. You can get it here:
http://www.nedopc.com/TURBOSOUND/TFMMAK ... aker10.rar
Feel free to share it with SMD community.
Because documentation is available only in russian, I brief some info here:
Hotkeys for any mode:
Ctrl+O - open module
Ctrl+S - save module
F5 - play module from start
F6 - play module from current order-list position
F8 - play current pattern in loop
Escape - stop playing
Shift+Escape - reset FM device
Hotkeys for order-list editor:
0..9 - enter pattern number
Backspace - delete last digit of pattern number
L - set loop position
Insert - insert pattern with same number as in current position
Shift+Insert - insert new pattern with copy of content of current pattern
Ctrl+Insert - insert new empty pattern
Delete - delete current position
Up, Down - inc/dec pattern number in current position
Ctrl+Up, Ctrl+Down, Enter - switch to pattern editor
Hotkeys for pattern editor:
~ - increment autostep
Ctrl+~ - decrement autostep
Ctrl+0..9 - set autostep to 0..9
Up, Down, Left, Right - move cursor
Page Up, Page Down - move cursor up/down by some lines (16 by default, can
be changed in 'Editor' sheet)
Ctrl+Page Up, Ctrl+Page Down - change current position in order-list without
switching to order-list
Home - move cursor to first line of current pattern
End - move cursor to last line of current pattern
Numpad 1..8 - change current octave
Backspace - delete note in current channel, next notes moves up
Ctrl+Backspace - delete notes in all channels
Insert - insert empty note in current channel, next notes moves down
Ctrl+Insert - insert empty notes in all channels
Enter - hold to play track from current position
Ctrl+Enter - hold to play current pattern in loop, from current position
Delete - delete value from current cursor position
Ctrl+Space - clear whole channel field (note, instrument, volume, effect)
Ctrl+Delete - delete line
Shift+Up/Down/Left/Right - select block for block operations
Ctrl+X - cut block
Ctrl+C - copy block
Ctrl+V - paste block
Ctrl+D - delete block
Ctrl+U - unselect all
Ctrl+Up - switch to order-list editor
Effects:
0xy - arpeggio. MOD-like, but works from current note to next new note or to
effect 0ff
1xx - slide up (xx measured in 32th of semitone per frame)
2xx - slide down
3xx - portamento to note
4xy - vibrato (x=speed, y=depth)
8xx - operator #0 TL change (xx is direct value 00..7f, can be used at any
time)
9xx - operator #1 TL change
Axy - volume slide (non-zero x for slide up, y for slide down)
Cxx - operator #2 TL change
Dxx - operator #3 TL change
E0x - operator #0 MULT change (x is direct value 0..f, can be used at any
time)
E1x - operator #1 MULT change
E2x - operator #2 MULT change
E3x - operator #3 MULT change
EE0 - cancel of all TL/MULT/Feedback modification, can be used only with new
note
EFx - feedback (operator #0) change, can be used only with new note
Fxy - speed change. x, y measured in frames; x is speed for 'even' lines, y
for 'odds'; effect F0x sets interleaving of even/odds lines; effect F00 set
speed parameters from global speed settings
For SMD, just don't use SSG-EG values other than default.
Note that VGM exporter works not stable (can export OK, but sometimes
exports with errors). I'll fix it in later versions. I also plan to adapt
player code to SMD (it's not included in editor, because compiler is
external tool).
for the one who read KMod doc, you'll understand why I added a new format to my ym2612 instrument dump...
here his message:
----------------------------------------------
I released my tracker. You can get it here:
http://www.nedopc.com/TURBOSOUND/TFMMAK ... aker10.rar
Feel free to share it with SMD community.
Because documentation is available only in russian, I brief some info here:
Hotkeys for any mode:
Ctrl+O - open module
Ctrl+S - save module
F5 - play module from start
F6 - play module from current order-list position
F8 - play current pattern in loop
Escape - stop playing
Shift+Escape - reset FM device
Hotkeys for order-list editor:
0..9 - enter pattern number
Backspace - delete last digit of pattern number
L - set loop position
Insert - insert pattern with same number as in current position
Shift+Insert - insert new pattern with copy of content of current pattern
Ctrl+Insert - insert new empty pattern
Delete - delete current position
Up, Down - inc/dec pattern number in current position
Ctrl+Up, Ctrl+Down, Enter - switch to pattern editor
Hotkeys for pattern editor:
~ - increment autostep
Ctrl+~ - decrement autostep
Ctrl+0..9 - set autostep to 0..9
Up, Down, Left, Right - move cursor
Page Up, Page Down - move cursor up/down by some lines (16 by default, can
be changed in 'Editor' sheet)
Ctrl+Page Up, Ctrl+Page Down - change current position in order-list without
switching to order-list
Home - move cursor to first line of current pattern
End - move cursor to last line of current pattern
Numpad 1..8 - change current octave
Backspace - delete note in current channel, next notes moves up
Ctrl+Backspace - delete notes in all channels
Insert - insert empty note in current channel, next notes moves down
Ctrl+Insert - insert empty notes in all channels
Enter - hold to play track from current position
Ctrl+Enter - hold to play current pattern in loop, from current position
Delete - delete value from current cursor position
Ctrl+Space - clear whole channel field (note, instrument, volume, effect)
Ctrl+Delete - delete line
Shift+Up/Down/Left/Right - select block for block operations
Ctrl+X - cut block
Ctrl+C - copy block
Ctrl+V - paste block
Ctrl+D - delete block
Ctrl+U - unselect all
Ctrl+Up - switch to order-list editor
Effects:
0xy - arpeggio. MOD-like, but works from current note to next new note or to
effect 0ff
1xx - slide up (xx measured in 32th of semitone per frame)
2xx - slide down
3xx - portamento to note
4xy - vibrato (x=speed, y=depth)
8xx - operator #0 TL change (xx is direct value 00..7f, can be used at any
time)
9xx - operator #1 TL change
Axy - volume slide (non-zero x for slide up, y for slide down)
Cxx - operator #2 TL change
Dxx - operator #3 TL change
E0x - operator #0 MULT change (x is direct value 0..f, can be used at any
time)
E1x - operator #1 MULT change
E2x - operator #2 MULT change
E3x - operator #3 MULT change
EE0 - cancel of all TL/MULT/Feedback modification, can be used only with new
note
EFx - feedback (operator #0) change, can be used only with new note
Fxy - speed change. x, y measured in frames; x is speed for 'even' lines, y
for 'odds'; effect F0x sets interleaving of even/odds lines; effect F00 set
speed parameters from global speed settings
For SMD, just don't use SSG-EG values other than default.
Note that VGM exporter works not stable (can export OK, but sometimes
exports with errors). I'll fix it in later versions. I also plan to adapt
player code to SMD (it's not included in editor, because compiler is
external tool).
O_o bravo!
Great instrument editor too![Smile :)](./images/smilies/icon_smile.gif)
If i understand correctly, it just export as a sort of gym format? (big filesize, register dump each frame).
Shiro seems to be a tracker master (there are several tracks included in the .rar)... Well, each track sounds great![Very Happy :D](./images/smilies/icon_biggrin.gif)
Wow
héhé, now there is one reason less to don't make music on megadrive ![Very Happy :D](./images/smilies/icon_biggrin.gif)
Great instrument editor too
![Smile :)](./images/smilies/icon_smile.gif)
If i understand correctly, it just export as a sort of gym format? (big filesize, register dump each frame).
Shiro seems to be a tracker master (there are several tracks included in the .rar)... Well, each track sounds great
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Wow
![Very Happy :D](./images/smilies/icon_biggrin.gif)
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Some additional information.
First, I'll explain what is TFM (TurboSound FM), and why this tracker can be used to compose SMD music.
TFM is a new hobbyist sound board developed by russian ZX Spectrum enthusiasts (ZX scene is still alive here) for ZX Spectrum-compatible home computers. It uses two YM2203 chips (OPN, each chip has 3 FM channels). TFM Music Maker was written by me to support this device.
YM2612 chip, which used in SMD, is a one of next soundchips in same line (OPN2). So, features of FM synth in YM2203 and YM2612 is quite similar. Main differences: YM2203 has no DAC mode (so no PCM samples), no LFO, no stereo pan, but has SSG-EG feature, which can loop operators envelopes (YM2612 does not have this feature).
TFM Music Maker can be used to compose SMD music if you keep in mind difference between TFM and YM2612 - mainly in part of SSG-EG. Just don't use this feature in instruments for SMD music, and music will play identical both on TFM and SMD. TFM tracks which uses SSG-EG can sounds differ on SMD, especially in drum instruments, because SSG-EG is useful for creation of noise and drums sounds.
Dumps in TFD format is used for external 'compiler' tool (written by Alone Coder, not me), which removes repeating values from register dump, and packs data stream by LZ-like algorithm. Compiled tracks size is ~10KB. For example, my 'topgun' cover compiles into ~7KB. Compiler tool is not included into tracker package, and Z80 player is available only for ZX. I plan to adapt player for SMD's Z80 later.
First, I'll explain what is TFM (TurboSound FM), and why this tracker can be used to compose SMD music.
TFM is a new hobbyist sound board developed by russian ZX Spectrum enthusiasts (ZX scene is still alive here) for ZX Spectrum-compatible home computers. It uses two YM2203 chips (OPN, each chip has 3 FM channels). TFM Music Maker was written by me to support this device.
YM2612 chip, which used in SMD, is a one of next soundchips in same line (OPN2). So, features of FM synth in YM2203 and YM2612 is quite similar. Main differences: YM2203 has no DAC mode (so no PCM samples), no LFO, no stereo pan, but has SSG-EG feature, which can loop operators envelopes (YM2612 does not have this feature).
TFM Music Maker can be used to compose SMD music if you keep in mind difference between TFM and YM2612 - mainly in part of SSG-EG. Just don't use this feature in instruments for SMD music, and music will play identical both on TFM and SMD. TFM tracks which uses SSG-EG can sounds differ on SMD, especially in drum instruments, because SSG-EG is useful for creation of noise and drums sounds.
At this time - yes, it has export in native *.TFD format (GYM/VGM-like) and *.VGM. These formats are just register dump, like you said.If i understand correctly, it just export as a sort of gym format? (big filesize, register dump each frame).
Dumps in TFD format is used for external 'compiler' tool (written by Alone Coder, not me), which removes repeating values from register dump, and packs data stream by LZ-like algorithm. Compiled tracks size is ~10KB. For example, my 'topgun' cover compiles into ~7KB. Compiler tool is not included into tracker package, and Z80 player is available only for ZX. I plan to adapt player for SMD's Z80 later.
-
- Very interested
- Posts: 3131
- Joined: Thu Nov 30, 2006 9:46 pm
- Location: France - Sevres
- Contact:
It's cool to have a new sound editor tool for the sega Genesis, that was missing. We have the MVS Tracker tool but it seems somewhat limited (4 channels only ?). I'll test it immediatly !Shiru wrote:Some additional information.
First, I'll explain what is TFM (TurboSound FM), and why this tracker can be used to compose SMD music.
TFM is a new hobbyist sound board developed by russian ZX Spectrum enthusiasts (ZX scene is still alive here) for ZX Spectrum-compatible home computers. It uses two YM2203 chips (OPN, each chip has 3 FM channels). TFM Music Maker was written by me to support this device.
YM2612 chip, which used in SMD, is a one of next soundchips in same line (OPN2). So, features of FM synth in YM2203 and YM2612 is quite similar. Main differences: YM2203 has no DAC mode (so no PCM samples), no LFO, no stereo pan, but has SSG-EG feature, which can loop operators envelopes (YM2612 does not have this feature).
TFM Music Maker can be used to compose SMD music if you keep in mind difference between TFM and YM2612 - mainly in part of SSG-EG. Just don't use this feature in instruments for SMD music, and music will play identical both on TFM and SMD. TFM tracks which uses SSG-EG can sounds differ on SMD, especially in drum instruments, because SSG-EG is useful for creation of noise and drums sounds.
At this time - yes, it has export in native *.TFD format (GYM/VGM-like) and *.VGM. These formats are just register dump, like you said.If i understand correctly, it just export as a sort of gym format? (big filesize, register dump each frame).
Dumps in TFD format is used for external 'compiler' tool (written by Alone Coder, not me), which removes repeating values from register dump, and packs data stream by LZ-like algorithm. Compiled tracks size is ~10KB. For example, my 'topgun' cover compiles into ~7KB. Compiler tool is not included into tracker package, and Z80 player is available only for ZX. I plan to adapt player for SMD's Z80 later.
By the way, the YM2612 has SSG-EG env support, it was my last addition to my YM2612 emulator but it's *very rarely* used on the sega genesis. As far i know only 1 sega megadrive game use it. As soon i implemented it in Gens, the music in this game was fixed
![Smile :)](./images/smilies/icon_smile.gif)
Edit : TFM rocks, your music rocks, thanks a ton Shiru
![Smile :)](./images/smilies/icon_smile.gif)
Do you sure about it, did you check it on real hardware?Stef wrote:By the way, the YM2612 has SSG-EG env support, it was my last addition to my YM2612 emulator but it's *very rarely* used on the sega genesis. As far i know only 1 sega megadrive game use it.
I'm almost sure because all available docs about YM2612 does not contain information about registers #90..#9E (meanwhile datasheet for YM2203 has such information), and all YM2612 emulators does not have SSG-EG support, including one from MAME (there one code used for all OPN line emulation, and SSG-EG support enabled only for YM2203). Additionally, YM2203 has SSG part (YM2149F compatible, i.e. 3 FM + 3 PSG channels per chip), and YM2612 does not. I assume that SSG part and SSG-EG can be somehow connected in hardware implementation.
Which game uses SSG-EG on SMD? Can you record sound from this game from real console (to compare how it affect to sound)?
Ok, can you point to exact bgm's in these games, which uses SSG-EG? Then I'll test it on TFM (we already have converter/player for GYM's), to determine, is that feature works same way as on YM2203.
I see there is SSG-EG enabling option in new versions of Gens32. I tried to switch it on/off in games listed above, and that make no difference.
I see there is SSG-EG enabling option in new versions of Gens32. I tried to switch it on/off in games listed above, and that make no difference.
It's used in nearly all of the BGM. Try Asterix BGM 02 and Bubba N Stix BGM 05.
You may want to focus on the sound fx. I ran through them with GensKMod and each of the following fx set the register on at least one operator (on channel 6):
Asterix SFX 2, 3, 4, 5, 6, 9, 23, 24, 34, 37, 38, 46, 47, 48, 49, 51, 52, 53, 55, 62, 63
Bubba N Stix SFX 2, 8, 9, 10, 15, 16, 32, 34, 36, 37, 52, 53, 54, 55, 56, 57, 69, 70, 74, 76, 77, 79, 89, 90, 92, 93, 100, 101, 114, 115, 124, 125
BTW, along with Asterix and Bubba N Stix, Skeleton Krew does the same. All three have music and sound fx (and driver) created by Nathan McCree.
You may want to focus on the sound fx. I ran through them with GensKMod and each of the following fx set the register on at least one operator (on channel 6):
Asterix SFX 2, 3, 4, 5, 6, 9, 23, 24, 34, 37, 38, 46, 47, 48, 49, 51, 52, 53, 55, 62, 63
Bubba N Stix SFX 2, 8, 9, 10, 15, 16, 32, 34, 36, 37, 52, 53, 54, 55, 56, 57, 69, 70, 74, 76, 77, 79, 89, 90, 92, 93, 100, 101, 114, 115, 124, 125
BTW, along with Asterix and Bubba N Stix, Skeleton Krew does the same. All three have music and sound fx (and driver) created by Nathan McCree.
-
- Very interested
- Posts: 3131
- Joined: Thu Nov 30, 2006 9:46 pm
- Location: France - Sevres
- Contact:
Never tested on real hardware but the game i was talking about sounding very weird without that feature. I'll try to find the game which use it.Shiru wrote:Do you sure about it, did you check it on real hardware?Stef wrote:By the way, the YM2612 has SSG-EG env support, it was my last addition to my YM2612 emulator but it's *very rarely* used on the sega genesis. As far i know only 1 sega megadrive game use it.
I'm almost sure because all available docs about YM2612 does not contain information about registers #90..#9E (meanwhile datasheet for YM2203 has such information), and all YM2612 emulators does not have SSG-EG support, including one from MAME (there one code used for all OPN line emulation, and SSG-EG support enabled only for YM2203). Additionally, YM2203 has SSG part (YM2149F compatible, i.e. 3 FM + 3 PSG channels per chip), and YM2612 does not. I assume that SSG part and SSG-EG can be somehow connected in hardware implementation.
Which game uses SSG-EG on SMD? Can you record sound from this game from real console (to compare how it affect to sound)?
On the sega2.doc file, the SSG-EG registers are just said as "reserved, don't use it" but they are referenced as SSG-EG enveloppe type. And i implemented it in this way in Gens. In fact i added some bug with the SSG-EG support, not tested it enough :p it's why you can disable it.
I'll try to find the game which need it (it was a japanese formula one game), and test it on real hardware...
Edit : i found these 2 samples on my HD for comparaison, unfortunatly they are named in a way i can't get the game title :
correct sample
wrong sample
maybe someone will be able to find the game name, i can't remember myself :-/
Last edited by Stef on Sun Apr 08, 2007 11:38 am, edited 4 times in total.
-
- Very interested
- Posts: 3131
- Joined: Thu Nov 30, 2006 9:46 pm
- Location: France - Sevres
- Contact:
Are you sure ? i though only 1 game use this feature. In fact maybe they use it but in a way we can't really heard the difference...TascoDLX wrote:Asterix and Bubba N Stix use it quite a bit. Shining Force 2 uses it to a lesser degree but doesn't have the handy sound test feature.Shiru wrote:Which game uses SSG-EG on SMD?
Edit :
The SGG-EG support is present in the YM2612 but is somewhat buggy, it's why sega marqued it as "reserved" (i got that from Steve Snake on another board).
-
- Very interested
- Posts: 2442
- Joined: Tue Dec 05, 2006 1:37 pm
- Location: Estonia, Rapla City
- Contact:
TFMmaker is so awesome, very simple and very powerful !!!
I got my flashcart working, and I can test and record the sound of any game you want.
I got my flashcart working, and I can test and record the sound of any game you want.
Mida sa loed ? Nagunii aru ei saa ![Wink ;)](./images/smilies/icon_wink.gif)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
![Wink ;)](./images/smilies/icon_wink.gif)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
The three Nathan McCree games use it quite a lot. It's hard to imagine that there wouldn't be a discernable difference in at least one case.Stef wrote:Are you sure ? i though only 1 game use this feature. In fact maybe they use it but in a way we can't really heard the difference...
Also, any game I've found to use it may set any of the bits, not just the bottom four bits (e.g., F0, C0, 38, 1E, 10, 0D, 08....). So if it is SSG-EG, it doesn't appear to work exactly like it does on the YM2203.
-
- Very interested
- Posts: 2442
- Joined: Tue Dec 05, 2006 1:37 pm
- Location: Estonia, Rapla City
- Contact:
I recorded Chainsaw sound from Beavis and Butthead from real hardware http://www.hot.ee/tmeeco/CHAINSAW.OGG
Only Fusion sounds like so, other emus don't.
SSG-EG is used to make this SFX.
Only Fusion sounds like so, other emus don't.
SSG-EG is used to make this SFX.
Mida sa loed ? Nagunii aru ei saa ![Wink ;)](./images/smilies/icon_wink.gif)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
![Wink ;)](./images/smilies/icon_wink.gif)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
-
- Very interested
- Posts: 2442
- Joined: Tue Dec 05, 2006 1:37 pm
- Location: Estonia, Rapla City
- Contact:
Actually I've already done it. Also I tried to record the BGM like so, that emu plays from 1 speaker and MD from another, but emu ran faster.TascoDLX wrote:If you get a chance, check Asterix BGM 02 (just the first 15 seconds). Fusion plays part of the intro muted and I'm not sure if this is intentional.
I'm at home so I can't upload the file (I H8 dial-up).
Mida sa loed ? Nagunii aru ei saa ![Wink ;)](./images/smilies/icon_wink.gif)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
![Wink ;)](./images/smilies/icon_wink.gif)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen