LS1 Boost OS - Development

For discussion and distribution of custom code and hacks
bubba2533
Posts: 498
Joined: Wed Apr 11, 2018 8:50 am
cars: 03 Chevy S10 Turbo V6

Re: LS1 Boost OS - Development

Post by bubba2533 »

I have a BDM for my bench setup so I can easily recover.
LS1 Boost OS V3 Here. For feature suggestions post in here Development Thread. Support future development ->Patreon.
bubba2533
Posts: 498
Joined: Wed Apr 11, 2018 8:50 am
cars: 03 Chevy S10 Turbo V6

Re: LS1 Boost OS - Development

Post by bubba2533 »

Ok, I've tracked it down to a few functions that are causing the issue. Hopefully I can isolate it and figure out what I did wrong.
LS1 Boost OS V3 Here. For feature suggestions post in here Development Thread. Support future development ->Patreon.
bubba2533
Posts: 498
Joined: Wed Apr 11, 2018 8:50 am
cars: 03 Chevy S10 Turbo V6

Re: LS1 Boost OS - Development

Post by bubba2533 »

Well...I'll never get back those hours of my life...

I missed a few pound signs "#" in my assembly code on a specific instruction.

Now to try and put the checksum change back in to see if it causes any issues.
LS1 Boost OS V3 Here. For feature suggestions post in here Development Thread. Support future development ->Patreon.
bubba2533
Posts: 498
Joined: Wed Apr 11, 2018 8:50 am
cars: 03 Chevy S10 Turbo V6

Re: LS1 Boost OS - Development

Post by bubba2533 »

kur4o wrote:I can help you with checksums.

First only this plugin can handle dynamic allocated checksum addresses. You may have to switch for it.
https://github.com/joukoy/gm-checksum-plugins

Checksum addresses that needs to change is at $510 stock is 00 0f ff fd, that is the end of OS checksum range. Checksum is stored at $500.
It will be good to leave the very last chip segment for extra cal space. That way you can erase the OS identifier at end of bin[last 2 bytes], and if anything bad happens while writing that last segment you can recover pcm.

To test checksum are correct and segment are configured good. You can use Universal Patcher.

Do you mind if we port the boost OS to universal patcher as a patch and make some definition for it. It will be almost semi automated.
Hey, I'm actually using the GM-P01-P59-checksum-plugin.dll and it doesn't correctly compute the OS Sum. It also seems like the Universal Patcher doesn't read the updated OS checksum range and therefore I imagine it would also incorrectly calculate the checksum.

I was able to see the checksum that PCM Hammer calculated to manually enter that and everything seems to be working just fine with a correctly computed sum. Now I need to get back to doing what I was trying to do in the first place....which is testing the new OS features to verify they work as expected.

I would prefer a standalone application to apply/remove OS patches (which I've started on), but it will likely take me some time to create something that is robust and good enough for other users.
LS1 Boost OS V3 Here. For feature suggestions post in here Development Thread. Support future development ->Patreon.
Stokes1114
Posts: 49
Joined: Thu Jan 19, 2017 11:09 pm
cars: 93 K1500, 5.7, 4L60E, 16168625 $E6

Re: LS1 Boost OS - Development

Post by Stokes1114 »

Just got the truck running on a p59 yesterday with your os. The swap from p01 was smooth and is running just great.

I grabbed a few p59's the other day..I'd gladly donate if you need any bubba.
bubba2533
Posts: 498
Joined: Wed Apr 11, 2018 8:50 am
cars: 03 Chevy S10 Turbo V6

Re: LS1 Boost OS - Development

Post by bubba2533 »

Hey, glad it's working well for you. I already have a few of my own that I pulled from the junkyard, but thanks for the offer.

Recently I've been interested in finding a CAN bus based PCM to start working with. I'm thinking that an E67 would be the best one to go with from my quick research, but I don't know much about them at this point.

It also seems that it was used in multiple engine applications (I4, V6, V8) so that is interesting.
LS1 Boost OS V3 Here. For feature suggestions post in here Development Thread. Support future development ->Patreon.
bubba2533
Posts: 498
Joined: Wed Apr 11, 2018 8:50 am
cars: 03 Chevy S10 Turbo V6

Re: LS1 Boost OS - Development

Post by bubba2533 »

Well....I wish I had looked into why I couldn't get Ghidra to disassemble the TBL instructions for a little longer. I gave up months ago and just started looking into it again today and was able to figure it out.

I think seeing my ASM code decompiled into pseudo-C is very interesting. After looking at it I think I'm using the stack/registers in an unconventional way. I'll need to do some more research, but it'll be a really interesting way to learn more about efficient programming.
LS1 Boost OS V3 Here. For feature suggestions post in here Development Thread. Support future development ->Patreon.
User avatar
Tazzi
Posts: 3422
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: LS1 Boost OS - Development

Post by Tazzi »

bubba2533 wrote:Well....I wish I had looked into why I couldn't get Ghidra to disassemble the TBL instructions for a little longer. I gave up months ago and just started looking into it again today and was able to figure it out.

I think seeing my ASM code decompiled into pseudo-C is very interesting. After looking at it I think I'm using the stack/registers in an unconventional way. I'll need to do some more research, but it'll be a really interesting way to learn more about efficient programming.
End of the day, its really a matter of working out what suits your style of coding.

For me personally, I save everything into empty RAM so that I can easily call to it from any place in a custom running kernel (or OS in your case). So instead of trying to store everything into the registers available, its much easier to just save to ram and use the registers for just point to locations/math instead of actually using to constantly store data.

I just have a spreadsheet of all my ram addresses to call to. At least that works for me :thumbup:
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
bubba2533
Posts: 498
Joined: Wed Apr 11, 2018 8:50 am
cars: 03 Chevy S10 Turbo V6

Re: LS1 Boost OS - Development

Post by bubba2533 »

Yeah, I could see that as a personal preference kind of thing, but I know there is some minor compute difference. I don't know how much I should be worried about the difference between CPU cycles for different instructions, but I am probably overthinking it.

I just spent some time looking around the rest of the OS and found that the d3/d4 registers are used all over, but never saved to the stack. For all my code I was using the registers for local variables, or for RAM variables that need accessed multiple times.

I really need to spend more time learning to do this in C, but it seems like there is a lot of overhead that I just don't understand just yet (at least for the PCM code). It would really help me get the patching application together as the one I have right now is a CLI I coded in C++ and it took forever and I hate it.
LS1 Boost OS V3 Here. For feature suggestions post in here Development Thread. Support future development ->Patreon.
Stokes1114
Posts: 49
Joined: Thu Jan 19, 2017 11:09 pm
cars: 93 K1500, 5.7, 4L60E, 16168625 $E6

Re: LS1 Boost OS - Development

Post by Stokes1114 »

You mind sending me your ghidra file for 7603? I have been disassembling 6125 that I was using and would like to see what you've come up with.
Post Reply