Chat

Author Topic: .DMF Specs  (Read 30900 times)

Alriightyman

  • Guest
.DMF Specs
« Reply #15 on: April 06, 2013, 12:07:12 AM »
I have a few Questions.  (These are specifically for the Sega Genesis)
1. In the WAVETABLES data, if the TOTAL_WAVETABLES is 0, are the next 4 bytes still considered and in the file?  Or does it immediately go into patten data?
2. What are the NOTE values?  Would C#-0  be 0?
EDIT:   I think I figured out the notes.
C  - 1, C# - 2, D  - 3, D# - 4, E  - 5, F  - 6, F# - 7, G  - 8, G# - 9, A  - A, A# - B, B  - C
So, my new question is what is 0?  Is is the same as the last note played?
3. Is Octave value 0 - 8?  Also, what are Effect code values( Not Effect Value )?
4. Are LFO and LFO2 the same as FMS and AMS?
5. RS is listed in the program but not in the file format for FM instruments. I am assuming KSR is the equivalent.  Am I right?  Also, is KSR supposed to be listed twice in the FM istrument format?

I am thinking about writing a program to convert from dmf to the genesis SMPS format.  But these few things are stopping me.
I appreciate any help thanks!
« Last Edit: April 06, 2013, 12:31:32 AM by Alriightyman »

Offline Delek

  • Salí para ver
  • Administrator
  • Hero Member
  • Posts: 1765
    • Delek's Website
    • Email
.DMF Specs
« Reply #16 on: April 06, 2013, 01:51:18 AM »
1.
As the doc says:
* 1 Byte: TOTAL_WAVETABLES
* Repeat this TOTAL_WAVETABLES times
If there is 0 TOTAL_WAVES, all inside the block "REPEAT THIS" disappear. It immediately go into pattern data.

2. Thanks for reporting that, I forget to add the note values list. The list will be added on the file format now:
NOTES:
01 C#
02 D-
03 D#
04 E-
05 F-
06 F#
07 G-
08 G#
09 A-
10 A#
11 B-
12 C-

Special cases:
Note = 0 and octave = 0 means NO NOTE.
Note = 100 means NOTE OFF, no matter what is inside the octave value.

3. Octave value can go from 0 to the system max_octave value. Some systems has more octave range than others.
Effect code is the selected effect, for example:
0B = POSITION JUMP, then 0B 02 means POSITION JUMP to PATTERN 02.
EFFECT CODE, EFFECT VALUE
0B 02


4. Yes, FMS = LFO, AMS = LFO2. I will add this on the specs.

5. Yes, it is KSR. The first KSR is a reserved value and must be 0, it was a type error. Fixed.


All issues are corrected, please reload the specs file. Thanks.
« Last Edit: April 06, 2013, 02:00:04 AM by Delek »

FlashingYoshi

  • Guest
.DMF Specs
« Reply #17 on: April 19, 2013, 11:03:12 PM »
I am thinking about writing a program to convert from dmf to the genesis SMPS format.  But these few things are stopping me.
I appreciate any help thanks!
I honestly would appreciate this very much!

CountSymphoniC

  • Guest
.DMF Specs
« Reply #18 on: October 10, 2014, 03:34:59 PM »
Hey Delek, I sent you a PM over at Chipmusic in regards to adding support for Deflemask's standard for Tracker commands/effects, and another tidbit of a request. Good day.

Offline Delek

  • Salí para ver
  • Administrator
  • Hero Member
  • Posts: 1765
    • Delek's Website
    • Email
.DMF Specs
« Reply #19 on: October 12, 2014, 01:02:38 PM »
Replied, thanks.

Kabuto

  • Guest
.DMF Specs
« Reply #20 on: March 08, 2015, 10:11:32 PM »
Some issues I found when parsing a Genesis file after reading the specs (version 10c for both specs and tracker):

* FM instruments all have TOTAL_OPS == 0, and there are 4 operators present, and not 2 like the docs claim
* The loop position is omitted in empty envelopes
* There's an extra zero byte at the song end (in the decompressed stream) that's not documented
* Are character sets just plain ASCII and no specific character set? I guess yes since the GUI won't accept non-ASCII characters

Offline Delek

  • Salí para ver
  • Administrator
  • Hero Member
  • Posts: 1765
    • Delek's Website
    • Email
.DMF Specs
« Reply #21 on: March 08, 2015, 11:23:29 PM »
Thanks Kabuto.
* FM instruments all have TOTAL_OPS == 0, and there are 4 operators present, and not 2 like the docs claim
Yes, actually if a FM soundchip has only ONE possible setup of total operators, that byte is useless. It is there just for systems like the YMU759 and other OPL soundchips capables of set the operator numbers. DefleMask only uses that byte on YMU759 at the moment.
I will add this information in the specs.
* There's an extra zero byte at the song end (in the decompressed stream) that's not documented
Strange. The samples count maybe? Try to load a sample, that number should be 1/2/3 and after that the sample stream data.
* Are character sets just plain ASCII and no specific character set? I guess yes since the GUI won't accept non-ASCII characters
Yes, this can be found in the very first page of the DefleMask's manual.
"* Current DefleMask character support: ASCII"

Kabuto

  • Guest
.DMF Specs
« Reply #22 on: March 09, 2015, 12:37:35 AM »
* There's an extra zero byte at the song end (in the decompressed stream) that's not documented
Strange. The samples count maybe? Try to load a sample, that number should be 1/2/3 and after that the sample stream data.
Just re-checked, this was with samples loaded, it's clearly a byte that comes after sample data. Though I have used Java's built-in InflaterInputStream for decompression, maybe that plays a role.

Offline cigueso

  • Newbie
  • Posts: 2
  • Delek FTW
.DMF Specs
« Reply #23 on: January 05, 2016, 12:24:32 PM »
Hi,

I am currently writing a DMF file parser/reader, and unless I did something wrong,
it seems like there is one undocumented byte between TOTAL_ROWS_IN_PATTERN_MATRIX and PATTERN MATRIX VALUES.

I am using DefleMask v11 on Mac. On both the demo songs Last Battle and Magician Domain (PC Engine) this byte is equal to 1.
Thank you for any information about this.

Offline Delek

  • Salí para ver
  • Administrator
  • Hero Member
  • Posts: 1765
    • Delek's Website
    • Email
.DMF Specs
« Reply #24 on: January 05, 2016, 12:46:24 PM »
Sorry, that value was removed, it was the Arpeggio Tick speed and now it is an effect-controlled-value rather than a global one. Specs are for version 11.1 and the module you are trying to open is for version 11.

I added a note in the specs to clarify this, thanks for the report.
« Last Edit: January 05, 2016, 12:49:34 PM by Delek »

Offline cigueso

  • Newbie
  • Posts: 2
  • Delek FTW
.DMF Specs
« Reply #25 on: January 05, 2016, 01:16:56 PM »
Please dont be sorry, thank YOU for the quick answer and this great tracker !
( if only for the SMS support i was always hoping for :) )

Offline tildearrow

  • Member
  • Posts: 104
  • Defle FTW
    • tildearrow
    • Email
.DMF Specs
« Reply #26 on: January 06, 2016, 03:42:54 PM »
May I ask where can I get the old specs with YMU759 information?

Offline Delek

  • Salí para ver
  • Administrator
  • Hero Member
  • Posts: 1765
    • Delek's Website
    • Email
.DMF Specs
« Reply #27 on: January 06, 2016, 04:28:29 PM »
Why do you need them? It should be on my old backups, but you can open a YMU759 .dmf with an old DefleMask version, edit the patterns, change the system and save it to open it in the new Defle.

Offline tildearrow

  • Member
  • Posts: 104
  • Defle FTW
    • tildearrow
    • Email
.DMF Specs
« Reply #28 on: January 06, 2016, 06:21:47 PM »
Because I'm writing a program which exports to another format and I want it to support YMU759.
And although I could, I don't think I'll be able to fit 17 channels in 10...

Offline LeCheeseMaster16

  • Jr. Member
  • Posts: 60
  • I like cheese :)
.DMF Specs
« Reply #29 on: January 06, 2016, 06:36:59 PM »
Someone should really create a program that can rip game music to .dmf files. For example, Sega genesis game? it will be placed into a file that has all the ripped sega genesis music on that game. Same as gameboy/SMS/NES/Gameboy/Commondor 64. idk if it might be a good idea, but if someone makes that type of program, I would love it instantly. If its out on beta, can you PM me the link for that program?
youtube channel

Create and perform musics for a living :D