| EEProm structure, v 1.01 | FCDK |
This paper describes the structure of the external eeprom for the funcard soft
The described structure is valid as long as the field entitiesVersion, into the header, is 0x101
An editor soft must only change the documented fields. The other values of the eeprom must remain intact (included the other bits into the flag fields)
The eeprom header begins at address 0x00
| Name | Offset | Length | Comment |
| signature | 0 | 2 | Must be 'F', 'S' |
| eepromVersion | 2 | 2 | 0x01, 0x00 for 1.00. This field indicates the version of the complete structure of the eeprom |
| entitiesVersion | 4 | 2 | 0x01, 0x01 for 1.01. This field indicates the version of the structure of the configSection, the entitiesSection and the issuerSection |
| nbSections | 6 | 1 | 3 (configSection, entitiesSection and issuerSection) |
| configSection | 7 | 2 | Address of the config byte section |
| entitiesSection | 9 | 2 | Address of the entities section |
| issuerSection | 11 | 2 | Address of the issuer section |
Before to manipulate the eeprom, a soft must check that signature = 'F', 'S' and entitiesVersion = 0x101
For the configSection, the entitiesSection and the issuerSection fields, address = (second byte << 8) & 0x7f : first byte
The address of the config byte section is given by the configSection field of the header
This section has only 1 byte where :
| Name | Bit | Comment |
| F_CF_EURO_S2 | 0 | 0 : card in ec-m mode. 1 : card in ec-s2 mode |
| F_CF_ON_CHANNEL | 1 | 0 : card in manual switch. 1 : card in "on-channel" switch |
| F_CF_ON_RESET | 2 | 0 : card in manual switch. 1 : card in "on-reset" switch |
The F_CF_ON_CHANNEL and F_CF_ON_RESET bits can't be set together.
The address of the entities section is given by the entitiesSection field of the header
The first byte of the entities section is the number x of entities that follows
Following this byte, there are x entity structures, in any order
| Name | Offset | Length | Comment |
| ident | 0 | 3 | i.e 0x00, 0x04, 0x10 for TV1000. An empty entity structure as all 0x00 or all 0xFF |
| flags | 3 | 1 | see below |
| label | 4 | 16 | padded with blanks, i.e "Animal planet " |
| UA | 20 | 5 | Unique Address (not used) |
| PPUA | 25 | 4 | Programme Provider User Address (PPUA=SA+CUSWTP) |
| GCA | 29 | 4 | Group Customer Address (not used) |
| keys[0] | 33 | 7 | Key #0 |
| ... | |||
| key[15] | 138 | 7 | Key #15 |
Bit values of the flags field :
| Name | Bit | Comment |
| F_EURO_S2 | 0 | 0 : ec-m entity. 1 : ec-s2 entity |
| F_RESERVED_FLAG | 1 | not used |
| F_3_DES_AU | 2 | 1 : the autoupdate routine for this entity is 3-des |
| F_ON_CHANNEL | 3 | 1 : switch "on-channel" on this entity (the F_CF_ON_CHANNEL bit of the config byte must be 1) |
The address of the issuer section is given by the issuerSection field of the header
The issuer section contains only this structure :
| Name | Offset | Length | Comment |
| ident | 0 | 3 | 0xff, 0xf4, 0x0 (not used) |
| flags | 3 | 1 | like into the entity structure (not used) |
| label | 4 | 16 | "Issuer" |
| UA | 20 | 5 | Unique Address |
| PPUA | 25 | 4 | Programme Provider User Address (PPUA=SA+CUSWTP) (not used) |
| GCA | 29 | 4 | Group Customer Address (not used) |
UA is the only field used into this structure.
Version 1.01 :
Version 1.00