somethink like
```
VERSIONS (R_13, R_2000) {
  
  IF_ENCODE_FROM_EARLIER {
    // documented as 0x18,0x78,0x01,0x04 for R13, 0x18,0x78,0x01,0x05 for R14
    // r14:      7d f4 78 01
    // r2000:    14 64 78 01
    VERSION (R_13) {
      unknown_rc4[] = { 0x18, 0x78, 0x01, 0x04 };
    }
    VERSION (R_14) {
      unknown_rc4[] = { 0x18, 0x78, 0x01, 0x05 };
    }
    VERSION (R_2000) {
      unknown_rc4[] = { 0x14, 0x64, 0x78, 0x01 };
    }
  }
  FIELD_TFF (version, 12, 0);
  FIELD_VECTOR_INL (null_b, B, 4, 0);
  // DEBUG_HERE;
  FIELD_RC (unknown_10, 0); // 0x10
  FIELD_VECTOR_INL (unknown_rc4, RC, 4, 0);
  //PRE (R_2000) {
  //  if (FIELD_VALUE (unknown_10) == 0x18 && FIELD_VALUE (unknown_rc4[0]) == 0x78)
  //    dat->byte -= 2;
  //}
  FIELD_RC (num_sections, 0); // r14: 5, r2000: 6
  REPEAT sections, num_sections
      // address+sizes of sections 0-2 is correct, 3+4 is empty
      FIELD_RC (section[i].nr, 0);
      FIELD_BLx (section[i].address, 0);
      FIELD_BL (section[i].size, 0);
 
  FIELD_BS (num_handlers, 0); // 14, resp. 16 in r14
  if (FIELD_VALUE (num_handlers) > 16)
    {
      LOG_ERROR ("Second header num_handlers > 16: %d\n",
                 FIELD_VALUE (num_handlers));
      FIELD_VALUE (num_handlers) = 14;
    }
  REPEAT handlers, num_handlers
      FIELD_RC (handlers[i].size, 0);
      FIELD_RC (handlers[i].nr, 0);
      FIELD_VECTOR (handlers[i].data, RC, handlers[i].size, 0);

  // TODO: CRC check
  // crc = bit_read_CRC (dat);
  FIELD_RS_BE (crc, 0);
  VERSION (R_14) {
    FIELD_RL (junk_r14_1, 0);
    FIELD_RL (junk_r14_2, 0);
  }
}
```

Add a 2ndheader.spec
This is a GitHub Issue
repo:libredwg
owner:LibreDWG
Title : Add a 2ndheader.spec
Issue date:

--- start body ---
somethink like
```
VERSIONS (R_13, R_2000) {
  
  IF_ENCODE_FROM_EARLIER {
    // documented as 0x18,0x78,0x01,0x04 for R13, 0x18,0x78,0x01,0x05 for R14
    // r14:      7d f4 78 01
    // r2000:    14 64 78 01
    VERSION (R_13) {
      unknown_rc4[] = { 0x18, 0x78, 0x01, 0x04 };
    }
    VERSION (R_14) {
      unknown_rc4[] = { 0x18, 0x78, 0x01, 0x05 };
    }
    VERSION (R_2000) {
      unknown_rc4[] = { 0x14, 0x64, 0x78, 0x01 };
    }
  }
  FIELD_TFF (version, 12, 0);
  FIELD_VECTOR_INL (null_b, B, 4, 0);
  // DEBUG_HERE;
  FIELD_RC (unknown_10, 0); // 0x10
  FIELD_VECTOR_INL (unknown_rc4, RC, 4, 0);
  //PRE (R_2000) {
  //  if (FIELD_VALUE (unknown_10) == 0x18 && FIELD_VALUE (unknown_rc4[0]) == 0x78)
  //    dat->byte -= 2;
  //}
  FIELD_RC (num_sections, 0); // r14: 5, r2000: 6
  REPEAT sections, num_sections
      // address+sizes of sections 0-2 is correct, 3+4 is empty
      FIELD_RC (section[i].nr, 0);
      FIELD_BLx (section[i].address, 0);
      FIELD_BL (section[i].size, 0);
 
  FIELD_BS (num_handlers, 0); // 14, resp. 16 in r14
  if (FIELD_VALUE (num_handlers) > 16)
    {
      LOG_ERROR ("Second header num_handlers > 16: %d\n",
                 FIELD_VALUE (num_handlers));
      FIELD_VALUE (num_handlers) = 14;
    }
  REPEAT handlers, num_handlers
      FIELD_RC (handlers[i].size, 0);
      FIELD_RC (handlers[i].nr, 0);
      FIELD_VECTOR (handlers[i].data, RC, handlers[i].size, 0);

  // TODO: CRC check
  // crc = bit_read_CRC (dat);
  FIELD_RS_BE (crc, 0);
  VERSION (R_14) {
    FIELD_RL (junk_r14_1, 0);
    FIELD_RL (junk_r14_2, 0);
  }
}
```

--- end body ---

None