Format Specification - Sage-of-Mirrors/SuperBMD GitHub Wiki

Header

The header of a Binary Model is 32 bytes long, consisting of the magic, the file size, the section count, and a padding section.

Offset Size Name Description
0x00 8 Magic The identifier of the model. In BMDs, this is J3d2bmd3, and in BDLs it is j3d2bdl4.
0x08 4 File Size The size of the entire file, in bytes.
0x0C 4 Section Count The number of sections in the file. In BMDs, this is 8. In BDLs, this is 9.
0x10 16 SVR3 A dummy section with no purpose other than padding the header. It is not counted in the Section Count.

Magic

The magic of the model is a version identifier. It has two parts: the library version and the model format version. Since BMD and BDL came from Nintendo's J3D library, the library version consists of the letters J3D followed by a number. The model format version is the model type followed by a number. For example, BDLs have the format version bdl4.

The magic of BMDs found in retail games is J3D2bmd3, meaning that they are from the second revision of the J3D library and follow the third revision of the BMD format. BDLs contain J3D2bdl4, suggesting that they are the fourth revision of the BDL format.

The GameCube's BIOS contains BMDs with the magic J3D1bmd1. This means that those BMDs were some of the first to be created, as they are from the first revision of the J3D library and the first version of the BMD format.