Specification
Always 128 bytes long. First goes 4 blocks with operators parameters, 16 bytes each:
+0 - D0..D3 Multiple, D4..D7 Detune
+1 - Total Level
+2 - D0..D4 Attack, D6..D7 Rate Scaling
+3 - D0..D4 Decay
+4 - D0..D4 Sustain
+5 - D0..D3 Release, D4..D7 Release Level
Next goes 16 bytes with algo and feedback:
+0 - Algo
+1 - Feedback
And next goes 3 blocks, 16 bytes each, and each contains string with ROM filename. All unused bytes in blocks contains 0.
Links
- Shiru's post explaining 
.y12, .ins, .tfi and .dat formats. 
Programs
Libraries