Announcement

Collapse
No announcement yet.

The parameters of the launch control with stock turbo kkk7000.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Ok and what line does blends out the injection?

    Comment


    • #17
      Stock injection cut is used in another place with a switch. That routine only handles retard, knock control disable and cut.
      Originally posted by vwnut8392 View Post

      thats not right. launch control spark cut happens before knock control is disabled in code. knock control is disabled only at high RPM for spark cut rev limiter and flat shift.
      Not true, better brush up on disasm skills.
      http://tuner.ee - http://www.facebook.com/tuner.ee

      Comment


      • #18
        Thanks - I justed started to untrust my asm "skills" - ok I don't

        Comment


        • #19
          Originally posted by prj View Post
          Stock injection cut is used in another place with a switch. That routine only handles retard, knock control disable and cut.

          Not true, better brush up on disasm skills.
          well here's the whole routine, i know you wrote it but looking at it from my disassembly all spark cut happens before knock disable so i'll go with what i said. unless you made a different version than what you posted public that your thinking about.

          Code:
          ode:00008610          ; =============== S U B R O U T I N E =======================================
          code:00008610
          code:00008610
          code:00008610          Motorsport_Features_Code:               ; CODE XREF: MAP_Sensor_Read:Jmp_M_Sprt_Code↑p
          code:00008610
          code:00008610          ; FUNCTION CHUNK AT code:0000866C SIZE 0000000C BYTES
          code:00008610
          code:00008610 C0 82                    push    DPL             ; Data Pointer, Low Byte
          code:00008612 C0 83                    push    DPH             ; Data Pointer, High Byte
          code:00008614 E5 3A                    mov     A, RAM_RPM_1    ; Move (Op1 <- Op2)
          code:00008616
          code:00008616          Hard_RPM_Limit:                         ; Spark Cut RPM Limit
          code:00008616 B4 C8 00                 cjne    A, #0xC8, code_8619
          code:00008619
          code:00008619          code_8619:                              ; CODE XREF: Motorsport_Features_Code:Hard_RPM_Limit↑j
          code:00008619 50 26                    jnc     NLS_Limiter_Crank_Angle ; -If at RPM limit go to mod crank angle
          code:00008619                                                  ; -If below RPM limit go to launch control code
          code:0000861B
          code:0000861B          W_Speed_LC:                             ; Speed for launch control
          code:0000861B 90 01 70                 mov     DPTR, #0x170    ; Speed in 2 km/h
          code:0000861B                                                  ; XRAM=XVMESS
          code:0000861E E0                       movx    A, @DPTR        ; Move from/to external RAM
          code:0000861F B4 02 0C                 cjne    A, #2, code_862E ; -If below wheel speed go to launch control
          code:0000861F                                                  ; -If above wheel speed go to NLS code
          code:00008622 80 48                    sjmp    LC_Ign_Cut_RPM  ; Short jump
          code:00008624          ; ---------------------------------------------------------------------------
          code:00008624
          code:00008624          code_8624:                              ; CODE XREF: Motorsport_Features_Code+66↓j
          code:00008624 B4 71 00                 cjne    A, #0x71, code_8627 ; 'q' ; Launch control IGN retard RPM
          code:00008627
          code:00008627          code_8627:                              ; CODE XREF: Motorsport_Features_Code:code_8624↑j
          code:00008627 40 1B                    jc      code_8644       ; Jump if Carry is set
          code:00008629
          code:00008629          LC_Ign_Deg:                             ; Launch control IGN angle
          code:00008629 75 53 29                 mov     ZWOUT, #0x29 ; ')'
          code:0000862C 80 16                    sjmp    code_8644       ; Short jump
          code:0000862E          ; ---------------------------------------------------------------------------
          code:0000862E
          code:0000862E          code_862E:                              ; CODE XREF: Motorsport_Features_Code+F↑j
          code:0000862E E5 D9                    mov     A, ADDAT        ; If ECU pin 39 is supplied with 12v go to NLS code.
          code:00008630 B4 FF 11                 cjne    A, #0xFF, code_8644 ; Compare Operands and JNE
          code:00008633 78 EC                    mov     R0, #0xEC       ; Move (Op1 <- Op2)
          code:00008635
          code:00008635          NLS_Min_TPS:                            ; min TPS for NLS
          code:00008635 B6 C0 00                 cjne    @R0, #0xC0, code_8638
          code:00008638
          code:00008638          code_8638:                              ; CODE XREF: Motorsport_Features_Code:NLS_Min_TPS↑j
          code:00008638 40 0A                    jc      code_8644       ; -If below this TPS % go to normal operation
          code:00008638                                                  ; -If above go to NLS RPM compare
          code:0000863A E5 3A                    mov     A, RAM_RPM_1    ; Move (Op1 <- Op2)
          code:0000863C
          code:0000863C          NLS_MIN_RPM:                            ; min RPM for NLS
          code:0000863C B4 C8 00                 cjne    A, #0xC8, code_863F
          code:0000863F
          code:0000863F          code_863F:                              ; CODE XREF: Motorsport_Features_Code:NLS_MIN_RPM↑j
          code:0000863F 40 03                    jc      code_8644       ; -If below this RPM go to normal operation
          code:0000863F                                                  ; -If above this ROM go to crank angle Degree (spark cut)
          code:00008641
          code:00008641          NLS_Limiter_Crank_Angle:                ; CODE XREF: Motorsport_Features_Code:code_8619↑j
          code:00008641                                                  ; Motorsport_Features_Code:code_8674↓j
          code:00008641 75 53 52                 mov     ZWOUT, #0x52 ; 'R' ; IGN angle for NLS/Spark revlimit
          code:00008644
          code:00008644          code_8644:                              ; CODE XREF: Motorsport_Features_Code:code_8627↑j
          code:00008644                                                  ; Motorsport_Features_Code+1C↑j ...
          code:00008644 30 FC 0F                 jnb     P5.4, code_8656 ; Jump if no knock detected. If knock detected go to RPM check.
          code:00008644                                                  ; -Knock signal from Boost processor
          code:00008647 50 0B                    jnc     code_8654       ; Jump if Carry is clear
          code:00008649 E5 3A                    mov     A, RAM_RPM_1    ; Move (Op1 <- Op2)
          code:0000864B
          code:0000864B          Spark_Cut_Knock_Dis:                    ; Spark Cut RPM Limit with knock disable
          code:0000864B B4 B1 00                 cjne    A, #0xB1, code_864E
          code:0000864E
          code:0000864E          code_864E:                              ; CODE XREF: Motorsport_Features_Code:Spark_Cut_Knock_Dis↑j
          code:0000864E 50 04                    jnc     code_8654       ; -If above this RPM knock control is disabled
          code:0000864E                                                  ; -If below this RPM knock control is enabled
          code:00008650 C2 EF                    clr     P4.7            ; Knock disable is sent to boost processor
          code:00008652 80 02                    sjmp    code_8656       ; Short jump
          code:00008654          ; ---------------------------------------------------------------------------
          code:00008654
          code:00008654          code_8654:                              ; CODE XREF: Motorsport_Features_Code+37↑j
          code:00008654                                                  ; Motorsport_Features_Code:code_864E↑j
          code:00008654 D2 EF                    setb    P4.7            ; Knock enable is sent to boost processor.
          code:00008656
          code:00008656          code_8656:                              ; CODE XREF: Motorsport_Features_Code:code_8644↑j
          code:00008656                                                  ; Motorsport_Features_Code+42↑j
          code:00008656 C3                       clr     C               ; Clear Operand (0)
          code:00008657 E5 53                    mov     A, ZWOUT        ; Move (Op1 <- Op2)
          code:00008659 95 58                    subb    A, SW           ; Subtract Second Operand from Acc with Borrow
          code:0000865B D0 83                    pop     DPH             ; Data Pointer, High Byte
          code:0000865D D0 82                    pop     DPL             ; Data Pointer, Low Byte
          code:0000865F 22                       ret                     ; Return from subroutine
          code:0000865F          ; End of function Motorsport_Features_Code
          code:0000865F
          
          
          code:0000866C          ; ---------------------------------------------------------------------------
          code:0000866C          ; START OF FUNCTION CHUNK FOR Motorsport_Features_Code
          code:0000866C
          code:0000866C          LC_Ign_Cut_RPM:                         ; CODE XREF: Motorsport_Features_Code+12↑j
          code:0000866C 75 F0 B4                 mov     B, #0xB4        ; Launch control IGN cut RPM
          code:0000866F E5 3A                    mov     A, RAM_RPM_1    ; Move (Op1 <- Op2)
          code:00008671 B5 F0 00                 cjne    A, B, code_8674 ; B-Register
          code:00008674
          code:00008674          code_8674:                              ; CODE XREF: Motorsport_Features_Code+61↑j
          code:00008674 50 CB                    jnc     NLS_Limiter_Crank_Angle ; Jump if Carry is clear
          code:00008676 80 AC                    sjmp    code_8624       ; Short jump
          code:00008676          ; END OF FUNCTION CHUNK FOR Motorsport_Features_Code
          code:00008676          ; ---------------------------------------------------------------------------
          "The really good drivers got the bugs on the side windows." Walter Röhrl

          Comment


          • #20
            Where (exactly) you see a spark cut? There is only a spark "delay"...
            Where (exactly) you see a fuel cut? There is no impact on the fuel side.

            That's the reason why the Launch doesn't work as expected.

            Comment


            • #21
              Originally posted by Acki View Post
              Where (exactly) you see a spark cut? There is only a spark "delay"...
              - I think that result from code:00008659 subb A, RAM_58 and then "code:0000080E jc code_815" instruction in main code will explain logic's and cut or delay with 52 - 1E hex for degree ATDC.

              Originally posted by Acki View Post
              Where (exactly) you see a fuel cut? There is no impact on the fuel side...
              - the code for fuel cut exist in Prjmod main code, but there is no jump to it and some little mods are necessary to work fully. Look carefully in the code and find where the main rpm limits are set, add jump to "hidden" code. Change logic's some sjmp's before some ram's and all will work perfectly.

              Dmitry has done everything necessary to work LC and NLS, but I think he left a little bit to add from us to use it

              He watching when will we do it )))))

              Comment


              • #22
                Originally posted by d_anev View Post
                - I think that result from code:00008659 subb A, RAM_58 and then "code:0000080E jc code_815" instruction in main code will explain logic's and cut or delay with 52 - 1E hex for degree ATDC.
                RAM_53 = ZWOUT
                RAM_58 = DWELL

                But you don't touch the DWELL value, you only change RAM_53 (0x29h or 0x52h) - that I mean with retard the ignition
                The result will be stored in RAM_52 and is the time of the closing angle begin (dwell begin?) - the effect I will check in my car, I think it's faster than thinking too much about the code

                For the understanding of what happens I think it's important to see the difference - a cut (disable the output) and a retard/shift are two things.

                The really impressing thing is - to get the idea for this kind of "spark cut" and to see the possibility years ago without FR etc.
                Big thanks to prj for doing this.

                - the code for fuel cut exist in Prjmod main code, but there is no jump to it and some little mods are necessary to work fully. Look carefully in the code and find where the main rpm limits are set, add jump to "hidden" code. Change logic's some sjmp's before some ram's and all will work perfectly.
                To be honest, I didn't see this at the moment. I don't find the access to 860A.

                But the question was more in the direction of vwnuts cause he's sure the fuel cut is in his copied code :-D

                Comment


                • #23
                  Originally posted by vwnut8392 View Post

                  well here's the whole routine, i know you wrote it but looking at it from my disassembly all spark cut happens before knock disable so i'll go with what i said. unless you made a different version than what you posted public that your thinking about.
                  I am just telling you how it works, if you can't read asm, not my problem.
                  KR is switched off in both cases, LC and NLS. The logic is always evaluated at the end.

                  For fuel cut it depends which base file you are using, one of the files had adjustable stuff and so on...
                  Ideally it needs a revisit from me, but not really had time.
                  Last edited by prj; 14 December 2018, 19:18.
                  http://tuner.ee - http://www.facebook.com/tuner.ee

                  Comment


                  • #24
                    fuel cut launch control is totally separate from the spark cut code and not active in PRJmod. if you look at my notes at the top of the code it does tell you how to activate it though.

                    this is the fuel cut launch control
                    Code:
                    de:00007E70          ; ---------------------------------------------------------------------------
                    code:00007E70          This is soft launch control. (Fuel Cut)
                    code:00007E70          To enable change 74 0A 93 at 0x399F to 02 7E 70.
                    code:00007E70
                    code:00007E70          Soft_Launch_Control_Code:               ; Wheel speed signal from X-ram 0x0170
                    code:00007E70 75 A0 01                 mov     P2, #1
                    code:00007E73 78 70                    mov     R0, #0x70 ; 'p' ; Move (Op1 <- Op2)
                    code:00007E75 E2                       movx    A, @R0          ; Move from/to external RAM
                    code:00007E76 75 A0 04                 mov     P2, #4          ; Slimming factor from FNMXTL 0x041A
                    code:00007E79 78 1A                    mov     R0, #0x1A       ; Move (Op1 <- Op2)
                    code:00007E7B B4 02 19                 cjne    A, #2, code_7E97 ; Speed for launch control #2
                    code:00007E7E E5 39                    mov     A, EGR_Temp     ; Move (Op1 <- Op2)
                    code:00007E80 75 F0 0A                 mov     B, #0xA         ; B-Register
                    code:00007E83 A4                       mul     AB              ; Multiply Acc by B
                    code:00007E84 FB                       mov     R3, A           ; Move (Op1 <- Op2)
                    code:00007E85 AA F0                    mov     R2, B           ; B-Register
                    code:00007E87 74 40                    mov     A, #0x40 ; '@'  ; Move (Op1 <- Op2)
                    code:00007E89 9B                       subb    A, R3           ; Subtract Second Operand from Acc with Borrow
                    code:00007E8A FB                       mov     R3, A           ; Move (Op1 <- Op2)
                    code:00007E8B 74 0D                    mov     A, #0xD         ; Move (Op1 <- Op2)
                    code:00007E8D 9A                       subb    A, R2           ; Subtract Second Operand from Acc with Borrow
                    code:00007E8E FA                       mov     R2, A           ; Move (Op1 <- Op2)
                    code:00007E8F 08                       inc     R0              ; Increment Operand
                    code:00007E90 F2                       movx    @R0, A          ; Move from/to external RAM
                    code:00007E91 08                       inc     R0              ; Increment Operand
                    code:00007E92 EB                       mov     A, R3           ; Move (Op1 <- Op2)
                    code:00007E93 F2                       movx    @R0, A          ; Move from/to external RAM
                    code:00007E94 02 39 AB                 ljmp    code_39AB       ; Long Jump
                    code:00007E97          ; ---------------------------------------------------------------------------
                    code:00007E97
                    code:00007E97          code_7E97:                              ; CODE XREF: code:00007E7B↑j
                    code:00007E97 74 0A                    mov     A, #0xA         ; Move (Op1 <- Op2)
                    code:00007E99 93                       movc    A, @A+DPTR      ; Move code byte relative to second op to Acc
                    code:00007E9A 02 39 A2                 ljmp    code_39A2       ; Long Jump
                    code:00007E9A          ; ---------------------------------------------------------------------------

                    and this is the RPM for the fuel cut to happen.
                    Code:
                    code:0000860A 09 AA    Soft_LC_RPM:    .word 0x9AA
                    "The really good drivers got the bugs on the side windows." Walter Röhrl

                    Comment


                    • #25
                      /edit: Thanks, only saw the first lines at mobile. The reference is missing in the stock prj files.
                      The code is for flatshift I guess? So no soft cut for launch.
                      Last edited by Acki; 17 December 2018, 14:55.

                      Comment


                      • #26
                        Originally posted by vwnut8392 View Post
                        fuel cut launch control is totally separate from the spark cut code and not active in PRJmod. if you look at my notes at the top of the code it does tell you how to activate it though
                        Bravo! that is the "hidden" code, but I'm curious how this code reflect fuel cut limit at 0x860A?

                        Originally posted by Acki View Post
                        /edit: Thanks, only saw the first lines at mobile. The reference is missing in the stock prj files.
                        The code is for flatshift I guess? So no soft cut for launch.
                        it seems to me the opposite, there is LC fuel cut procedure only, but limit for LC is calculated by value from Ram_39. For flat shift should have something more

                        Guys we have big gift ...... Dmitri already done everything ... he give as example how to use stock fuel cut procedure. He give example by calculation. and if you know values there is no problem to use it. But main from this is that there is no need to write new procedure, we can use stock one and change values for RPM limit to new values, depending on our needs.
                        We have example for for fuel cut procedure, with little thinking we easily can add change for HB of DPTR and in case of LC i.e. vehicle speed =02 hex and clutch pedal is pressed to read other RPM limit like 0x860A for example.
                        Then we must change HB and/or LB of DPTR in case of vehicle speed >02 hex and clutch pedal is pressed to read another offset/address named like flat shifting RPM limit
                        That is all

                        Comment


                        • #27
                          I also have another version of fuel cut launch control from PRJ as well thats not like the one found in the PRJmod. this one looks a bit more straight forward than the one in PRJmod.
                          Code:
                          code:00007E70          ; ---------------------------------------------------------------------------
                          code:00007E70          ; START OF FUNCTION CHUNK FOR code_2130
                          code:00007E70
                          code:00007E70          Soft_Launch_Control:                    ; CODE XREF: code_2130+186F↑j
                          code:00007E70 75 A0 01                 mov     P2, #1          ; Port 2
                          code:00007E73 78 70                    mov     R0, #0x70 ; 'p' ; Move (Op1 <- Op2)
                          code:00007E75 E2                       movx    A, @R0          ; Move from/to external RAM
                          code:00007E76 75 A0 04                 mov     P2, #4          ; Port 2
                          code:00007E79 78 1A                    mov     R0, #0x1A       ; Move (Op1 <- Op2)
                          code:00007E7B B4 03 00                 cjne    A, #3, code_7E7E ; Compare Operands and JNE
                          code:00007E7E
                          code:00007E7E          code_7E7E:                              ; CODE XREF: code_2130+5D4B↑j
                          code:00007E7E 50 03                    jnc     code_7E83       ; Jump if Carry is clear
                          code:00007E80 90 86 00                 mov     DPTR, #0x8600   ; Move (Op1 <- Op2)
                          code:00007E83
                          code:00007E83          code_7E83:                              ; CODE XREF: code_2130:code_7E7E↑j
                          code:00007E83 74 0A                    mov     A, #0xA         ; Move (Op1 <- Op2)
                          code:00007E85 93                       movc    A, @A+DPTR      ; Move code byte relative to second op to Acc
                          code:00007E86 FA                       mov     R2, A           ; Move (Op1 <- Op2)
                          code:00007E87 08                       inc     R0              ; Increment Operand
                          code:00007E88 F2                       movx    @R0, A          ; Move from/to external RAM
                          code:00007E89 74 0B                    mov     A, #0xB         ; Move (Op1 <- Op2)
                          code:00007E8B 93                       movc    A, @A+DPTR      ; Move code byte relative to second op to Acc
                          code:00007E8C FB                       mov     R3, A           ; Move (Op1 <- Op2)
                          code:00007E8D 08                       inc     R0              ; Increment Operand
                          code:00007E8E F2                       movx    @R0, A          ; Move from/to external RAM
                          code:00007E8F 50 03                    jnc     code_7E94       ; Jump if Carry is clear
                          code:00007E91 90 83 8B                 mov     DPTR, #0x838B   ; Move (Op1 <- Op2)
                          code:00007E94
                          code:00007E94          code_7E94:                              ; CODE XREF: code_2130+5D5F↑j
                          code:00007E94 02 39 AB                 ljmp    code_39AB       ; Long Jump
                          code:00007E94          ; END OF FUNCTION CHUNK FOR code_2130
                          code:00007E94          ; ---------------------------------------------------------------------------
                          Here's the entry point for this version.
                          Code:
                          code:0000399F 02 7E 70                 ljmp    Soft_Launch_Control ; Long Jump
                          Last edited by vwnut8392; 17 December 2018, 20:37.
                          "The really good drivers got the bugs on the side windows." Walter Röhrl

                          Comment


                          • #28
                            RAM_39 is the clutch switch I think. 0 or FF I think.

                            Comment


                            • #29
                              Originally posted by vwnut8392 View Post
                              I also have another version of fuel cut launch control from PRJ as well thats not like the one found in the PRJmod. this one looks a bit more straight forward than the one in PRJmod.
                              This version does the same like other version and Yes it reflect fuel cut limit at 0x860A, but still don't have flat shifting RPM limit. Little more logic is needed. Do not hurry so much with the ready decisions, they are for certain needs, but they do not solve everything. If we want LC and flat shifting fuel cut limit we must adjust a little bit this ready solutions.


                              Originally posted by Acki View Post
                              RAM_39 is the clutch switch I think. 0 or FF I think.
                              There is a peculiarity of the port used (AN4) - not connected there are two stable levels U=2.5V i.e. 80 hex and grounded U=0V i.e. 00 hex. and AN6 0 to 5 Volts i.e. 00 to FF hex. How you can use this ports to have FF hex on it by 12 volt signal from clutch pedal?!! Dmitri already done this by very smart solution. He uses three levels of the port to menage few different conditions by one port.
                              Now is our turn to understand, use and do it.

                              Last edited by d_anev; 18 December 2018, 08:05.

                              Comment


                              • #30
                                I don't use the clutch switch (drive V8 automatic)
                                Will mod my V8 file for ign cut during shifting

                                Comment

                                Working...
                                X