2006 pontiac grand prix bcm

Disassembly, Reassembly, Tools and devleopment. Going deep with Hardware and Software.
geep
Posts: 47
Joined: Sat Feb 02, 2019 3:43 pm
cars: 60 ford falcon 07 grand prix 94 chevy swb ls swaped

2006 pontiac grand prix bcm

Post by geep »

I went playing with gpt 5 and a OBDX pro gt and i think it managed to pull most of the bcm .bin file figure i would put it here for others to look at and critique not a coder by any means so don't be to hard on me lol
You do not have the required permissions to view the files attached to this post.
Last edited by geep on Fri Sep 11, 2026 1:16 am, edited 2 times in total.
ProfessWRX
Posts: 185
Joined: Mon Oct 02, 2023 11:33 pm
cars: 04 Monte SSSC
04 Tahoe
92 Trans Am
Location: AZ USA

Re: 2006 pontiac grand prix bcm

Post by ProfessWRX »

What did you do to get it?

I’ve wanted access to my bcm for a while. Don’t know how hard reverse engineering it will be without documentation tho.
geep
Posts: 47
Joined: Sat Feb 02, 2019 3:43 pm
cars: 60 ford falcon 07 grand prix 94 chevy swb ls swaped

Re: 2006 pontiac grand prix bcm

Post by geep »

The hard part was figuring out the cpu family mine turned out to be real close to a MC68HC912DG128 if not the actual chip itself. The numbers on the chip in the bcm were SC511337VPV — 3K92D — 00CX0511 after i found the .pdf for the MC68HC912DG128 it went pretty quick. I went back and forth for a while with gpt generating power shell scripts me asking it silly questions along the way like why do i need a chip test clip /prog seek /bdm/ others. It really wanted to go that way for some reason. Then i told it that is not how gm updates them and it was like a light came on .Here try this script and we were in pretty silly really. I think i have some of the scrips saved if people want look at those.
geep
Posts: 47
Joined: Sat Feb 02, 2019 3:43 pm
cars: 60 ford falcon 07 grand prix 94 chevy swb ls swaped

Re: 2006 pontiac grand prix bcm

Post by geep »

A few picture because i couldn't find any of the insides. The pick of the chip that looks a eprom its not its a power chip of some type the eprom is in the cpu
You do not have the required permissions to view the files attached to this post.
ProfessWRX
Posts: 185
Joined: Mon Oct 02, 2023 11:33 pm
cars: 04 Monte SSSC
04 Tahoe
92 Trans Am
Location: AZ USA

Re: 2006 pontiac grand prix bcm

Post by ProfessWRX »

Very cool. Yes please share any and all details you can.
geep
Posts: 47
Joined: Sat Feb 02, 2019 3:43 pm
cars: 60 ford falcon 07 grand prix 94 chevy swb ls swaped

Re: 2006 pontiac grand prix bcm

Post by geep »

The .rar has .bat and read-me its a slow read but could probably be optimized to read faster. I am not a coder. I only started playing with bcm because i can be driving down the road and everything shuts off except the engine and it is really random i figure the 22 year old bcm / capacitors are on the way out.
geep
Posts: 47
Joined: Sat Feb 02, 2019 3:43 pm
cars: 60 ford falcon 07 grand prix 94 chevy swb ls swaped

Re: 2006 pontiac grand prix bcm

Post by geep »

Does any one have knowledge of how to flash them back. I have gotten past the first seed key challenge. I went back and forth for awhile with claud and gpt they keep talking about a trap when writing. If you write to the wrong trapped address it will reset via cop. I haven't tried writing yet. I think cop is what is happening when i am driving down the road. It just resets randomly i have read through the colarado bcm thread kinda seems like maybe the trap is what's going on there write two one place and it moves
User avatar
antus
Site Admin
Posts: 10076
Joined: Sat Feb 28, 2009 10:34 am
cars: TX Gemini 2L Twincam 8psi
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Subaru WRX 2007

Re: 2006 pontiac grand prix bcm

Post by antus »

cop is a failsafe where it expects to see a certain software sequence every so often, the idea is if the BCM software crashes eg gets stuck in a loop, then the event won't happen that the COP is waiting for, and it triggers a reset so that the module will start working again. Under normal operation it does not happen. But when you are writing your own programming software to run on the chip, then your software needs to be aware of the COP and satisfy the sequence every so often to avoid the reset. It is also called a watchdog, and it is typical for the ECMs/PCMs and vehicle modules. It won't be triggering on yours under normal operation unless there is a genuine fault. Trap is also not the same as a literal trap that is set for you. It is more like an interrupt. The CPU has a number of traps and when you program it you can connect a trap to a software function to do a certain thing, for example service communications hardware. In that regard it is similar to an IRQ. It won't move around on it's own when triggered. If you are writing your own programming software you can probably ignore traps. https://stackoverflow.com/questions/777 ... -is-a-trap
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
kur4o
Posts: 1154
Joined: Sun Apr 10, 2016 11:20 am

Re: 2006 pontiac grand prix bcm

Post by kur4o »

The bcm might be one time program in factory[ROM], and changing tune is not possible, however some of the option values in eeprom can be overwritten, using tech2 if mec is >0, usually a blanked new bcm can accept these on initial configuration.

Looked at script and it just use inbuilt mode23 to dump the content to a file. Ask AI to make a disassembly of the file, and figure supported modes and trace some of the option logic.
geep
Posts: 47
Joined: Sat Feb 02, 2019 3:43 pm
cars: 60 ford falcon 07 grand prix 94 chevy swb ls swaped

Re: 2006 pontiac grand prix bcm

Post by geep »

6. The "Enable Programming Mode" dispatcher — found and verified
In the '04 firmware, a real, verified-reachable service-ID dispatcher was
located at `$8EBE` onward:
```
8EC0: CMPA #$A5 ; requested service == $A5 (Enable Programming Mode)?
8EC2: BNE $8ECF
8EC8: CALL $A360, page $02
8ECC: JMP $8F70

8ED1: CMPA #$A4 ; next service...
8ED9: CALL $A3A9, page $02
8EE2: CMPA #$A8 ; ...and so on
```
`$A360` (page 2, which happened to be the page captured in this dump) was
disassembled directly. It performs:
RAM bookkeeping (stashing an incoming parameter)
A bounds-check against the constant `$0132` (306 decimal), setting/
clearing a flag byte based on the result
A running `ADCA`/`ADCB` add-with-carry chain — a checksum or size
accumulation
Two further paged calls, to `$AE58` (page `$00`) and `$8000` (page `$05`)
This is consistent with session/parameter negotiation for entering
programming mode (block-size validation, checksum setup) — not the
flash-write algorithm itself, which matches finding #5 above. The two
follow-on calls could not be traced further: they target physical pages 0
and 5, which aren't present in this single-page-2 snapshot. (What's
sitting at those file offsets right now is unrelated page-2 content,
already checked and confirmed not to be the real target.)
To go further on this thread: additional dumps of the same unit with
`PPAGE` forced to `0` and `5` before reading `$8000–$BFFF` each time would
be needed to see the real continuation.