…Show last 141 lines
61 Port_WriteByte($2F,(AsusSPDValueB1 And $E7) Or $10);
62 Port_WriteByte($2E,$F1);
63 AsusSPDValueB2:=Port_ReadByte($2F);
64 Port_WriteByte($2E,$F1);
65 Port_WriteByte($2F,(AsusSPDValueB2 And $E7) Or $10);
66 Port_WriteByte($2E,$AA);
67 End;
68
69 8 : Begin
70 Port_WriteByte($2E,$87);
71 Port_WriteByte($2E,$87);
72 Port_WriteByte($2E,7);
73 Port_WriteByte($2F,7);
74 Port_WriteByte($2E,$F2);
75 AsusSPDValueB1:=Port_ReadByte($2F);
76 Port_WriteByte($2E,$F2);
77 Port_WriteByte($2F,(AsusSPDValueB1 And $FC) Or 1);
78 Port_WriteByte($2E,2);
79 Port_WriteByte($2F,Port_ReadByte($2F) Or 2);
80 Port_WriteByte($2E,$AA);
81 End;
82 End;
83End;
84
85Procedure EnableAsusSPD;
86
87Type
88 asusidrec=Record
89 id : String[10];
90 m : Byte;
91 End;
92
93Const
94 asusid : Array [1..31] Of asusidrec=
95 (
96 (id:'A7V266MX'; m:0), // no need to enable anything
97 (id:'-A7V266-E'; m:5),
98 (id:'-A7V266-M'; m:5),
99 (id:'-A7V266'; m:5),
100 (id:'A7V333'; m:7),
101 (id:'3V4X'; m:1),
102 (id:'UV4X'; m:4),
103 (id:'CUBX'; m:3),
104 (id:'USL2'; m:5),
105 (id:'CUC2'; m:5),
106 (id:'P3B' ; m:3),
107 (id:'WEM' ; m:5),
108 (id:'-CUW' ; m:5),
109 (id:'<<CUW>>' ; m:5),
110 (id:'K7V' ; m:2),
111 (id:'A7V' ; m:2),
112 (id:'A7P' ; m:2),
113 (id:'A7M' ; m:2),
114 (id:'CUR' ; m:6),
115 (id:'P3C' ; m:5),
116 (id:'UEP2'; m:5),
117 (id:'TUEG'; m:5),
118 (id:'-MEW-' ; m:5),
119 (id:'<<MEW>>' ; m:5),
120 (id:'-P3W-E' ; m:5),
121 (id:'<<P3W>>' ; m:5),
122 (id:'CUSI'; m:5),
123 (id:'CUV2'; m:5),
124 (id:'A7S' ; m:5),
125 (id:'CUPL'; m:4),
126 (id:'<P4B>'; m:8)
127 );
128
129Var
130 i : Integer;
131 s : String;
132
133Begin
134 AsusSPDMethod :=0;
135 AsusSPDValueB1:=0;
136 AsusSPDValueB2:=0;
137 AsusSPDValueD :=0;
138
139 If FindSysBIOSString(0,$FF00,'ASUSTeK')<>$FFFF Then
140 Begin
141 s:=AwardMotherboardID;
142
143 For i:=Low(asusid) To High(asusid) Do
144 If Pos(asusid[i].id,s)<>0 Then
145 Begin
146 AsusSPDMethod:=asusid[i].m;
147 Break;
148 End;
149 End;
150
151 If AsusSPDMethod<>0 Then EnableAsusSPDSub(AsusSPDMethod);
152End;
153
154Procedure DisableAsusSPD;
155
156Begin
157 Case AsusSPDMethod Of
158 1 : Port_WriteDWord($E44C,AsusSPDValueD);
159 2 : Port_WriteByte($E44D,AsusSPDValueB1);
160 3 : Port_WriteByte($E437,AsusSPDValueB1);
161 4 : Port_WriteDWord($E44C,AsusSPDValueD);
162
163 5 : Begin
164 Port_WriteByte($2E,$87);
165 Port_WriteByte($2E,$87);
166 Port_WriteByte($2E,7);
167 Port_WriteByte($2F,8);
168 Port_WriteByte($2E,$F1);
169 Port_WriteByte($2F,AsusSPDValueB1);
170 Port_WriteByte($2E,$AA);
171 End;
172
173 6 : Begin
174 Port_WriteByte($EC80,AsusSPDValueB1);
175 Port_WriteByte($EC84,AsusSPDValueB2);
176 End;
177
178 7 : Begin
179 Port_WriteByte($2E,$87);
180 Port_WriteByte($2E,$87);
181 Port_WriteByte($2E,7);
182 Port_WriteByte($2F,8);
183 Port_WriteByte($2E,$F0);
184 Port_WriteByte($2F,AsusSPDValueB1);
185 Port_WriteByte($2E,$F1);
186 Port_WriteByte($2F,AsusSPDValueB2);
187 Port_WriteByte($2E,$AA);
188 End;
189
190 8 : Begin
191 Port_WriteByte($2E,$87);
192 Port_WriteByte($2E,$87);
193 Port_WriteByte($2E,7);
194 Port_WriteByte($2F,7);
195 Port_WriteByte($2E,$F2);
196 Port_WriteByte($2F,AsusSPDValueB1);
197 Port_WriteByte($2E,$AA);
198 End;
199 End;
200 AsusSPDMethod:=0;
201End;