Low load timing not matching your maps?
Thread Starter
Joined: Feb 2007
Posts: 9,486
Likes: 67
From: Melbourne, Australia
thats ok 
bit 9 - is the warm up ign retard.
Yes if I disable it the car willr ev to 2000rpm when cold sometimes.
I have re-enabled it in my ROM because of this...

bit 9 - is the warm up ign retard.
Yes if I disable it the car willr ev to 2000rpm when cold sometimes.
I have re-enabled it in my ROM because of this...
My car has been revving to 2000rpms when cold latey with your 5.10 patch on the 0015 rom. This is new for my car and very annoying. My rom is pretty much stock though in regards to these tables, anything I should be looking at for this?
Jamie, do you have cold start ign timing retard shut off in the periphery table? If so everyone is seeing this. It should only do it sporadically when the car isn't fully up to temp
EvoM Guru
iTrader: (50)
Joined: Mar 2006
Posts: 9,675
Likes: 132
From: Tri-Cities, WA // Portland, OR
Mine does this too. It shoots up to 2000 rpm and gradually fades down as it warms up. I need to have another look to see if that periphery value affects any other subroutines. I didn't see any other affected subroutines last time, but need to double check. If there are no others, then the solution is likely to adjust some idle table.
Tephra I went looking for this code, and found:
FAA is copied to SENSERROR1FLAG, and if bit 10 FAA is set it seems to set bit15 of the MAF_RESET_FLAG, but I can't trace the effect of this. One branch from the above though has lots of speed and gear lookups, again effectively only run if bit 10 FAA is set. Is this also the code you found on the topic?
Code:
ROM:00018A7E FAAbit10_ign_adjust: ; CODE XREF: containsFAAbit10test+12p ROM:00018A7E sts.l pr, @-r15 ROM:00018A80 mov.l r14, @-r15 ROM:00018A82 mov r15, r14 ROM:00018A84 mov.l @(h'58,pc), r0 ; [00018AE0] = SENSERROR1_FLAG ROM:00018A86 mov.w @r0, r0 ROM:00018A88 shlr8 r0 ROM:00018A8A tst #4, r0 ROM:00018A8C bt loc_18AA6 ROM:00018A8E bsr sub_18AE8 ROM:00018A90 nop ROM:00018A92 extu.w r0, r0 ROM:00018A94 cmp/eq #0, r0 ROM:00018A96 bt loc_18AA6 ROM:00018A98 mov.l @(h'1E4,pc), r10 ; [00018C80] = MAF_RESET_FLAG ROM:00018A9A mov.w @r10, r0 ROM:00018A9C mov.l @(h'44,pc), r11 ; [00018AE4] = unk_8000 ROM:00018A9E or r11, r0 ROM:00018AA0 mov.w r0, @r10
Code:
ROM:00018AE8 sub_18AE8: ; CODE XREF: FAAbit10_ign_adjust+10p ROM:00018AE8 mov.l r14, @-r15 ROM:00018AEA mov r15, r14 ROM:00018AEC mov.l @(h'1A8,pc), r0 ; [00018C98] = unk_FFFF6D44 ROM:00018AEE mov.w @r0, r0 ROM:00018AF0 tst #1, r0 ROM:00018AF2 bt loc_18B0E ROM:00018AF4 mov.l @(h'1A8,pc), r10 ; [00018CA0] = SPEED ROM:00018AF6 mov.w @r10, r10 ROM:00018AF8 mov.l @(h'15C,pc), r11 ; [00018C58] = unk_20AE ROM:00018AFA mov.w @r11, r11 ROM:00018AFC cmp/hi r11, r10 ROM:00018AFE bt loc_18B22 ROM:00018B00 mov.l @(h'194,pc), r10 ; [00018C98] = unk_FFFF6D44 ROM:00018B02 mov.w @r10, r0 ROM:00018B04 mov.l @(h'154,pc), r11 ; [00018C5C] = h'FFFE ROM:00018B06 and r11, r0 ROM:00018B08 mov.w r0, @r10 ROM:00018B0A bra loc_18B22 ROM:00018B0C nop ROM:00018B0E ; --------------------------------------------------------------------------- ROM:00018B0E ROM:00018B0E loc_18B0E: ; CODE XREF: sub_18AE8+Aj ROM:00018B0E mov.l @(h'190,pc), r10 ; [00018CA0] = SPEED ROM:00018B10 mov.w @r10, r10 ROM:00018B12 mov.l @(h'14C,pc), r11 ; [00018C60] = unk_20B0 ROM:00018B14 mov.w @r11, r11 ROM:00018B16 cmp/hi r11, r10 ROM:00018B18 bf loc_18B22 ROM:00018B1A mov.l @(h'17C,pc), r10 ; [00018C98] = unk_FFFF6D44 ROM:00018B1C mov.w @r10, r0 ROM:00018B1E or #1, r0 ROM:00018B20 mov.w r0, @r10 ROM:00018B22 ROM:00018B22 loc_18B22: ; CODE XREF: sub_18AE8+16j ROM:00018B22 ; sub_18AE8+22j ROM:00018B22 ; sub_18AE8+30j ROM:00018B22 mov.l @(h'194,pc), r0 ; [00018CB8] = F20_flag ROM:00018B24 mov.w @r0, r0 ROM:00018B26 tst #h'80, r0 ROM:00018B28 bt loc_18B2E ROM:00018B2A bra loc_18BC0 ROM:00018B2C nop ROM:00018B2E ; --------------------------------------------------------------------------- ROM:00018B2E ROM:00018B2E loc_18B2E: ; CODE XREF: sub_18AE8+40j ROM:00018B2E mov.l @(h'188,pc), r0 ; [00018CB8] = F20_flag ROM:00018B30 mov.w @r0, r0 ROM:00018B32 tst #h'20, r0 ROM:00018B34 bf loc_18B42 ROM:00018B36 mov.l @(h'12C,pc), r10 ; [00018C64] = unk_1074 ROM:00018B38 mov.b @r10, r10 ROM:00018B3A tst r10, r10 ROM:00018B3C bf loc_18B42 ROM:00018B3E bra loc_18BC0 ROM:00018B40 nop ROM:00018B42 ; --------------------------------------------------------------------------- ROM:00018B42 ROM:00018B42 loc_18B42: ; CODE XREF: sub_18AE8+4Cj ROM:00018B42 ; sub_18AE8+54j ROM:00018B42 mov.l @(h'170,pc), r10 ; [00018CB4] = RPMSMALL ROM:00018B44 mov.w @r10, r10 ROM:00018B46 mov.l @(h'120,pc), r11 ; [00018C68] = Ign_timing_correction_for_acceleration ROM:00018B48 mov.w @r11, r11 ROM:00018B4A cmp/hs r11, r10 ROM:00018B4C bt loc_18BC0 ROM:00018B4E mov.l @(h'164,pc), r10 ; [00018CB4] = RPMSMALL ROM:00018B50 mov.w @r10, r10 ROM:00018B52 mov.l @(h'118,pc), r11 ; [00018C6C] = word_13F8 ROM:00018B54 mov.w @r11, r11 ROM:00018B56 cmp/hi r11, r10 ROM:00018B58 bf loc_18BC0 ROM:00018B5A mov.l @(h'118,pc), r10 ; [00018C74] = COOLANT_E ROM:00018B5C mov.w @r10, r10 ROM:00018B5E mov.l @(h'110,pc), r11 ; [00018C70] = word_13FE ROM:00018B60 mov.w @r11, r11 ROM:00018B62 cmp/hi r11, r10 ROM:00018B64 bf loc_18BC0 ROM:00018B66 mov.l @(h'114,pc), r10 ; [00018C7C] = SPEED_FRQ ROM:00018B68 mov.w @r10, r10 ROM:00018B6A mov.l @(h'10C,pc), r11 ; [00018C78] = unk_15FA ROM:00018B6C mov.w @r11, r11 ROM:00018B6E cmp/hi r11, r10 ROM:00018B70 bf loc_18BC0 ROM:00018B72 mov.l @(h'14C,pc), r0 ; [00018CC0] = unk_FFFF6082 ROM:00018B74 mov.w @r0, r0 ROM:00018B76 tst #4, r0 ROM:00018B78 bf loc_18BC0 ROM:00018B7A mov.l @(h'104,pc), r0 ; [00018C80] = MAF_RESET_FLAG ROM:00018B7C mov.w @r0, r0 ROM:00018B7E tst #h'11, r0 ROM:00018B80 bf loc_18BC0 ROM:00018B82 mov.l @(h'108,pc), r10 ; [00018C8C] = GEARCOEFF1 ROM:00018B84 mov.w @r10, r10 ROM:00018B86 mov.l @(h'FC,pc), r11 ; [00018C84] = word_13FA ROM:00018B88 mov.w @r11, r11 ROM:00018B8A cmp/hs r11, r10 ROM:00018B8C bt loc_18BC0 ROM:00018B8E mov.l @(h'FC,pc), r10 ; [00018C8C] = GEARCOEFF1 ROM:00018B90 mov.w @r10, r10 ROM:00018B92 mov.l @(h'F4,pc), r11 ; [00018C88] = word_13FC ROM:00018B94 mov.w @r11, r11 ROM:00018B96 cmp/hi r11, r10 ROM:00018B98 bf loc_18BC0 ROM:00018B9A mov.l @(h'F8,pc), r10 ; [00018C94] = longsubsource3 ROM:00018B9C mov.w @r10, r10 ROM:00018B9E mov.l @(h'F0,pc), r11 ; [00018C90] = unk_20AC ROM:00018BA0 mov.w @r11, r11 ROM:00018BA2 cmp/hs r11, r10 ROM:00018BA4 bt loc_18BC0 ROM:00018BA6 mov.l @(h'F0,pc), r0 ; [00018C98] = unk_FFFF6D44 ROM:00018BA8 mov.w @r0, r0 ROM:00018BAA tst #1, r0 ROM:00018BAC bf loc_18BC0 ROM:00018BAE mov.l @(h'F0,pc), r10 ; [00018CA0] = SPEED ROM:00018BB0 mov.w @r10, r10 ROM:00018BB2 mov.l @(h'E8,pc), r11 ; [00018C9C] = off_285A ROM:00018BB4 mov.w @r11, r11 ROM:00018BB6 cmp/hs r11, r10 ROM:00018BB8 bf loc_18BC0 ROM:00018BBA mov #1, r0 ROM:00018BBC bra loc_18BC2 ROM:00018BBE nop ROM:00018BC0 ; --------------------------------------------------------------------------- ROM:00018BC0 ROM:00018BC0 loc_18BC0: ; CODE XREF: sub_18AE8+42j ROM:00018BC0 ; sub_18AE8+56j ROM:00018BC0 ; sub_18AE8+64j ROM:00018BC0 ; sub_18AE8+70j ROM:00018BC0 ; sub_18AE8+7Cj ROM:00018BC0 ; sub_18AE8+88j ROM:00018BC0 ; sub_18AE8+90j ROM:00018BC0 ; sub_18AE8+98j ROM:00018BC0 ; sub_18AE8+A4j ROM:00018BC0 ; sub_18AE8+B0j ROM:00018BC0 ; sub_18AE8+BCj ROM:00018BC0 ; sub_18AE8+C4j ROM:00018BC0 ; sub_18AE8+D0j ROM:00018BC0 mov #0, r0 ROM:00018BC2 ROM:00018BC2 loc_18BC2: ; CODE XREF: sub_18AE8+D4j ROM:00018BC2 mov.l @r15+, r14 ROM:00018BC4 rts ROM:00018BC6 nop ROM:00018BC6 ; End of function sub_18AE8
I make the conditions:
1188 to 5000 RPM
Coolant above freezing
Speed between 10 and 60km/h (mph on UK car with the installed converter)
Gears ratio is also checked, don't know the units
If all these are met, then bit15 of MAF_RESET_FLAG is set. There are many routines that use this variable, I'll keep looking to see if I can what the actual timing adjustment is.
1188 to 5000 RPM
Coolant above freezing
Speed between 10 and 60km/h (mph on UK car with the installed converter)
Gears ratio is also checked, don't know the units
If all these are met, then bit15 of MAF_RESET_FLAG is set. There are many routines that use this variable, I'll keep looking to see if I can what the actual timing adjustment is.
Could this pulling of timing cause a slight knock during spool? My car sometimes gets 1-2 counts anywhere from 3000-3500, but it is not consistant... and I seriously can't tell if it is false knock or what...
I'll see if I can trace through the calculation. Lots of intermediate variables of course.
I also want to look at three ignition "DWRT" maps to see what they do. They are the same size and shape as the ignition maps and contain mainly 128 in decimal, with a few values a bit below, as though they may retard timing.
IIRC, what was labelled as Boost enhancement Adv/Ret I removed from mine as they were zero, but EGR is disabled on the JDM models anyway.
Then I'll have another look at acceleration enrichment.
After that I think most of the mysteries are solved. It will be nice when we have a virtually complete understanding of everything of importance
I'd say we're 95% of the way there?
I also want to look at three ignition "DWRT" maps to see what they do. They are the same size and shape as the ignition maps and contain mainly 128 in decimal, with a few values a bit below, as though they may retard timing.
IIRC, what was labelled as Boost enhancement Adv/Ret I removed from mine as they were zero, but EGR is disabled on the JDM models anyway.
Then I'll have another look at acceleration enrichment.
After that I think most of the mysteries are solved. It will be nice when we have a virtually complete understanding of everything of importance
I'd say we're 95% of the way there?




