; ============================================================================= ; Mistake Log . . . . . . . ; ; Distributor Trigger Handler. . . . . ; * mis1: mis2: ; The code that modifies L0043 checks for roll. Even if all byte values ; are 255 there is no way for the value to ever get over 255.... ; * mis3: ; The code that detects the narrow #1 cylinder timing pulse does not work. ; * mis10: ; Bit 1xxxxxxx of L005b is set but never used. ; * mis11: ; A push/pop that does nothing..... ; * mis12: ; Will never take this branch because a compare of zero and a BCS.. ; * mis13: ; Bit xxxx1xxx of L005d (ram_005d) is cleared but never tested anywhere ; * mis4: ; L0038 is cleared but never used anywhere. ; * mis5: ; L003e is cleared twice almost in a row. ; * mis6: ; The xxxxx11x bits of L00bc are tested but are never set anywhere. ; * mis7: ; Will always take this branch because they are comparing a zero to a ; value and jumping on carry-clear, which it can never set Carry. ; * mis8: ; Bits xxxxx1xx and xxxxxx1x of L00ba are set but never used anywhere. ; * mis9: ; Cannot find this target label and jump being used anywhere. ; * mis14: mis14a: mis14b: ; Never execute this code because above tests always by-passes it. ; * mis15: ; A mess of code in the IAC computations is usless because of what the ; tables are set at. Goes thru a whole bunch of work to always come ; up with the exact same results. ; * mis16: ; Never take some code because A is loaded with a zero followed by BEQ. ; * mis17: ; Looks like this code to fire the injectors (maybe during starting) ; never gets called... ; * mis18: ; Will never take this jump. No byte can be higher than the 255 constant. ; * mis19: mis20: ; Couple place that will always take a jump needlessly ; * mis21: mis56: ; Will always take this branch because comparing zero to a non-zero ; number followed with a bhi. Comparing a zero will always clear carry. ; * mis22: ; Stashed something into L0000 then a few lines later stashed something ; else into it. ; 09/03/99 - This may be needed because the next instructions turns on the ; interrupts so maybe to assure some value stash now ? ; * mis23: mis24: mis48: ; Can never take this branch ; * mis25: mis46: ; more piss-poor logic and needless tests ; * mis26: ; multiply a number by 16 then divide it by 16 ????? - makes sense ; * mis27: mis28: mis30 ; these stashs are not used anywhere in the following calculations ; * mis29: mis31: ; a bunch of calculations that always result in zero...... ; * mis32: mis33: ; more bs because tables contain all the same entries...... ; * mis34: mis35: ; don't need to do these calculations - just use constant ; * mis36: ; more usless lookup because table has all the same entries ; * mis37: mis37a: ; section of code assumes that the A reg still contains the spark angle ; * mis38: mis39: ; stash that does nothing because only a zero ever gets loaded ; * mis40: ; bit x1xxxxxx of L005c gets set but is never cleared anywhere ; Left because low usage and absolutely sure why they did this ; * mis41: ; bit 1xxxxxxx of L005c gets set but is never cleared anywhere ; Left because low usage and absolutely sure why they did this ; ; * mis42: (several locations) ; with constants used adding a 1 to L0014 will never roll. ; * mis43: ; with constant used result will always be zero ; * mis44: ; L0073 never gets used. Where it is bumped never gets called ; * mis45: ; storing and loading back the same register ; * mis47: ; bit 1xxxxxxx of L0058 useless because of mis38: ; * mis49: mis49a: mis49b: mis49c: mis49d: mis49e: ; problems with the MAP offset that gets loaded into L0008 and applied ; to L0000. The whole MAP correction may not do anything !!!!! ; This would mean all the corrected values I applied with L0000 ; are wrong ! ; 12/28/98 - They are. L0008 is always zero !!!!!!!! ; 09/03/99 - Well it looks like I was wrong. The initial value computed ; is a valid altitude compression value. ; 09/04/99 - There still is a problem with some of the code were it looks ; like it is trying to re-compute this compression factor ; while the motor is running. The TPS values choosen will ; always by-pass this section of code. ; * mis50: ; why calculate when just get the darn thing ; 01/03/99 - left because low usage and might be needed ; ; * mis51: mis51a: mis51b: ; needless loads into IY ; * mis52: mis53: ; needless clc ; * mis54: ; I believe this bit will always be zero at this point because prev clear ; 01/03/99 - Left because it may affect a situation where the motor was ; running then stoped without loosing power to EMU. ; ; * mis55: ; bit xxxxx1xx of L0058 useless because never tested anywhere ; * mis57: ; xor with a 0 does nothing.... ; * mis58: mis58a: mis58b: mis58c: ; with values used can never take branch ; * mis59: mis59a: mis59c: mis59d: ; can jump arround these calculations because results are always zero ; * mis60: mis60a: ; why test when load sets the flags ; * mis61: mis61a: ; with L004e and L004f limited to +-127 and the scaling multipliers used ; the results can never be this high. ; * mis62: ; subtract zero from a value ; * mis63: ; don't think need to clear this work stash...... ; * mis64: ; subtracting zero then branching on carry ; 01/03/99 - left this as I may experiment with it ; * mis65: ; not needed register set ; * mis66: ; bunch of do nothing code ; * mis67: ; another sub-routine that is never called ; * mis68: ; now that I see where L6000 comes from it can be wired arround ; mis69: ; The COP system is not being enabled. The NOCOP bit in the CONFIG ; register is set to one (1) disabling the COP watch dog timer !!!! ; 12/13/98 - read the CONFIG register = 00001101 ; 01/03/99 - Left it in for the time being. ; ; mis70: ; If the only difference in the first dist trigger path decision (over ; 4,500 rpm is that #1 shutter is looked at maybe can reduce code lines. ; mis71: ; Might check and see how often L004e and L004f are zero. If a lot then ; maybe be able to skip some code here. If these stash are used alot ; then maybe not. ; ; mis72: ; The branch at L8a67 branches to the next line. Does absolutely ; nothing. ; ; mis73: ; Found another bad error. The code just below L9644: where the IC1F ; ignition timer and Dist trigger conditions are set, well they ; forgot to set the IY register to the register base. This routine has ; several entries, none of which set the IY register and all have the ; register set at some meaningless value. This NEED TO BE FIXED !!!! ; ; 10/03/99 - Found this one doing the flow charts. Not Good ! ; ; ==============================================================================