update format.md for better GitHub compat
This commit is contained in:
parent
0b8372b44b
commit
3e3d42a76a
|
@ -4,6 +4,8 @@ while Furnace works directly with the .dmf format, I had to create a new format
|
||||||
|
|
||||||
this document has the goal of detailing the format.
|
this document has the goal of detailing the format.
|
||||||
|
|
||||||
|
**notice:** GitHub's Markdown formatter may break on this file as it doesn't seem to treat tables correctly.
|
||||||
|
|
||||||
# information
|
# information
|
||||||
|
|
||||||
files may be zlib-compressed, but Furnace accepts uncompressed files as well.
|
files may be zlib-compressed, but Furnace accepts uncompressed files as well.
|
||||||
|
@ -73,6 +75,7 @@ the format versions are:
|
||||||
|
|
||||||
the header is 32 bytes long.
|
the header is 32 bytes long.
|
||||||
|
|
||||||
|
```
|
||||||
size | description
|
size | description
|
||||||
-----|------------------------------------
|
-----|------------------------------------
|
||||||
16 | "-Furnace module-" format magic
|
16 | "-Furnace module-" format magic
|
||||||
|
@ -80,9 +83,11 @@ size | description
|
||||||
2 | reserved
|
2 | reserved
|
||||||
4 | song info pointer
|
4 | song info pointer
|
||||||
8 | reserved
|
8 | reserved
|
||||||
|
```
|
||||||
|
|
||||||
# song info
|
# song info
|
||||||
|
|
||||||
|
```
|
||||||
size | description
|
size | description
|
||||||
-----|------------------------------------
|
-----|------------------------------------
|
||||||
4 | "INFO" block ID
|
4 | "INFO" block ID
|
||||||
|
@ -209,9 +214,11 @@ size | description
|
||||||
STR | song comment
|
STR | song comment
|
||||||
4f | master volume, 1.0f=100% (>=59)
|
4f | master volume, 1.0f=100% (>=59)
|
||||||
| this is 2.0f for modules before 59
|
| this is 2.0f for modules before 59
|
||||||
|
```
|
||||||
|
|
||||||
# instrument
|
# instrument
|
||||||
|
|
||||||
|
```
|
||||||
size | description
|
size | description
|
||||||
-----|------------------------------------
|
-----|------------------------------------
|
||||||
4 | "INST" block ID
|
4 | "INST" block ID
|
||||||
|
@ -419,9 +426,11 @@ size | description
|
||||||
4 | DT macro release
|
4 | DT macro release
|
||||||
4 | D2R macro release
|
4 | D2R macro release
|
||||||
4 | SSG-EG macro release
|
4 | SSG-EG macro release
|
||||||
|
```
|
||||||
|
|
||||||
# wavetable
|
# wavetable
|
||||||
|
|
||||||
|
```
|
||||||
size | description
|
size | description
|
||||||
-----|------------------------------------
|
-----|------------------------------------
|
||||||
4 | "WAVE" block ID
|
4 | "WAVE" block ID
|
||||||
|
@ -431,9 +440,11 @@ size | description
|
||||||
4 | wavetable min
|
4 | wavetable min
|
||||||
4 | wavetable max
|
4 | wavetable max
|
||||||
4?? | wavetable data
|
4?? | wavetable data
|
||||||
|
```
|
||||||
|
|
||||||
# sample
|
# sample
|
||||||
|
|
||||||
|
```
|
||||||
size | description
|
size | description
|
||||||
-----|------------------------------------
|
-----|------------------------------------
|
||||||
4 | "SMPL" block ID
|
4 | "SMPL" block ID
|
||||||
|
@ -461,9 +472,11 @@ size | description
|
||||||
??? | sample data
|
??? | sample data
|
||||||
| - version<58 size is length*2
|
| - version<58 size is length*2
|
||||||
| - version>=58 size is length
|
| - version>=58 size is length
|
||||||
|
```
|
||||||
|
|
||||||
# pattern
|
# pattern
|
||||||
|
|
||||||
|
```
|
||||||
size | description
|
size | description
|
||||||
-----|------------------------------------
|
-----|------------------------------------
|
||||||
4 | "PATR" block ID
|
4 | "PATR" block ID
|
||||||
|
@ -480,11 +493,13 @@ size | description
|
||||||
| - volume
|
| - volume
|
||||||
| - effect and effect data...
|
| - effect and effect data...
|
||||||
STR | pattern name (>=51)
|
STR | pattern name (>=51)
|
||||||
|
```
|
||||||
|
|
||||||
# the Furnace instrument format (.fui)
|
# the Furnace instrument format (.fui)
|
||||||
|
|
||||||
the instrument format is pretty similar to the file format, but it also stores wavetables and samples used by the instrument.
|
the instrument format is pretty similar to the file format, but it also stores wavetables and samples used by the instrument.
|
||||||
|
|
||||||
|
```
|
||||||
size | description
|
size | description
|
||||||
-----|------------------------------------
|
-----|------------------------------------
|
||||||
16 | "-Furnace instr.-" format magic
|
16 | "-Furnace instr.-" format magic
|
||||||
|
@ -496,6 +511,7 @@ size | description
|
||||||
4 | reserved
|
4 | reserved
|
||||||
4?? | pointers to wavetables
|
4?? | pointers to wavetables
|
||||||
4?? | pointers to samples
|
4?? | pointers to samples
|
||||||
|
```
|
||||||
|
|
||||||
instrument data follows.
|
instrument data follows.
|
||||||
|
|
||||||
|
@ -503,10 +519,12 @@ instrument data follows.
|
||||||
|
|
||||||
similar to the instrument format...
|
similar to the instrument format...
|
||||||
|
|
||||||
|
```
|
||||||
size | description
|
size | description
|
||||||
-----|------------------------------------
|
-----|------------------------------------
|
||||||
16 | "-Furnace waveta-" format magic
|
16 | "-Furnace waveta-" format magic
|
||||||
2 | format version
|
2 | format version
|
||||||
2 | reserved
|
2 | reserved
|
||||||
|
```
|
||||||
|
|
||||||
wavetable data follows.
|
wavetable data follows.
|
||||||
|
|
Loading…
Reference in a new issue