Chat

Author Topic: .DMF Specs  (Read 36483 times)

Offline tildearrow

  • Member
  • Posts: 105
  • Defle FTW
    • tildearrow
    • Email
.DMF Specs
« Reply #30 on: January 06, 2016, 08:16:18 PM »
Something isn't right here...
http://i.imgur.com/AYaYUWs.png

In the Instruments part of a Genesis DefleMask file, in the FM part of any instrument there should be 52 bytes (4 for the header and 48 for the oscillators). Why do we have some extra bytes? Are they undocumented or remainders from older versions?

Offline Delek

  • Salí para ver
  • Administrator
  • Hero Member
  • Posts: 1795
    • Delek's Website
    • Email
.DMF Specs
« Reply #31 on: January 06, 2016, 08:32:02 PM »
That file has VERSION_NUMBER 0x12 (really old), so you will find, for sure, surprises if you use a specs from version 0x14 (v11.1)
Your parser needs to check this and shouldn't accept that file.

EDIT:
Here you have some old specs if you want, I recovered them from backups:
http://www.delek.com.ar/soft/deflemask/DMF_SPECS_0x11.txt
http://www.delek.com.ar/soft/deflemask/DMF_SPECS_0x12.txt
http://www.delek.com.ar/soft/deflemask/DMF_SPECS_0x13.txt
« Last Edit: January 06, 2016, 08:41:50 PM by Delek »

Offline tildearrow

  • Member
  • Posts: 105
  • Defle FTW
    • tildearrow
    • Email
.DMF Specs
« Reply #32 on: January 06, 2016, 08:36:13 PM »
Now it was all about the reserved bytes. Thank you SO much!!  :D

Offline Delek

  • Salí para ver
  • Administrator
  • Hero Member
  • Posts: 1795
    • Delek's Website
    • Email
.DMF Specs
« Reply #33 on: January 06, 2016, 08:42:12 PM »
You're welcome, check out the EDIT of my previous post (I added 0x12 version specs)

Offline tildearrow

  • Member
  • Posts: 105
  • Defle FTW
    • tildearrow
    • Email
.DMF Specs
« Reply #34 on: January 17, 2016, 04:27:13 AM »
Oh and umm... System number 71 (which is Commodore 64 with the 6581 chip) is not documented...

Offline Delek

  • Salí para ver
  • Administrator
  • Hero Member
  • Posts: 1795
    • Delek's Website
    • Email
.DMF Specs
« Reply #35 on: January 17, 2016, 11:33:26 AM »
Yeah, I have to update it with "modes" in the system. That is the most significant nibble in the SYSTEM byte, used in C64 and Genesis with Ext.CH3 mode.

Offline Pegmode

  • Member
  • Posts: 131
  • Allergic to FM
.DMF Specs
« Reply #36 on: March 19, 2017, 12:22:23 AM »
Hey could we by chance get the .dmw specs? I've pulled them apart and understand the relatively well but I've seen some big inconsistencies in between the demo .dmw files and custom ones generated by Deflemask. I'm currently working on a project that requires this knowledge.

Demo .dmw vs Deflemask generated .dmw:


Offline SeregaZ

  • Newbie
  • Posts: 14
  • Delek FTW
.DMF Specs
« Reply #37 on: January 17, 2018, 03:38:59 PM »
i am not understand how unpack it too :) my old code, that unpack VGZ to VGM work fine. i try to use same for DMF... and nothing. you sure it was zlib? i thought i am do something wrong and download zlib unpacker program - it cant to unpack too. any 7z can unpack VGZ, but they cant unpack DMF. it some conspiracy :) for VGZ - i am read last 4 bytes - it have unpacked size of file. it need for allocate memory for unpacked data. when i try to read same last 4 bytes - DMF have negative value. it is a little strange.

maybe you can make some options for save? i mean save as normal - packed, and save as unpacked for user choice for save.

Offline cyberic

  • Newbie
  • Posts: 4
  • Delek FTW
.DMF Specs
« Reply #38 on: January 17, 2018, 08:57:49 PM »
Oh and umm... System number 71 (which is Commodore 64 with the 6581 chip) is not documented...
Is there an existing vgm player for c64 .vgm files?

Offline SeregaZ

  • Newbie
  • Posts: 14
  • Delek FTW
.DMF Specs
« Reply #39 on: January 18, 2018, 12:11:31 PM »
cyberic, probably this chip is not support by vgm. i didnt see it in specification: http://vgmrips.net/wiki/VGM_Specification

****************

how to understand this part?
Code: [Select]
//SYSTEM SET
1  Byte:  System:
  SYSTEM_GENESIS 0x02 (SYSTEM_TOTAL_CHANNELS 10)
  SYSTEM_GENESIS (EXT. CH3) 0x12(SYSTEM_TOTAL_CHANNELS 13)
  SYSTEM_SMS 0x03 (SYSTEM_TOTAL_CHANNELS 4)
  SYSTEM_GAMEBOY 0x04 (SYSTEM_TOTAL_CHANNELS 4)
  SYSTEM_PCENGINE 0x05 (SYSTEM_TOTAL_CHANNELS 6)
  SYSTEM_NES 0x06 (SYSTEM_TOTAL_CHANNELS 5)
  SYSTEM_C64 (SID 8580) 0x07 (SYSTEM_TOTAL_CHANNELS 3)
  SYSTEM_C64 (SID 6581) 0x17 (SYSTEM_TOTAL_CHANNELS 3)
  SYSTEM_YM2151 0x08      (SYSTEM_TOTAL_CHANNELS 13)

in my case this value is 0x42 i thought to see 0x02 - sega mega drive. what the 0x42???

Offline cyberic

  • Newbie
  • Posts: 4
  • Delek FTW
.DMF Specs
« Reply #40 on: January 18, 2018, 12:44:15 PM »
cyberic, probably this chip is not support by vgm. i didnt see it in specification: http://vgmrips.net/wiki/VGM_Specification
Yes because ValleyBell and Delek disagreed...
See http://vgmrips.net/forum/viewtopic.php?f=3&t=342&start=0
I was asking because I wondered if the developers had used a specific tool to test the .vgm output of a c64 system

Offline SeregaZ

  • Newbie
  • Posts: 14
  • Delek FTW
.DMF Specs
« Reply #41 on: January 19, 2018, 07:14:31 AM »
still didnt understand what the //SYSTEM SET 0x42 value? it says 0x02 or 0x12 must be for sega genesis.

and what a ext 3??? what a genesis support that? where do you get 13 channels? if always was 10. FM 6 and PSG 4. i know special mode for third channel Ch3mode, but it is not 4 additional channels. it is one channel.