update format.md for better GitHub compat

This commit is contained in:
tildearrow 2022-02-27 00:28:16 -05:00
parent 0b8372b44b
commit 3e3d42a76a

View file

@ -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.