Page 1 of 33

LS1 Boost OS - Development

Posted: Thu Apr 15, 2021 7:56 am
by bubba2533
Starting a thread to start a conversation about making a custom OS that would allow a user to tune into positive manifold pressure.

I've actually been thinking about this for awhile and even made a list of the features that I thought would be good for a custom OS

MVP to get an OS for boost.
-Update MAP Variable Limit for 3/4 Bar Map Sensor
-Increase Size of VE Table and Increase Range for 3/4 Bar MAP

Comparable to other Custom OS's
-Add New Table Timing adder vs. 3/4 Bar MAP
-Modify MAP range of EQ Ratio vs. MAP vs. Coolant Table (Gas & Alcohol) No need to increase table size IMO.
-Disable Part Throttle Baro Update (Already figured this out)

Additional nice to have features
-Disable PE (not sure if this is needed) May be able to set to EQ = 1.0 since the modified EQ table should take care of this
-Open Loop Boost Control (lots of different ways this could be implemented)
-Overboost feature (Spark cut?/boost cut?)
-Spark cut launch control (already have a version of this working on my truck)

If anyone has ideas or other features to add to the list I'd be more than happy to consider them.

Re: LS1 Boost Custom OS

Posted: Thu Apr 15, 2021 12:07 pm
by antus
That sounds pretty good. It'll be good to see how this goes. It'll be a bunch of work, but it sounds achievable, especially since you have the spark cut launch control working already.

Re: LS1 Boost Custom OS

Posted: Sat Apr 17, 2021 7:40 am
by bubba2533
Yeah I don't think it will be that bad compared to the LC.

I think the biggest part I haven't figured out is where I want to store the new tables. I plan on doing this starting with the 12587603 OS.

The 1MB PCM has so much empty space, but I'm not sure it's possible to have a parameter flash write that high in the address space. I would like to make the OS compatible with the standard range of tuners.

Re: LS1 Boost Custom OS

Posted: Sat Apr 17, 2021 9:00 am
by Gampy
Hopefully this is helpful to you, if not maybe it is to someone else!

Sectors = The different areas on the Flash Chip.
Segments = The different areas of the Software.

You cannot write a single parameter, you can only write by chip sector, how many sectors there are and the size of those sectors, depends on the chip size and brand. (see: FlashChip.cs)

There are four software segments,
1. Operating System
2. Calibration
3. Parameter
4. Boot
And in that order. Simply stated, turn the bin upside down and you have the chip layout!

Each software segment can be on one or more chip sectors depending on the chip. (see: FlashChip.cs)

Currently PcmHammer can only write by software segment or combination of them.
It is my understanding that HPTuners writes the whole chip every time.
I do not know about others (like EFILive) ...

Re: LS1 Boost Custom OS

Posted: Sat Apr 17, 2021 12:04 pm
by bubba2533
Ah yes that does help.

If I'm reading that correctly then the parameters need to be between 0x4000 and 0x7FFF.

Re: LS1 Boost Custom OS

Posted: Sat Apr 17, 2021 12:41 pm
by Gampy
That would be correct ...

The parameter segment is something I have yet to dissect, however I do know that in the same OsID I have seen the OS use the area from 0x4000-0x5FFF or 0x6000-0x7FFF and I don't know the rhyme or reason ...
I was told it writes to one, one time and the next then next time but I find that hard to believe, not impossible, just hard.

I suspect you are stuck placing additional code and data above the OS ... somewhere like 0x85300 and have to do a full OS write each time you change it.

It's possible to modify PcmHammer to write a sector that is above the OS ... Then PcmHammer could write that sector like a Calibration write. If the powers that be agree!

Re: LS1 Boost Custom OS

Posted: Sat Apr 17, 2021 1:27 pm
by bubba2533
Hmm, very weird stuff.

Yeah, I was using 0x8A900 as a starting point for my code/parameters. It would be nice to only write parameters.

Re: LS1 Boost Custom OS

Posted: Sat Apr 17, 2021 11:26 pm
by Gampy
How many bytes of data space do you need ??
I mean stuff that you would change in a tune, like tables and variables ... Not code.

You might be able to sneak it in the calibration segment.

Re: LS1 Boost Custom OS

Posted: Sun Apr 18, 2021 1:08 am
by bubba2533
My current version of LC is 206 bytes.

The VE table is going to be a lot of bytes. If I went with min 10 kpa max 400 kpa with 15 kpa jumps it would be a 20x27 table with word variable the numer of bytes would be 1080 :o

I'll see what free space I can find.

The other thing that would be nice to figure out that I haven't paid attention to was the limit of the PCM. I know people out there trick the PCM by scaling all the parameters when they exceed some variable limit in the PCM. I'm not sure what variable is the limit as I haven't reached the limit yet in my build.

Re: LS1 Boost Custom OS

Posted: Sun Apr 18, 2021 2:47 am
by Gampy
Not sure I'd waste my time looking in the Calibration area for that much, I highly suspect it's unavailable.
A few bytes here and there but I highly doubt a thousand plus bytes contiguous ...

However, I do not know for sure!