Load / Airflow Limits

MS41.3 has an increased Load limit of 5556 mg/stroke and increased MAF limit of 4096 kg/hr. This is four times as much as stock which means there is no need to 'hack' the Load/MAF tables when tuning. MS41.3 also adds two new variables to datalog called Load.x and MAF.x which are these higher limit versions. My recommendation is to log these instead since they are the ones referenced by the main Fuel / Timing maps in MS41.3.

The stock Load/MAF variables that are limited to 1389 mg/stroke and 1024 kg/hr, respectively, are kept active because there are hundreds of other tables that reference them in the stock code that are not defined and do not need to be modified. This is another reason why the Load/MAF 'hack' is just that since it does not comprehensively address the problem with a true mathematically correct solution for all interdependent tables. MS41.3 does as shown per the source code below.

*_E80A at the top of the function represents the new native extended limit version of Load, while *_E80C does that for MAF. Then a byte dependent switch case ensues to determine how many bits to shift by. Then the resultant value is written back to the stock *_FC52 and *_FC54 variables for Load and MAF, respectively.

Note - Shifting bits by 1 is like multiplying or dividing by 2, depending on the direction of the shift. Shifting 2 bits is like multiplying or dividing by 4. MS41.3 is set to understand Load / MAF values that are 4 times as much as stock but the code supports a factor of 8, just by a byte change in the 24KB, but that is unnecessary until we start seeing 1500HP+ engine builds on the stock ECU hardware.