799 ;**************************************************** 800 ;* 801 ;* MegaSquirt RAM Variables 802 ;* 803 ;* We wish we had plenty of RAM to burn 804 ;**************************************************** 805 ms_ram_start: 806 807 ; RAM Variables - Ordered List for RS232 realtime download - delivered in one pack 0040 808 secl: ds 1 ; low seconds - from 0 to 255, then rollover (0) 0041 809 squirt: ds 1 ; Event variable bit field for Injector Firing (1) 810 ; Squirt Event Scheduling Variables - bit fields for "squirt" variable 0042 811 inj1: equ 0 ; 0 = no squirt 1 = squirt 0042 812 inj2: equ 1 ; 0 = no squirt 1 = squirt 0042 813 sched1: equ 2 ; 0 = nothing scheduled 1 = scheduled to squirt 0042 814 firing1: equ 3 ; 0 = not squirting 1 = squirting 0042 815 sched2: equ 4 0042 816 firing2: equ 5 0042 817 bcTableUse: equ 6 ; boost control 818 0042 819 engine: ds 1 ; Variable bit-field to hold engine current status (2) 820 ; Engine Operating/Status variables - bit fields for "engine" variable 0043 821 running: equ 0 ; 0 = engine not running 1 = running 0043 822 crank: equ 1 ; 0 = engine not cranking 1 = engine cranking 0043 823 startw: equ 2 ; 0 = not in startup warmup 1 = in warmup enrichment 0043 824 warmup: equ 3 ; 0 = not in warmup 1 = in warmup 0043 825 tpsaen: equ 4 ; 0 = not in TPS acceleration mode 1 = TPS acceleration mode 0043 826 tpsden: equ 5 ; 0 = not in deacceleration mode 1 = in deacceleration mode 0043 827 mapaen: equ 6 ; 0 = not in MAP acceleration mode 1 = MAP deaceeleration mode 0043 828 idleOn: equ 7 ; 829 0043 830 baro: ds 1 ; Barometer ADC Raw Reading - KPa (0 - 255) (3) 0044 831 map: ds 1 ; Manifold Absolute Pressure ADC Raw Reading - KPa (0 - 255) 0045 832 mat: ds 1 ; Manifold Air Temp ADC Raw Reading - counts (0 - 255) 0046 833 clt: ds 1 ; Coolant Temperature ADC Raw Reading - counts (0 - 255) 0047 834 tps: ds 1 ; Throttle Position Sensor ADC Raw Reading - counts, represents 0 - 5 volts 0048 835 batt: ds 1 ; Battery Voltage ADC Raw Reading - counts 0049 836 ego: ds 1 ; Exhaust Gas Oxygen ADC Raw Reading - counts 004A 837 egocorr: ds 1 ; Oxygen Sensor Correction (10) 004B 838 aircor: ds 1 ; Air Density Correction lookup - percent 004C 839 warmcor: ds 1 ; Total Warmup Correction - percent 004D 840 rpm: ds 1 ; Computed engine RPM - rpm/100 004E 841 pwcalch: ds 1 ; high order of calculated pulsewith (16 bits) - sph added for HR 004F 842 pwcalcl: ds 1 ; low order of pulsewidth (16 bits) 0050 843 tpsaccel: ds 1 ; Acceleration enrichment - percent 0051 844 barocor: ds 1 ; Barometer Lookup Correction - percent 0052 845 gammae: ds 1 ; Total Gamma Enrichments - percent 0053 846 vecurr: ds 1 ; Current VE value from lookup table - percent 0054 847 pwcalc2h: ds 1 ; high res PW 2 (20+21) 0055 848 pwcalc2l: ds 1 0056 849 vecurr2: ds 1 ; current VE2 (22) 0057 850 idleDC: ds 1 ; Idle DC count value (23) 0058 851 ctimeCommH: ds 1 ; Cycle time H for communication 0059 852 ctimeCommL: ds 1 ; Cycle time L for communication 005A 853 SparkAngle: ds 1 ; Spark angle (256 = 90 deg) (26) 005B 854 afrTarget: ds 1 ; AFR Target temp variable 005C 855 o2_fpadc: ds 1 ; Second O2 sensor or Fuel Pressure 005D 856 egtadc: ds 1 ; EGT Temperature 005E 857 CltIatAngle: ds 1 ; Coolant Iat Angle (30) 005F 858 KnockAngle: ds 1 ; Knock Angle 0060 859 egoCorr2: ds 1 ; Second O2 sensor Ego Correction 860 ; ( 33 total variables to here numbers 0 to 32- kg) 861 ;------------------------- 862 0061 863 SparkBits: ds 1 ; Spark timing bits 0062 864 SparkTrigg equ 0 ; SparkBits(0) IRQ has triggered, but no spark yet 0062 865 SparkHSpeed equ 1 ; SparkBits(1) High speed spark (using highres timer) 0062 866 SparkLSpeed equ 2 ; SparkBits(2) Low speed spark (using low speed timer or trigger going low) 0062 867 dwellcd equ 3 ; used for rotary to tell calcdwellspk not to dwell trailing 0062 868 rise equ 4 ;} found a rising IRQ edge / 2nd multispark / coilcbit 0062 869 lc_fs equ 5 ; doing flat shift vs. launch 0062 870 trigret equ 6 ; falling edge at end of short pulses - sets crank timing 0062 871 Knocked equ 7 ; Knock system working 872 873 ;Rev limiter variables 0062 874 RevLimBits ds 1 ; Rev limiter status bits 0063 875 RevLimSoft equ 0 ; RevLimBits(0) Soft rev limiter in action 0063 876 RevLimHSoft equ 1 ; RevLimBits(1) Soft rev limiter hard mode 0063 877 RevLimHard equ 2 ; RevLimBits(2) Hard rev limiter in action 0063 878 sparkon equ 3 ; ran out of space in sparkbits 0063 879 coilerr equ 4 ; out of sequence coil detection 0063 880 sparkCut equ 5 ; Spark Cut in action 0063 881 LaunchOn equ 6 ; Soft Launch On 0063 882 Advancing equ 7 ; Advancing Knock system 883 0063 884 personality ds 1 ; code works from ram. loaded from flash at boot 0064 885 MSNS equ 0 ; Megasquirtnspark 0064 886 MSNEON equ 1 ; MS neon decoder 0064 887 WHEEL equ 2 ; generalised decoder 36-1, 60-2 etc 0064 888 WHEEL2 equ 3 ; 0 = -1 1 = -2 0064 889 EDIS equ 4 ; edis 0064 890 DUALEDIS equ 5 ; two edis modules (for edis4 on V8, edis6 on V12) 0064 891 TFI equ 6 ; Ford TFI system 0064 892 HEI7 equ 7 ; GM 7 pin HEI 893 894 ** output bits 895 ** spark output defaults to FIDLE (original MSnS) 896 ** Neon code always put coils on D19 and D17 0064 897 outputpins ds 1 ; 0 (B&G) | 1 (non B&G) 0065 898 REUSE_FIDLE equ 0 ; FIDLE for iasc | spark output 0065 899 REUSE_LED17 equ 1 ; LED17 for sled | coila output 0065 900 REUSE_LED18 equ 2 ; mismatch between .ini and .asm 0065 901 REUSE_LED18_2 equ 3 ; 902 ; LED18_2 LED18 function 903 ; 0 0 wled 904 ; 0 1 irq 905 ; 1 0 output4 906 ; 1 1 spark c 907 0065 908 REUSE_LED19 equ 4 ; LED19 for aled | coilb output 0065 909 X2_FAN equ 5 ; X2 water/n2o | fan control 0065 910 LED18_FAN equ 6 ; LED18 output4 | fan control 0065 911 TOY_DLI equ 7 ; toyota DLI ignition multiplex 912 0065 913 feature1 ds 1 ; some features taken from Dual Table 0066 914 wd_2trig equ 0 ; wheel decoder 2nd trigger i/p - new in 023c9 0066 915 wd_2trigb equ 1 ; for use by BIT 0066 916 whlsim equ 2 ; enable wheel simulator for use on the stim ONLY 0066 917 taeIgnCount equ 3 0066 918 rotaryFDign equ 4 ; enable rotary FD ignition outputs 0066 919 hybridAlphaN equ 5 0066 920 CrankingPW2 equ 6 0066 921 Nitrous equ 7 922 0066 923 feature2 ds 1 ; more 0067 924 BoostControl equ 0 0067 925 ShiftLight equ 1 0067 926 LaunchControl equ 2 0067 927 primebit equ 3 0067 928 out3sparkd equ 4 ; 1= use output for spark D 0067 929 min_dwell equ 5 0067 930 dwellduty50 equ 6 0067 931 config_error equ 7 ; set if non-sense combination of options - don't run. 932 0067 933 feature7 ds 1 ; Enhanced stuff 0068 934 TractionNos equ 0 ; Turn Nos off in Traction Loss? 0068 935 dwellcont equ 1 ; Real (crude) dwell control 0068 936 TCcycleSec equ 2 ; Hold traction settings for cycles or till rpm stable for 0.1S 0068 937 WheelSensor equ 3 ; TC wheel sensors fitted 0068 938 AlphaTarAFR equ 4 ; Alpha n or speed density for target afr 0068 939 TPSTargetAFR equ 5 ; TPS setpoint for target AFR's 0068 940 StagedMAP2nd equ 6 ; Do we want to use a 2nd param for staged (MAP only for now) 0068 941 StagedAnd equ 7 ; and/or operation for Staged second param 942 943 ;bit definitions of "missing" flash feature vars in .asm 944 0068 945 EnhancedBits: ds 1 ; Enhanced Stuff 0069 946 NosDcOk: equ 0 ; Nos System not causing Duty Cycle of >90% 0069 947 NosSysOn: equ 1 ; Nos System Running 0069 948 OverRun: equ 2 ; Over Run Fuel Cut 0069 949 REStaging: equ 3 ; Roger Enns Staging On 0069 950 NosAntiLag: equ 4 ; Nos Antilag running 0069 951 NosSysReady: equ 5 ; NOS Ready to go 0069 952 UseVE3: equ 6 ; Use VE table 3 0069 953 Primed: equ 7 ; Fuel System Primed 954 0069 955 EnhancedBits2: ds 1 ; A few more enhanced bits 006A 956 Traction: equ 0 ; Traction control running 006A 957 Output1On: equ 1 ; Bit for the output 1 on 006A 958 Output2On: equ 2 ; Bit for the output 2 on 006A 959 cant_crank equ 3 ; Flag that we can't enter crank mode 006A 960 cant_delay equ 4 ; delay bit for cant crank mode 006A 961 over_Run_Set: equ 5 ; Set over run active for timer 006A 962 mv_mode: equ 6 ; we are in Megaview mode, disable enhanced comms 006A 963 OneShotBaro: equ 7 ; One check for baro correction 964 006A 965 coilsel: ds 1 ; which coil are we working on 006B 966 coilabit equ 0 ; now a bit each to make life easier 006B 967 coilbbit equ 1 006B 968 coilcbit equ 2 006B 969 coildbit equ 3 006B 970 coilebit equ 4 006B 971 coilfbit equ 5 972 ;don't expect any more! 973 006B 974 EnhancedBits4: ds 1 006C 975 roll1 equ 0 ; bits to see if we missed a T2 overflow 006C 976 roll2 equ 1 006C 977 page2: equ 2 ; this was a whole byte 006C 978 wspk equ 3 ; set if we are running wasted spark type multiple outputs 006C 979 indwell equ 4 ; hi-res dwell is in process - may drop 006C 980 nextcyl equ 5 ; quick calc for next cyl mode 006C 981 invspk equ 6 ; quick calc for inverted / non-inverted spark 006C 982 FxdASEDone equ 7 ; Fixed ASE done now use normal ASE 983 006C 984 EnhancedBits5: ds 1 006D 985 rotary2 equ 0 ; gets copied from flash var on boot and Burn 986 ; enable twin rotor leading/trailing split stuff 006D 987 checkbit equ 1 ; For testing the code. 006D 988 toothlog equ 2 ; log teeth in wheel decoder 006D 989 triglog equ 3 ; log ignition triggers (all ignition codes) 006D 990 rsh_s equ 4 ; rotary split hysteresis on split 006D 991 rsh_r equ 5 ; rotary split hysteresis on rpm 006D 992 cto equ 6 ; tach output armed 006D 993 ctodiv equ 7 ; tach output divider bit for half speed 006D 994 ctodivb equ $80 ; ctodiv for bit/eor ops 995 006D 996 EnhancedBits6: ds 1 006E 997 hrdwon equ 0 ; hi-res dwell hysteresis bit 006E 998 wsync equ 1 ; wheel is synced 006E 999 whold equ 2 ; wheel not in holdoff 006E 1000 trigger2 equ 3 ; used in conjunction with "rise" bit for 2nd trigger input 006E 1001 IdleAdvTimeOK equ 4 006E 1002 StgTransDone equ 5 006E 1003 idashbit equ 6 ; kg PWM idle 006E 1004 istartbit equ 7 ; kg PWM idle added for startup 1005 1006 1007 ; Engine RPM -> RPM = 12000/(ncyl * (rpmph - rpmpl)) 006E 1008 rpmph: ds 1 ; High part of RPM Period 006F 1009 rpmpl: ds 1 ; Low part of RPM Period 0070 1010 rpmch: ds 1 ; Counter for high part of RPM 0071 1011 rpmcl: ds 1 ; Counter for low part of RPM 0072 1012 idleph ds 1T 0073 1013 idlepl ds 1T 1014 0074 1015 flocker: ds 1 ; Flash locker semaphore 1016 1017 ; Previous ADC values for computing derivatives 0075 1018 lmap: ds 1 ; Manifold Absolute Pressure ADC last Reading 0076 1019 lmat: ds 1 ; Manifold Air Temp ADC last Reading 0077 1020 lclt: ds 1 ; Coolant Temperature ADC last Reading 0078 1021 ltps: ds 1 ; Throttle Position Sensor ADC last Reading 0079 1022 lbatt: ds 1 ; Battery Voltage ADC last Reading 007A 1023 lego: ds 1 ; Last EGO ADC reading 1024 1025 ;Global Time Clock 007B 1026 mms: ds 1 ; 0.0001 second update variable 007C 1027 ms: ds 1 ; 0.001 second increment 007D 1028 tenth: ds 1 ; 1/10th second 007E 1029 sech: ds 1 ; high seconds - rollover at 65536 secs (1110.933 minutes, 18.51 hours) 007F 1030 tpsaclk: ds 1 ; TPS enrichment timer clock in 0.1 second resolution 0080 1031 egocount: ds 1 ; Counter value for EGO step - incremented every ignition pulse 0081 1032 asecount: ds 1 ; Counter value for after-start enrichment counter - every ignition pulse 0082 1033 igncount1: ds 1 ; Ignition pulse counter 0083 1034 igncount2: ds 1 ; Ignition pulse counter 0084 1035 altcount1: ds 1 ; Alternate count selector 0085 1036 altcount2: ds 1 ; Alternate count selector 0086 1037 Decay_Accel: ds 1 ; Storage for Accel Value to decay from 0087 1038 tpsfuelcut: ds 1 ; TPS Fuel Cut (percent) 1039 1040 ;SCI parameters/variables 0088 1041 txcnt ds 1 ; SCI transmitter count (incremented) 0089 1042 txgoal ds 1 ; SCI number of bytes to transmit 008A 1043 txmode ds 1 ; Transmit mode flag 008B 1044 rxoffset ds 1 ; offset placeholder when receiving VE/constants vis. SCI 008C 1045 adsel: ds 1 ; ADC Selector Variable 1046 1047 ;Timer Equates for real-time clock function 008D 1048 T1Timerstop equ %00110010 ;TSC 008D 1049 T1Timergo equ %01010010 ;TSC 1050 ;T2SC0_No_PWM equ %00010000 ;TSC0 1051 1052 ; These control Injector PWM mode for T1SC0 and T1SC1 008D 1053 Timergo_NO_INT equ %00000010 ;TSC without interrupts 1054 ;T1SCX_PWM equ %00011010 ; Unbuffered PWM enabled 008D 1055 T1SCX_PWM equ %00011110 ; Unbuffered PWM enabled - set high on compare, toggle on overflow 1056 008D 1057 T1SCX_NO_PWM equ %00010000 ; No PWM 1058 008D 1059 burnSrc ds 2T 008F 1060 burnDst ds 2T 0091 1061 burnCount ds 1T 1062 1063 ; Temporary variables 0092 1064 tmp1 ds 1 0093 1065 tmp2 ds 1 0094 1066 tmp3 ds 1 0095 1067 tmp4 ds 1 0096 1068 tmp5 ds 1 0097 1069 tmp6 ds 1 0098 1070 tmp7 ds 1 0099 1071 tmp8 ds 1 009A 1072 tmp9 ds 1 009B 1073 tmp10 ds 1 009C 1074 tmp11 ds 1 009D 1075 tmp12 ds 1 009E 1076 tmp13 ds 1 009F 1077 tmp14 ds 1 00A0 1078 tmp15 ds 1 00A1 1079 tmp16 ds 1 00A2 1080 tmp17 ds 1 00A3 1081 tmp18 ds 1 00A4 1082 tmp19 ds 1 00A5 1083 tmp20 ds 1 00A6 1084 tmp21 ds 1 00A7 1085 tmp22 ds 1 1086 00A8 1087 T2CNTX ds 1 ; software 3rd byte of T2 1088 ; variables here don't need to be zero page 1089 ; Spark timing variables 00A9 1090 T2LastX: ds 1 ; T2 xhigh last 00AA 1091 T2LastH: ds 1 ; Timer 2 high last ; T2 at last decoded pulse. All spark codes. 00AB 1092 T2LastL: ds 1 ; Timer 2 low last 00AC 1093 itimeX: ds 1 ; Time between decoded triggers in us. X - calc in DOSQUIRT 00AD 1094 itimeH: ds 1 ; mid byte 00AE 1095 itimeL: ds 1 ; low byte 00AF 1096 SparkDelayH: ds 1 ; Spark delay high 00B0 1097 SparkDelayL: ds 1 ; Spark delay low 00B1 1098 SparkOnLeftah: ds 1 ; Time left for spark to be on (0.1ms) coil a high 00B2 1099 SparkOnLeftal: ds 1 ; Time left for spark to be on (0.1ms) coil a low 00B3 1100 SparkOnLeftbh: ds 1 ; Time left for spark to be on (0.1ms) coil b high 00B4 1101 SparkOnLeftbl: ds 1 ; Time left for spark to be on (0.1ms) coil b low 00B5 1102 SparkOnLeftch: ds 1 ; Time left for spark to be on (0.1ms) coil c high 00B6 1103 SparkOnLeftcl: ds 1 ; Time left for spark to be on (0.1ms) coil c low 00B7 1104 SparkOnLeftdh: ds 1 ; Time left for spark to be on (0.1ms) coil d high 00B8 1105 SparkOnLeftdl: ds 1 ; Time left for spark to be on (0.1ms) coil d low 00B9 1106 SparkOnLefteh: ds 1 ; Time left for spark to be on (0.1ms) coil e high 00BA 1107 SparkOnLeftel: ds 1 ; Time left for spark to be on (0.1ms) coil e low 00BB 1108 SparkOnLeftfh: ds 1 ; Time left for spark to be on (0.1ms) coil f high 00BC 1109 SparkOnLeftfl: ds 1 ; Time left for spark to be on (0.1ms) coil f low 00BD 1110 cTimeH: ds 1 ; Cycle time for spark delay calculation 00BE 1111 cTimeL: ds 1 ; Cycle time for spark delay calculation 00BF 1112 SparkTempH: ds 1 ; Temporary storage for spark delay calculation 00C0 1113 SparkTempL: ds 1 ; Temporary storage for spark delay calculation 00C1 1114 SparkCarry: ds 1 ; Temporary storage for spark delay calculation 00C2 1115 SRevLimTimeLeft ds 1 ; Soft rev limiter time left to hard mode 00C3 1116 T2PrevX: ds 1 ; top byte - only used for v.low rpm 00C4 1117 T2PrevH: ds 1 ; T2 at last IRQ/tooth - wheel decoder 00C5 1118 T2PrevL: ds 1 ; low byte 00C6 1119 acch: ds 1 ; engine accel/devel 00C7 1120 accl: ds 1 ; " 00C8 1121 Pambient ds 1T 00C9 1122 kpa ds 1T 00CA 1123 coolant ds 1T 00CB 1124 idleLastDC ds 1T 00CC 1125 bcDC ds 1T 00CD 1126 KPAlast ds 1T 00CE 1127 TPSlast ds 1T 00CF 1128 idleCtlClock ds 1T 00D0 1129 idleActClock ds 1T 00D1 1130 bcActClock ds 1T 00D2 1131 bcCtlClock ds 1T ;DT 00D3 1132 TPSfuelCorr ds 1T 1133 1134 ; Enhanced stuff added 00D4 1135 OverRunTime: ds 1 ; Timer for over run to cut in 00D5 1136 SparkCutCnt: ds 1 00D6 1137 KnockTimLft: ds 1 00D7 1138 KnockAdv: ds 1 00D8 1139 kpa_n: ds 1 ; Kpa or TPs value for spark table lookup. 00D9 1140 tmp31: ds 1 ; Tmp storage for anything thats only used in a jsr 00DA 1141 tmp32: ds 1 ; Tmp Storage for anything thats only used in a jsr 00DB 1142 ST2Timer: ds 1 ; Spark Table 2 delay timer 00DC 1143 VE3Timer: ds 1 ; VE Table 3 delay timer 00DD 1144 TCAccel: ds 1 ; Traction Control Enrichment 00DE 1145 TCAngle: ds 1 ; Traction Control Spark Retard 00DF 1146 TCSparkCut: ds 1 ; Traction Control Spark Cut number and prime pulse cnt 00E0 1147 mmsDiv: ds 1 ; 0.1mS counter for Boost Control 00E1 1148 TCCycles: ds 1 ; Engine hold cycles 00E2 1149 Out3Timer: ds 1 ; Output3 timer 1150 ;yet more ram variables for EDIS /wheel stuff 00E3 1151 wheelcount ds 1 ; wheel counter for decoder _and_ HoldSpark/toothsync/ignore_small 1152 ;note on wheelcount: 1153 ;In Neon mode this is used as a holdoff for syncing counting up to zero 1154 ; bit7 = !sync 1155 ; bit6 = holdspark 1156 ; Once synced it is used to count the teeth 1157 ; In non-Neon mode it is used as HoldSpark counting down to zero 1158 ; these two used by tooth decoders or EDIS 00E4 1159 dwelldelay1 ds 1 ; 2 bytes of dwell delay in 0.1ms 00E5 1160 ds 1 00E6 1161 dwelldelay2 ds 1 ; same for period +1 00E7 1162 ds 1 00E8 1163 dwelldelay3 ds 1 ; same for period +2 00E9 1164 ds 1 00EA 1165 dwelldelay4 ds 1 ; same for period +3 00EB 1166 ds 1 00EC 1167 dwelldelay5 ds 1 ; same for period +4 00ED 1168 ds 1 00EE 1169 dwelldelay6 ds 1 ; same for period +5 00EF 1170 ds 1 1171 sawh: ; EDIS SAW width 1172 stHp: 00F0 1173 avgtoothh: ds 1 ; OR.. gap between teeth previous in decoders 1174 sawl: 1175 stLp: 00F1 1176 avgtoothl: ds 1 ; low byte 00F2 1177 lowresH ds 1 ; low res counter. Added for Neon code. 00F3 1178 lowresL ds 1 ; 00F4 1179 dwelldms ds 1 ; target dwell in 0.1ms units 00F5 1180 dwellush ds 1 ; target dwell in us units 00F6 1181 dwellusl ds 1 ; low byte 00F7 1182 sparktargeth ds 1 ; H target t2 value for spark (used in hi-res dwell) 00F8 1183 sparktargetl ds 1 ; L 00F9 1184 iTimepX ds 1 00FA 1185 iTimepH ds 1 ; previous hi-res cycle time (for accel/decel) 00FB 1186 iTimepL ds 1 ; 00FC 1187 splitdelH: ds 1 ; trailing split delay for rotary 00FD 1188 splitdelL: ds 1 00FE 1189 KnockBoost ds 1 ; Boost to remove from controller if Knock detected 00FF 1190 KnockAngleRet: ds 1 ; Knock Angle storage 0100 1191 rpmlast: ds 1 ; RPM accel dot last value 0101 1192 VlaunchLimit: ds 1 ; Variable Launch RPM value 0102 1193 page ds 1 0103 1194 DelayAngle: ds 1 ; Angle to delay spark (TriggAngle - SparkAngle) 0104 1195 airTemp: ds 1 0105 1196 NitrousAngle: ds 1 ; Nitrous Angle of Retard 0106 1197 NosPW: ds 1 ; PW to add for NOS System 0107 1198 pw_stagedh: ds 1 0108 1199 pw_stagedl: ds 1 0109 1200 n2olaunchdel: ds 1 ; launch to nitrous delay timer 010A 1201 n2ohold: ds 1 ; nitrous fuel and retard hold-on timer ; not yet used 010B 1202 pw_staged2h: ds 1 ; secondary pulsewidth for staging. 010C 1203 pw_staged2l: ds 1 010D 1204 stgTransitionCnt: ds 1 ; transition count for staging. 010E 1205 idlAdvHld: ds 1 ; Idle Advance Hold off after conditions are met. 1206 ; rename and use these place holders as needed 010F 1207 idleDelayClock ds 1 ; PWM Idle kg 0110 1208 engineLoad: ds 1 ; Fuel Lookup load - kg 0111 1209 ramslot3: ds 1 ; oh shit, only 3 left!idlerpm: 0112 1210 ramslot2: ds 1 ; oh shit, only 2 left!idletarget: 0113 1211 ramslot1: ds 1 ; oh shit, only 1 left!