writing issues to SST27SF010

EPROM EEPROM SRAM NVRAM Flash chips, reading/writing hardware and software
User avatar
antus
Site Admin
Posts: 8251
Joined: Sat Feb 28, 2009 8:34 pm
cars: TX Gemini 2L Twincam
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Contact:

Re: writing issues to SST27SF010

Post by antus »

Or if you've make your own tune, you need to know you cant get a good bin from tunerpro of a 128kb file. OSEPlugin does not read above the 64kb mark under any circumstances, and for bins larger than 64kb only the bottom 32kb (which contains the calibration will be correct). Im not sure if VL400s flash tool can read a 128kb bin correctly?

This may be overkill of too much info, but you might be able to create a good bin by using the tunerpro bin stacker to take the first 32kb saved from tunerpro (calibration) and the 96kb above that (code) from a matching bin downloaded from a release thread on this site. I havnt tried this, I normally use linux for this. Any tool that can achieve the following will work.

Code: Select all

[antus@antus ~]$ ls -lh c*.bin
-rw-rw-r--. 1 antus antus 128K Apr 14 13:16 calibration.bin                   # contains a good calibration (0->32kb)
-rw-rw-r--. 1 antus antus 128K Apr 14 13:16 code.bin                             # complete bin, contains good code, wrong calibration (32->128kb)
[antus@antus  ~]$ dd if=calibration.bin of=1.bin bs=1k count=32      # if=infile=calibration.bin of=outfile=1.bin bs=blocksize=1k, count=32 of them. Total 32kb.
32+0 records in
32+0 records out
32768 bytes (33 kB) copied, 0.000218337 s, 150 MB/s                           # dont worry that this says 33kB.
[antus@antus  ~]$ dd if=code.bin of=2.bin bs=1k count=96 skip=32  # from code.bin to 2.bin. skip 32 1k block, then copy 96 1k blocks
96+0 records in
96+0 records out
98304 bytes (98 kB) copied, 0.000704095 s, 140 MB/s
[antus@antus  ~]$ (cat 1.bin ; cat 2.bin ) > fixed.bin                               # create a stream from the contents of 1.bin then 2.bin and save it to fixed.bin. This concatenates the chunks.
[antus@antus  ~]$ ls -lh fixed.bin 
-rw-rw-r--. 1 antus antus   32K Apr 14 13:17 1.bin
-rw-rw-r--. 1 antus antus   96K Apr 14 13:17 2.bin
-rw-rw-r--. 1 antus antus 128K Apr 14 13:16 calibration.bin
-rw-rw-r--. 1 antus antus 128K Apr 14 13:16 code.bin
-rw-rw-r--. 1 antus antus 128K Apr 14 13:17 fixed.bin
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396
tris909
Posts: 80
Joined: Fri Mar 22, 2013 6:49 pm
cars: VN s1 V6 Eaton m62 s/c
Location: South East VICTORIA

Re: writing issues to SST27SF010

Post by tris909 »

The1 wrote:what files are you writing? just the factory ones? If so grab the zip file from the enhanced forum for those models and burn the bin files from those as above, it will work out of the box.

http://pcmhacking.net/forums/viewtopic.php?f=27&t=2518
am modifying the $A5K with TP then saving and trying to write to EEPROM for the VX, the VS im doing the same but unsure which file I am using, will have to check when I get home.
immortality
Posts: 3426
Joined: Thu Apr 09, 2009 12:31 pm
cars: VH, VN, VS, VX

Re: writing issues to SST27SF010

Post by immortality »

My bad, I've not worded things very well.

The issue is the checksum, when you alter a factory bin the checksum is no longer correct and we need to ignore it. To do this we need to alter what is called the Program ID code.

In a factory bin it usually identifies the actual bin/xdf code such as 51 ($51) for the VS or A5 ($A5) for the VT bins. You need to change the 51 or A5 figure to AA. By setting the Program ID code to AA it then ignores the checksum value.

If you are using any of the enhanced tunes from The1 all of this has already been done for you however if you use a factory bin this change must always be made.
tris909
Posts: 80
Joined: Fri Mar 22, 2013 6:49 pm
cars: VN s1 V6 Eaton m62 s/c
Location: South East VICTORIA

Re: writing issues to SST27SF010

Post by tris909 »

immortality wrote:My bad, I've not worded things very well.

The issue is the checksum, when you alter a factory bin the checksum is no longer correct and we need to ignore it. To do this we need to alter what is called the Program ID code.

In a factory bin it usually identifies the actual bin/xdf code such as 51 ($51) for the VS or A5 ($A5) for the VT bins. You need to change the 51 or A5 figure to AA. By setting the Program ID code to AA it then ignores the checksum value.

If you are using any of the enhanced tunes from The1 all of this has already been done for you however if you use a factory bin this change must always be made.
one more silly question before I get home to try all this, where abouts do I find the program id code?
immortality
Posts: 3426
Joined: Thu Apr 09, 2009 12:31 pm
cars: VH, VN, VS, VX

Re: writing issues to SST27SF010

Post by immortality »

It depends on the XDF and the Author as to where it is placed. Most of the The1's stuff you will find it at the very bottom (but these don't need to be touched).

In most XDF's where things haven't been broken down into sub categories it's normally found at the very top.
tris909
Posts: 80
Joined: Fri Mar 22, 2013 6:49 pm
cars: VN s1 V6 Eaton m62 s/c
Location: South East VICTORIA

Re: writing issues to SST27SF010

Post by tris909 »

immortality wrote:It depends on the XDF and the Author as to where it is placed. Most of the The1's stuff you will find it at the very bottom (but these don't need to be touched).

In most XDF's where things haven't been broken down into sub categories it's normally found at the very top.
yep I know where now. thanks will have a look into it tonight.
User avatar
VL400
Posts: 4991
Joined: Sun Mar 01, 2009 2:54 pm
cars: VL Calais and Toyota Landcruiser. Plus some toys :)
Location: Perth, WA
Contact:

Re: writing issues to SST27SF010

Post by VL400 »

antus wrote:Im not sure if VL400s flash tool can read a 128kb bin correctly?
Only on the VX/VY flash PCMs, was already uploading code for the write functions so also wrote a read routine also so more than 64k can be read.

Everything else uses the factory read code in the bin which is limited to a 64k address.
Post Reply