Yeah, its been like that since day 1. Originally it only did P01, then P01 and P59. Originally when it didnt know what it was it attempted to treat it as one of those, and we'd add it to the pcm database if someone reported success. Now I think we have pretty good coverage of P01 and P59 OSs and we probably should make an unknown type which we can report instead of letting it default back to P01_P59 and attempting to unlock. So, that is the reason it says that. Not because it knows something we dont.
P01 is the 512Kb PCM most commonly used on LS1 engines. Service number 12200411 (and others). P59 is the 1Mb variation which is the same, but with a larger flash chip and sometimes its with or without specific hardware like drive by wire. There are other threads about it.
They're internal GM identifiers and are the most commonly used naming scheme used by most the after market. Im not aware of a list I can point you to. But if you plug your pcm in, and it does read it, then you can be sure that what it has identified as is true, and you can use that number in your searches for more information, as well as trying the service number and the operating system (OSID).
The supported PCMs are all based on the same chips, and have a similar formula but are different enough that we need to add support one by one. PCMHammer needs to know which code it is to treat it appropriately, if you look in PCMHammers program directory you'll see Kernel-P01.bin Kernel-P04.bin etc etc. These are the files it needs to upload to the PCM and it has to match the hardware to work. There is a little more to it, but you don't need those details. From PCMHammers point of view, it supports P01 so it'll be able to read and write all service numbers that are for P01 using the P01 method etc.
So to summarise:
P01 etc is the hardware class, consisting of multiple service numbers.
Service numbers may have minor variations between them, but so long as you buy a replacement part of the same service number it will be compatible with a pcm of the same service number you are replacing. Service numbers can have different operating systems. In some cases you can swap operating systems between service numbers on the same class of PCM. If there are hardware differences it'll still run and you'll be able to flash it back if you kept a backup "read entire". If you change to a pcm with a different service number you might find a certain feature on the car isnt working. Like "drive by wire" on the P59 is a common one. And early P59 operating systems cant update the vin when installed on a later pcm with a different type of flash chip. Anyway these are examples, research this when you have a target and need to know more about it.
Operating Systems (OS or OSID) are the software that runs on the PCM, and as such it needs to be the right Operating system for the platform, and for the calibration (tune) which must be for the car.
Generally you update the calibration only to do things like turn of VATS (vehicle anti theft system), other errors codes for deleted hardware, or modify the tune.
In some cases the OSID you have does not have a free definition available and what you need doesn't come up in universal patcher either (which can identify tables without a definition to varying degrees) so you hit a dead end. Then you can consider if a more common OSID was used in the same car, and then if the service numbers match or the OS is known compatible with your service number, you can flash in a different and supported OS and proceed from there.
I'll make up a diagram with a couple of real numbers to try an illustrate this:
Code: Select all
Class: P01
Service Number: 9380717
Operating System ID (OSID): 12221096
Operating System ID (OSID): 12221087
Service Number: 12200411
Operating System ID (OSID): 12221588
Operating System ID (OSID): 12221588
So you can be sure if you have a service number 9380717, or 12200411 PCM then PCMHammer will be able to read and write it as a P01.
If you have a 9380717 PCM, and PCMHammer reported OSID 12221096, but its not working properly and you get another service number 9380717 PCM from the junkyard, and it has OSID 12221087 on it, you will be able to clone the broken PCM to the new one with PCM Hammers P01 functionality and it will work in the car.
If you have a replacement PCM and its Service number 12200411 with any OSID, then you may or may not be able to write your OSID 12221096 operating system and calibration to it. I'll tell you in this case it will work as all P01s are the same, but its not true for all types. So you need to either research this or flash it in and test it well (but not recommended as its hard to test everything, eg would you notice that you cant change the vin or block learn data isnt retained if the car starts and drives?).
There are other gotchas like P04 have 256Kb, 512kb or 1MByte memory chips. You can not flash an operating system to a mismatched size PCM even of the same type (we also dont have P04 write support yet, but watch this space. When we do PCMHammer will tell you and abort if you try this, like it does if you try and flash a P59 bin in to a P01.