Here is the information I copied / pasted about the $OE fan code from the FSC link. Provided by Fierobsessed post 13
dave w
So here it is, The same code, adapted to work for $0E:
Ram Variables:
L0283 = MPH
L00A8 = Coolant Temp
L004D,BIT 0 = A/C STATUS (1 = A/C Requested on)
L0052,BIT 3 = Fan Output Control
L0151 = Minimum Fan Run Timer
To enable this routine, be sure to change the Value at address 7C07 from D567 to 7120
Connect the fan relay to E3, Connect the other end of the relay coil to Power. The computer GROUNDS E3 to run the fan.
Coolant temp example:
199 deg F
199 + 40 = 239
239/1.35 = 177.04 (round to 177)
177 is B1 in hexidecimal.
Calibrations:
L7100 19 db High MPH Fan Cutoff (25 MPH)
L7101 B9 db Coolant Temperature Very High Value Enable (210 deg F)
L7102 B1 db Coolant Temperature High Value Enable (199 deg F)
L7103 AA db Coolant Temperature Low Value Disable (190 deg F)
L7104 2D db Minimum Fan Run "MFR" Time (45 Seconds)
Algorithms:
L7120 CE 71 00 L7120 LDX #L7100 Start of fan Calibrations
L7123 12 52 08 1F BRSET L0052,#$08,L7146 If Fan is On, Skip to "Load MFR Timer Variable"
L7127 96 A8 LDAA L00A8 Load Coolant Temperature
L7129 A1 01 CMPA 1,X Compare to Coolant Temperature Very High Value
L712B 22 11 BHI L713E Go to "Turn On Fan" if Higher
L712D 12 4D 01 06 BRSET L004D,#$01,L7137 If A/C is On, Go To "Load MPH"
L7131 96 A8 LDAA L00A8 Load Coolant Temperature
L7133 A1 02 CMPA 2,X Compare to Coolant Temperature High Value Enable
L7135 23 37 BLS L716E Go To "End" if Lower
L7137 B6 02 83 L7137 LDAA L0283 Load MPH
L713A A1 00 CMPA 0,X Compare to High MPH Fan Cutoff
L713C 22 30 BHI L716E Go to "End" if Higher
L713E 14 52 08 L713E BSET L0052,#$08 Turn on Fan
L7141 A6 04 LDAA 4,X Load MFR Timer
L7143 B7 01 51 STAA L0151 Save MFR Timer to L0151
L7146 B6 01 51 L7146 LDAA L0151 Load MFR Timer Variable
L7149 26 16 BNE L7161 If timer is Not Zero go to "Load MFR Timer Variable"
L714B 12 4D 01 06 BRSET L004D,#$01,L7155 If A/C is On, Go To "Load MPH"
L714F 96 A8 LDAA L00A8 Load Coolant Temperature
L7151 A1 03 CMPA 3,X Compare to Coolant Temperature Low Value Disable
L7153 23 09 BLS L715E Go To "Turn off fan" if Lower
L7155 B6 02 83 L7155 LDAA L0283 Load MPH
L7158 A1 00 CMPA 0,X Compare to High MPH Fan Cutoff
L715A 22 02 BHI L715E Go To "Turn off Fan" if Higher
L715C 20 10 BRA L716E End
L715E 15 52 08 L715E BCLR L0052,#$08 Turn off Fan
L7161 B6 01 51 L7161 LDAA L0151 Load MFR Timer Variable
L7164 D6 02 LDAB L0002 Load Loop Counter
L7166 C4 F0 ANDB #$F0 Mask First 4 Bits
L7168 26 04 BNE L716E Skip To end if no Decrement of Timer Needed
L716A 4A DECA Decrease MFR Timer by 1
L716B B7 01 51 STAA L0151 Save MFR Timer to L0151
L716E 4F L716E CLRA Clear A Register
L716F 5F CLRB Clear B Register
L7170 39 RTS Return
7100: 19 b9 b1 aa 2d 00 00 00 00 00 00 00 00 00 00 00
7110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
7120: ce 71 00 12 52 08 1f 96 a8 a1 01 22 11 12 4d 01
7130: 06 96 a8 a1 02 23 37 b6 02 83 a1 00 22 30 14 52
7140: 08 a6 04 b7 01 51 b6 01 51 26 16 12 4d 01 06 96
7150: a8 a1 03 23 09 b6 02 83 a1 00 22 02 20 10 15 52
7160: 08 b6 01 51 d6 02 c4 f0 26 04 4a b7 01 51 4f 5f
7170: 39
Bookmarks