Well tried messing around with this finally, it definitely works. However I have literally no idea how to use it.... Anyone want to make a guide on how to dump the CCM rom, edit stuff, and flash it back?
Probably easiest to perform a read off each of the 3 memory addresses to confirm they are the same, take the numbers and use a programing calculator to modify the bits, and write the modified numbers back to the 3 addresses. Repeat for the rest of the memory address.
What I did when I coded my cousins GLI and my friends R32 was this (both 1C0 CCMs but different memory addresses will be used for 1J0 CCMs):
Comfort Windows via Keyfob:
1. Read addresses (replace com# with your serial cables com number):
"kw1281test.exe com# 9600 46 ReadEeprom 04361"
"kw1281test.exe com# 9600 46 ReadEeprom 04362"
"kw1281test.exe com# 9600 46 ReadEeprom 04363"
Output for all 3 addresses was 138 which is binary 1000 1010.
2. Math:
Since you want comfort windows via keyfob active, you change bit 3 from 1 to 0. As the post explains in awesome detail above, you always count starting with 0 right to left. So, 1000
1 010 changes to 1000
0 010. You then either use the math provided above or use a programmer calc to convert binary 1000 0010 to decimal base 10 which gives you 130.
3. Write addresses back (replace com# with your serial cables com number):
"kw1281test.exe com# 9600 46 WriteEeprom 04361 130"
"kw1281test.exe com# 9600 46 WriteEeprom 04362 130"
"kw1281test.exe com# 9600 46 WriteEeprom 04363 130"
This would write your changes back to the EEPRom. If successful, the window operation should work just fine.
You could also do a dump the CCM config memory locations to a file by running this command:
1C0 CCMs:
"kw1281test.exe com# 9600 46 DumpEeprom 04352 21"
1J0 CCMs:
"kw1281test.exe com# 9600 46 DumpEeprom 04280 18"
This will dump all memory addresses on the 1C0 CCM from 04352 to 04372 which has all of the configuration addresses. This should output as hex which you can use the calculator as mentioned before to switch between binary or decimal. Each 2 number pair is one memory address starting with address 04352. I don't suggest writing a dump back if you are just changing a few channels as it may not start from the correct location and write incorrect values where they shouldn't be.
Memory addresses for CCMs:
1C0 (All):
Byte 0: 04352, 04353, 04354
Byte 1: 04355, 04356, 04357
Byte 2: 04358, 04359, 04360
Byte 3: 04361, 04362, 04363
Byte 4: 04364, 04365, 04366
Byte 5: 04367, 04368, 04369
Byte 6: 04370, 04371, 04372
1J0 (All):
Byte 0: 04280, 04286, 04292
Byte 1: 04281, 04287, 04293
Byte 2: 04282, 04288, 04294
Byte 3: 04283, 04289, 04295
Byte 4: 04284, 04290, 04296
Byte 5: 04285, 04291, 04297
As I have mentioned before, I am working on a full blown spreadsheet with as much detail as I can find/confirm. Here is a dropbox link to my current file:
Dropbox Mk4 CCM EEPROM Config
It is being updated all of the time and there are a lot of unknowns but let me know if anyone finds out anything else or confirms something with an asterisks (* or star). Also, if anyone can use the info above and let me know the output of their stock coding, car type, trim, and options, that would help as I am also making a list of known cars/options as a reference and a way to figure out additional bits/usage.