About 3dn format. I used protobuf-net. The header is very simple:
[ProtoMember(1)]
public string Title; // should be "3dn"
[ProtoMember(2)]
public string Ver;
For the current version, Ver should be "2.0". That's it. 3dn files are independent with rom files in the sense that it will work with different versions of the same game.
About Youtube videos you are more than welcome.