HOW TO: Reverse Engineering An LS1 Computer

They go by many names, P01, P59, VPW, '0411 etc. Also covering E38 and newer here.
gmtech825
Posts: 186
Joined: Fri Feb 24, 2017 11:27 am

Re: HOW TO: Reverse Engineering An LS1 Computer

Post by gmtech825 »

RADustin wrote:
gmtech825 wrote:One issue I've found using ghidra for this is the tblu and tbls instructions don't dissassemble properly, especially when register A2 is involved. instead of referencing A2 for the tbl, It points to address 0x00000002. I'm currently trying to figure out how to fix this.

Anyone else seeing this issue?


EDIT: This seems to be happening for all address registers for tbl instructions
have you loaded up NSFWs cpu32 instructions?
viewtopic.php?f=42&t=6626&start=10#p104736

seems to work for bigger tables, but I still wish I could get nibble or bit mapped tables to disassemble. I'd like to learn more about the send/receive class2 data messages for gauges and bcm coms and what not.
yeah I did add the instructions. it only seems to be an issue whith the Address references. direct references to the tables seem to work
bubba2533
Posts: 498
Joined: Wed Apr 11, 2018 8:50 am
cars: 03 Chevy S10 Turbo V6

Re: HOW TO: Reverse Engineering An LS1 Computer

Post by bubba2533 »

gmtech825 wrote: yeah I did add the instructions. it only seems to be an issue with the Address references. direct references to the tables seem to work
Do you have an example address location for others to look at?

Edit: I think I found an example at 0x16E0
Capture.PNG
Capture.PNG (6.99 KiB) Viewed 2343 times
I'm not sure if this has to do with the CPU32 Instructions that were fixed by NSFW or not.
LS1 Boost OS V3 Here. For feature suggestions post in here Development Thread. Support future development ->Patreon.
gmtech825
Posts: 186
Joined: Fri Feb 24, 2017 11:27 am

Re: HOW TO: Reverse Engineering An LS1 Computer

Post by gmtech825 »

yes exactly... 0x000016e0 should be tblun.w (A0),D0. take a look at the first four bytes of the file and you will see a ton of references to that location where functions should be referencing address registers.
RADustin
Posts: 162
Joined: Fri Oct 17, 2014 9:44 am

Re: HOW TO: Reverse Engineering An LS1 Computer

Post by RADustin »

is there a RAM ID file for OS ...603 anywhere public?

really struggling to define some around the idle air/area/counts logic. I've used PIDs as much as I can. A more extensive PID list would be nice as well. I have used the one offered within the pcmhammer logging github- seems pretty close.

also, could someone please break down the instructions for these mulu and divul? I know they are multiply and divide but the syntax is a little confusing compared to the elementary examples on the explanation websites.
P59 68K instrut snip.png
P59 68K instrut snip.png (9.2 KiB) Viewed 1957 times
onebrasssoldier
Posts: 5
Joined: Sun Dec 18, 2022 12:33 pm
cars: 97 k1500 p/u 5.7
94 yukon gt 5.3 (ms3x)
89 sierra 5.3 (speeduino)
82 turbo regal (ms3x)

Re: HOW TO: Reverse Engineering An LS1 Computer

Post by onebrasssoldier »

Hi there: so far great thread.
so far your instructions have been great and the youtube link is super helpful.

Ran into a snag and had no idea where to post it, hopefully this is as good a spot to ask; I'm having problems getting ghidra to import a bin file on my laptop.

I tried again on my PC at imported a bin file just fine, same as the tutorial, and I used the same process to install ghidra, the cpu32 files, the java plugins, everything all the same but my one computer(both windows 10) doesn't seem to want to import the file.

Was hoping if I posted the failure log from my ghidra session here someone might have a suggestion what I've done incorrectly on my laptop.
Attachments
testing error log.txt
(596 Bytes) Downloaded 62 times
Ghidra testing.txt
(2.04 KiB) Downloaded 66 times
ejs262
Posts: 34
Joined: Wed May 08, 2013 4:32 pm
cars: 2006 2500 HD. 6.0 4L80

1986 Suburban LB7 duramax swap in progress

1988 Suburban L21 454 swap in progress

2003 Grand Am, 3400, F23 swap, stock P04 PCM

1985 Pontiac Fiero SE LX9 F23 Swap, MS3 Pro
Location: Aiken SC

Re: HOW TO: Reverse Engineering An LS1 Computer

Post by ejs262 »

I linked to your video in a thread about P04 PCM's, it was very informative and left me with a thirst for more, so I'm back here after a longish hiatus.
RADustin wrote:
Antus has posted this link before for learning 68k assembly, it is VERY useful at breaking things down in manageable bits of info so that a regular person can learn it. I like the tests that it has.
https://mrjester.hapisan.com/04_MC68/
that link is amazingly helpful, thanks for putting it here, and thanks to Antus for posting it wherever you found it!
User avatar
antus
Site Admin
Posts: 8237
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: HOW TO: Reverse Engineering An LS1 Computer

Post by antus »

Just going to repost the youtube link https://www.youtube.com/watch?v=iU_yiOW99pI

Thanks to ejs262 for posting the link to it here: viewtopic.php?f=42&t=3392&start=20#p119302 and to Turbo-V6 for creating the vid. Just note that you dont need to sign up to pcmhacking to download the NSFW ghidra patches.
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
bubba2533
Posts: 498
Joined: Wed Apr 11, 2018 8:50 am
cars: 03 Chevy S10 Turbo V6

Re: HOW TO: Reverse Engineering An LS1 Computer

Post by bubba2533 »

Created a Part 2 going a little deeper into reverse engineering an Analog input.

Analog Sensor Input - Reverse Engineering LS1 ECU
https://youtu.be/PsrTgOyQSX8
LS1 Boost OS V3 Here. For feature suggestions post in here Development Thread. Support future development ->Patreon.
RADustin
Posts: 162
Joined: Fri Oct 17, 2014 9:44 am

Re: HOW TO: Reverse Engineering An LS1 Computer

Post by RADustin »

bubba2533 wrote:Created a Part 2 going a little deeper into reverse engineering an Analog input.
:punk: appreciate it.
User avatar
Phoenix
Posts: 112
Joined: Sat Aug 22, 2020 5:02 am
cars: 1983 Chevy C10
1993 Ford Mustang LX 5.0
2004 Pontiac GTO
2005 Pontiac GTO
Location: Anna, TX

Re: HOW TO: Reverse Engineering An LS1 Computer

Post by Phoenix »

bubba2533 wrote:Created a Part 2 going a little deeper into reverse engineering an Analog input.

Analog Sensor Input - Reverse Engineering LS1 ECU
https://youtu.be/PsrTgOyQSX8

Bubba, have you played with the Ghidra plugin GptHIdra?
https://github.com/evyatar9/GptHidra
Post Reply