PCM Hammer P12 development

They go by many names, P01, P10, P12, P59, E38, VPW, '0411 etc.
User avatar
Gampy
Posts: 2332
Joined: Sat Dec 15, 2018 7:38 am

Re: PCM Hammer fails on P12

Post by Gampy »

Have a look at this log,
VPWExplorer_debugLog_20220227@080902.txt
(7.66 KiB) Downloaded 96 times
It's code is,

Code: Select all

start:
    clr.l   %d0
wait01:
    bsr.w   ResetWatchdog
    bsr.w   WasteTime
    addq.l  #1, %d0
    cmpi.l  #0xFFFFFF, %d0
    ble.s   wait01
    rts

WasteTime:
    nop
    nop
    nop
    nop
    rts

ResetWatchdog:
    move.b  #0x55, (0xFFFA55).l
    move.b  #0xAA, (0xFFFA55).l
    eori.b  #0x80, (0xFFFA21).l
    rts

.end
Intelligence is in the details!

It is easier not to learn bad habits, then it is to break them!

If I was here to win a popularity contest, their would be no point, so I wouldn't be here!
User avatar
antus
Site Admin
Posts: 9017
Joined: Sat Feb 28, 2009 8:34 pm
cars: TX Gemini 2L Twincam
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Contact:

Re: PCM Hammer fails on P12

Post by antus »

looks good! not sure what changed to make it work, but happy that it is.
On to finding the DLC next I guess.
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: 1044
Joined: Sun Apr 10, 2016 9:20 pm

Re: PCM Hammer fails on P12

Post by kur4o »

Code: Select all

ROM:00001510 sub_1510:                               ; CODE XREF: sub_400+34j
ROM:00001510
ROM:00001510 var_9F2         = -$9F2
ROM:00001510 var_3           = -3
ROM:00001510
ROM:00001510                 link    a6,#$FFF8
ROM:00001514                 move.l  d7,-(sp)
ROM:00001516                 movea.l #unk_FFFEF9D8,a1
ROM:0000151C                 move.b  (a1),d1
ROM:0000151E                 move.b  #$14,word_FFFFFFFC(a6)
ROM:00001524                 move.b  1(a1),var_3(a6)
ROM:0000152A                 move.w  word_FFFFFFFC(a6),(word_FFFFF60C).w
ROM:00001530                 move.b  #4,word_FFFFFFFC(a6)
ROM:00001536                 moveq   #2,d7
ROM:00001538                 cmp.b   #2,d1
ROM:0000153C                 bls.s   loc_156E
ROM:0000153E                 movea.w #(loc_F60A+4),a0
ROM:00001542
ROM:00001542 loc_1542:                               ; CODE XREF: sub_1510+5Cj
ROM:00001542                 moveq   #3,d0
ROM:00001544                 and.b   (a0),d0
ROM:00001546                 subq.b  #3,d0
ROM:00001548                 bne.s   loc_1556
ROM:0000154A                 move.l  d7,d0
ROM:0000154C                 add.b   #$FF,d0
ROM:00001550                 moveq   #0,d7
ROM:00001552                 move.b  d0,d7
ROM:00001554                 bra.s   loc_1562
ROM:00001556 ; ---------------------------------------------------------------------------
ROM:00001556
ROM:00001556 loc_1556:                               ; CODE XREF: sub_1510+38j
ROM:00001556                 move.b  (a1,d7.l),var_3(a6)
ROM:0000155C                 move.w  word_FFFFFFFC(a6),(word_FFFFF60C).w
ROM:00001562
ROM:00001562 loc_1562:                               ; CODE XREF: sub_1510+44j
ROM:00001562                 move.l  d7,d0
ROM:00001564                 addq.b  #1,d0
ROM:00001566                 moveq   #0,d7
ROM:00001568                 move.b  d0,d7
ROM:0000156A                 cmp.b   d7,d1
ROM:0000156C                 bhi.s   loc_1542
ROM:0000156E
ROM:0000156E loc_156E:                               ; CODE XREF: sub_1510+2Cj
ROM:0000156E                 move.b  #$C,word_FFFFFFFC(a6)
ROM:00001574                 move.b  (a1,d7.l),var_3(a6)
ROM:0000157A                 move.w  word_FFFFFFFC(a6),(word_FFFFF60C).w
ROM:00001580                 move.l  (sp)+,d7
ROM:00001582                 unlk    a6
ROM:00001584                 rts
ROM:00001584 ; End of function sub_1510
ROM:00001584
ROM:00001586 ; ---------------------------------------------------------------------------
ROM:00001586                 nop
ROM:00001588 ; START OF FUNCTION CHUNK FOR sub_400
ROM:00001588
ROM:00001588 loc_1588:                               ; CODE XREF: sub_400+28j
ROM:00001588                 move.w  #unk_8000,(word_FFFFF60C).w
ROM:0000158E                 rts
This one looks like a send short routine.
User avatar
Gampy
Posts: 2332
Joined: Sat Dec 15, 2018 7:38 am

Re: PCM Hammer fails on P12

Post by Gampy »

antus wrote:looks good! not sure what changed to make it work, but happy that it is.
On to finding the DLC next I guess.
The difference is the eori versus bclr/bset.
I suspect if your code was changed to the eori, the PCM would become effectively locked up, possibly requiring a reboot, I do not know yet.
In fact I'll just try that, a permanent loop like you had, I do want to know if it becomes unresponsive or not.

Yup, time to try working on getting it speaking to the outside world ...
Intelligence is in the details!

It is easier not to learn bad habits, then it is to break them!

If I was here to win a popularity contest, their would be no point, so I wouldn't be here!
MudDuck514
Posts: 400
Joined: Wed Jul 05, 2017 8:30 am
cars: 2001 Pontiac Grand AM SE
LD9 2.4l I4, 4T40E
2005 Chevrolet Venture
LA1 3400 V6, 4T65E
Location: North TX, USA

Re: PCM Hammer fails on P12

Post by MudDuck514 »

I found a website that claims the P12 was also in some cars:
04-07 Chevy Cobalt SS / Saturn Ion Red Line 2.0SC LSJ (P12)

along with these trucks:
I4 / I5 / I6 Atlas Trucks/SUV
Year Model/Engine/ECM

04+ Chevy Colorado / GMC Canyon / Hummer H3 (06+ only) 2.8 LK5, 2.9 LLV, 3.5 L52, 3.7 LLR (P12/E67)
02+ Chevy Trailblazer / GMC Envoy / Saab 9-7x (05-09 only) 4.2 LL8 (P10/P12)
03-07 Buick Rainier (04-07 only) / Isuzu Ascender 4.2 LL8 (P10/P12)
02-04 Oldsmobile Bravada 4.2 LL8 (P10)
06 Isuzu I-350 3.5 L52 (P12)
07 Isuzu I-370 3.7 LLR (P12)

Can anyone verify this?
If so, then I can look for a few in my local salvage yard next time they have a "Bucket Day" event there.

Mike
darkman5001
Posts: 252
Joined: Sat Dec 18, 2021 8:15 am
cars: 2005 Yukon, 2004 Suburban, 2001 Tahoe, 2002 Envoy, 2006 Envoy, 2003 Lincoln LS
Location: New Jersey, USA

Re: PCM Hammer fails on P12

Post by darkman5001 »

MudDuck514 wrote:I found a website that claims the P12 was also in some cars:
04-07 Chevy Cobalt SS / Saturn Ion Red Line 2.0SC LSJ (P12)

along with these trucks:
I4 / I5 / I6 Atlas Trucks/SUV
Year Model/Engine/ECM

04+ Chevy Colorado / GMC Canyon / Hummer H3 (06+ only) 2.8 LK5, 2.9 LLV, 3.5 L52, 3.7 LLR (P12/E67)
02+ Chevy Trailblazer / GMC Envoy / Saab 9-7x (05-09 only) 4.2 LL8 (P10/P12)
03-07 Buick Rainier (04-07 only) / Isuzu Ascender 4.2 LL8 (P10/P12)
02-04 Oldsmobile Bravada 4.2 LL8 (P10)
06 Isuzu I-350 3.5 L52 (P12)
07 Isuzu I-370 3.7 LLR (P12)

Can anyone verify this?
If so, then I can look for a few in my local salvage yard next time they have a "Bucket Day" event there.

Mike
I am unsure about cars but any truck that has the GM 4.2L inline 6 has either the P10 or the P12 depending on the year. This includes Chevrolet Trailblazer, GMC Envoy, Izuzu Ascender, Buick Rainier, Oldsmobile Bravada, and Saab 9-7X.
User avatar
DavidBraley
Posts: 174
Joined: Thu Jun 07, 2018 8:15 am
cars: 1948 GMC

Re: PCM Hammer fails on P12

Post by DavidBraley »

MudDuck514 wrote:I found a website that claims the P12 was also in some cars:
04-07 Chevy Cobalt SS / Saturn Ion Red Line 2.0SC LSJ (P12)

along with these trucks:
I4 / I5 / I6 Atlas Trucks/SUV
Year Model/Engine/ECM

04+ Chevy Colorado / GMC Canyon / Hummer H3 (06+ only) 2.8 LK5, 2.9 LLV, 3.5 L52, 3.7 LLR (P12/E67)
02+ Chevy Trailblazer / GMC Envoy / Saab 9-7x (05-09 only) 4.2 LL8 (P10/P12)
03-07 Buick Rainier (04-07 only) / Isuzu Ascender 4.2 LL8 (P10/P12)
02-04 Oldsmobile Bravada 4.2 LL8 (P10)
06 Isuzu I-350 3.5 L52 (P12)
07 Isuzu I-370 3.7 LLR (P12)

Can anyone verify this?
If so, then I can look for a few in my local salvage yard next time they have a "Bucket Day" event there.

Mike
Source: https://www.pcmperformance.com/programming.html
-David

I'm a machinist... because engineers need heroes too.
User avatar
Gampy
Posts: 2332
Joined: Sat Dec 15, 2018 7:38 am

Re: PCM Hammer fails on P12

Post by Gampy »

Thank y'all

Hello Mr. David.

So, I sent two tests,
1. It's Antus's initial code with the bclr/bset replaced with eori ... Would be nice to know how the PCM deals with that endless loop as far as we can tell ATM.
2. First communication attempt ... Pretty sure I'm expecting to much, but hey, ya never get anywhere if you don't try!
Intelligence is in the details!

It is easier not to learn bad habits, then it is to break them!

If I was here to win a popularity contest, their would be no point, so I wouldn't be here!
MudDuck514
Posts: 400
Joined: Wed Jul 05, 2017 8:30 am
cars: 2001 Pontiac Grand AM SE
LD9 2.4l I4, 4T40E
2005 Chevrolet Venture
LA1 3400 V6, 4T65E
Location: North TX, USA

Re: PCM Hammer fails on P12

Post by MudDuck514 »

DavidBraley wrote:
MudDuck514 wrote:I found a website that claims the P12 was also in some cars:
04-07 Chevy Cobalt SS / Saturn Ion Red Line 2.0SC LSJ (P12)

along with these trucks:
I4 / I5 / I6 Atlas Trucks/SUV
Year Model/Engine/ECM

04+ Chevy Colorado / GMC Canyon / Hummer H3 (06+ only) 2.8 LK5, 2.9 LLV, 3.5 L52, 3.7 LLR (P12/E67)
02+ Chevy Trailblazer / GMC Envoy / Saab 9-7x (05-09 only) 4.2 LL8 (P10/P12)
03-07 Buick Rainier (04-07 only) / Isuzu Ascender 4.2 LL8 (P10/P12)
02-04 Oldsmobile Bravada 4.2 LL8 (P10)
06 Isuzu I-350 3.5 L52 (P12)
07 Isuzu I-370 3.7 LLR (P12)

Can anyone verify this?
If so, then I can look for a few in my local salvage yard next time they have a "Bucket Day" event there.

Mike
Source: https://www.pcmperformance.com/programming.html
That is exactly where I got the list from. So I can only assume it is correct.

Mike
User avatar
Gampy
Posts: 2332
Joined: Sat Dec 15, 2018 7:38 am

Re: PCM Hammer fails on P12

Post by Gampy »

Ok, now we know we can lockup a P12 ... :roll:

Yup, Antus, your code with the eori change does in fact stay running ... A reboot was required.
I really wonder how long it will stay locked up (actually it's in an endless loop) before something else kicks it out.

My first attempt at teaching it to speak failed, I'm going to minimize to just a simple ping (echo/announcement) when the Os jumps to it ... get rid of everything else.

Just got that done and it's out for testing ...
Intelligence is in the details!

It is easier not to learn bad habits, then it is to break them!

If I was here to win a popularity contest, their would be no point, so I wouldn't be here!
Post Reply