I have worked through the code on the first OBDII PCMs for LT1. In my case, there is a table within the code that points one of: Where the value is stored OR Where the code is that is run to determine the value.
The key documents are J1979 and J2190. Once you find how the standardized PIDs from J1979 are stored finding the bounds of the table is not too hard. This will give you the list of all the PIDs your PCM will respond to. In my case it was quite difficult to determine what each of the PIDs were for. I had a great deal of help from this list hunting them down.
In my case each entry to the PID table has six bytes. Byte 0:1 form the PID number such that the table can be searched. The next byte is a count of the number of bytes to be sent in the reply. This is followed by a flag byte (not used in my case, always 0). The last byte pair 4:5 is the data address OR the routine address.
I have still to find the meaning of several dozen of the PIDs. Probably undocumented PIDs that were not used in the field. Three that I found recently reports the state of the octal drivers (open or short circuit). These come from a routine that accesses them over the SPI bus.
As was stated earlier, this all isn't an easy thing to work through. Good luck!
-Tom
[Edit]
Here is the start of the table for interest...
Code:
BANK0:E484 *************************************************
BANK0:E484 * PARAMETER IDENTIFICATION TABLE
BANK0:E484 *
BANK0:E484 * J1979 MODE $01 : REQUEST CURRENT POWERTRAIN
BANK0:E484 * DIAGNOSTIC DATA
BANK0:E484 * J2190 MODE $22
BANK0:E484 *************************************************
BANK0:E484 * STRUCTURE
BANK0:E484 * PID, REPLY BYTES, FLAGS, LOCATION OR ROUTINE
BANK0:E484 *
BANK0:E484 PID_STRUC_TABLE: fdb PID_$0000 ; PID ; RESET TYPE
BANK0:E484 fcb $00 ; REPLY_COUNT
BANK0:E484 fcb $00 ; FLAGS
BANK0:E484 fdb $0000 ; PID_SUBR_LOC
BANK0:E48A
BANK0:E48A ****************************************************
BANK0:E48A * PID 0000: PID SUPPORTED
BANK0:E48A ****************************************************
BANK0:E48A fdb PID_$0000 ; PID
BANK0:E48A fcb $04 ; REPLY_COUNT
BANK0:E48A fcb $00 ; FLAGS
BANK0:E48A fdb $42E4 ; PID_SUBR_LOC
BANK0:E490
BANK0:E490 ****************************************************
BANK0:E490 * PID 0001: EMISSION RELATED DTC + MIL
BANK0:E490 ****************************************************
BANK0:E490 fdb PID_$0001 ; PID
BANK0:E490 fcb $04 ; REPLY_COUNT
BANK0:E490 fcb $00 ; FLAGS
BANK0:E490 fdb $DFC8 ; PID_SUBR_LOC
BANK0:E496
BANK0:E496 ****************************************************
BANK0:E496 * PID 0003: FUEL SYSTEM STATUS
BANK0:E496 ****************************************************
BANK0:E496 fdb PID_$0003 ; PID
BANK0:E496 fcb $02 ; REPLY_COUNT
BANK0:E496 fcb $00 ; FLAGS
BANK0:E496 fdb $DFE2 ; PID_SUBR_LOC
BANK0:E49C
BANK0:E49C ****************************************************
BANK0:E49C * PID 0004: CALCULATED LOAD
BANK0:E49C ****************************************************
BANK0:E49C fdb PID_$0004 ; PID
BANK0:E49C fcb $01 ; REPLY_COUNT
BANK0:E49C fcb $00 ; FLAGS
BANK0:E49C fdb $DFE8 ; PID_SUBR_LOC
BANK0:E4A2
BANK0:E4A2 ****************************************************
BANK0:E4A2 * PID 0005: ECT
BANK0:E4A2 ****************************************************
BANK0:E4A2 fdb PID_$0005 ; PID
BANK0:E4A2 fcb $01 ; REPLY_COUNT
BANK0:E4A2 fcb $00 ; FLAGS
BANK0:E4A2 fdb $01D5 ; PID_SUBR_LOC
BANK0:E4A8
BANK0:E4A8 ****************************************************
BANK0:E4A8 * PID 0006: SHORT TERM FUEL TRIM BANK 1
BANK0:E4A8 ****************************************************
BANK0:E4A8 fdb PID_$0006 ; PID
BANK0:E4A8 fcb $01 ; REPLY_COUNT
BANK0:E4A8 fcb $00 ; FLAGS
BANK0:E4A8 fdb $016B ; PID_SUBR_LOC
BANK0:E4AE
Bookmarks