Have disected various parts of the file format, most of what I'm needing is at the end of the file, netlist, part lists, and package outlines, but one thing that's truly confounding (frustrating!) me is that in the part definitions the way they're referencing the network list is leaving me stumped. I can see the values they're using but there seems to be an intermediate table involved somewhere.
~1800 nets in this file, we we'll assume this format doesn't cripple itself, and uses a 32-bit uint but in the part structure, which ties together package, placement, pins, the pins have what seems more like a 16-bit reference with an odd behaviour, that it increments by 8 most times it's used on a chip, ie, all the GND pins on a chip, first one might be 0xD0C4, next one will be 0xD8C4, then 0xE0C4 ( little endian, sorry )
Normally you'd anticipate that the pin would just refer back to the one fixed network table entry, I'm sure there's a reason but it's *beeep*ing me right off.
There also seems to be no real rhyme/reason for the initial base value (yet)
Consider a connector ( see image of hex dump ), pins 8, 10, 14, 19 and 20 are GND and you can see they have a '9C' byte (4th column), and it also has NC pins 16,17, and 18 which have '17' byte in 4th column