below began drafting right after previous but was interruption. storage cable coming soon, maybe tomorrow
> > > so! What are the t60 magi boardview files? > > > > > > I don’t really know. If you websearch for T60 schematics you might > > > find these boardview files sometimes. There are two, .CST and .LST . > > > The .LST file lists all the parts. The .CST file delineates the > > > structure of the PCB. These are likely some internal format used by > > > IBM back when they actually made thinkpads. > > > > It’s nice to work with a board where you have detailed data like this. > > > > The .CST file is broken into binary sections placed end-to-end with > > trailing metadata. Most sections are the same format: they start with > > a string identifying them, and an integer number of fields. The fields > > then follow with infix delimiter constants — that is, each section has > > some constant bytes, and these bytes occur between every field, but > > not after or before. Most sections have fixed-length fields, but not > > all. > > Here are some idiosyncrasies: > > - The list of net names follows the list of footprints without a section > > header > > - The list of board edge lines follows the list of copper lines > > without a section header > > - The list of shapes has variable-length fields and may be missing entries > > > > The list of shapes is the most complicated section. Each shape has a > > type and a list of parameters, which have different meaning depending > > on the type. Each shape has a unique number and some of the shapes > > reference others. > > > > However, the use of the shape list is not complicated. Each component > > uses the same types of shapes. So you don’t need the whole thing > > parsed to use it. > > > > Y’know I might be able to remember a lot of this if I keep typing > > unsure if I wo;; > > file name: magi7_41w0904.CST // so far i’ve only looked at this file! > 0000-0010: 48 09 ff ff-00 00 04 00-43 44 65 76-05 4c 33 20 H....... CDev.L3. > 0000-0020: 20 20 13 1c-e6 07 01 df-20 00 00 01-80 05 51 38 ........ ......Q8 > > Here is the first group of items called CDev. All values are little-median. > > // this header format is used repeatedly > uint16_t num_entries; // 0x948 > int16_t -1; // this is 0 in the trailing metadata > int16_t 0; > int16_t len_name; // 4 > char name[len_name]; // “CDev” > > // now entries start at 0x0c or so > uint8_t len_refdes; // same for each dev. 5 > char refdes[len_refdes]; // space-padded. “L3 “ // not immediately certain of the order of the following fields int16_t pos[2]; // x and y location in mils(inch/1000). 0x1c13, 0x07e6 uint16_t shape; // 0x
