PDA

View Full Version : Segment Swaps



mecanicman
09-10-2014, 09:03 PM
A former member of forum posted once upon a time about segement swaps and how he would post a how too for them. Never happened. But it did motivate me to figure it out on my own with some clues he dropped. I know a number of you are more advanced then me in the programming department and probably already have this knowledge. But if there is enough interest I will throw together a how too as once you have the required info its pretty quick and easy.

You would need a hex editor program that can select and copy blocks or large area of data, Hex Workshop is only one I have found that allows me to do this but there are likely others out there. It is available as 1 month free trial and not terribly expensive to buy.

You would need .bin format files with same o/s containing the segments you want to swap.

You would need the segment locations mapped out for starting and ending points, which I have mapped for 12212156 0411 pcm and 12579405 p59 pcm(although it appears the 1mb pcm are the same from what I have seen).

If you have the first 2 items, and are interested in a how to let me know and I will put it together.

ericjon262
09-11-2014, 01:32 AM
always interested in how to's!

mecanicman
09-11-2014, 02:51 AM
IF YOU CHOOSE TO FOLLOW THIS TUTORIAL, YOU DO SO AT YOU OWN RISK!!!!!!!!!! NOT DOING IT PROPERLY WILL LOCK UP YOUR PCM PERMANENTLY!!!!!!!!!!!!!!!!!!!!

My demo will be swapping a 4l80 segment into 2003 Silverado SS. As you can see I am using a compatible 2003 2500 file to get the 4l80 file from, o/s nubmer must match.

http://i1381.photobucket.com/albums/ah234/meknikman/Pic1_zps2aecfe3c.jpg (http://s1381.photobucket.com/user/meknikman/media/Pic1_zps2aecfe3c.jpg.html)

http://i1381.photobucket.com/albums/ah234/meknikman/Pic2_zps04410e7b.jpg (http://s1381.photobucket.com/user/meknikman/media/Pic2_zps04410e7b.jpg.html)

I will be using Hex Workshop, you can use something else but has to have ability to copy blocks or location to location data. I typically use Notepad++, but I was not able to get this to work with it. Load both files. Select your first file and use the goto command under edit tab, we need to go to 18f90. Click all the settings in the goto box the same way I have them.

http://i1381.photobucket.com/albums/ah234/meknikman/Pic3_zpsf80997ac.jpg (http://s1381.photobucket.com/user/meknikman/media/Pic3_zpsf80997ac.jpg.html)

Now to select our segments, we are copying both the trans and trans diagnostic segments, under edit choose select block. You want to go to 1dbcf, make sure your options in select block are same as picture.

http://i1381.photobucket.com/albums/ah234/meknikman/Pic4_zps2f2c9f9d.jpg (http://s1381.photobucket.com/user/meknikman/media/Pic4_zps2f2c9f9d.jpg.html)

You should now have a black highlighted area of your file. Switch the other file and repeat procedure. The addresses and settings should already be there. Now go Edit copy on the file that has the segments you want.

http://i1381.photobucket.com/albums/ah234/meknikman/Pic5_zps5537668d.jpg (http://s1381.photobucket.com/user/meknikman/media/Pic5_zps5537668d.jpg.html)

And switch back to the file you want the segments in and go Edit Paste.

http://i1381.photobucket.com/albums/ah234/meknikman/Pic6_zps0c7c638a.jpg (http://s1381.photobucket.com/user/meknikman/media/Pic6_zps0c7c638a.jpg.html)

Save this file under a new name and your done. The file passes HPT validation checks, here is pic showing that the file is indeed swaped.

http://i1381.photobucket.com/albums/ah234/meknikman/Pic7_zpscbada366.jpg (http://s1381.photobucket.com/user/meknikman/media/Pic7_zpscbada366.jpg.html)

http://i1381.photobucket.com/albums/ah234/meknikman/Pic8_zps140c78b3.jpg (http://s1381.photobucket.com/user/meknikman/media/Pic8_zps140c78b3.jpg.html)

And screen shot from efi live showing the checksums in order.

http://i1381.photobucket.com/albums/ah234/meknikman/Pic9_zps42508ba2.jpg (http://s1381.photobucket.com/user/meknikman/media/Pic9_zps42508ba2.jpg.html)

I have done 2 swaps like this that I have no problems with. Below are the segment locations for 0411 12212156 and p59 1mb 12579405. From looking I think the 1mb pcm seems to be the same, but the 0411 pcms seem to have some variance.

Segment Start/End 1MB PCM
Segment 1 – 500 – 7fff Operating System
Segment 2 – 8000 – 15dff Engine
Segment 3 – 15e00 – 18f8f Engine Diagnostics
Segment 4 – 18f90 – 1d26f Trans
Segment 5 – 1d270 – 1dbcf Trans Diagnostics
Segment 6 – 1dbd0 – 1f18f Fuel System
Segment 7 – 1f190 – 1fb4f System

512KB Binary Breakdown
0x00000 - 0x03FFF Segment 1 (Operating Sys) First Part
0x04000 - 0x07FFF - FF's
0x08000 - 0x12DFF Segment 2 (Engine)
0x12E00 - 0x169FF Segment 3 (Engine Diag)
0x16A00 - 0x1B9FF Segment 4 (Trans)
0x1BE00 - 0x1C2FF Segment 5 (Trans Diag)
0x1C300 - 0x1D07F Segment 6 (Fuel Sys)
0x1D080 - 0x1D9FF Segment 7 (System)

ShaunSummer
01-04-2017, 11:02 PM
im trying to do this exact segment swap that you did in my 2003 silverado ss. bought the truck with a blown trans and decided to just do a 80e. i ran into a issue though my stock ecm is locked so i cant pull the stock tune. was wondering if you might be willing to share the one you used for this demo. or maybe even the already segment swapped one?

mecanicman
01-05-2017, 09:40 PM
That was over 2 years ago, I didnt keep the files. The 03 ss file I used can be found here http://www.gearhead-efi.com/Fuel-Injection/showthread.php?1514-2003-TunerPro-Bin-Files and efi live can swap it for you.

chaingun427
09-13-2019, 07:14 AM
sorry to necro this thread but it's the only info i can find about segment swapping outside a commercial utility. I'm attempting to swap the code for a manual transmission to an auto calibration on an 0411, OS 12212156 . above notes that Trans section starts at 0x16a00, and including Trans Diag, ends at 0x1c2ff. in the calibration i have, i've got 00016a05 through 0001c2fd, is this the same code block, or do i not have something displaying correctly in Hex Workshop


i may be an idiot there, think i figured out what i was doing wrong, in any case, if i copy from 00016a00 through 0001c2ff, and load the binary in EFI live to verify the checksum, engine and trans diagnostics no longer match. is this normal? afraid to flash the binary like this and brick the pcm

SS2win
09-16-2019, 03:38 PM
chaingun427, I'm considering doing this with a 12216125 OS because I can't find an OEM with manual trans but why bother with 12212156? there are already stock cals out there you can seg swap from easy peasy under edit "copy entire segment".

chaingun427
09-16-2019, 03:51 PM
chaingun427, I'm considering doing this with a 12216125 OS because I can't find an OEM with manual trans but why bother with 12212156? there are already stock cals out there you can seg swap from easy peasy under edit "copy entire segment".

The tool I use to write my binaries, afaik, only supports writing the same os as the pcm already has. But I figured out another way. I have a 6.0 manual bin if you want it

SS2win
09-16-2019, 04:41 PM
for 12216125? yeah that would be great. not super excited to raw dawg segments when I have no idea know what I'll get ...

chaingun427
09-16-2019, 11:28 PM
This was done with commercial software so no worries, as soon as i get home i'll upload it

SS2win
09-17-2019, 03:47 AM
That's great. Thanks