-
Notifications
You must be signed in to change notification settings - Fork 27
Dn‐FamiTracker module file format specification (.dnm) v4.50
Persune edited this page Oct 14, 2023
·
10 revisions
- Incomplete!
- This text aims to document the binary module file format as of Dn-FamiTracker v0.5.0.1. Each section is declared sequentially as it appears in the file.
- Data is stored little-endian unless specified otherwise.
- String encoding is always ASCII.
Declared type | Name | Size (in bytes) | Data example | Description | Notes |
---|---|---|---|---|---|
const char* (C-style string) |
FILE_HEADER_ID or FILE_HEADER_ID_DN
|
length of C-style string |
FamiTracker Module , Dn-FamiTracker Module
|
Identifier string | in Dn-FT v0.5.0.0, this was changed to Dn-FamiTracker Module for non-backwards compatibility of new features. |
unsigned int (uint32_t) | FILE_VER |
4 | 0x0450 | Module version | Version number is formatted as BCD (ex. 4.50) |
- Information is based on
DocumentFile.cpp CDocumentFile::BeginDocument()
andFamiTrackerDoc.cpp CFamiTrackerDoc::SaveDocument()
- Modules saved in Dn-FamiTracker v0.5.0.0 and later may save modules with
FILE_HEADER_ID_DN
identifiers, to prevent older FamiTracker versions from reading non-backwards compatible data such asFILE_BLOCK_JSON
andFILE_BLOCK_PARAMS_EMU
.
- Information is based on
CFamiTrackerDoc::WriteBlock_Parameters()