Browse Source

fw: better SDRAM test (fails?)

More thorough DRAM checking... problems with bank crossing on reads?
Appear to have the "reading only the high word" problem again...
H. Peter Anvin 3 năm trước cách đây
mục cha
commit
f2f1e52e5e

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1394 - 1376
fpga/output_files/max80.jam


BIN
fpga/output_files/max80.jbc


BIN
fpga/output_files/max80.jic


+ 1 - 1
fpga/output_files/max80.map

@@ -10,7 +10,7 @@ Quad-Serial configuration device dummy clock cycle: 8
 
 Notes:
 
-- Data checksum for this conversion is 0xF76C94F7
+- Data checksum for this conversion is 0xF76C9B7C
 
 - All the addresses in this file are byte addresses
 

BIN
fpga/output_files/max80.pof


BIN
fpga/output_files/max80.sof


+ 989 - 925
fw/boot.mif

@@ -5,933 +5,997 @@ ADDRESS_RADIX = HEX;
 DATA_RADIX = HEX;
 CONTENT BEGIN
 000 : 00002137;
-001 : 1260006F;
+001 : 1A40006F;
 002 : 00000000;
 003 : 00000000;
-004 : 1AC0006F;
-005 : C4221141;
-006 : 0793C606;
-007 : 842A0000;
-008 : 4581C791;
-009 : 00000097;
-00A : 000000E7;
-00B : 8601A503;
-00C : C391551C;
-00D : 85229782;
-00E : 425000EF;
-00F : 71796571;
-010 : 20050513;
-011 : D226D606;
-012 : CE4ED04A;
-013 : CA56CC52;
-014 : C65EC85A;
-015 : C266C462;
-016 : C06AD422;
-017 : 6285228D;
-018 : C0000023;
-019 : D6828513;
-01A : B9B764C1;
-01B : 22690200;
-01C : 4C814901;
-01D : 14FD6B05;
-01E : 6B856A05;
-01F : 89936C05;
-020 : 6A851FF9;
-021 : 42000637;
-022 : 400005B7;
-023 : CECB0513;
-024 : 04372A79;
-025 : 0D374000;
-026 : 77B34200;
-027 : E7890094;
-028 : 051385A2;
-029 : 2261D10A;
-02A : 45818522;
-02B : 852228ED;
-02C : 28D555FD;
-02D : FFF44593;
-02E : 20F58522;
-02F : 852285A2;
-030 : 20D50411;
-031 : FDA41BE3;
-032 : D18B8513;
-033 : 04372235;
-034 : 0D374000;
-035 : 401C4200;
-036 : 009470B3;
-037 : 00009663;
-038 : 051385A2;
-039 : 22A1D10A;
-03A : 16E30411;
-03B : 0513FFA4;
-03C : 2219D40C;
-03D : FFFCC313;
-03E : 40235393;
-03F : 0013F593;
-040 : E6330C86;
-041 : 7C930195;
-042 : 00230FF6;
-043 : 2773C190;
-044 : 26F3C010;
-045 : 8833C010;
-046 : FCE340E6;
-047 : 0905FF09;
-048 : 851385CA;
-049 : 2221D58A;
-04A : 1197BFB1;
-04B : 81930000;
-04C : 85134F21;
-04D : 86138681;
-04E : 8E098941;
-04F : 22B54581;
-050 : 00000513;
-051 : 0513C519;
-052 : 00970000;
-053 : 00E70000;
-054 : 28ED0000;
-055 : 004C4502;
-056 : 35CD4601;
-057 : 1141BD65;
-058 : C783C422;
-059 : C6068781;
-05A : 0793EF91;
-05B : CB810000;
-05C : 05136505;
-05D : 0097E105;
-05E : 00E70000;
-05F : 47850000;
-060 : 86F18C23;
-061 : 442240B2;
-062 : 80820141;
-063 : 00000793;
-064 : 6505CB91;
-065 : 87C18593;
-066 : E1050513;
-067 : 00000317;
-068 : 00000067;
-069 : C10C8082;
-06A : 86AE4110;
-06B : 00C58763;
-06C : 650585AA;
-06D : CCC50513;
-06E : 8082A89D;
-06F : D737A001;
-070 : 478D3216;
-071 : 94870313;
-072 : 02A782B3;
-073 : 02653533;
-074 : 00A283B3;
-075 : FFF38593;
-076 : C4B02223;
-077 : 00238082;
-078 : 26F3C4A0;
-079 : 0713C010;
-07A : 27F33470;
-07B : 82B3C010;
-07C : 7CE340D7;
-07D : 8082FE57;
-07E : C4221141;
-07F : 842AC606;
-080 : 00044503;
-081 : 40B2E509;
-082 : 01414422;
-083 : 04058082;
-084 : B7FD37F9;
-085 : 862A7175;
-086 : 850A86AE;
-087 : 08000593;
-088 : 28EDC706;
-089 : 3FC9850A;
-08A : 614940BA;
-08B : 71398082;
-08C : 104CD22E;
-08D : D432CE06;
-08E : D83AD636;
-08F : DC42DA3E;
-090 : C62EDE46;
-091 : 40F23FC1;
-092 : 80826121;
-093 : C4221141;
-094 : 6405C226;
-095 : 87936485;
-096 : 0413E144;
-097 : 8C1DE144;
-098 : C606C04A;
-099 : 84938409;
-09A : 4901E144;
-09B : 02891563;
-09C : 64056485;
-09D : E1448793;
-09E : E1840413;
-09F : 84098C1D;
-0A0 : E1448493;
-0A1 : 1D634901;
-0A2 : 40B20089;
-0A3 : 44924422;
-0A4 : 01414902;
-0A5 : 409C8082;
-0A6 : 04910905;
-0A7 : B7F99782;
-0A8 : 0905409C;
-0A9 : 97820491;
-0AA : 832ABFF9;
-0AB : 0023C611;
-0AC : 167D00B3;
-0AD : FE650305;
-0AE : 71198082;
-0AF : DAA6DCA2;
-0B0 : D8CADE86;
-0B1 : 843284AA;
-0B2 : 00065C63;
-0B3 : 08B00793;
-0B4 : 557DC11C;
-0B5 : 546650F6;
-0B6 : 594654D6;
-0B7 : 80826109;
-0B8 : 20800793;
-0B9 : 00F11A23;
-0BA : CC2EC42E;
-0BB : 47818636;
-0BC : C01986BA;
-0BD : FFF40793;
-0BE : 002C597D;
-0BF : C83E8526;
-0C0 : 1B23CE3E;
-0C1 : 22210121;
-0C2 : 01255563;
-0C3 : 08B00793;
-0C4 : D069C09C;
-0C5 : 802347A2;
-0C6 : BF6D0007;
-0C7 : 86B28736;
-0C8 : 85AA862E;
-0C9 : 8641A503;
-0CA : 1101BF49;
-0CB : A903C84A;
-0CC : CC220085;
-0CD : C452C64E;
-0CE : CE06C256;
-0CF : C05ACA26;
-0D0 : 0005AA83;
-0D1 : 8A32842E;
-0D2 : E76389B6;
-0D3 : D7830726;
-0D4 : F71300C5;
-0D5 : CF394807;
-0D6 : 448D4858;
-0D7 : 84B3498C;
-0D8 : 470902E4;
-0D9 : 40BA8AB3;
-0DA : C4B38B2A;
-0DB : 871302E4;
-0DC : 97560016;
-0DD : 00E4F363;
-0DE : F79384BA;
-0DF : C7A54007;
-0E0 : 855A85A6;
-0E1 : 892A2F81;
-0E2 : 480CC925;
-0E3 : 25B58656;
-0E4 : 00C45783;
-0E5 : B7F7F793;
-0E6 : 0807E793;
-0E7 : 00F41623;
-0E8 : 01242823;
-0E9 : 9956C844;
-0EA : 415484B3;
-0EB : 01242023;
-0EC : 894EC404;
-0ED : 0129F363;
-0EE : 4008894E;
-0EF : 85D2864A;
-0F0 : 441C2D81;
-0F1 : 87B34501;
-0F2 : C41C4127;
-0F3 : 97CA401C;
-0F4 : 40F2C01C;
-0F5 : 44D24462;
-0F6 : 49B24942;
-0F7 : 4A924A22;
-0F8 : 61054B02;
-0F9 : 86268082;
-0FA : 00EF855A;
-0FB : 892A7BE0;
-0FC : 480CF945;
-0FD : 2581855A;
-0FE : 202347B1;
-0FF : 578300FB;
-100 : 557D00C4;
-101 : 0407E793;
-102 : 00F41623;
-103 : D783B7D9;
-104 : 717100C5;
-105 : D326D522;
-106 : CD52D14A;
-107 : CF4ED706;
-108 : C95ACB56;
-109 : C562C75E;
-10A : C16AC366;
-10B : F793DEEE;
-10C : 8A2A0807;
-10D : 84B2892E;
-10E : C3B18436;
-10F : E3A1499C;
-110 : 04000593;
-111 : 20232D41;
-112 : 282300A9;
-113 : E50500A9;
-114 : 202347B1;
-115 : 557D00FA;
-116 : 542A50BA;
-117 : 590A549A;
-118 : 4A6A49FA;
-119 : 4B4A4ADA;
-11A : 4C2A4BBA;
-11B : 4D0A4C9A;
-11C : 614D5DF6;
-11D : 07938082;
-11E : 2A230400;
-11F : 079300F9;
-120 : 04A30200;
-121 : 079302F1;
-122 : D2020300;
-123 : 02F10523;
-124 : 0C93C622;
-125 : 6B050250;
-126 : 6D056B85;
-127 : 00000A93;
-128 : 47838426;
-129 : C3990004;
-12A : 09979E63;
-12B : 40940DB3;
-12C : 00940D63;
-12D : 862686EE;
-12E : 855285CA;
-12F : 57FD35BD;
-130 : 18F50B63;
-131 : 97EE5792;
-132 : 4783D23E;
-133 : 84630004;
-134 : 57FD1807;
-135 : 00140493;
-136 : CE02C802;
-137 : CC02CA3E;
-138 : 040109A3;
-139 : 4D85D482;
-13A : 0004C583;
-13B : 05134615;
-13C : 21FDD7CB;
-13D : 841347C2;
-13E : E5390014;
-13F : 0107F713;
-140 : 0713C709;
-141 : 09A30200;
-142 : F71304E1;
-143 : C7090087;
-144 : 02B00713;
-145 : 04E109A3;
-146 : 0004C683;
-147 : 02A00713;
-148 : 02E68D63;
-149 : 842647F2;
-14A : 46254681;
-14B : 47034529;
-14C : 05930004;
-14D : 07130014;
-14E : 7563FD07;
-14F : C69506E6;
-150 : A025CE3E;
-151 : BFB10405;
-152 : D7CB0713;
-153 : 95338D19;
-154 : 8FC900AD;
-155 : 84A2C83E;
-156 : 4732BF41;
-157 : 00470693;
-158 : C6364318;
-159 : 02074963;
-15A : 4703CE3A;
-15B : 07930004;
-15C : 106302E0;
-15D : 470306F7;
-15E : 07930014;
-15F : 1B6302A0;
-160 : 47B202F7;
-161 : 87130409;
-162 : 439C0047;
-163 : C163C63A;
-164 : CA3E0207;
-165 : 0733A83D;
-166 : E79340E0;
-167 : CE3A0027;
-168 : B7E1C83E;
-169 : 02A787B3;
-16A : 4685842E;
-16B : B74197BA;
-16C : B7C557FD;
-16D : CA020405;
-16E : 47814681;
-16F : 45294625;
-170 : 00044703;
-171 : 00140593;
-172 : FD070713;
-173 : 04E67D63;
-174 : 4583F2E9;
-175 : 460D0004;
-176 : D84B8513;
-177 : CD012111;
-178 : D84B8793;
-179 : 47C28D1D;
-17A : 04000713;
-17B : 00A71733;
-17C : 04058FD9;
-17D : 4583C83E;
-17E : 46190004;
-17F : D88D0513;
-180 : 00140493;
-181 : 02B10423;
-182 : CD392EE1;
-183 : 020A9763;
-184 : 47B24742;
-185 : 10077713;
-186 : 0791CF09;
-187 : 5792C63E;
-188 : D23E97CE;
-189 : 87B3BDB5;
-18A : 842E02A7;
-18B : 97BA4685;
-18C : 079DBF41;
-18D : 07A19BE1;
-18E : 0078B7D5;
-18F : 32A00693;
-190 : 080C864A;
-191 : 00978552;
-192 : 00E70000;
-193 : 57FD0000;
-194 : 16E389AA;
-195 : 5783FCF5;
-196 : 557D00C9;
-197 : 0407F793;
-198 : DE079CE3;
-199 : BBCD5512;
-19A : 06930078;
-19B : 864A32A0;
-19C : 8552080C;
-19D : BFE12A11;
-19E : CC527179;
-19F : 8A3A499C;
-1A0 : D4224598;
-1A1 : CE4ED04A;
-1A2 : D606CA56;
-1A3 : C85AD226;
-1A4 : 89AAC65E;
-1A5 : 8932842E;
-1A6 : D3638AB6;
-1A7 : 87BA00E7;
-1A8 : 00F92023;
-1A9 : 04344703;
-1AA : 0785C701;
-1AB : 00F92023;
-1AC : F793401C;
-1AD : C7910207;
-1AE : 00092783;
-1AF : 20230789;
-1B0 : 400400F9;
-1B1 : E8918899;
-1B2 : 01940B13;
-1B3 : 445C5BFD;
-1B4 : 00092703;
-1B5 : CC638F99;
-1B6 : 478304F4;
-1B7 : 36B30434;
-1B8 : 401C00F0;
-1B9 : 0207F793;
-1BA : 0613EBA5;
-1BB : 85D60434;
-1BC : 9A02854E;
-1BD : 036357FD;
-1BE : 401C04F5;
-1BF : 44814711;
-1C0 : 99638B99;
-1C1 : 444400E7;
-1C2 : 00092783;
-1C3 : D3638C9D;
-1C4 : 44810004;
-1C5 : 4818441C;
-1C6 : 00F75463;
-1C7 : 94BE8F99;
-1C8 : 04694901;
-1C9 : 98635B7D;
-1CA : 45010524;
-1CB : 4685A809;
-1CC : 85D6865A;
-1CD : 9A02854E;
-1CE : 01751E63;
-1CF : 50B2557D;
-1D0 : 54925422;
-1D1 : 49F25902;
-1D2 : 4AD24A62;
-1D3 : 4BB24B42;
-1D4 : 80826145;
-1D5 : BFA50485;
-1D6 : 00D40733;
-1D7 : 03000613;
-1D8 : 04C701A3;
-1D9 : 04544703;
-1DA : 00168793;
-1DB : 068997A2;
-1DC : 04E781A3;
-1DD : 4685BF9D;
-1DE : 85D68622;
-1DF : 9A02854E;
-1E0 : FB650EE3;
-1E1 : B7450905;
-1E2 : D4227179;
-1E3 : D04AD226;
-1E4 : D606CE4E;
-1E5 : CA56CC52;
-1E6 : C883C85A;
-1E7 : 07930185;
-1E8 : 84AA0780;
-1E9 : 8932842E;
-1EA : EE6389B6;
-1EB : 07930117;
-1EC : 86930620;
-1ED : ED630435;
-1EE : 89630117;
-1EF : 07931A08;
-1F0 : 8B630580;
-1F1 : 0A9316F8;
-1F2 : 01230424;
-1F3 : A8050514;
-1F4 : F9D88793;
-1F5 : 0FF7F793;
-1F6 : 66E34655;
-1F7 : 6605FEF6;
-1F8 : 0613078A;
-1F9 : 97B2DB86;
-1FA : 8782439C;
-1FB : 8A93431C;
-1FC : 86930425;
-1FD : 439C0047;
-1FE : 8123C314;
-1FF : 478504F5;
-200 : 419CAA49;
-201 : F6134308;
-202 : 05930807;
-203 : C2050045;
-204 : C30C411C;
-205 : D8636805;
-206 : 07130007;
-207 : 07B302D0;
-208 : 01A340F0;
-209 : 081304E4;
-20A : 4729D908;
-20B : F613A099;
-20C : 411C0407;
-20D : DE79C30C;
-20E : 87C107C2;
-20F : 4190BFE1;
-210 : 7513431C;
-211 : 85930806;
-212 : C5010047;
-213 : 439CC30C;
-214 : 7613A039;
-215 : C30C0406;
-216 : D783DA7D;
-217 : 68050007;
-218 : 06F00713;
-219 : D9080813;
-21A : 0CE88C63;
-21B : 01A34729;
-21C : 40500404;
-21D : 4563C410;
-21E : 400C0006;
-21F : C00C99ED;
-220 : 8AB6E399;
-221 : 8AB6CE19;
-222 : 02E7F633;
-223 : 96421AFD;
-224 : 00064603;
-225 : 00CA8023;
-226 : D7B3863E;
-227 : 75E302E7;
-228 : 47A1FEE6;
-229 : 00F71E63;
-22A : 8B85401C;
-22B : 4058CB91;
-22C : C763481C;
-22D : 079300E7;
-22E : 8FA30300;
-22F : 1AFDFEFA;
-230 : 415686B3;
-231 : 874EC814;
-232 : 007086CA;
-233 : 852685A2;
-234 : 5A7D3365;
-235 : 0D451363;
-236 : 50B2557D;
-237 : 54925422;
-238 : 49F25902;
-239 : 4AD24A62;
-23A : 61454B42;
-23B : 419C8082;
-23C : 0207E793;
-23D : 6805C19C;
-23E : 07800893;
-23F : DA480813;
-240 : 051402A3;
-241 : 430C4010;
-242 : 08067513;
-243 : 0591419C;
-244 : 7513E511;
-245 : C1190406;
-246 : 83C107C2;
-247 : 7713C30C;
-248 : C7010016;
-249 : 02066613;
-24A : 4741C010;
-24B : 4010F3A9;
-24C : FDF67613;
-24D : BF25C010;
-24E : 08136805;
-24F : B7C9D908;
-250 : B7354721;
-251 : 431C4190;
-252 : 781349CC;
-253 : 85130806;
-254 : 06630047;
-255 : C3080008;
-256 : C38C439C;
-257 : C308A801;
-258 : 04067613;
-259 : DA75439C;
-25A : 00B79023;
-25B : 00042823;
-25C : BF918AB6;
-25D : 41D0431C;
-25E : 86934581;
-25F : C3140047;
-260 : 0007AA83;
-261 : 28A98556;
-262 : 0533C501;
-263 : C0484155;
-264 : C81C405C;
-265 : 040401A3;
-266 : 4814B73D;
-267 : 85CA8656;
-268 : 99828526;
-269 : F3450AE3;
-26A : 8B89401C;
-26B : 47B2E78D;
-26C : 54E34448;
-26D : 853EF2F5;
-26E : 4685B70D;
-26F : 85CA8656;
-270 : 99828526;
-271 : F1650AE3;
-272 : 445C0A05;
-273 : 8F994732;
-274 : FEFA45E3;
-275 : 4A01BFE9;
-276 : 01940A93;
-277 : B7F55B7D;
-278 : 0FF5F593;
-279 : 1463962A;
-27A : 450100C5;
-27B : 47838082;
-27C : 8DE30005;
-27D : 0505FEB7;
-27E : 832AB7FD;
-27F : 8383CA09;
-280 : 00230005;
-281 : 167D0073;
-282 : 05850305;
-283 : 8082FA6D;
-284 : 832AC215;
-285 : 67634685;
-286 : 56FD00B5;
-287 : FFF60713;
-288 : 95BA933A;
-289 : 00058383;
-28A : 00730023;
-28B : 9336167D;
-28C : FA6D95B6;
-28D : CDD18082;
-28E : FFC5A783;
-28F : CC221101;
-290 : 8413CE06;
-291 : D363FFC5;
-292 : 943E0007;
-293 : 2ADDC62A;
-294 : 8681A783;
-295 : EB894532;
-296 : 00042223;
-297 : 8681A423;
-298 : 40F24462;
-299 : A2C56105;
-29A : 00F47D63;
-29B : 06B34010;
-29C : 966300C4;
-29D : 439400D7;
-29E : 96B243DC;
-29F : C05CC014;
-2A0 : 873EBFF1;
-2A1 : C39943DC;
-2A2 : FEF47DE3;
-2A3 : 06334314;
-2A4 : 1F6300D7;
-2A5 : 40100086;
-2A6 : C31496B2;
-2A7 : 00D70633;
-2A8 : FCC790E3;
-2A9 : 43DC4390;
-2AA : C31496B2;
-2AB : BF4DC35C;
-2AC : 00C47563;
-2AD : C11C47B1;
-2AE : 4010B765;
-2AF : 00C406B3;
-2B0 : 00D79663;
-2B1 : 43DC4394;
-2B2 : C01496B2;
-2B3 : C340C05C;
-2B4 : 8082BF41;
-2B5 : CA261101;
-2B6 : 00358493;
-2B7 : C84A98F1;
-2B8 : CC22CE06;
-2B9 : 04A1C64E;
-2BA : 892A47B1;
-2BB : 04F4F263;
-2BC : E16344B1;
-2BD : 854A04B4;
-2BE : 871322B1;
-2BF : 43188681;
-2C0 : 86818693;
-2C1 : E031843A;
-2C2 : 86C18413;
-2C3 : E789401C;
-2C4 : 854A4581;
-2C5 : C0082219;
-2C6 : 854A85A6;
-2C7 : 59FD28FD;
-2C8 : 07351863;
-2C9 : 202347B1;
-2CA : 854A00F9;
-2CB : A0312A29;
-2CC : FC04D1E3;
-2CD : 202347B1;
-2CE : 450100F9;
-2CF : 446240F2;
-2D0 : 494244D2;
-2D1 : 610549B2;
-2D2 : 401C8082;
-2D3 : CE638F85;
-2D4 : 462D0207;
-2D5 : 00F67663;
-2D6 : 943EC01C;
-2D7 : A029C004;
-2D8 : 1263405C;
-2D9 : C29C0287;
-2DA : 28F1854A;
-2DB : 00B40513;
-2DC : 00440793;
-2DD : 07339961;
-2DE : 01E340F5;
-2DF : 943AFCF5;
-2E0 : C01C8F89;
-2E1 : C35CBF65;
-2E2 : 8722B7C5;
-2E3 : BFA54040;
-2E4 : 00350413;
-2E5 : 03E39871;
-2E6 : 05B3FC85;
-2E7 : 854A40A4;
-2E8 : 1DE328AD;
-2E9 : BFBDFB35;
-2EA : CC221101;
-2EB : CA26CE06;
-2EC : C64EC84A;
-2ED : 8432C452;
-2EE : 4462E991;
-2EF : 44D240F2;
-2F0 : 49B24942;
-2F1 : 85B24A22;
-2F2 : B7296105;
-2F3 : 35A5EE01;
-2F4 : 40F24481;
-2F5 : 49424462;
-2F6 : 4A2249B2;
-2F7 : 44D28526;
-2F8 : 80826105;
-2F9 : 892E8A2A;
-2FA : 89AA2085;
-2FB : 00856763;
-2FC : 00155793;
-2FD : EEE384CA;
-2FE : 85A2FC87;
-2FF : 3DD98552;
-300 : D96184AA;
-301 : F3638622;
-302 : 864E0089;
-303 : 852685CA;
-304 : 85CA33ED;
-305 : 35058552;
-306 : 1141BF6D;
-307 : C226C422;
-308 : 852E842A;
-309 : A823C606;
-30A : 28898601;
-30B : 166357FD;
-30C : A78300F5;
-30D : C3918701;
-30E : 40B2C01C;
-30F : 44924422;
-310 : 80820141;
-311 : 80828082;
-312 : FFC5A783;
-313 : FFC78513;
-314 : 0007D563;
-315 : 419C95AA;
-316 : 8082953E;
-317 : 05D00893;
-318 : 00000073;
-319 : 00055B63;
-31A : C4221141;
-31B : C606842A;
-31C : 40800433;
-31D : C1002889;
-31E : A001A001;
-31F : 87418793;
-320 : 1141439C;
-321 : 86AAC606;
-322 : 87418713;
-323 : 0893E38D;
-324 : 45010D60;
-325 : 00000073;
-326 : 196357FD;
-327 : 202500F5;
-328 : C11C47B1;
-329 : 40B2557D;
-32A : 80820141;
-32B : 431CC308;
-32C : 0D600893;
-32D : 853696BE;
-32E : 00000073;
-32F : FED511E3;
-330 : 853EC308;
-331 : A503B7CD;
-332 : 80828641;
-333 : 2070250D;
-334 : 6572203A;
-335 : 25206461;
-336 : 20783830;
-337 : 746F7277;
-338 : 30252065;
-339 : 0A0D7838;
-33A : 00000000;
-33B : 74736554;
-33C : 20676E69;
-33D : 41524453;
-33E : 7266204D;
-33F : 25206D6F;
-340 : 6F742070;
-341 : 2E702520;
-342 : 0A0D2E2E;
-343 : 00000000;
-344 : 2070250D;
-345 : 00000000;
-346 : 6165520D;
-347 : 676E6964;
-348 : 63616220;
-349 : 6F74206B;
-34A : 65686320;
-34B : 66206B63;
-34C : 6120726F;
-34D : 7361696C;
-34E : 2E2E7365;
-34F : 000A0D2E;
-350 : 5244530D;
-351 : 74204D41;
-352 : 20747365;
-353 : 706D6F63;
-354 : 6574656C;
-355 : 00000A0D;
-356 : 706F6F4C;
-357 : 25203A73;
-358 : 0A0A0D75;
-359 : 00000000;
-35A : 480A0A0D;
-35B : 6F6C6C65;
-35C : 6F57202C;
-35D : 21646C72;
-35E : 00000A0D;
-35F : 2B302D23;
-360 : 00000020;
-361 : 004C6C68;
-362 : 45676665;
-363 : 00004746;
-364 : 33323130;
-365 : 37363534;
-366 : 42413938;
-367 : 46454443;
-368 : 00000000;
-369 : 33323130;
-36A : 37363534;
-36B : 62613938;
-36C : 66656463;
-36D : 00000000;
-36E : 000007EC;
-36F : 00000802;
-370 : 000007C6;
-371 : 000007C6;
-372 : 000007C6;
-373 : 000007C6;
-374 : 00000802;
-375 : 000007C6;
-376 : 000007C6;
-377 : 000007C6;
-378 : 000007C6;
-379 : 00000944;
-37A : 0000083E;
-37B : 000008EE;
-37C : 000007C6;
-37D : 000007C6;
-37E : 00000974;
-37F : 000007C6;
-380 : 0000083E;
-381 : 000007C6;
-382 : 000007C6;
-383 : 000008F6;
-384 : 00000000;
-385 : 0000018C;
-386 : 0000015E;
-387 : 00000000;
+004 : A001A009;
+005 : 6571715D;
+006 : C0CAC2A6;
+007 : DA56DC52;
+008 : D266D85A;
+009 : 20050513;
+00A : 78DADAB7;
+00B : 00040B37;
+00C : 02000A37;
+00D : DE4EC4A2;
+00E : D65EC686;
+00F : D06AD462;
+010 : 4401CE6E;
+011 : 4981242D;
+012 : C0000023;
+013 : 86C18C93;
+014 : 86018493;
+015 : 86818913;
+016 : ECBA8A93;
+017 : 1A7D1B7D;
+018 : 85136085;
+019 : 2489E240;
+01A : 000CA603;
+01B : 0C136285;
+01C : 85A20014;
+01D : D7C28513;
+01E : 0FFC7C13;
+01F : 27F3248D;
+020 : 4094C010;
+021 : 06376305;
+022 : 05B74200;
+023 : 05134000;
+024 : C43ED983;
+025 : 442124A9;
+026 : 02D00393;
+027 : 8681A823;
+028 : 00790023;
+029 : 44014D01;
+02A : 87018B93;
+02B : 400006B7;
+02C : 05335DFD;
+02D : 202300D4;
+02E : 45810005;
+02F : 229DC62A;
+030 : 55FD4532;
+031 : 20230D05;
+032 : 2AA901B5;
+033 : 45934532;
+034 : C10CFFF4;
+035 : 45322A81;
+036 : C10085A2;
+037 : 453222A1;
+038 : 015405B3;
+039 : 2A3DC10C;
+03A : 016D7733;
+03B : 400006B7;
+03C : 02D00613;
+03D : 4583E719;
+03E : 00230009;
+03F : 0023C4B0;
+040 : A80300C9;
+041 : 08B30004;
+042 : F4330104;
+043 : F0550148;
+044 : 05136E05;
+045 : 2A49DD0E;
+046 : A0234EA1;
+047 : 0D9301DB;
+048 : 0BB702D0;
+049 : 05B34000;
+04A : 05330154;
+04B : 28DD0174;
+04C : 7F330D05;
+04D : 1863016D;
+04E : 4F83000F;
+04F : 00230009;
+050 : 0023C5F0;
+051 : 408801B9;
+052 : 40A400B3;
+053 : 0140F433;
+054 : 22F3F879;
+055 : 47A2C010;
+056 : 871363D5;
+057 : 83338203;
+058 : 55B340F2;
+059 : 668502E3;
+05A : DFC68513;
+05B : FFF9CD93;
+05C : 402DDD13;
+05D : 84620986;
+05E : 4090229D;
+05F : 7F13458D;
+060 : 8833001D;
+061 : 6FB302C5;
+062 : F993013F;
+063 : 78B30FFF;
+064 : 5E130148;
+065 : CEB30178;
+066 : FB9301C8;
+067 : A023FFCE;
+068 : 00230174;
+069 : BD6DC130;
+06A : 00001197;
+06B : 57418193;
+06C : 86818513;
+06D : 8A018613;
+06E : 45818E09;
+06F : 05132A79;
+070 : C5190000;
+071 : 00000513;
+072 : 00000097;
+073 : 000000E7;
+074 : 45022235;
+075 : 4601004C;
+076 : BD253D35;
+077 : C4221141;
+078 : 8841C783;
+079 : EF91C606;
+07A : 00000793;
+07B : 6505CB81;
+07C : F1050513;
+07D : 00000097;
+07E : 000000E7;
+07F : 82234785;
+080 : 40B288F1;
+081 : 01414422;
+082 : 07938082;
+083 : CB910000;
+084 : 85936505;
+085 : 05138881;
+086 : 0317F105;
+087 : 00670000;
+088 : 80820000;
+089 : 03634110;
+08A : 114104B6;
+08B : 8413C422;
+08C : 401C8701;
+08D : CF89C606;
+08E : 85AA86AE;
+08F : 05136505;
+090 : 2871D5C5;
+091 : 00042283;
+092 : FFF28313;
+093 : 00642023;
+094 : 86C18593;
+095 : 07134190;
+096 : 06930580;
+097 : C1940016;
+098 : 84234422;
+099 : 40B286E1;
+09A : 80820141;
+09B : D7378082;
+09C : 478D3216;
+09D : 94870313;
+09E : 02A782B3;
+09F : 02653533;
+0A0 : 00A283B3;
+0A1 : FFF38593;
+0A2 : C4B02223;
+0A3 : 00238082;
+0A4 : 26F3C4A0;
+0A5 : 0713C010;
+0A6 : 27F33470;
+0A7 : 82B3C010;
+0A8 : 7CE340D7;
+0A9 : 8082FE57;
+0AA : C4221141;
+0AB : 842AC606;
+0AC : 00044503;
+0AD : 40B2E509;
+0AE : 01414422;
+0AF : 04058082;
+0B0 : B7FD37F9;
+0B1 : 862A7175;
+0B2 : 850A86AE;
+0B3 : 08000593;
+0B4 : 28EDC706;
+0B5 : 3FC9850A;
+0B6 : 614940BA;
+0B7 : 71398082;
+0B8 : 104CD22E;
+0B9 : D432CE06;
+0BA : D83AD636;
+0BB : DC42DA3E;
+0BC : C62EDE46;
+0BD : 40F23FC1;
+0BE : 80826121;
+0BF : C4221141;
+0C0 : 6405C226;
+0C1 : 87936485;
+0C2 : 0413F144;
+0C3 : 8C1DF144;
+0C4 : C606C04A;
+0C5 : 84938409;
+0C6 : 4901F144;
+0C7 : 02891563;
+0C8 : 64056485;
+0C9 : F1448793;
+0CA : F1840413;
+0CB : 84098C1D;
+0CC : F1448493;
+0CD : 1D634901;
+0CE : 40B20089;
+0CF : 44924422;
+0D0 : 01414902;
+0D1 : 409C8082;
+0D2 : 04910905;
+0D3 : B7F99782;
+0D4 : 0905409C;
+0D5 : 97820491;
+0D6 : 832ABFF9;
+0D7 : 0023C611;
+0D8 : 167D00B3;
+0D9 : FE650305;
+0DA : 71198082;
+0DB : DAA6DCA2;
+0DC : D8CADE86;
+0DD : 843284AA;
+0DE : 00065C63;
+0DF : 08B00793;
+0E0 : 557DC11C;
+0E1 : 546650F6;
+0E2 : 594654D6;
+0E3 : 80826109;
+0E4 : 20800793;
+0E5 : 00F11A23;
+0E6 : CC2EC42E;
+0E7 : 47818636;
+0E8 : C01986BA;
+0E9 : FFF40793;
+0EA : 002C597D;
+0EB : C83E8526;
+0EC : 1B23CE3E;
+0ED : 22210121;
+0EE : 01255563;
+0EF : 08B00793;
+0F0 : D069C09C;
+0F1 : 802347A2;
+0F2 : BF6D0007;
+0F3 : 86B28736;
+0F4 : 85AA862E;
+0F5 : 8641A503;
+0F6 : 1101BF49;
+0F7 : A903C84A;
+0F8 : CC220085;
+0F9 : C452C64E;
+0FA : CE06C256;
+0FB : C05ACA26;
+0FC : 0005AA83;
+0FD : 8A32842E;
+0FE : E76389B6;
+0FF : D7830726;
+100 : F71300C5;
+101 : CF394807;
+102 : 448D4858;
+103 : 84B3498C;
+104 : 470902E4;
+105 : 40BA8AB3;
+106 : C4B38B2A;
+107 : 871302E4;
+108 : 97560016;
+109 : 00E4F363;
+10A : F79384BA;
+10B : C7A54007;
+10C : 855A85A6;
+10D : 892A2F81;
+10E : 480CC925;
+10F : 25B58656;
+110 : 00C45783;
+111 : B7F7F793;
+112 : 0807E793;
+113 : 00F41623;
+114 : 01242823;
+115 : 9956C844;
+116 : 415484B3;
+117 : 01242023;
+118 : 894EC404;
+119 : 0129F363;
+11A : 4008894E;
+11B : 85D2864A;
+11C : 441C2D81;
+11D : 87B34501;
+11E : C41C4127;
+11F : 97CA401C;
+120 : 40F2C01C;
+121 : 44D24462;
+122 : 49B24942;
+123 : 4A924A22;
+124 : 61054B02;
+125 : 86268082;
+126 : 00EF855A;
+127 : 892A7BE0;
+128 : 480CF945;
+129 : 2581855A;
+12A : 202347B1;
+12B : 578300FB;
+12C : 557D00C4;
+12D : 0407E793;
+12E : 00F41623;
+12F : D783B7D9;
+130 : 717100C5;
+131 : D326D522;
+132 : CD52D14A;
+133 : CF4ED706;
+134 : C95ACB56;
+135 : C562C75E;
+136 : C16AC366;
+137 : F793DEEE;
+138 : 8A2A0807;
+139 : 84B2892E;
+13A : C3B18436;
+13B : E3A1499C;
+13C : 04000593;
+13D : 20232D41;
+13E : 282300A9;
+13F : E50500A9;
+140 : 202347B1;
+141 : 557D00FA;
+142 : 542A50BA;
+143 : 590A549A;
+144 : 4A6A49FA;
+145 : 4B4A4ADA;
+146 : 4C2A4BBA;
+147 : 4D0A4C9A;
+148 : 614D5DF6;
+149 : 07938082;
+14A : 2A230400;
+14B : 079300F9;
+14C : 04A30200;
+14D : 079302F1;
+14E : D2020300;
+14F : 02F10523;
+150 : 0C93C622;
+151 : 6B050250;
+152 : 6D056B85;
+153 : 00000A93;
+154 : 47838426;
+155 : C3990004;
+156 : 09979E63;
+157 : 40940DB3;
+158 : 00940D63;
+159 : 862686EE;
+15A : 855285CA;
+15B : 57FD35BD;
+15C : 18F50B63;
+15D : 97EE5792;
+15E : 4783D23E;
+15F : 84630004;
+160 : 57FD1807;
+161 : 00140493;
+162 : CE02C802;
+163 : CC02CA3E;
+164 : 040109A3;
+165 : 4D85D482;
+166 : 0004C583;
+167 : 05134615;
+168 : 21FDE74B;
+169 : 841347C2;
+16A : E5390014;
+16B : 0107F713;
+16C : 0713C709;
+16D : 09A30200;
+16E : F71304E1;
+16F : C7090087;
+170 : 02B00713;
+171 : 04E109A3;
+172 : 0004C683;
+173 : 02A00713;
+174 : 02E68D63;
+175 : 842647F2;
+176 : 46254681;
+177 : 47034529;
+178 : 05930004;
+179 : 07130014;
+17A : 7563FD07;
+17B : C69506E6;
+17C : A025CE3E;
+17D : BFB10405;
+17E : E74B0713;
+17F : 95338D19;
+180 : 8FC900AD;
+181 : 84A2C83E;
+182 : 4732BF41;
+183 : 00470693;
+184 : C6364318;
+185 : 02074963;
+186 : 4703CE3A;
+187 : 07930004;
+188 : 106302E0;
+189 : 470306F7;
+18A : 07930014;
+18B : 1B6302A0;
+18C : 47B202F7;
+18D : 87130409;
+18E : 439C0047;
+18F : C163C63A;
+190 : CA3E0207;
+191 : 0733A83D;
+192 : E79340E0;
+193 : CE3A0027;
+194 : B7E1C83E;
+195 : 02A787B3;
+196 : 4685842E;
+197 : B74197BA;
+198 : B7C557FD;
+199 : CA020405;
+19A : 47814681;
+19B : 45294625;
+19C : 00044703;
+19D : 00140593;
+19E : FD070713;
+19F : 04E67D63;
+1A0 : 4583F2E9;
+1A1 : 460D0004;
+1A2 : E7CB8513;
+1A3 : CD012111;
+1A4 : E7CB8793;
+1A5 : 47C28D1D;
+1A6 : 04000713;
+1A7 : 00A71733;
+1A8 : 04058FD9;
+1A9 : 4583C83E;
+1AA : 46190004;
+1AB : E80D0513;
+1AC : 00140493;
+1AD : 02B10423;
+1AE : CD392EE1;
+1AF : 020A9763;
+1B0 : 47B24742;
+1B1 : 10077713;
+1B2 : 0791CF09;
+1B3 : 5792C63E;
+1B4 : D23E97CE;
+1B5 : 87B3BDB5;
+1B6 : 842E02A7;
+1B7 : 97BA4685;
+1B8 : 079DBF41;
+1B9 : 07A19BE1;
+1BA : 0078B7D5;
+1BB : 3DA00693;
+1BC : 080C864A;
+1BD : 00978552;
+1BE : 00E70000;
+1BF : 57FD0000;
+1C0 : 16E389AA;
+1C1 : 5783FCF5;
+1C2 : 557D00C9;
+1C3 : 0407F793;
+1C4 : DE079CE3;
+1C5 : BBCD5512;
+1C6 : 06930078;
+1C7 : 864A3DA0;
+1C8 : 8552080C;
+1C9 : BFE12A11;
+1CA : CC527179;
+1CB : 8A3A499C;
+1CC : D4224598;
+1CD : CE4ED04A;
+1CE : D606CA56;
+1CF : C85AD226;
+1D0 : 89AAC65E;
+1D1 : 8932842E;
+1D2 : D3638AB6;
+1D3 : 87BA00E7;
+1D4 : 00F92023;
+1D5 : 04344703;
+1D6 : 0785C701;
+1D7 : 00F92023;
+1D8 : F793401C;
+1D9 : C7910207;
+1DA : 00092783;
+1DB : 20230789;
+1DC : 400400F9;
+1DD : E8918899;
+1DE : 01940B13;
+1DF : 445C5BFD;
+1E0 : 00092703;
+1E1 : CC638F99;
+1E2 : 478304F4;
+1E3 : 36B30434;
+1E4 : 401C00F0;
+1E5 : 0207F793;
+1E6 : 0613EBA5;
+1E7 : 85D60434;
+1E8 : 9A02854E;
+1E9 : 036357FD;
+1EA : 401C04F5;
+1EB : 44814711;
+1EC : 99638B99;
+1ED : 444400E7;
+1EE : 00092783;
+1EF : D3638C9D;
+1F0 : 44810004;
+1F1 : 4818441C;
+1F2 : 00F75463;
+1F3 : 94BE8F99;
+1F4 : 04694901;
+1F5 : 98635B7D;
+1F6 : 45010524;
+1F7 : 4685A809;
+1F8 : 85D6865A;
+1F9 : 9A02854E;
+1FA : 01751E63;
+1FB : 50B2557D;
+1FC : 54925422;
+1FD : 49F25902;
+1FE : 4AD24A62;
+1FF : 4BB24B42;
+200 : 80826145;
+201 : BFA50485;
+202 : 00D40733;
+203 : 03000613;
+204 : 04C701A3;
+205 : 04544703;
+206 : 00168793;
+207 : 068997A2;
+208 : 04E781A3;
+209 : 4685BF9D;
+20A : 85D68622;
+20B : 9A02854E;
+20C : FB650EE3;
+20D : B7450905;
+20E : D4227179;
+20F : D04AD226;
+210 : D606CE4E;
+211 : CA56CC52;
+212 : C883C85A;
+213 : 07930185;
+214 : 84AA0780;
+215 : 8932842E;
+216 : EE6389B6;
+217 : 07930117;
+218 : 86930620;
+219 : ED630435;
+21A : 89630117;
+21B : 07931A08;
+21C : 8B630580;
+21D : 0A9316F8;
+21E : 01230424;
+21F : A8050514;
+220 : F9D88793;
+221 : 0FF7F793;
+222 : 66E34655;
+223 : 6605FEF6;
+224 : 0613078A;
+225 : 97B2EB06;
+226 : 8782439C;
+227 : 8A93431C;
+228 : 86930425;
+229 : 439C0047;
+22A : 8123C314;
+22B : 478504F5;
+22C : 419CAA49;
+22D : F6134308;
+22E : 05930807;
+22F : C2050045;
+230 : C30C411C;
+231 : D8636805;
+232 : 07130007;
+233 : 07B302D0;
+234 : 01A340F0;
+235 : 081304E4;
+236 : 4729E888;
+237 : F613A099;
+238 : 411C0407;
+239 : DE79C30C;
+23A : 87C107C2;
+23B : 4190BFE1;
+23C : 7513431C;
+23D : 85930806;
+23E : C5010047;
+23F : 439CC30C;
+240 : 7613A039;
+241 : C30C0406;
+242 : D783DA7D;
+243 : 68050007;
+244 : 06F00713;
+245 : E8880813;
+246 : 0CE88C63;
+247 : 01A34729;
+248 : 40500404;
+249 : 4563C410;
+24A : 400C0006;
+24B : C00C99ED;
+24C : 8AB6E399;
+24D : 8AB6CE19;
+24E : 02E7F633;
+24F : 96421AFD;
+250 : 00064603;
+251 : 00CA8023;
+252 : D7B3863E;
+253 : 75E302E7;
+254 : 47A1FEE6;
+255 : 00F71E63;
+256 : 8B85401C;
+257 : 4058CB91;
+258 : C763481C;
+259 : 079300E7;
+25A : 8FA30300;
+25B : 1AFDFEFA;
+25C : 415686B3;
+25D : 874EC814;
+25E : 007086CA;
+25F : 852685A2;
+260 : 5A7D3365;
+261 : 0D451363;
+262 : 50B2557D;
+263 : 54925422;
+264 : 49F25902;
+265 : 4AD24A62;
+266 : 61454B42;
+267 : 419C8082;
+268 : 0207E793;
+269 : 6805C19C;
+26A : 07800893;
+26B : E9C80813;
+26C : 051402A3;
+26D : 430C4010;
+26E : 08067513;
+26F : 0591419C;
+270 : 7513E511;
+271 : C1190406;
+272 : 83C107C2;
+273 : 7713C30C;
+274 : C7010016;
+275 : 02066613;
+276 : 4741C010;
+277 : 4010F3A9;
+278 : FDF67613;
+279 : BF25C010;
+27A : 08136805;
+27B : B7C9E888;
+27C : B7354721;
+27D : 431C4190;
+27E : 781349CC;
+27F : 85130806;
+280 : 06630047;
+281 : C3080008;
+282 : C38C439C;
+283 : C308A801;
+284 : 04067613;
+285 : DA75439C;
+286 : 00B79023;
+287 : 00042823;
+288 : BF918AB6;
+289 : 41D0431C;
+28A : 86934581;
+28B : C3140047;
+28C : 0007AA83;
+28D : 28A98556;
+28E : 0533C501;
+28F : C0484155;
+290 : C81C405C;
+291 : 040401A3;
+292 : 4814B73D;
+293 : 85CA8656;
+294 : 99828526;
+295 : F3450AE3;
+296 : 8B89401C;
+297 : 47B2E78D;
+298 : 54E34448;
+299 : 853EF2F5;
+29A : 4685B70D;
+29B : 85CA8656;
+29C : 99828526;
+29D : F1650AE3;
+29E : 445C0A05;
+29F : 8F994732;
+2A0 : FEFA45E3;
+2A1 : 4A01BFE9;
+2A2 : 01940A93;
+2A3 : B7F55B7D;
+2A4 : 0FF5F593;
+2A5 : 1463962A;
+2A6 : 450100C5;
+2A7 : 47838082;
+2A8 : 8DE30005;
+2A9 : 0505FEB7;
+2AA : 832AB7FD;
+2AB : 8383CA09;
+2AC : 00230005;
+2AD : 167D0073;
+2AE : 05850305;
+2AF : 8082FA6D;
+2B0 : 832AC215;
+2B1 : 67634685;
+2B2 : 56FD00B5;
+2B3 : FFF60713;
+2B4 : 95BA933A;
+2B5 : 00058383;
+2B6 : 00730023;
+2B7 : 9336167D;
+2B8 : FA6D95B6;
+2B9 : CDD18082;
+2BA : FFC5A783;
+2BB : CC221101;
+2BC : 8413CE06;
+2BD : D363FFC5;
+2BE : 943E0007;
+2BF : 2ADDC62A;
+2C0 : 8741A783;
+2C1 : EB894532;
+2C2 : 00042223;
+2C3 : 8681AA23;
+2C4 : 40F24462;
+2C5 : A2C56105;
+2C6 : 00F47D63;
+2C7 : 06B34010;
+2C8 : 966300C4;
+2C9 : 439400D7;
+2CA : 96B243DC;
+2CB : C05CC014;
+2CC : 873EBFF1;
+2CD : C39943DC;
+2CE : FEF47DE3;
+2CF : 06334314;
+2D0 : 1F6300D7;
+2D1 : 40100086;
+2D2 : C31496B2;
+2D3 : 00D70633;
+2D4 : FCC790E3;
+2D5 : 43DC4390;
+2D6 : C31496B2;
+2D7 : BF4DC35C;
+2D8 : 00C47563;
+2D9 : C11C47B1;
+2DA : 4010B765;
+2DB : 00C406B3;
+2DC : 00D79663;
+2DD : 43DC4394;
+2DE : C01496B2;
+2DF : C340C05C;
+2E0 : 8082BF41;
+2E1 : CA261101;
+2E2 : 00358493;
+2E3 : C84A98F1;
+2E4 : CC22CE06;
+2E5 : 04A1C64E;
+2E6 : 892A47B1;
+2E7 : 04F4F263;
+2E8 : E16344B1;
+2E9 : 854A04B4;
+2EA : 871322B1;
+2EB : 43188741;
+2EC : 87418693;
+2ED : E031843A;
+2EE : 87818413;
+2EF : E789401C;
+2F0 : 854A4581;
+2F1 : C0082219;
+2F2 : 854A85A6;
+2F3 : 59FD28FD;
+2F4 : 07351863;
+2F5 : 202347B1;
+2F6 : 854A00F9;
+2F7 : A0312A29;
+2F8 : FC04D1E3;
+2F9 : 202347B1;
+2FA : 450100F9;
+2FB : 446240F2;
+2FC : 494244D2;
+2FD : 610549B2;
+2FE : 401C8082;
+2FF : CE638F85;
+300 : 462D0207;
+301 : 00F67663;
+302 : 943EC01C;
+303 : A029C004;
+304 : 1263405C;
+305 : C29C0287;
+306 : 28F1854A;
+307 : 00B40513;
+308 : 00440793;
+309 : 07339961;
+30A : 01E340F5;
+30B : 943AFCF5;
+30C : C01C8F89;
+30D : C35CBF65;
+30E : 8722B7C5;
+30F : BFA54040;
+310 : 00350413;
+311 : 03E39871;
+312 : 05B3FC85;
+313 : 854A40A4;
+314 : 1DE328AD;
+315 : BFBDFB35;
+316 : CC221101;
+317 : CA26CE06;
+318 : C64EC84A;
+319 : 8432C452;
+31A : 4462E991;
+31B : 44D240F2;
+31C : 49B24942;
+31D : 85B24A22;
+31E : B7296105;
+31F : 35A5EE01;
+320 : 40F24481;
+321 : 49424462;
+322 : 4A2249B2;
+323 : 44D28526;
+324 : 80826105;
+325 : 892E8A2A;
+326 : 89AA2085;
+327 : 00856763;
+328 : 00155793;
+329 : EEE384CA;
+32A : 85A2FC87;
+32B : 3DD98552;
+32C : D96184AA;
+32D : F3638622;
+32E : 864E0089;
+32F : 852685CA;
+330 : 85CA33ED;
+331 : 35058552;
+332 : 1141BF6D;
+333 : C226C422;
+334 : 852E842A;
+335 : AE23C606;
+336 : 280D8601;
+337 : 166357FD;
+338 : A78300F5;
+339 : C39187C1;
+33A : 40B2C01C;
+33B : 44924422;
+33C : 80820141;
+33D : 80828082;
+33E : FFC5A783;
+33F : FFC78513;
+340 : 0007D563;
+341 : 419C95AA;
+342 : 8082953E;
+343 : 88018793;
+344 : 1141439C;
+345 : 86AAC606;
+346 : 88018713;
+347 : 0893E38D;
+348 : 45010D60;
+349 : 00000073;
+34A : 196357FD;
+34B : 202500F5;
+34C : C11C47B1;
+34D : 40B2557D;
+34E : 80820141;
+34F : 431CC308;
+350 : 0D600893;
+351 : 853696BE;
+352 : 00000073;
+353 : FED511E3;
+354 : 853EC308;
+355 : A503B7CD;
+356 : 80828641;
+357 : 2070250D;
+358 : 6572203A;
+359 : 25206461;
+35A : 20783830;
+35B : 65707865;
+35C : 64657463;
+35D : 38302520;
+35E : 000A0D78;
+35F : 706F6F4C;
+360 : 25203A73;
+361 : 65202C75;
+362 : 726F7272;
+363 : 203D2073;
+364 : 0A0D7525;
+365 : 0000000A;
+366 : 74736554;
+367 : 20676E69;
+368 : 41524453;
+369 : 7266204D;
+36A : 30206D6F;
+36B : 38302578;
+36C : 6F742078;
+36D : 25783020;
+36E : 2C783830;
+36F : 72747320;
+370 : 20656469;
+371 : 30257830;
+372 : 2E2E7838;
+373 : 000A0D2E;
+374 : 65520A0D;
+375 : 6E696461;
+376 : 61622067;
+377 : 74206B63;
+378 : 6863206F;
+379 : 206B6365;
+37A : 20726F66;
+37B : 61696C61;
+37C : 2E736573;
+37D : 0A0D2E2E;
+37E : 00000000;
+37F : 5244530D;
+380 : 74204D41;
+381 : 20747365;
+382 : 706D6F63;
+383 : 6574656C;
+384 : 6974202C;
+385 : 3D20656D;
+386 : 20752520;
+387 : 0A0D736D;
 388 : 00000000;
-389 : 00000000;
-38A : 00000000;
-38B : 00000000;
-38C : 00000000;
-38D : 00000000;
-38E : 00000000;
-38F : 00000000;
-390 : 00000000;
-391 : 00000000;
-392 : 00000000;
-393 : 00000000;
-394 : 00000000;
-395 : 00000000;
-396 : 00000000;
-397 : 00000000;
-398 : 00000000;
-399 : 00000000;
-39A : 00000000;
-39B : 00000000;
+389 : 325B1B0C;
+38A : 485B1B4A;
+38B : 202A2A2A;
+38C : 6C6C6548;
+38D : 57202C6F;
+38E : 646C726F;
+38F : 2A2A2021;
+390 : 460A0D2A;
+391 : 776D7269;
+392 : 20657261;
+393 : 706D6F63;
+394 : 64656C69;
+395 : 3A6E6F20;
+396 : 70655320;
+397 : 20383220;
+398 : 31323032;
+399 : 3A383120;
+39A : 323A3030;
+39B : 0A0A0D31;
 39C : 00000000;
-39D : 00000000;
-39E : 00000000;
-39F : 00000E1C;
-3A0 : 00000E1C;
-[3A1..7FF] : 00;
+39D : 2B302D23;
+39E : 00000020;
+39F : 004C6C68;
+3A0 : 45676665;
+3A1 : 00004746;
+3A2 : 33323130;
+3A3 : 37363534;
+3A4 : 42413938;
+3A5 : 46454443;
+3A6 : 00000000;
+3A7 : 33323130;
+3A8 : 37363534;
+3A9 : 62613938;
+3AA : 66656463;
+3AB : 00000000;
+3AC : 0000089C;
+3AD : 000008B2;
+3AE : 00000876;
+3AF : 00000876;
+3B0 : 00000876;
+3B1 : 00000876;
+3B2 : 000008B2;
+3B3 : 00000876;
+3B4 : 00000876;
+3B5 : 00000876;
+3B6 : 00000876;
+3B7 : 000009F4;
+3B8 : 000008EE;
+3B9 : 0000099E;
+3BA : 00000876;
+3BB : 00000876;
+3BC : 00000A24;
+3BD : 00000876;
+3BE : 000008EE;
+3BF : 00000876;
+3C0 : 00000876;
+3C1 : 000009A6;
+3C2 : 00000000;
+3C3 : 00000000;
+3C4 : 00000000;
+3C5 : 0000020A;
+3C6 : 000001DC;
+3C7 : 00000000;
+3C8 : 00000000;
+3C9 : 00000000;
+3CA : 00000000;
+3CB : 00000000;
+3CC : 00000000;
+3CD : 00000000;
+3CE : 00000000;
+3CF : 00000000;
+3D0 : 00000000;
+3D1 : 00000000;
+3D2 : 00000000;
+3D3 : 00000000;
+3D4 : 00000000;
+3D5 : 00000000;
+3D6 : 00000000;
+3D7 : 00000000;
+3D8 : 00000000;
+3D9 : 00000000;
+3DA : 00000000;
+3DB : 00000000;
+3DC : 00000000;
+3DD : 00000000;
+3DE : 00000000;
+3DF : 00000004;
+3E0 : 00000F1C;
+[3E1..7FF] : 00;
 END;

+ 9 - 1
fw/head.S

@@ -11,4 +11,12 @@ _reset:
 	.org 0x10
 	.globl _irq
 _irq:
-	j die		// Nothing for now
+	j _die		// Nothing for now
+
+	.globl _die
+	.globl _exit
+	.globl exit
+exit:
+_exit:
+_die:
+	j _die

+ 76 - 46
fw/hello.c

@@ -4,83 +4,113 @@
 #include "io.h"
 #include "console.h"
 
-void die(void)
+#define SDRAM_ADDR	0x40000000
+#define SDRAM_ADDR_BITS	25
+#define SDRAM_SIZE	(1U << SDRAM_ADDR_BITS)
+#define SDRAM_MASK	(SDRAM_SIZE - 1)
+#define SDRAM_END	(SDRAM_ADDR + SDRAM_SIZE)
+
+static unsigned int errors = 0;
+static unsigned int rate_limit;
+static char err_char;
+
+static void data_check(volatile uint32_t *p, uint32_t expect)
 {
-    while (1)
-	;
+    uint32_t readback = *p;
+
+    if (readback != expect) {
+	if (rate_limit) {
+	    con_printf("\r%p : read %08x expected %08x\r\n",
+		       p, readback, expect);
+	    rate_limit--;
+	}
+	err_char = 'X';
+	errors++;
+    }
 }
 
-#define SDRAM_ADDR 0x40000000
-#define SDRAM_SIZE (32 << 20)
-
-static void write_check(volatile uint32_t *p, uint32_t v)
+static inline void write_check(volatile uint32_t *p, uint32_t v)
 {
-    uint32_t rb;
-    
     *p = v;
-    rb = *p;
-
-    if (v != rb)
-	con_printf("\r%p : read %08x wrote %08x\r\n", p, rb, v);
+    data_check(p, v);
 }
 
+#define ERROR_RATELIMIT 8
+
+#define SOME_NUMBER 0x78dacecb
+
 static void test_sdram(void)
 {
-    uint32_t * const sdram_start = (uint32_t *)SDRAM_ADDR;
-    uint32_t * const sdram_end   = (uint32_t *)(SDRAM_ADDR + SDRAM_SIZE);
-    volatile uint32_t *p;
-    
-    con_printf("Testing SDRAM from %p to %p...\r\n", sdram_start, sdram_end);
+    static unsigned int stride = 4;
+    uint32_t start_time = rdtime();
+    uint32_t w = 0;
+    uint32_t n;
 
-    for (p = sdram_start ; p < sdram_end ; p++) {
-	uint32_t a = (uint32_t)p;
+    
+    con_printf("Testing SDRAM from 0x%08x to 0x%08x, stride 0x%08x...\r\n",
+	       SDRAM_ADDR, SDRAM_END, stride);
 
-	if (!(a & 0xffff))
-	    con_printf("\r%p ", p);
+    n = 0;
+    err_char = '-';
+    rate_limit = ERROR_RATELIMIT;
+    do {
+	uint32_t a = w + SDRAM_ADDR;
+	volatile uint32_t *p = (volatile uint32_t *)a;
 
 	write_check(p, 0);
 	write_check(p, ~0);
-	write_check(p, ~a);
-	write_check(p, a);
-    }
+	write_check(p, ~w);
+	write_check(p, w);
+	write_check(p, w + SOME_NUMBER);
+
+	if (!(++n & 0x3ffff)) {
+	    CONSOLE = err_char;
+	    err_char = '-';
+	}
+	
+	w = (w + stride) & SDRAM_MASK;
+    } while (w);
 
-    con_puts("\rReading back to check for aliases...\r\n");
+    con_puts("\r\nReading back to check for aliases...\r\n");
 	
-    for (p = sdram_start ; p < sdram_end ; p++) {
-	uint32_t a = (uint32_t)p;
-	uint32_t v = *p;
+    rate_limit = ERROR_RATELIMIT;
+    do {
+	uint32_t a = w + SDRAM_ADDR;
+	volatile uint32_t *p = (volatile uint32_t *)a;
 
-	if (!(a & 0xffff))
-	    con_printf("\r%p ", p);
+	data_check(p, w + SOME_NUMBER);
 
-#if 0
-	if (v != a)
-	  con_printf("\r%p : read %08x expected %08x\r\n", p, v, a);
-#endif
-    }
+	if (!(++n & 0x3ffff)) {
+	    CONSOLE = err_char;
+	    err_char = '-';
+	}
 
-    con_puts("\rSDRAM test complete\r\n");
+	w = (w - stride) & SDRAM_MASK;
+    } while (w);
+
+    con_printf("\rSDRAM test complete, time = %u ms\r\n",
+	       (rdtime() - start_time)/(CPU_CLK_HZ/1000));
+
+    stride *= 3;
+    stride = ((stride & SDRAM_MASK) ^ (stride >> (SDRAM_ADDR_BITS-2))) & ~3;
 }
 
 void main(void)
 {
-    static const char hello[] = "\r\n\nHello, World!\r\n";
+    static const char hello[] = "\f\033[2J\033[H"
+	"*** Hello, World! ***\r\n"
+	"Firmware compiled on: " __DATE__ " " __TIME__ "\r\n\n";
     uint8_t led = 0;
-    unsigned int loops = 0;
+    uint8_t loops;
 
     con_set_baudrate(115200);
     set_led(led = 0);
 
-    con_puts(hello);
-
     while ( 1 ) {
+	con_puts(hello);
+	con_printf("Loops: %u, errors = %u\r\n\n", loops++, errors);
 	test_sdram();
 	led = (led << 1) | ((~led >> 2) & 1);
 	set_led(led);
-	udelay(400000);
-	loops++;
-	con_printf("Loops: %u\r\n\n", loops);
     }
-
-    die();
 }

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác