PDA

View Full Version : own_get_config_nibble bugs?



Bütyök
05-07-2004, 08:53 AM
Hi!

I have a 6110 and I want to read a byte from EEPROM.
When I use the own_get_config_nibble routine to read a byte from EEPROM, the phone will be restarted.

Why?

NokDoc
05-07-2004, 01:31 PM
Hiho,

Looking at a 5110 (=6110?) eeprom, I think none of the config_nibbles would work.

The problem is, G3/ Krisha use some free bytes direct after the 3 bytes of the security code data.

But that area does not exist in 5110.

5110:
10005E, Id: 0000, Start: 0038, Len: 0003 Security Code: (123450)
100062, Id: 0000, Start: 003C, Len: 0004 EprCrc1: (00001A17)

8210:
1D0136, Id: 0000, Start: 0110, Len: 0003 Security Code: (123450)
1D0139, Id: 0000, Start: 0113, Len: 0009 Unused: (FFFFFFFFFFFFFFFFFF)
1D0142, Id: 0000, Start: 011C, Len: 0004 EprCrc1: (00009901)

I suggest using it will give U an instant Contact Service, due to the invalid Epr checksum.

NokDoc

Bütyök
05-07-2004, 10:26 PM
Hi!
That is OK.

But how can I read a byte or a nibble from EEPROM?

I read a solution:

Load in R0 the address in EE, call own_get_config_nibble and result in R0.

Other solution:

R0 := address in EE
R1 := buffer address (probably in RAM)
R2 := number of bytes to read
CALL read_eeprom
result in buffer address

Both of them was inefficient

I want to use this to switch on and off a function in phone (like group logo on and off, etc.).

Thanx,
Bütyök

NokDoc
05-07-2004, 11:24 PM
Hi,

Inside config nibble is the part that does that Read_Eeprom call.

So basically this should be the only needed method:

R0 := address in EE (config nibble uses 0116 there in 8210)
R1 := buffer address (in RAM)
R2 := number of bytes to read from epr r0 to ram r1
BL CALL 'Read_Eeprom'
-> result is now in buffer address

Btw, for data after Ur 2nd crc check, the Nokia not uses this system, but it uses get_epr_data calls based on eeprom address tables in mcu.

I think that counts for Ur opr logos too.

8210-531:

Nokia gets highscore from epr 3D.201E at 0D.1954

Table Address Index for that is 0769

(093) 1D201E, Id: 0769, Start: 1FF8, Len: 0004 (0029.022D)

(Yep, it's a highscore of 41, quite proud of that!)

NokDoc