Page 28 of 43

Re: Couldnt really find a section for this..

Posted: Thu Dec 15, 2011 10:21 am
by js1973
I have the iscp programmer setup i am having trouble writing it writes but fails.
I did have it reading data at some stage but now it just has all 00000 on read.
Is their a file i can use on ponyprog just to test the writing procedure and make sure everything is working k's don't matter anything will do.

And do i have to connect or disconnect anything during write read procedures or just leave all 3 wires connected to pin 1 on the iscp at all times .

Re: Couldnt really find a section for this..

Posted: Thu Dec 15, 2011 10:28 am
by The1
grab a working bin from the thread here, wiring should be right.

Re: Couldnt really find a section for this..

Posted: Wed Dec 28, 2011 5:04 pm
by jxx
and here it is, finally got a dump of the 80C51BH
vdo.bin
(4 KiB) Downloaded 330 times
vdo.txt
(30.6 KiB) Downloaded 376 times
i think it's from a vq cluster (red pcb)

tested writing code to an AT89C51 and installed to board, worked 100%
very rusty on assembly language so if anyone is good with the coding it would probably help to work this out.

Re: Couldnt really find a section for this..

Posted: Wed Dec 28, 2011 7:05 pm
by 88GreenVN
jxx wrote:and here it is, finally got a dump of the 80C51BH
vdo.bin
vdo.txt
VDO.D51.txt
.D51.txt includes address and data in the comment field.

i think it's from a vq cluster (red pcb)

tested writing code to an AT89C51 and installed to board, worked 100%
very rusty on assembly language so if anyone is good with the coding it would probably help to work this out.
Red PCB is for the VP and series 2 VQ - it had a minor change to the calcs in instant fuel I think...

Re: Couldnt really find a section for this..

Posted: Wed Dec 28, 2011 7:25 pm
by jxx
thanks, was told is was from a vq but who knows these days, 20+ years on and chances it wasn't changed are slim.
might dismantle a blue pcb and see what the differences are in the code
i have 1 early vn cluster which didn't have the speaker or pcb for sound/chimes (neither does the code as it's now in a cluster with all the circuit and speaker and still no audio warnings, not that i'm complaining i hate those beeps and chimes), pins where the tacho and speedo needle sit for 0
and 1 later that has a blue pcb, has chime and updated tacho/speedo with no pin at 0

do you know much more about the changes? might help to locate addresses comparing known changes

did the vr clusters show instant fuel usage when the car is stationary? instead of 0 like vn/vp? (memory is hazy and haven't seen a vr for a while)

Re: Couldnt really find a section for this..

Posted: Wed Dec 28, 2011 8:35 pm
by 88GreenVN
jxx wrote:thanks, was told is was from a vq but who knows these days, 20+ years on and chances it wasn't changed are slim.
might dismantle a blue pcb and see what the differences are in the code
i have 1 early vn cluster which didn't have the speaker or pcb for sound/chimes (neither does the code as it's now in a cluster with all the circuit and speaker and still no audio warnings, not that i'm complaining i hate those beeps and chimes), pins where the tacho and speedo needle sit for 0
and 1 later that has a blue pcb, has chime and updated tacho/speedo with no pin at 0

do you know much more about the changes? might help to locate addresses comparing known changes

did the vr clusters show instant fuel usage when the car is stationary? instead of 0 like vn/vp? (memory is hazy and haven't seen a vr for a while)
Hmmm - must dig up VP running changes and the Holden service manual on the trip computer.

Re: Couldnt really find a section for this..

Posted: Wed Dec 28, 2011 9:43 pm
by jxx
ripped a blue pcb late vn (sticker VDO F120391) compared and same as the red pcb dumped earlier

Re: Couldnt really find a section for this..

Posted: Wed Dec 28, 2011 9:47 pm
by The1
my vs still reads 0 stationary, all did as far as ive seen/noticed.

Re: Couldnt really find a section for this..

Posted: Wed Dec 28, 2011 9:50 pm
by jxx
cool, my memory was playing tricks on me

the first 4 bytes are related to flo cal, dist cal and tank level cal

changing:
fuel flow cal bytes 1 & 4
distance cal bytes 2 & 4
Tank lvl cal bytes 3 & 4
byte 4 is the checksum

useless info as it's all done via the dash or should be standard calibrations, but shows what the code is for.

Code: Select all

flow cal
21 01 26 E9	629
A1 01 26 69	630
61 01 26 A9	631
dist cal
21 41 16 89	625
21 A1 16 71	630
Tank level
21 01 26 E9	0
21 01 16 C9	+.04

noticed the 1's & 6's remain the same
cal numbers on the right may be wrong i didn't write them down as i went, shown as an example
my bins seem different to other bins in the thread for some reason(think it's to do with the circuit and program i use to read/write).
needed to flip the number, MSB to LSB, use the equation and it worked out
21 01 16 C9
12 10 61 9C
84+80+68^93 = FF
stock calibrations 625 625 0
01 01 26 D9
10 10 62 9D
80+80+64^9B=FF

noticed fuel used counts up due to ign on/off cycles, none of the others, probably a glitch somewhere

Re: Couldnt really find a section for this..

Posted: Thu Dec 29, 2011 9:17 am
by festy
Here's a start for you, these are the NVRAM read and write functions.

Code: Select all

code:000005F3 WRITE_SPI_BYTE:                         ; 
code:000005F3                                         ; 
code:000005F3 P21_SCK = P21                           ; SPI clock to CAT24C44
code:000005F3 P22_MOSI = P22
code:000005F3                 mov     R3, #8          ; 8 bits per byte 
code:000005F5              
code:000005F5 WRITE_SPI_BIT:                          ; 
code:000005F5                 rlc     A               ; 
code:000005F6                 mov     P22_MOSI, C     ; Port 2
code:000005F8                 setb    P21_SCK         ; Pulse SCK
code:000005FA                 clr     P21_SCK         ; 
code:000005FC                 djnz    R3, WRITE_SPI_BIT ; Next bit
code:000005FE                 ret                     ; Return from subroutine
code:000005FE ; End of function WRITE_SPI_BYTE
code:000005FE
code:000005FF

Code: Select all

code:00000610 READ_SPI_BYTE:                          ; 
code:00000610                                         ; 
code:00000610 P20_MISO = P20
code:00000610 P21_SCK = P21
code:00000610                 mov     R3, #8          ; 8 bits per byte
code:00000612
code:00000612 READ_SPI_BIT:                           ; 
code:00000612                 mov     C, P20_MISO     ; Port 2
code:00000614                 rlc     A               ; Rotate Acc left through Carry
code:00000615                 setb    P21_SCK        ; Pulse SCK 
code:00000617                 clr     P21_SCK         ;  
code:00000619                 djnz    R3, READ_SPI_BIT ; next bit
code:0000061B                 mov     R2, A           ; Move (Op1 <- Op2)
code:0000061C                 ret                     ; Return from subroutine
code:0000061C ; End of function READ_SPI_BYTE
code:0000061C