Browse Source

max80: fix timing bug that affected code execution from SDRAM

Instruction fetches are pickier about signal timing than ordinary data
fetches, so the sdram state machine broke because timing improvements
ended up leaving the valid bit on too long. Fix that.

v2 now boots fully.
H. Peter Anvin 3 years ago
parent
commit
6014b9c6d7
7 changed files with 1437 additions and 1521 deletions
  1. 3 3
      fpga/max80.qpf
  2. 17 18
      fpga/max80.sv
  3. 1397 1498
      fpga/output/sram.mif
  4. BIN
      fpga/output/v2.jic
  5. BIN
      fpga/output/v2.sof
  6. 1 1
      rv32/checksum.h
  7. 19 1
      rv32/system.c

+ 3 - 3
fpga/max80.qpf

@@ -19,14 +19,14 @@
 #
 # Quartus Prime
 # Version 21.1.0 Build 842 10/21/2021 SJ Lite Edition
-# Date created = 03:59:44  February 02, 2022
+# Date created = 04:05:18  February 02, 2022
 #
 # -------------------------------------------------------------------------- #
 
 QUARTUS_VERSION = "21.1"
-DATE = "03:59:44  February 02, 2022"
+DATE = "04:05:18  February 02, 2022"
 
 # Revisions
 
-PROJECT_REVISION = "v1"
 PROJECT_REVISION = "v2"
+PROJECT_REVISION = "v1"

+ 17 - 18
fpga/max80.sv

@@ -278,7 +278,6 @@ module max80
    wire [31:0]                cpu_mem_addr;
    wire [31:0]                cpu_mem_wdata;
    reg  [31:0]		      cpu_mem_rdata;
-   reg			      cpu_mem_ready;
 
    wire                       cpu_la_read;
    wire                       cpu_la_write;
@@ -286,19 +285,19 @@ module max80
    wire [31:0]		      cpu_la_wdata;
    wire [ 3:0]		      cpu_la_wstrb;
 
-   // cpu_mem_valid by address quadrant
-   wire [3:0]		      cpu_la_quad;
-   reg [3:0]		      cpu_mem_quad;
-
-   assign cpu_la_quad = 1'b1 << cpu_la_addr[31:30];
+   // cpu_mem_valid by address quadrant, using a bit of lookahead
+   // decoding for speed.
+   reg  [3:0]		      mem_quad;
 
    always @(negedge rst_n or posedge sys_clk)
      if (~rst_n)
-       cpu_mem_quad <= 4'b0;
-     else if (cpu_la_read|cpu_la_write)
-       cpu_mem_quad <= cpu_la_quad;
-     else if (~cpu_mem_valid)
-       cpu_mem_quad <= 4'b0;
+       mem_quad <= 4'b0;
+     else if (cpu_mem_valid)
+       mem_quad <= 1'b1 << cpu_mem_addr[31:30];
+     else
+       mem_quad <= 1'b1 << cpu_la_addr[31:30];
+
+   wire [3:0] cpu_mem_quad = cpu_mem_valid ? mem_quad : 4'b0;
 
    // I/O device map from iodevs.conf
    wire        iodev_mem_valid = cpu_mem_quad[3];
@@ -540,11 +539,11 @@ module max80
    // accesses...)
    reg	       iodev_mem_ready;
 
-   assign cpu_mem_ready = cpu_mem_quad[0] |
-			  (cpu_mem_quad[1] & sdram_mem_ready) |
-			  cpu_mem_quad[2] |
-			  (cpu_mem_quad[3] & iodev_mem_ready);
-
+   assign cpu_mem_ready =
+			 (cpu_mem_quad[0] & 1'b1) |
+			 (cpu_mem_quad[1] & sdram_mem_ready) |
+			 (cpu_mem_quad[2] & 1'b1) |
+			 (cpu_mem_quad[3] & iodev_mem_ready);
    //
    // Fast memory. This runs on the SDRAM clock, i.e. 2x the speed
    // of the CPU. The .bits parameter gives the number of dwords
@@ -556,8 +555,8 @@ module max80
    fast_mem(
 	    .rst_n ( rst_n ),
 	    .clk   ( sys_clk ),
-	    .read  ( cpu_la_read  & cpu_la_quad[0] ),
-	    .write ( cpu_la_write & cpu_la_quad[0] ),
+	    .read  ( cpu_la_read  & cpu_la_addr[31:30] == 2'b00 ),
+	    .write ( cpu_la_write & cpu_la_addr[31:30] == 2'b00 ),
 	    .wstrb ( cpu_la_wstrb ),
 	    .addr  ( cpu_la_addr[14:2] ),
 	    .wdata ( cpu_la_wdata ),

+ 1397 - 1498
fpga/output/sram.mif

@@ -6,7 +6,7 @@ DATA_RADIX = HEX;
 CONTENT BEGIN
 0000 : 00000000;
 0001 : 00000000;
-0002 : DA68A8E8;
+0002 : E3ABE76A;
 0003 : 00100000;
 0004 : C0102473;
 0005 : 00008137;
@@ -15,7 +15,7 @@ CONTENT BEGIN
 0008 : 0001210B;
 0009 : 008DF413;
 000A : 00040863;
-000B : 595000EF;
+000B : 3CF000EF;
 000C : 408D8DB3;
 000D : 060D8063;
 000E : 00000493;
@@ -48,26 +48,26 @@ CONTENT BEGIN
 0029 : 0000250B;
 002A : 0005B00B;
 002B : 00000000;
-002C : 29F0006F;
+002C : 0DB0006F;
 002D : 5880006F;
 002E : 5780006F;
-002F : 5050006F;
+002F : 33F0006F;
 0030 : 5880006F;
-0031 : 28B0006F;
-0032 : 2550106F;
-0033 : 2830006F;
-0034 : 27F0006F;
-0035 : 2C30006F;
-0036 : 2770006F;
-0037 : 2730006F;
-0038 : 26F0006F;
-0039 : 26B0006F;
+0031 : 0C70006F;
+0032 : 08F0106F;
+0033 : 0BF0006F;
+0034 : 0BB0006F;
+0035 : 0FF0006F;
+0036 : 0B30006F;
+0037 : 0AF0006F;
+0038 : 0AB0006F;
+0039 : 0A70006F;
 003A : 00000000;
 003B : 7C5C2D2F;
-003C : 4101D2A0;
+003C : 4101D4A0;
 003D : FFFFFFFF;
 003E : FFFFFFFF;
-003F : 00001D04;
+003F : 00001B70;
 0040 : 00000040;
 0041 : 00000000;
 0042 : 00000000;
@@ -198,29 +198,29 @@ CONTENT BEGIN
 00BF : 16204283;
 00C0 : 00028663;
 00C1 : 40007097;
-00C2 : D46080E7;
+00C2 : F9E080E7;
 00C3 : 400074B7;
 00C4 : 40007937;
 00C5 : 5AFD4981;
-00C6 : 09C48493;
-00C7 : 10690913;
+00C6 : 2F448493;
+00C7 : 36B90913;
 00C8 : 40007A37;
 00C9 : 0750008B;
 00CA : 0810878B;
 00CB : 16304303;
 00CC : 00030663;
 00CD : 40001097;
-00CE : 444080E7;
-00CF : 5FB000EF;
+00CE : 68E080E7;
+00CF : 435000EF;
 00D0 : 89C02403;
 00D1 : FE89F0E3;
 00D2 : 00845393;
 00D3 : 0FF47593;
 00D4 : 93638626;
 00D5 : 864A0003;
-00D6 : 0A6A0513;
+00D6 : 2FEA0513;
 00D7 : 40001097;
-00D8 : 140080E7;
+00D8 : 38A080E7;
 00D9 : BF7D89A2;
 00DA : 00000697;
 00DB : D3468693;
@@ -328,9 +328,9 @@ CONTENT BEGIN
 0141 : 84933430;
 0142 : 64090015;
 0143 : FFE4FA13;
-0144 : B3040693;
+0144 : 96840693;
 0145 : FFCA0993;
-0146 : B3040413;
+0146 : 96840413;
 0147 : 4AB54E29;
 0148 : 0006C703;
 0149 : E3710685;
@@ -401,10 +401,10 @@ CONTENT BEGIN
 018A : 00239850;
 018B : B7A19930;
 018C : 11416509;
-018D : B5650513;
+018D : 98E50513;
 018E : 3D5DC606;
 018F : 11416509;
-0190 : B6150513;
+0190 : 99950513;
 0191 : 356DC606;
 0192 : 12400293;
 0193 : 0002A783;
@@ -423,1478 +423,1377 @@ CONTENT BEGIN
 01A0 : CE061101;
 01A1 : CA26CC22;
 01A2 : C64EC84A;
-01A3 : C256C452;
-01A4 : C0102773;
-01A5 : 12E02423;
-01A6 : DE900093;
-01A7 : 0610078B;
-01A8 : 02936409;
-01A9 : 8313B304;
-01AA : 04130452;
-01AB : 4A29B304;
-01AC : 43834535;
-01AD : 03050003;
-01AE : 1A039C63;
-01AF : 85136489;
-01B0 : 47A9D724;
-01B1 : 45834EB5;
-01B2 : 05050005;
-01B3 : 1A059963;
-01B4 : 00234635;
-01B5 : 46A998C0;
-01B6 : 98D00023;
-01B7 : 2423481D;
-01B8 : 58FD8100;
-01B9 : 0710090B;
-01BA : 20097993;
-01BB : FE098CE3;
-01BC : 193ACA37;
-01BD : 40000AB7;
-01BE : 40008E37;
-01BF : F4D57EB7;
-01C0 : 604A0F13;
+01A3 : C0102773;
+01A4 : 12E02423;
+01A5 : DE900093;
+01A6 : 0610078B;
+01A7 : 02936409;
+01A8 : 83139684;
+01A9 : 04130452;
+01AA : 44A99684;
+01AB : 43834935;
+01AC : 03050003;
+01AD : 1C039A63;
+01AE : 85136489;
+01AF : 4329BDE4;
+01B0 : 458347B5;
+01B1 : 05050005;
+01B2 : 1C059763;
+01B3 : 00234635;
+01B4 : 46A998C0;
+01B5 : 98D00023;
+01B6 : 2423481D;
+01B7 : 58FD8100;
+01B8 : 0710090B;
+01B9 : 20097993;
+01BA : FE098CE3;
+01BB : 193ACE37;
+01BC : 40000EB7;
+01BD : 40008F37;
+01BE : F4D57FB7;
+01BF : 604E0093;
+01C0 : 000E8713;
 01C1 : 448159FD;
 01C2 : 45014901;
-01C3 : 000A8F93;
-01C4 : 818E0613;
-01C5 : 25FE8593;
-01C6 : 16CFEA63;
-01C7 : 07A40F13;
-01C8 : 40B54729;
-01C9 : 000F4F83;
-01CA : 97630F05;
-01CB : 3B79180F;
-01CC : 09040713;
-01CD : 43B54AA9;
-01CE : 00074783;
-01CF : 94630705;
-01D0 : 25031807;
-01D1 : 33590080;
-01D2 : 002342B5;
-01D3 : 43299850;
-01D4 : 98600023;
-01D5 : 09B40393;
-01D6 : 42B54329;
-01D7 : 0003C503;
-01D8 : 19630385;
-01D9 : 854E1605;
-01DA : 05933395;
-01DB : C5130200;
-01DC : 0023FFF4;
-01DD : 3B9998B0;
-01DE : 002344B5;
-01DF : 46299890;
-01E0 : 98C00023;
-01E1 : 0B440813;
-01E2 : 47B54A29;
-01E3 : 00084883;
-01E4 : 98630805;
-01E5 : 86B71408;
-01E6 : 89934000;
-01E7 : A5038106;
-01E8 : 0A130009;
-01E9 : 4AB50200;
-01EA : 00233315;
-01EB : A5039940;
-01EC : 3B290049;
-01ED : 00234E29;
-01EE : 00239950;
-01EF : 156399C0;
-01F0 : 87B71409;
-01F1 : 30B74000;
-01F2 : 4F814001;
-01F3 : 81878913;
-01F4 : 2A008E93;
-01F5 : 13D96F63;
-01F6 : 140F9F63;
-01F7 : 80800513;
-01F8 : C10C4599;
-01F9 : C1044495;
-01FA : 0F140413;
-01FB : 46B54E29;
-01FC : 00044603;
-01FD : 15630405;
-01FE : 28731406;
-01FF : B8B7C010;
-0200 : 86931908;
-0201 : 29F30FF8;
-0202 : 8A33C010;
-0203 : FCE34109;
-0204 : 4AB5FF46;
-0205 : 99500023;
-0206 : 79374E29;
-0207 : 00234000;
-0208 : 0E9399C0;
-0209 : 48A90D19;
-020A : CF034835;
-020B : 0E85000E;
-020C : 100F1F63;
-020D : 40002097;
-020E : EB8080E7;
-020F : 40007FB7;
-0210 : 0EBF8793;
-0211 : 44354629;
-0212 : 0007C083;
-0213 : 97630785;
-0214 : 22831000;
-0215 : 43378000;
-0216 : 07133858;
-0217 : 846314D3;
-0218 : 773712E2;
-0219 : 05134000;
-021A : 44A90EF7;
-021B : A2214AB5;
-021C : 01439463;
-021D : 98A00023;
-021E : 98700023;
-021F : 9463BD1D;
-0220 : 002300F5;
-0221 : 002399D0;
-0222 : BD3598B0;
-0223 : 000FA683;
-0224 : 48B30F91;
-0225 : AE2300DF;
-0226 : A803FF1F;
-0227 : 0F33FFCF;
-0228 : AE2302BF;
-0229 : 4E33FEDF;
-022A : 95360118;
-022B : 01C96933;
-022C : F9B38CD5;
-022D : B58D00D9;
-022E : 00EF9463;
-022F : 98100023;
-0230 : 99F00023;
-0231 : 9463B585;
-0232 : 00230157;
-0233 : 00239870;
-0234 : B59D98F0;
-0235 : 00651463;
-0236 : 98500023;
-0237 : 98A00023;
-0238 : 9463BDB5;
-0239 : 00230148;
-023A : 002398F0;
-023B : BD799910;
-023C : 012F9463;
-023D : 99D00023;
-023E : 99F00023;
-023F : 000F4F83;
-0240 : 97E30F05;
-0241 : BD75FE0F;
-0242 : 0C040F13;
-0243 : 4EB54929;
-0244 : 2F03B7F5;
-0245 : 09110009;
-0246 : 01EFEFB3;
-0247 : 9463BD65;
-0248 : 00230053;
-0249 : 00239860;
-024A : 43839870;
-024B : 07050007;
-024C : FE0397E3;
-024D : 0713B565;
-024E : 42A90D84;
-024F : B7F54335;
-0250 : 01C61463;
-0251 : 98D00023;
-0252 : 98C00023;
-0253 : 1463B555;
-0254 : 0023011F;
-0255 : 00239900;
-0256 : BDC199E0;
-0257 : 00C09463;
-0258 : 98800023;
-0259 : 98100023;
-025A : 9463B5C5;
-025B : 00230095;
-025C : 00239950;
-025D : 458398B0;
-025E : 05050005;
-025F : 1097F5FD;
-0260 : 80E74000;
-0261 : 4583A920;
-0262 : 46038060;
-0263 : 46838050;
-0264 : 47038040;
-0265 : 73B78070;
-0266 : 85134000;
-0267 : 10971693;
-0268 : 80E74000;
-0269 : 4503AFE0;
-026A : 45838060;
-026B : 05638070;
-026C : 70B702B5;
-026D : 83134000;
-026E : 42A91070;
-026F : A03949B5;
-0270 : 00539463;
-0271 : 99300023;
-0272 : 98700023;
-0273 : 00034383;
-0274 : 97E30305;
-0275 : B765FE03;
-0276 : 002344B5;
-0277 : 44299890;
-0278 : 40007637;
-0279 : 98800023;
-027A : 13660813;
-027B : 47B54A29;
-027C : 00084883;
-027D : 97630805;
-027E : 3AB71208;
-027F : 16B74001;
-0280 : 29B71111;
-0281 : 84934433;
-0282 : 4401040A;
-0283 : 11168A13;
-0284 : 21198993;
-0285 : 40007937;
-0286 : 0E334AA1;
-0287 : 1E930344;
-0288 : 8F330024;
-0289 : 051301D4;
-028A : 04051949;
-028B : 013E05B3;
-028C : 00BF2023;
-028D : 000F2783;
-028E : 40001097;
-028F : A64080E7;
-0290 : FD541DE3;
-0291 : 00234FB5;
-0292 : 47A999F0;
-0293 : 98F00023;
-0294 : 4A214981;
-0295 : 00299093;
-0296 : 001482B3;
-0297 : 0002A583;
-0298 : 19490513;
-0299 : 10970985;
-029A : 80E74000;
-029B : 93E3A360;
-029C : 7337FF49;
-029D : 03934000;
-029E : 4FA91483;
-029F : C7034F35;
-02A0 : 03850003;
-02A1 : 4AA1E75D;
-02A2 : 878B6489;
-02A3 : 25830804;
-02A4 : 0513C000;
-02A5 : 1AFD1949;
-02A6 : 40001097;
-02A7 : A04080E7;
-02A8 : FE0A95E3;
-02A9 : 40007937;
-02AA : 10490513;
-02AB : 4E354EA9;
-02AC : 00054583;
-02AD : E5C90505;
-02AE : 46112AED;
-02AF : 80800413;
-02B0 : 1097C010;
-02B1 : 80E74000;
-02B2 : 2097AA80;
-02B3 : 80E74000;
-02B4 : 480DF060;
-02B5 : 01042023;
-02B6 : 40001097;
-02B7 : 392080E7;
-02B8 : 40002097;
-02B9 : 956080E7;
-02BA : 40002097;
-02BB : E24080E7;
-02BC : 20234889;
-02BD : 20970114;
-02BE : 80E74000;
-02BF : 4685EE60;
-02C0 : 2097C014;
-02C1 : 80E74000;
-02C2 : 2623CC40;
-02C3 : 24238800;
-02C4 : 40F28000;
-02C5 : 44D24462;
-02C6 : 49B24942;
-02C7 : 4A924A22;
-02C8 : 80826105;
-02C9 : 01489463;
-02CA : 98F00023;
-02CB : 99100023;
-02CC : 1463B5C1;
-02CD : 002301F7;
-02CE : 002399E0;
-02CF : B78198E0;
-02D0 : 01D59463;
-02D1 : 99C00023;
-02D2 : 98B00023;
-02D3 : 4785B795;
-02D4 : 00A79533;
-02D5 : FFF54293;
-02D6 : 0655050B;
-02D7 : 27038082;
-02D8 : 02B700C0;
-02D9 : 20233B00;
-02DA : 8333A0A0;
-02DB : 03B300E2;
-02DC : 053700B3;
-02DD : 22232D00;
-02DE : 8E49A070;
-02DF : A0C02423;
-02E0 : 20238082;
-02E1 : 07B7A0A0;
-02E2 : 22232000;
-02E3 : 8DDDA000;
-02E4 : A0B02423;
-02E5 : 02938082;
-02E6 : A70312C0;
-02E7 : 06930002;
-02E8 : A0230017;
-02E9 : CB1900D2;
-02EA : 07634605;
-02EB : 0E130EC7;
-02EC : 0E932000;
-02ED : 078BDFF0;
-02EE : 808207DE;
-02EF : C6061141;
-02F0 : C226C422;
-02F1 : 0093C04A;
-02F2 : 0337A040;
-02F3 : A0235000;
-02F4 : 03930060;
-02F5 : 0437A080;
-02F6 : A0230100;
-02F7 : 04930083;
-02F8 : 860B2000;
-02F9 : 06370804;
-02FA : A0231100;
-02FB : 053700C0;
-02FC : A0230200;
-02FD : 878B00A3;
-02FE : 00010804;
-02FF : 65890001;
-0300 : C3C58813;
-0301 : 40B543A9;
-0302 : 00084883;
-0303 : 9E630805;
-0304 : 09370608;
-0305 : 22234B00;
-0306 : 0493A120;
-0307 : 0E37A080;
-0308 : A0231500;
-0309 : 041301C4;
-030A : 078B2000;
-030B : 0EB70804;
-030C : A0231400;
-030D : 078B01D4;
-030E : 09130804;
-030F : 2503A100;
-0310 : 30690009;
-0311 : 04000F37;
-0312 : 01E4A023;
-0313 : 0804040B;
-0314 : 00092503;
-0315 : 879FF0EF;
-0316 : 00234FB5;
-0317 : 47A999F0;
-0318 : 98F00023;
-0319 : 40B24422;
-031A : 49024492;
-031B : 400002B7;
-031C : 400086B7;
-031D : 00028713;
-031E : 81868313;
-031F : 40E30633;
-0320 : 85134581;
-0321 : 01410002;
-0322 : 9463BDD9;
-0323 : 00230078;
-0324 : 00239810;
-0325 : BF8D9910;
-0326 : 40008537;
-0327 : 40013837;
-0328 : 81850593;
-0329 : 2A080893;
-032A : 40B885B3;
-032B : 81850513;
-032C : 7139BDC9;
-032D : DC22DE06;
-032E : D84ADA26;
-032F : D452D64E;
-0330 : D05AD256;
-0331 : CC62CE5E;
-0332 : C86ACA66;
-0333 : 0793C66E;
-0334 : 870B2000;
-0335 : 07370807;
-0336 : 22234B00;
-0337 : 0093A0E0;
-0338 : 06B7A080;
-0339 : A0231500;
-033A : 868B00D0;
-033B : 02B70807;
-033C : A0231400;
-033D : 868B0050;
-033E : 03130807;
-033F : 0637A100;
-0340 : 2A030400;
-0341 : A0230003;
-0342 : 878B00C0;
-0343 : 2A830807;
-0344 : 03930003;
-0345 : 0BB727C0;
-0346 : 8623D000;
-0347 : 84560003;
-0348 : 49AD84D2;
-0349 : 27C00C93;
-034A : 0BA14D25;
-034B : 06135C7D;
-034C : 46810240;
-034D : 85A68522;
-034E : 40005097;
-034F : 3C8080E7;
-0350 : 892A85A6;
-0351 : 02400613;
-0352 : 46818522;
-0353 : 40005097;
-0354 : 000080E7;
-0355 : 84AE842A;
-0356 : 6363451D;
-0357 : 4501012D;
-0358 : 03090593;
-0359 : 00B50833;
-035A : 0FF87893;
-035B : 013C8E33;
-035C : 00399E93;
-035D : 011E0023;
-035E : 017E8F33;
-035F : 011F2023;
-0360 : 96E319FD;
-0361 : 7FB7FB89;
-0362 : 85D24000;
-0363 : 27C00693;
-0364 : 85138656;
-0365 : 0097202F;
-0366 : 80E74000;
-0367 : 50F27060;
-0368 : 54D25462;
-0369 : 59B25942;
-036A : 4BF25B02;
-036B : 4CD24C62;
-036C : 4DB24D42;
-036D : 85D28556;
-036E : 5A225A92;
-036F : 80826121;
-0370 : CE061101;
-0371 : CC22CA26;
-0372 : C64EC84A;
-0373 : 5783C452;
-0374 : 00938880;
-0375 : 94931480;
-0376 : F2930107;
-0377 : A4030FF7;
-0378 : 80C10000;
-0379 : 12028263;
-037A : 89104303;
-037B : 89004583;
-037C : 76134695;
-037D : F5930FF3;
-037E : E4630FF5;
-037F : 4F051066;
-0380 : 14CF6F63;
-0381 : 10061463;
-0382 : 14040D63;
-0383 : 00442F83;
-0384 : 020F8963;
-0385 : 8713401C;
-0386 : C0180017;
-0387 : 00B78023;
-0388 : 01D44083;
-0389 : 01444283;
-038A : 0050F333;
-038B : 00640EA3;
-038C : 88600AA3;
-038D : 83934054;
-038E : 2223FFF6;
-038F : 98630074;
-0390 : 03B30203;
-0391 : 8B2300C4;
-0392 : 5A0300B3;
-0393 : 55330104;
-0394 : 791340CA;
-0395 : 0C630015;
-0396 : 09930009;
-0397 : 98130086;
-0398 : 08B30029;
-0399 : AE030104;
-039A : 85220008;
-039B : F5939E02;
-039C : C1A11004;
-039D : 0D634450;
-039E : 0E931406;
-039F : 2623FFF6;
-03A0 : 876301D4;
-03A1 : 4083140E;
-03A2 : 428301D4;
-03A3 : F6B30154;
-03A4 : 0EA30050;
-03A5 : 0AA300D4;
-03A6 : 238388D0;
-03A7 : 8A130084;
-03A8 : 24230013;
-03A9 : C5030144;
-03AA : 0E230003;
-03AB : 0A2300A4;
-03AC : F91388A0;
-03AD : 05632004;
-03AE : 48030209;
-03AF : 498301D4;
-03B0 : 0AA38950;
-03B1 : 58838900;
-03B2 : F5930104;
-03B3 : FE130FF9;
-03B4 : 07632008;
-03B5 : 2E83000E;
-03B6 : 460503C4;
-03B7 : 9E828522;
-03B8 : 5F83444C;
-03B9 : 40400104;
-03BA : 00B03633;
-03BB : 00861F13;
-03BC : 01FF6733;
-03BD : 008037B3;
-03BE : 00E7E333;
-03BF : 08236093;
-03C0 : 439DA09D;
-03C1 : 06760F63;
-03C2 : A8A1F03D;
-03C3 : 03F5FA13;
-03C4 : 002A1913;
-03C5 : 17800813;
-03C6 : 012808B3;
-03C7 : 0008A403;
-03C8 : 11400023;
-03C9 : 0080A023;
-03CA : 08200313;
-03CB : 2E03C015;
-03CC : 5F8300C4;
-03CD : 405C0104;
-03CE : 01C03EB3;
-03CF : 008E9F13;
-03D0 : 01FF6733;
-03D1 : 00F030B3;
-03D2 : 00E0E2B3;
-03D3 : 0822E313;
-03D4 : 88601523;
-03D5 : C0114681;
-03D6 : 2A234C54;
-03D7 : 12E388D0;
-03D8 : 0093EE04;
-03D9 : 92930820;
-03DA : E4B30100;
-03DB : 24230092;
-03DC : 40F28890;
-03DD : 44D24462;
-03DE : 49B24942;
-03DF : 61054A22;
-03E0 : 05138082;
-03E1 : 4A030400;
-03E2 : A0231000;
-03E3 : 00230000;
-03E4 : 061310A0;
-03E5 : 15230820;
-03E6 : 2A2388C0;
-03E7 : 44018800;
-03E8 : 17800913;
-03E9 : 10000993;
-03EA : 00890833;
-03EB : 00082503;
-03EC : 5883CD01;
-03ED : FE130105;
-03EE : 07630808;
-03EF : 2E83000E;
-03F0 : 461D0405;
-03F1 : 9E8285D2;
-03F2 : 1FE30411;
-03F3 : BF51FD34;
-03F4 : 01F44F83;
-03F5 : 89404F03;
-03F6 : 01F40E23;
-03F7 : 89F00A23;
-03F8 : 01045703;
-03F9 : 0FFF7593;
-03FA : 10077793;
-03FB : EC0783E3;
-03FC : 03842303;
-03FD : 85224601;
-03FE : BD659302;
-03FF : 575D47A1;
-0400 : 06E7828B;
-0401 : 2383C10C;
-0402 : C1501480;
-0403 : 00D50EA3;
-0404 : 02751663;
-0405 : 5E03454C;
-0406 : 36330105;
-0407 : 36B300C0;
-0408 : 981300B0;
-0409 : 68B30086;
-040A : EEB30106;
-040B : EF1301C8;
-040C : 1523082E;
-040D : 4D4889E0;
-040E : 88A02A23;
-040F : 0082FF93;
-0410 : 878B57DD;
-0411 : 808206FF;
-0412 : 575D47A1;
-0413 : 06E7828B;
-0414 : 00158313;
-0415 : 2423C550;
-0416 : C3830065;
-0417 : 0EA30005;
-0418 : 268300D5;
-0419 : 0E231480;
-041A : 17630075;
-041B : 280302D5;
-041C : 5F030045;
-041D : 36330105;
-041E : 38B300C0;
-041F : 1E130100;
-0420 : EEB30086;
-0421 : EFB301C8;
-0422 : E79301EE;
-0423 : 1523082F;
-0424 : 4D4888F0;
-0425 : 88A02A23;
-0426 : 0082F293;
-0427 : 878B575D;
-0428 : 808206E2;
-0429 : 575D47A1;
-042A : 06E7828B;
-042B : 00C52303;
-042C : 00B50FA3;
-042D : 00031A63;
-042E : 14802603;
-042F : 00B50E23;
-0430 : 00C51463;
-0431 : 88B00A23;
-0432 : 0082F513;
-0433 : 078B55DD;
-0434 : 808206B5;
-0435 : 575D47A1;
-0436 : 06E7828B;
-0437 : 14802383;
-0438 : 00B50EA3;
-0439 : 00751463;
-043A : 88B00AA3;
-043B : 0082F513;
-043C : 078B55DD;
-043D : 808206B5;
-043E : 09400793;
-043F : 00F51823;
-0440 : 00050EA3;
-0441 : 88000AA3;
-0442 : 04F54283;
-0443 : 040506A3;
-0444 : 0012E313;
-0445 : 046507A3;
-0446 : 47838082;
-0447 : E29304F5;
-0448 : 07A30027;
-0449 : 80820455;
-044A : 04F54783;
-044B : 0047E293;
-044C : 045507A3;
-044D : 71158082;
-044E : CF86C7CE;
-044F : C1DACDA2;
-0450 : C9CACBA6;
-0451 : C3D6C5D2;
-0452 : DD62DF5E;
-0453 : D96ADB66;
-0454 : 0093D76E;
-0455 : 2B030F40;
-0456 : A2831240;
-0457 : 24830000;
-0458 : F4138800;
-0459 : 80630054;
-045A : 63091762;
-045B : C4C34383;
-045C : 0F400B93;
-045D : 0013F513;
-045E : 1097C171;
-045F : 80E74000;
-0460 : 7913D1A0;
-0461 : 05630015;
-0462 : 4A850009;
-0463 : A8D94A01;
-0464 : 80800A93;
-0465 : 000AAA03;
-0466 : 40007CB7;
-0467 : 40013D37;
-0468 : 002A6C13;
-0469 : 018AA023;
-046A : 85934605;
-046B : 0513106C;
-046C : 4097060D;
-046D : 80E74000;
-046E : C105B8E0;
-046F : 400077B7;
-0470 : 4E178513;
-0471 : 40000097;
-0472 : 2D8080E7;
-0473 : 000AA983;
-0474 : FFD9F293;
-0475 : 005AA023;
-0476 : 0850BF4D;
-0477 : 8513100C;
-0478 : 0023106C;
-0479 : CA020201;
-047A : 40005097;
-047B : 9D2080E7;
-047C : 7DB74652;
-047D : 100C4000;
-047E : 4FAD8513;
-047F : 40000097;
-0480 : 2A0080E7;
-0481 : 082C0870;
-0482 : 106C8513;
-0483 : 5097CC02;
-0484 : 80E74000;
-0485 : 4E728440;
-0486 : 7FB745E2;
-0487 : 5E834000;
-0488 : 2F0300AE;
-0489 : 851301CE;
-048A : 9693528F;
-048B : 0613009E;
-048C : 0097FFEF;
-048D : 80E74000;
-048E : BF8126A0;
-048F : 40001097;
-0490 : C0A080E7;
-0491 : 00157593;
-0492 : 0813F1A9;
-0493 : 270314C0;
-0494 : 46FD0008;
-0495 : 40EB08B3;
-0496 : 0716F563;
-0497 : 01682023;
-0498 : 4A054A81;
-0499 : 016BA023;
-049A : 0F800093;
-049B : 0000A703;
-049C : 0014FB93;
-049D : C002C25E;
-049E : 0A870E63;
-049F : 80800313;
-04A0 : 0080A023;
-04A1 : 00032383;
-04A2 : 0014F593;
-04A3 : 00259613;
-04A4 : FFB3F513;
-04A5 : 00A66833;
-04A6 : 400078B7;
-04A7 : 01032023;
-04A8 : 4AE88913;
-04A9 : 4C354329;
-04AA : 00094683;
-04AB : EE990905;
-04AC : C8A98891;
-04AD : 40007A37;
-04AE : 4C3A0D13;
-04AF : 4CB54C29;
-04B0 : 4A81A01D;
-04B1 : 4A81B5E1;
-04B2 : BF794A01;
-04B3 : 00669463;
-04B4 : 99800023;
-04B5 : 98D00023;
-04B6 : 9463BFC1;
-04B7 : 0023018D;
-04B8 : 00239990;
-04B9 : 4D8399B0;
-04BA : 0D05000D;
-04BB : FE0D97E3;
-04BC : 15634E12;
-04BD : 7EB7160E;
-04BE : 87934000;
-04BF : 4FA94CAE;
-04C0 : A82149B5;
-04C1 : 40007AB7;
-04C2 : 4BDA8D13;
-04C3 : 9463BF45;
-04C4 : 002301F2;
-04C5 : 00239930;
-04C6 : C2839850;
-04C7 : 07850007;
-04C8 : FE0297E3;
-04C9 : 57138C39;
-04CA : 4B050024;
-04CB : 00177A93;
-04CC : 4A05C05A;
-04CD : C0B76389;
-04CE : 63094000;
-04CF : D6438513;
-04D0 : 20008D13;
-04D1 : 4B014B81;
-04D2 : 20008493;
-04D3 : C4C30C13;
-04D4 : 4583C42A;
-04D5 : 886304ED;
-04D6 : 8763100A;
-04D7 : 846A1005;
-04D8 : 4DA14901;
-04D9 : 2AE44783;
-04DA : 0017F293;
-04DB : 04028463;
-04DC : 001C4703;
-04DD : 00177313;
-04DE : 00031863;
-04DF : 05040513;
-04E0 : 40004097;
-04E1 : 338080E7;
-04E2 : 2AE44383;
-04E3 : FFE3F093;
-04E4 : 2A140723;
-04E5 : 04CD4503;
-04E6 : FFF50593;
-04E7 : 04BD0623;
-04E8 : 2AF44803;
-04E9 : 00487893;
-04EA : 00089663;
-04EB : FFE87613;
-04EC : 2AC40723;
-04ED : 04130905;
-04EE : 15E32E84;
-04EF : 0723FBB9;
-04F0 : 4682040D;
-04F1 : 856AC691;
-04F2 : 40001097;
-04F3 : 514080E7;
-04F4 : 49814E12;
-04F5 : 020E0E63;
-04F6 : 4EA15CDD;
-04F7 : 079E870B;
-04F8 : 0F936F09;
-04F9 : 07B3B90F;
-04FA : 8DB303FB;
-04FB : C98300F4;
-04FC : 87A304FD;
-04FD : F993040D;
-04FE : 068B0FF9;
-04FF : F2930790;
-0500 : 8D630069;
-0501 : 856A2002;
-0502 : 40001097;
-0503 : 4D4080E7;
-0504 : 04ED4603;
-0505 : 46061063;
-0506 : 87936F89;
-0507 : 0B05B90F;
-0508 : 9D3E4291;
-0509 : 16E39BBE;
-050A : 0A63F25B;
-050B : 0493000A;
-050C : AA038080;
-050D : 7A930004;
-050E : A023FFDA;
-050F : 40FE0154;
-0510 : 44DE446E;
-0511 : 49BE494E;
-0512 : 4A9E4A2E;
-0513 : 5BFA4B0E;
-0514 : 5CDA5C6A;
-0515 : 5DBA5D4A;
-0516 : 8082612D;
-0517 : 40007F37;
-0518 : 4D6F0793;
-0519 : FDB1BD69;
-051A : 000C4603;
-051B : 00167813;
-051C : F40819E3;
-051D : 88002883;
-051E : 8D936689;
-051F : F913D6F6;
-0520 : 15630048;
-0521 : 4CA20009;
-0522 : 00AC8D93;
-0523 : 03000E13;
-0524 : 02F00E93;
-0525 : 01CD8023;
-0526 : 01DD80A3;
-0527 : 000D8123;
-0528 : 2A8D0413;
-0529 : 09138CEA;
-052A : 2F030300;
-052B : 7FB7044D;
-052C : 874A4000;
-052D : 008F0693;
-052E : 55AF8613;
-052F : 85224591;
-0530 : 400079B7;
-0531 : DA840D93;
-0532 : 40005097;
-0533 : FDC080E7;
-0534 : 66498993;
-0535 : 0009A683;
-0536 : 12068363;
-0537 : 400077B7;
-0538 : 86138722;
-0539 : 05935627;
-053A : 10080400;
-053B : 40005097;
-053C : FB8080E7;
-053D : 2AECC283;
-053E : 0012F713;
-053F : 4083CB05;
-0540 : F313001C;
-0541 : 17630010;
-0542 : 856E0003;
-0543 : 40004097;
-0544 : 1AC080E7;
-0545 : 2AECC383;
-0546 : FFE3F513;
-0547 : 2AAC8723;
-0548 : 04CD4583;
-0549 : FFF58613;
-054A : 04CD0623;
-054B : 2AFCC803;
-054C : 00487893;
-054D : 0E089263;
-054E : 0FE87F93;
-054F : 2BFC8723;
-0550 : 002FF693;
-0551 : E2914605;
-0552 : 100C460D;
-0553 : C632856E;
-0554 : 40004097;
-0555 : 850080E7;
-0556 : CE034EA9;
-0557 : 1A632AEC;
-0558 : 4F3201D5;
-0559 : 002F7F93;
-055A : 000F8563;
-055B : 002E6F93;
-055C : 4785B7F1;
-055D : 4791C111;
-055E : 00FE62B3;
-055F : 2A5C8723;
-0560 : 0012F713;
-0561 : 79B7CB51;
-0562 : 10104000;
-0563 : 851385A2;
-0564 : 00975679;
-0565 : 80E74000;
-0566 : 0313F0A0;
-0567 : 03930220;
-0568 : A8230084;
-0569 : A0232A6C;
-056A : 55FD0A7C;
-056B : 856E567D;
-056C : 40004097;
-056D : 12A080E7;
-056E : 7DB7C911;
-056F : 85A24000;
-0570 : 57BD8513;
-0571 : 40000097;
-0572 : ED8080E7;
-0573 : 044D2603;
-0574 : 064CA083;
-0575 : 060CA583;
-0576 : 00265883;
-0577 : 01809513;
-0578 : 0085D813;
-0579 : 01056633;
-057A : 00C8F363;
-057B : 96238646;
-057C : 46832ACC;
-057D : 8E1304CD;
-057E : 06230016;
-057F : 090505CD;
-0580 : 03800E93;
-0581 : 2E840413;
-0582 : 2E8C8C93;
-0583 : E9D91FE3;
-0584 : 07234F05;
-0585 : B37505ED;
-0586 : BD6D0991;
-0587 : 0019F713;
-0588 : DE0708E3;
-0589 : 049D4303;
-058A : 048D4603;
-058B : 53936505;
-058C : 05930063;
-058D : 90937905;
-058E : 88330083;
-058F : 88B300BB;
-0590 : 79130100;
-0591 : 7C930016;
-0592 : 84330073;
-0593 : 00630114;
-0594 : 06930409;
-0595 : 8DB32E80;
-0596 : 8E3302DC;
-0597 : 8EB300FD;
-0598 : CF0301C4;
-0599 : 7F932AEE;
-059A : 9963001F;
-059B : 0893040F;
-059C : 06A3F800;
-059D : 0593051D;
-059E : 856A0800;
-059F : 04233425;
-05A0 : 4603040D;
-05A1 : 7693048D;
-05A2 : 0423FFE6;
-05A3 : 4D8304DD;
-05A4 : FE13048D;
-05A5 : 0463002D;
-05A6 : 58030A0E;
-05A7 : F593010D;
-05A8 : 0423FFDD;
-05A9 : 689304BD;
-05AA : 18231008;
-05AB : 4685011D;
-05AC : 10000613;
-05AD : 856A85A2;
-05AE : BB993A41;
-05AF : 1097856A;
-05B0 : 80E74000;
-05B1 : E9011B20;
-05B2 : 02100813;
-05B3 : 050D06A3;
-05B4 : 02100593;
-05B5 : 0793B75D;
-05B6 : D0028080;
-05B7 : 0007A283;
-05B8 : 856A4595;
-05B9 : 0022E713;
-05BA : 32EDC398;
-05BB : 050B8313;
-05BC : 006D83B3;
-05BD : 8933856A;
-05BE : 10970074;
-05BF : 80E74000;
-05C0 : 15931440;
-05C1 : 46010085;
-05C2 : 4097854A;
-05C3 : 80E74000;
-05C4 : C511FD00;
-05C5 : 06A345A1;
-05C6 : 45A104BD;
-05C7 : 1014BFB9;
-05C8 : 10000613;
-05C9 : 854A85A2;
-05CA : 40004097;
-05CB : 99C080E7;
-05CC : 5082F175;
-05CD : 10000513;
-05CE : FCA09EE3;
-05CF : FE93B799;
-05D0 : 8563004D;
-05D1 : 5083020E;
-05D2 : F913010D;
-05D3 : 0423FFBD;
-05D4 : E513052D;
-05D5 : 18230010;
-05D6 : 069300AD;
-05D7 : 06130410;
-05D8 : 85A21000;
-05D9 : F0EF856A;
-05DA : B15D897F;
-05DB : 008DFF13;
-05DC : 040F0563;
-05DD : 0F936789;
-05DE : 82932E80;
-05DF : 8CB3B907;
-05E0 : 073303FC;
-05E1 : 8333025B;
-05E2 : 8DB300EC;
-05E3 : C3830064;
-05E4 : F9132AED;
-05E5 : 1E630013;
-05E6 : 02930209;
-05E7 : 06A3F800;
-05E8 : 0593045D;
-05E9 : 856A0800;
-05EA : 042338F5;
-05EB : 4703040D;
-05EC : 7313048D;
-05ED : 0423FF77;
-05EE : 4D83046D;
-05EF : 856A048D;
-05F0 : 00FDF393;
-05F1 : 047D0423;
-05F2 : 40001097;
-05F3 : 0E0080E7;
-05F4 : F093B181;
-05F5 : 89630023;
-05F6 : 07930000;
-05F7 : 06A30400;
-05F8 : 059304FD;
-05F9 : B7C10400;
-05FA : 1097856A;
-05FB : 80E74000;
-05FC : E9010860;
-05FD : 02100F93;
-05FE : 05FD06A3;
-05FF : 02100593;
-0600 : D002B75D;
-0601 : 80800513;
-0602 : 8893410C;
-0603 : 8633050B;
-0604 : E813011C;
-0605 : 20230025;
-0606 : 856A0105;
-0607 : 00C48CB3;
-0608 : 40001097;
-0609 : 01E080E7;
-060A : 00851593;
-060B : 85664601;
-060C : 40004097;
-060D : EAA080E7;
-060E : 0F13C901;
-060F : 06A30200;
-0610 : 059305ED;
-0611 : B7850200;
-0612 : 2AEDC683;
-0613 : 10000613;
-0614 : EE1385A2;
-0615 : 87230086;
-0616 : 10142BCD;
-0617 : 40978566;
-0618 : 80E74000;
-0619 : F971A540;
-061A : 0E935402;
-061B : 16E31000;
-061C : BF35FDD4;
-061D : 000A1663;
-061E : 0049F993;
-061F : B8098EE3;
-0620 : 4D81846A;
-0621 : 46834CA1;
-0622 : FE132AE4;
-0623 : 0E630086;
-0624 : 0513000E;
-0625 : 40970504;
-0626 : 80E74000;
-0627 : 4E83C6A0;
-0628 : FF132AE4;
-0629 : 0723FF7E;
-062A : 0D852BE4;
-062B : 2E840413;
-062C : FD9D9BE3;
-062D : 4783B695;
-062E : E29301D5;
-062F : 0EA30047;
-0630 : 0AA30055;
-0631 : 80828850;
-0632 : 01D54783;
-0633 : 0027E293;
-0634 : 00550EA3;
-0635 : 88500AA3;
-0636 : 71798082;
-0637 : D606D422;
-0638 : 0045F793;
-0639 : CFCD842E;
-063A : 01D54083;
-063B : 16D00313;
-063C : 0FB0F293;
-063D : 00550EA3;
-063E : 88500AA3;
-063F : 00734383;
-0640 : AE1485B7;
-0641 : AE158893;
-0642 : 14700613;
-0643 : 02760833;
-0644 : 00634703;
-0645 : 00534F03;
-0646 : 00334583;
-0647 : 00175093;
-0648 : 03FF7F93;
-0649 : 005F9793;
-064A : 01F0F293;
-064B : 0057E6B3;
-064C : 00234783;
-064D : 0313BE33;
-064E : 00434383;
-064F : 00134303;
-0650 : 00F7F093;
-0651 : 01F3F613;
-0652 : 01509293;
-0653 : CC02073E;
-0654 : 4785CE02;
-0655 : 01C80EB3;
-0656 : 00B61813;
-0657 : 01F5FE13;
-0658 : 0106E8B3;
-0659 : 010E1F13;
-065A : EFB30EC6;
-065B : 069301E8;
-065C : D8930143;
-065D : E3B3011E;
-065E : 65B3005F;
-065F : 96130117;
-0660 : E8330196;
-0661 : 9E1300C3;
-0662 : CA420105;
-0663 : 00B11C23;
-0664 : 010E5F13;
-0665 : 91E01223;
-0666 : 91002023;
-0667 : 16F001A3;
-0668 : 04047093;
-0669 : 00008D63;
-066A : 01D54283;
-066B : E6934621;
-066C : 05930402;
-066D : C62A16D0;
-066E : E44FF0EF;
-066F : 04624532;
-0670 : 41845313;
-0671 : 0A035263;
-0672 : 01D54683;
-0673 : 16500713;
-0674 : 0FD6FE93;
-0675 : 01D50EA3;
-0676 : 89D00AA3;
-0677 : 90002883;
-0678 : 90402603;
-0679 : DF934851;
-067A : 00230158;
-067B : CC320107;
-067C : 00FFF793;
-067D : 0108D093;
-067E : 00F65813;
-067F : 01230646;
-0680 : F29300F7;
-0681 : 07B701F0;
-0682 : 509300C8;
-0683 : 01A30116;
-0684 : B2B30057;
-0685 : DE130217;
-0686 : CA460198;
-0687 : FECE0F13;
-0688 : 00B8D393;
-0689 : 0058D313;
-068A : 01F8F893;
-068B : 01E700A3;
-068C : 00189E13;
-068D : 00187F13;
-068E : 01F3F413;
-068F : 03F37693;
-0690 : 01EE6FB3;
-0691 : 00D702A3;
-0692 : 00870223;
-0693 : 01F70323;
-0694 : 005703A3;
-0695 : 50B25422;
-0696 : 080EE693;
-0697 : 05934621;
-0698 : 61451650;
-0699 : DE4FF06F;
-069A : 542250B2;
-069B : 80826145;
-069C : 99805783;
-069D : 17504603;
-069E : 01079293;
-069F : 0102D313;
-06A0 : 03938F1A;
-06A1 : C2111750;
-06A2 : 7593C595;
-06A3 : B8130103;
-06A4 : 80230015;
-06A5 : ED990103;
-06A6 : 99004703;
-06A7 : 0FF77893;
-06A8 : 01150E23;
-06A9 : 01150FA3;
-06AA : 99805E03;
-06AB : 010E1E93;
-06AC : 010EDF13;
-06AD : 010F1F93;
-06AE : 010FD793;
-06AF : 007F5293;
-06B0 : 001F5693;
-06B1 : 98F01F23;
-06B2 : 009F5813;
-06B3 : 0082F313;
-06B4 : 0126F613;
-06B5 : 0003C383;
-06B6 : 00C365B3;
-06B7 : 00487713;
-06B8 : 00E5C8B3;
-06B9 : 0E68CE13;
-06BA : 14802F83;
-06BB : 007E4EB3;
-06BC : 01D50EA3;
-06BD : 01F51563;
-06BE : 2A234D48;
-06BF : 808288A0;
-06C0 : 98B00823;
-06C1 : 03E00793;
-06C2 : 98F00023;
-06C3 : B78D4581;
-06C4 : 03C00793;
-06C5 : 98F00023;
-06C6 : BF994585;
-06C7 : 02300793;
-06C8 : 00236509;
-06C9 : 458198F0;
-06CA : CC050513;
-06CB : 0000B791;
-06CC : 4F525245;
-06CD : 00203A52;
-06CE : 20746120;
-06CF : 20007830;
-06D0 : 00783028;
-06D1 : 61420A29;
-06D2 : 64612064;
-06D3 : 73657264;
-06D4 : 30203A73;
-06D5 : 696D0078;
-06D6 : 696C6173;
-06D7 : 64656E67;
-06D8 : 766E6900;
-06D9 : 64696C61;
-06DA : 736E6920;
-06DB : 63757274;
-06DC : 6E6F6974;
-06DD : 2A0A0A00;
-06DE : 48202A2A;
-06DF : 6F6C6C65;
-06E0 : 6F57202C;
-06E1 : 21646C72;
-06E2 : 2A2A2A20;
-06E3 : 58414D0A;
-06E4 : 66203038;
-06E5 : 776D7269;
-06E6 : 20657261;
-06E7 : 706D6F63;
-06E8 : 64656C69;
-06E9 : 3A6E6F20;
-06EA : 44530020;
-06EB : 204D4152;
-06EC : 61746164;
-06ED : 65686320;
-06EE : 75736B63;
-06EF : 00203A6D;
-06F0 : 70786520;
-06F1 : 65746365;
-06F2 : 42002064;
-06F3 : 20737469;
-06F4 : 61776C61;
-06F5 : 73207379;
-06F6 : 202C7465;
-06F7 : 61656C63;
-06F8 : 00203A72;
-06F9 : 74736554;
-06FA : 74616420;
-06FB : 00203A61;
-06FC : 41524453;
-06FD : 6572204D;
-06FE : 772F6461;
-06FF : 65746972;
-0700 : 72726520;
-0701 : 000A726F;
-0702 : 41524453;
-0703 : 622E204D;
-0704 : 69207373;
-0705 : 6F6E2073;
-0706 : 657A2074;
-0707 : 0A216F72;
-0708 : 69615700;
-0709 : 676E6974;
-070A : 73203520;
-070B : 726F6620;
-070C : 73657420;
-070D : 676E6974;
-070E : 002E2E2E;
-070F : 204D4F52;
-0710 : 69726573;
-0711 : 203A6C61;
-0712 : 00000000;
-0713 : 00000101;
-0714 : 00000000;
-0715 : 00000000;
-0716 : 00000000;
-0717 : 00000000;
-0718 : 00000000;
-0719 : 00000000;
-071A : 00000000;
-071B : 00000000;
-071C : 00000000;
-071D : 00000000;
-071E : 00000000;
-071F : 00000000;
-0720 : 00000000;
-0721 : 00000000;
-0722 : 00000000;
-0723 : 00000105;
-0724 : 00007FBF;
-0725 : 00000000;
-0726 : D3030300;
-0727 : 000018B6;
-0728 : 00000000;
-0729 : 000018DA;
-072A : 00000000;
-072B : 00000000;
-072C : 00000000;
-072D : 000018C8;
-072E : 00000000;
-072F : 00000000;
-0730 : 00000000;
-0731 : 00000000;
-0732 : 00000000;
-0733 : 00000000;
-0734 : 00000101;
-0735 : 0000FFFF;
-0736 : 00000000;
-0737 : 0003F600;
-0738 : 00001B00;
-0739 : 00000000;
-073A : 00000000;
-073B : 00000000;
-073C : 00000000;
-073D : 00000000;
-073E : 00001B10;
-073F : 00000000;
-0740 : 00000000;
-0741 : 00000000;
-0742 : 00000000;
-0743 : 00000000;
-0744 : 00000000;
-0745 : 00000000;
-0746 : 00000000;
-0747 : 00000000;
-0748 : 00000000;
-0749 : 00000000;
-074A : 00000000;
-074B : 00000000;
-074C : 00000000;
-074D : 00000000;
-074E : 00000000;
-074F : 00000000;
-0750 : 00000000;
-0751 : 00000000;
-0752 : 00000000;
-0753 : 00000000;
-0754 : 00000000;
-0755 : 00000000;
-0756 : 00000000;
-0757 : 00000000;
-0758 : 00000000;
-0759 : 6362612F;
-075A : 6B736964;
-075B : 3030382E;
-075C : 6557002F;
-075D : 65462064;
-075E : 32202062;
-075F : 3A333020;
-0760 : 333A3735;
-0761 : 53502038;
-0762 : 30322054;
-0763 : 003232;
-[0764..1FFF] : 00;
+01C3 : A80F0E93;
+01C4 : 25FF8E13;
+01C5 : 19D76863;
+01C6 : 07A40713;
+01C7 : 463548A9;
+01C8 : 00074783;
+01C9 : 93630705;
+01CA : 334D1A07;
+01CB : 09040293;
+01CC : 45B54829;
+01CD : 0002C083;
+01CE : 90630285;
+01CF : 25031A00;
+01D0 : 33690080;
+01D1 : 002343B5;
+01D2 : 45299870;
+01D3 : 98A00023;
+01D4 : 09B40593;
+01D5 : 43B54529;
+01D6 : 0005C803;
+01D7 : 15630585;
+01D8 : 854E1808;
+01D9 : 061333A5;
+01DA : C5130200;
+01DB : 0023FFF4;
+01DC : 3BA998C0;
+01DD : 002344B5;
+01DE : 46A99890;
+01DF : 98D00023;
+01E0 : 0B440893;
+01E1 : 433544A9;
+01E2 : 0008C983;
+01E3 : 94630885;
+01E4 : 8E371609;
+01E5 : 04934000;
+01E6 : 4088A74E;
+01E7 : 0E933B05;
+01E8 : 00230200;
+01E9 : 40C899D0;
+01EA : 4F353315;
+01EB : 99E00023;
+01EC : 00234FA9;
+01ED : 126399F0;
+01EE : 80B71609;
+01EF : 33374000;
+01F0 : 47014001;
+01F1 : A8008793;
+01F2 : 4A030293;
+01F3 : 1457EC63;
+01F4 : 16071C63;
+01F5 : 80800613;
+01F6 : C2144699;
+01F7 : 20234895;
+01F8 : 09930116;
+01F9 : 4FA90F14;
+01FA : CE034F35;
+01FB : 09850009;
+01FC : 160E1163;
+01FD : C01024F3;
+01FE : 1908BEB7;
+01FF : 0FFE8F13;
+0200 : C0102FF3;
+0201 : 409F8933;
+0202 : FF2F7CE3;
+0203 : 002342B5;
+0204 : 47299850;
+0205 : 98E00023;
+0206 : 10C40093;
+0207 : 4E354EA9;
+0208 : 0000C783;
+0209 : 9D630085;
+020A : 13371207;
+020B : 04934000;
+020C : 89134343;
+020D : 09930104;
+020E : 00230200;
+020F : 40889930;
+0210 : 31690491;
+0211 : FF249BE3;
+0212 : 11D40393;
+0213 : 48B546A9;
+0214 : 0003C503;
+0215 : 1C630385;
+0216 : 10971005;
+0217 : 80E74000;
+0218 : 0413BDA0;
+0219 : 46291334;
+021A : 45834835;
+021B : 04050004;
+021C : 10059663;
+021D : 40F24462;
+021E : 494244D2;
+021F : 610549B2;
+0220 : 40001317;
+0221 : BD830067;
+0222 : 00939463;
+0223 : 99200023;
+0224 : 98700023;
+0225 : 9463BD29;
+0226 : 00230065;
+0227 : 002398F0;
+0228 : B50598B0;
+0229 : CF334314;
+022A : 202300D0;
+022B : 2F8301E7;
+022C : 80B30007;
+022D : C31403C0;
+022E : 01EFC2B3;
+022F : 69339536;
+0230 : 8CD50059;
+0231 : 00D9F9B3;
+0232 : B5A90711;
+0233 : 01179463;
+0234 : 98C00023;
+0235 : 98F00023;
+0236 : 9463B5A1;
+0237 : 00230100;
+0238 : 002398B0;
+0239 : B5B99810;
+023A : 00A81463;
+023B : 98700023;
+023C : 99000023;
+023D : 9463B595;
+023E : 00230099;
+023F : 00239860;
+0240 : B5599930;
+0241 : 01279463;
+0242 : 98500023;
+0243 : 98F00023;
+0244 : 00074783;
+0245 : F7FD0705;
+0246 : 0713B54D;
+0247 : 49290C04;
+0248 : B7FD42B5;
+0249 : 0007A083;
+024A : 67330791;
+024B : BD790017;
+024C : 00781463;
+024D : 98A00023;
+024E : 99000023;
+024F : 0005C803;
+0250 : 17E30585;
+0251 : B579FE08;
+0252 : 0D840593;
+0253 : 453543A9;
+0254 : 1463B7F5;
+0255 : 002301FE;
+0256 : 002399E0;
+0257 : B57199C0;
+0258 : 01D79463;
+0259 : 99C00023;
+025A : 98F00023;
+025B : 1463BD55;
+025C : 002300D5;
+025D : 00239910;
+025E : BDD998A0;
+025F : 00C59463;
+0260 : 99000023;
+0261 : 98B00023;
+0262 : 4785B5CD;
+0263 : 00A79533;
+0264 : FFF54293;
+0265 : 0655050B;
+0266 : 27038082;
+0267 : 02B700C0;
+0268 : 20233B00;
+0269 : 8333A0A0;
+026A : 03B300E2;
+026B : 053700B3;
+026C : 22232D00;
+026D : 8E49A070;
+026E : A0C02423;
+026F : 20238082;
+0270 : 07B7A0A0;
+0271 : 22232000;
+0272 : 8DDDA000;
+0273 : A0B02423;
+0274 : 02938082;
+0275 : A70312C0;
+0276 : 06930002;
+0277 : A0230017;
+0278 : CB1900D2;
+0279 : 06634605;
+027A : 0E130EC7;
+027B : 0E932000;
+027C : 078BDFF0;
+027D : 808207DE;
+027E : C6061141;
+027F : C226C422;
+0280 : 0093C04A;
+0281 : 0337A040;
+0282 : A0235000;
+0283 : 03930060;
+0284 : 0437A080;
+0285 : A0230100;
+0286 : 04930083;
+0287 : 860B2000;
+0288 : 06370804;
+0289 : A0231100;
+028A : 053700C0;
+028B : A0230200;
+028C : 878B00A3;
+028D : 00010804;
+028E : 65890001;
+028F : AAA58813;
+0290 : 40B543A9;
+0291 : 00084883;
+0292 : 9D630805;
+0293 : 09370608;
+0294 : 22234B00;
+0295 : 0493A120;
+0296 : 0E37A080;
+0297 : A0231500;
+0298 : 041301C4;
+0299 : 078B2000;
+029A : 0EB70804;
+029B : A0231400;
+029C : 078B01D4;
+029D : 09130804;
+029E : 2503A100;
+029F : 34B90009;
+02A0 : 04000F37;
+02A1 : 01E4A023;
+02A2 : 0804040B;
+02A3 : 00092503;
+02A4 : 4FB53C35;
+02A5 : 99F00023;
+02A6 : 002347A9;
+02A7 : 442298F0;
+02A8 : 449240B2;
+02A9 : 02B74902;
+02AA : 86B74000;
+02AB : 87134000;
+02AC : 83130002;
+02AD : 0633A806;
+02AE : 458140E3;
+02AF : 00028513;
+02B0 : BDE10141;
+02B1 : 00789463;
+02B2 : 98100023;
+02B3 : 99100023;
+02B4 : 8537BF95;
+02B5 : 38374000;
+02B6 : 05934001;
+02B7 : 0893A805;
+02B8 : 85B34A08;
+02B9 : 051340B8;
+02BA : BDD1A805;
+02BB : DE067139;
+02BC : DA26DC22;
+02BD : D64ED84A;
+02BE : D256D452;
+02BF : CE5ED05A;
+02C0 : CA66CC62;
+02C1 : C66EC86A;
+02C2 : 20000793;
+02C3 : 0807870B;
+02C4 : 4B000737;
+02C5 : A0E02223;
+02C6 : A0800093;
+02C7 : 150006B7;
+02C8 : 00D0A023;
+02C9 : 0807868B;
+02CA : 140002B7;
+02CB : 0050A023;
+02CC : 0807868B;
+02CD : A1000313;
+02CE : 04000637;
+02CF : 00032A03;
+02D0 : 00C0A023;
+02D1 : 0807878B;
+02D2 : 00032A83;
+02D3 : 27C00393;
+02D4 : D0000BB7;
+02D5 : 00038623;
+02D6 : 84D28456;
+02D7 : 0C9349AD;
+02D8 : 4D2527C0;
+02D9 : 5C7D0BA1;
+02DA : 02400613;
+02DB : 85224681;
+02DC : 509785A6;
+02DD : 80E74000;
+02DE : 85A67E20;
+02DF : 0613892A;
+02E0 : 85220240;
+02E1 : 50974681;
+02E2 : 80E74000;
+02E3 : 842A41A0;
+02E4 : 451D84AE;
+02E5 : 012D6363;
+02E6 : 05934501;
+02E7 : 08330309;
+02E8 : 789300B5;
+02E9 : 8E330FF8;
+02EA : 9E93013C;
+02EB : 00230039;
+02EC : 8F33011E;
+02ED : 2023017E;
+02EE : 19FD011F;
+02EF : FB8996E3;
+02F0 : 40007FB7;
+02F1 : 069385D2;
+02F2 : 865627C0;
+02F3 : 467F8513;
+02F4 : 40001097;
+02F5 : B16080E7;
+02F6 : 546250F2;
+02F7 : 594254D2;
+02F8 : 5B0259B2;
+02F9 : 4C624BF2;
+02FA : 4D424CD2;
+02FB : 85564DB2;
+02FC : 5A9285D2;
+02FD : 61215A22;
+02FE : 11018082;
+02FF : CA26CE06;
+0300 : C84ACC22;
+0301 : C452C64E;
+0302 : 88805783;
+0303 : 14800093;
+0304 : 01079493;
+0305 : 0FF7F293;
+0306 : 0000A403;
+0307 : 826380C1;
+0308 : 43031202;
+0309 : 45838910;
+030A : 46958900;
+030B : 0FF37613;
+030C : 0FF5F593;
+030D : 1066E463;
+030E : 6F634F05;
+030F : 146314CF;
+0310 : 0D631006;
+0311 : 2F831404;
+0312 : 89630044;
+0313 : 401C020F;
+0314 : 00178713;
+0315 : 8023C018;
+0316 : 408300B7;
+0317 : 428301D4;
+0318 : F3330144;
+0319 : 0EA30050;
+031A : 0AA30064;
+031B : 40548860;
+031C : FFF68393;
+031D : 00742223;
+031E : 02039863;
+031F : 00C403B3;
+0320 : 00B38B23;
+0321 : 01045A03;
+0322 : 40CA5533;
+0323 : 00157913;
+0324 : 00090C63;
+0325 : 00860993;
+0326 : 00299813;
+0327 : 010408B3;
+0328 : 0008AE03;
+0329 : 9E028522;
+032A : 1004F593;
+032B : 4450C1A1;
+032C : 14060D63;
+032D : FFF60E93;
+032E : 01D42623;
+032F : 140E8763;
+0330 : 01D44083;
+0331 : 01544283;
+0332 : 0050F6B3;
+0333 : 00D40EA3;
+0334 : 88D00AA3;
+0335 : 00842383;
+0336 : 00138A13;
+0337 : 01442423;
+0338 : 0003C503;
+0339 : 00A40E23;
+033A : 88A00A23;
+033B : 2004F913;
+033C : 02090563;
+033D : 01D44803;
+033E : 89504983;
+033F : 89000AA3;
+0340 : 01045883;
+0341 : 0FF9F593;
+0342 : 2008FE13;
+0343 : 000E0763;
+0344 : 03C42E83;
+0345 : 85224605;
+0346 : 444C9E82;
+0347 : 01045F83;
+0348 : 36334040;
+0349 : 1F1300B0;
+034A : 67330086;
+034B : 37B301FF;
+034C : E3330080;
+034D : 609300E7;
+034E : A09D0823;
+034F : 0F63439D;
+0350 : F03D0676;
+0351 : FA13A8A1;
+0352 : 191303F5;
+0353 : 0813002A;
+0354 : 08B31780;
+0355 : A4030128;
+0356 : 00230008;
+0357 : A0231140;
+0358 : 03130080;
+0359 : C0150820;
+035A : 00C42E03;
+035B : 01045F83;
+035C : 3EB3405C;
+035D : 9F1301C0;
+035E : 6733008E;
+035F : 30B301FF;
+0360 : E2B300F0;
+0361 : E31300E0;
+0362 : 15230822;
+0363 : 46818860;
+0364 : 4C54C011;
+0365 : 88D02A23;
+0366 : EE0412E3;
+0367 : 08200093;
+0368 : 01009293;
+0369 : 0092E4B3;
+036A : 88902423;
+036B : 446240F2;
+036C : 494244D2;
+036D : 4A2249B2;
+036E : 80826105;
+036F : 04000513;
+0370 : 10004A03;
+0371 : 0000A023;
+0372 : 10A00023;
+0373 : 08200613;
+0374 : 88C01523;
+0375 : 88002A23;
+0376 : 09134401;
+0377 : 09931780;
+0378 : 08331000;
+0379 : 25030089;
+037A : CD010008;
+037B : 01055883;
+037C : 0808FE13;
+037D : 000E0763;
+037E : 04052E83;
+037F : 85D2461D;
+0380 : 04119E82;
+0381 : FD341FE3;
+0382 : 4F83BF51;
+0383 : 4F0301F4;
+0384 : 0E238940;
+0385 : 0A2301F4;
+0386 : 570389F0;
+0387 : 75930104;
+0388 : 77930FFF;
+0389 : 83E31007;
+038A : 2303EC07;
+038B : 46010384;
+038C : 93028522;
+038D : 47A1BD65;
+038E : 828B575D;
+038F : C10C06E7;
+0390 : 14802383;
+0391 : 0EA3C150;
+0392 : 166300D5;
+0393 : 454C0275;
+0394 : 01055E03;
+0395 : 00C03633;
+0396 : 00B036B3;
+0397 : 00869813;
+0398 : 010668B3;
+0399 : 01C8EEB3;
+039A : 082EEF13;
+039B : 89E01523;
+039C : 2A234D48;
+039D : FF9388A0;
+039E : 57DD0082;
+039F : 06FF878B;
+03A0 : 47A18082;
+03A1 : 828B575D;
+03A2 : 831306E7;
+03A3 : C5500015;
+03A4 : 00652423;
+03A5 : 0005C383;
+03A6 : 00D50EA3;
+03A7 : 14802683;
+03A8 : 00750E23;
+03A9 : 02D51763;
+03AA : 00452803;
+03AB : 01055F03;
+03AC : 00C03633;
+03AD : 010038B3;
+03AE : 00861E13;
+03AF : 01C8EEB3;
+03B0 : 01EEEFB3;
+03B1 : 082FE793;
+03B2 : 88F01523;
+03B3 : 2A234D48;
+03B4 : F29388A0;
+03B5 : 575D0082;
+03B6 : 06E2878B;
+03B7 : 47A18082;
+03B8 : 828B575D;
+03B9 : 230306E7;
+03BA : 0FA300C5;
+03BB : 1A6300B5;
+03BC : 26030003;
+03BD : 0E231480;
+03BE : 146300B5;
+03BF : 0A2300C5;
+03C0 : F51388B0;
+03C1 : 55DD0082;
+03C2 : 06B5078B;
+03C3 : 47A18082;
+03C4 : 828B575D;
+03C5 : 238306E7;
+03C6 : 0EA31480;
+03C7 : 146300B5;
+03C8 : 0AA30075;
+03C9 : F51388B0;
+03CA : 55DD0082;
+03CB : 06B5078B;
+03CC : 07938082;
+03CD : 18230940;
+03CE : 0EA300F5;
+03CF : 0AA30005;
+03D0 : 42838800;
+03D1 : 06A304F5;
+03D2 : E3130405;
+03D3 : 07A30012;
+03D4 : 80820465;
+03D5 : 04F54783;
+03D6 : 0027E293;
+03D7 : 045507A3;
+03D8 : 47838082;
+03D9 : E29304F5;
+03DA : 07A30047;
+03DB : 80820455;
+03DC : C7CE7115;
+03DD : CDA2CF86;
+03DE : CBA6C1DA;
+03DF : C5D2C9CA;
+03E0 : DF5EC3D6;
+03E1 : DB66DD62;
+03E2 : D76ED96A;
+03E3 : 0F400093;
+03E4 : 12402B03;
+03E5 : 0000A283;
+03E6 : 88002483;
+03E7 : 0054F413;
+03E8 : 17628063;
+03E9 : 43836309;
+03EA : 0B93AB83;
+03EB : F5130F40;
+03EC : C1710013;
+03ED : 40001097;
+03EE : 12A080E7;
+03EF : 00157913;
+03F0 : 00090563;
+03F1 : 4A014A85;
+03F2 : 0A93A8D9;
+03F3 : AA038080;
+03F4 : 7CB7000A;
+03F5 : 3D374000;
+03F6 : 6C134001;
+03F7 : A023002A;
+03F8 : 4605018A;
+03F9 : 36BC8593;
+03FA : 260D0513;
+03FB : 40004097;
+03FC : FA8080E7;
+03FD : 77B7C105;
+03FE : 85134000;
+03FF : 00977467;
+0400 : 80E74000;
+0401 : A9836E80;
+0402 : F293000A;
+0403 : A023FFD9;
+0404 : BF4D005A;
+0405 : 100C0850;
+0406 : 36BC8513;
+0407 : 02010023;
+0408 : 5097CA02;
+0409 : 80E74000;
+040A : 4652DEC0;
+040B : 40007DB7;
+040C : 8513100C;
+040D : 009775FD;
+040E : 80E74000;
+040F : 08706B00;
+0410 : 8513082C;
+0411 : CC0236BC;
+0412 : 40005097;
+0413 : C5E080E7;
+0414 : 45E24E72;
+0415 : 40007FB7;
+0416 : 00AE5E83;
+0417 : 01CE2F03;
+0418 : 78DF8513;
+0419 : 009E9693;
+041A : FFEF0613;
+041B : 40000097;
+041C : 67A080E7;
+041D : 1097BF81;
+041E : 80E74000;
+041F : 759301A0;
+0420 : F1A90015;
+0421 : 14C00813;
+0422 : 00082703;
+0423 : 08B346FD;
+0424 : F56340EB;
+0425 : 20230716;
+0426 : 4A810168;
+0427 : A0234A05;
+0428 : 0093016B;
+0429 : A7030F80;
+042A : FB930000;
+042B : C25E0014;
+042C : 0E63C002;
+042D : 03130A87;
+042E : A0238080;
+042F : 23830080;
+0430 : F5930003;
+0431 : 96130014;
+0432 : F5130025;
+0433 : 6833FFB3;
+0434 : 78B700A6;
+0435 : 20234000;
+0436 : 89130103;
+0437 : 43297138;
+0438 : 46834C35;
+0439 : 09050009;
+043A : 8891EE99;
+043B : 7A37C8A9;
+043C : 0D134000;
+043D : 4C29728A;
+043E : A01D4CB5;
+043F : B5E14A81;
+0440 : 4A014A81;
+0441 : 9463BF79;
+0442 : 00230066;
+0443 : 00239980;
+0444 : BFC198D0;
+0445 : 018D9463;
+0446 : 99900023;
+0447 : 99B00023;
+0448 : 000D4D83;
+0449 : 97E30D05;
+044A : 4E12FE0D;
+044B : 160E1563;
+044C : 40007EB7;
+044D : 72FE8793;
+044E : 49B54FA9;
+044F : 7AB7A821;
+0450 : 8D134000;
+0451 : BF45722A;
+0452 : 01F29463;
+0453 : 99300023;
+0454 : 98500023;
+0455 : 0007C283;
+0456 : 97E30785;
+0457 : 8C39FE02;
+0458 : 00245713;
+0459 : 7A934B05;
+045A : C05A0017;
+045B : 63894A05;
+045C : 4000C0B7;
+045D : 85136309;
+045E : 8D13BD03;
+045F : 4B814000;
+0460 : 84934B01;
+0461 : 0C134000;
+0462 : C42AAB83;
+0463 : 04ED4583;
+0464 : 100A8863;
+0465 : 10058763;
+0466 : 4901846A;
+0467 : 47834DA1;
+0468 : F2932AE4;
+0469 : 84630017;
+046A : 47030402;
+046B : 7313001C;
+046C : 18630017;
+046D : 05130003;
+046E : 40970504;
+046F : 80E74000;
+0470 : 43837520;
+0471 : F0932AE4;
+0472 : 0723FFE3;
+0473 : 45032A14;
+0474 : 059304CD;
+0475 : 0623FFF5;
+0476 : 480304BD;
+0477 : 78932AF4;
+0478 : 96630048;
+0479 : 76130008;
+047A : 0723FFE8;
+047B : 09052AC4;
+047C : 2E840413;
+047D : FBB915E3;
+047E : 040D0723;
+047F : C6914682;
+0480 : 2097856A;
+0481 : 80E74000;
+0482 : 4E1292A0;
+0483 : 0E634981;
+0484 : 5CDD020E;
+0485 : 870B4EA1;
+0486 : 6F09079E;
+0487 : B90F0F93;
+0488 : 03FB07B3;
+0489 : 00F48DB3;
+048A : 04FDC983;
+048B : 040D87A3;
+048C : 0FF9F993;
+048D : 0790068B;
+048E : 0069F293;
+048F : 20028D63;
+0490 : 2097856A;
+0491 : 80E74000;
+0492 : 46038EA0;
+0493 : 106304ED;
+0494 : 6F894606;
+0495 : B90F8793;
+0496 : 42910B05;
+0497 : 9BBE9D3E;
+0498 : F25B16E3;
+0499 : 000A0A63;
+049A : 80800493;
+049B : 0004AA03;
+049C : FFDA7A93;
+049D : 0154A023;
+049E : 446E40FE;
+049F : 494E44DE;
+04A0 : 4A2E49BE;
+04A1 : 4B0E4A9E;
+04A2 : 5C6A5BFA;
+04A3 : 5D4A5CDA;
+04A4 : 612D5DBA;
+04A5 : 7F378082;
+04A6 : 07934000;
+04A7 : BD6973BF;
+04A8 : 4603FDB1;
+04A9 : 7813000C;
+04AA : 19E30016;
+04AB : 2883F408;
+04AC : 66898800;
+04AD : BDB68D93;
+04AE : 0048F913;
+04AF : 00091563;
+04B0 : 8D934CA2;
+04B1 : 0E1300AC;
+04B2 : 0E930300;
+04B3 : 802302F0;
+04B4 : 80A301CD;
+04B5 : 812301DD;
+04B6 : 0413000D;
+04B7 : 8CEA2A8D;
+04B8 : 03000913;
+04B9 : 044D2F03;
+04BA : 40007FB7;
+04BB : 0693874A;
+04BC : 8613008F;
+04BD : 45917BFF;
+04BE : 89B78522;
+04BF : 0D934000;
+04C0 : 5097DA84;
+04C1 : 80E74000;
+04C2 : 89933F60;
+04C3 : A6838C89;
+04C4 : 83630009;
+04C5 : 77B71206;
+04C6 : 87224000;
+04C7 : 7C778613;
+04C8 : 04000593;
+04C9 : 50971008;
+04CA : 80E74000;
+04CB : C2833D20;
+04CC : F7132AEC;
+04CD : CB050012;
+04CE : 001C4083;
+04CF : 0010F313;
+04D0 : 00031763;
+04D1 : 4097856E;
+04D2 : 80E74000;
+04D3 : C3835C60;
+04D4 : F5132AEC;
+04D5 : 8723FFE3;
+04D6 : 45832AAC;
+04D7 : 861304CD;
+04D8 : 0623FFF5;
+04D9 : C80304CD;
+04DA : 78932AFC;
+04DB : 92630048;
+04DC : 7F930E08;
+04DD : 87230FE8;
+04DE : F6932BFC;
+04DF : 4605002F;
+04E0 : 460DE291;
+04E1 : 856E100C;
+04E2 : 4097C632;
+04E3 : 80E74000;
+04E4 : 4EA9C6A0;
+04E5 : 2AECCE03;
+04E6 : 01D51A63;
+04E7 : 7F934F32;
+04E8 : 8563002F;
+04E9 : 6F93000F;
+04EA : B7F1002E;
+04EB : C1114785;
+04EC : 62B34791;
+04ED : 872300FE;
+04EE : F7132A5C;
+04EF : CB510012;
+04F0 : 400079B7;
+04F1 : 85A21010;
+04F2 : 7CC98513;
+04F3 : 40000097;
+04F4 : 31A080E7;
+04F5 : 02200313;
+04F6 : 00840393;
+04F7 : 2A6CA823;
+04F8 : 0A7CA023;
+04F9 : 567D55FD;
+04FA : 4097856E;
+04FB : 80E74000;
+04FC : C9115440;
+04FD : 40007DB7;
+04FE : 851385A2;
+04FF : 00977E0D;
+0500 : 80E74000;
+0501 : 26032E80;
+0502 : A083044D;
+0503 : A583064C;
+0504 : 5883060C;
+0505 : 95130026;
+0506 : D8130180;
+0507 : 66330085;
+0508 : F3630105;
+0509 : 864600C8;
+050A : 2ACC9623;
+050B : 04CD4683;
+050C : 00168E13;
+050D : 05CD0623;
+050E : 0E930905;
+050F : 04130380;
+0510 : 8C932E84;
+0511 : 1FE32E8C;
+0512 : 4F05E9D9;
+0513 : 05ED0723;
+0514 : 0991B375;
+0515 : F713BD6D;
+0516 : 08E30019;
+0517 : 4303DE07;
+0518 : 4603049D;
+0519 : 6505048D;
+051A : 00635393;
+051B : 79050593;
+051C : 00839093;
+051D : 00BB8833;
+051E : 010088B3;
+051F : 00167913;
+0520 : 00737C93;
+0521 : 01148433;
+0522 : 04090063;
+0523 : 2E800693;
+0524 : 02DC8DB3;
+0525 : 00FD8E33;
+0526 : 01C48EB3;
+0527 : 2AEECF03;
+0528 : 001F7F93;
+0529 : 040F9963;
+052A : F8000893;
+052B : 051D06A3;
+052C : 08000593;
+052D : 3425856A;
+052E : 040D0423;
+052F : 048D4603;
+0530 : FFE67693;
+0531 : 04DD0423;
+0532 : 048D4D83;
+0533 : 002DFE13;
+0534 : 0A0E0463;
+0535 : 010D5803;
+0536 : FFDDF593;
+0537 : 04BD0423;
+0538 : 10086893;
+0539 : 011D1823;
+053A : 06134685;
+053B : 85A21000;
+053C : 3A41856A;
+053D : 856ABB99;
+053E : 40001097;
+053F : 5C8080E7;
+0540 : 0813E901;
+0541 : 06A30210;
+0542 : 0593050D;
+0543 : B75D0210;
+0544 : 80800793;
+0545 : A283D002;
+0546 : 45950007;
+0547 : E713856A;
+0548 : C3980022;
+0549 : 831332ED;
+054A : 83B3050B;
+054B : 856A006D;
+054C : 00748933;
+054D : 40001097;
+054E : 55A080E7;
+054F : 00851593;
+0550 : 854A4601;
+0551 : 40004097;
+0552 : 3EA080E7;
+0553 : 45A1C511;
+0554 : 04BD06A3;
+0555 : BFB945A1;
+0556 : 06131014;
+0557 : 85A21000;
+0558 : 4097854A;
+0559 : 80E74000;
+055A : F175DB60;
+055B : 05135082;
+055C : 9EE31000;
+055D : B799FCA0;
+055E : 004DFE93;
+055F : 020E8563;
+0560 : 010D5083;
+0561 : FFBDF913;
+0562 : 052D0423;
+0563 : 0010E513;
+0564 : 00AD1823;
+0565 : 04100693;
+0566 : 10000613;
+0567 : 856A85A2;
+0568 : 897FF0EF;
+0569 : FF13B15D;
+056A : 0563008D;
+056B : 6789040F;
+056C : 2E800F93;
+056D : B9078293;
+056E : 03FC8CB3;
+056F : 025B0733;
+0570 : 00EC8333;
+0571 : 00648DB3;
+0572 : 2AEDC383;
+0573 : 0013F913;
+0574 : 02091E63;
+0575 : F8000293;
+0576 : 045D06A3;
+0577 : 08000593;
+0578 : 38F5856A;
+0579 : 040D0423;
+057A : 048D4703;
+057B : FF777313;
+057C : 046D0423;
+057D : 048D4D83;
+057E : F393856A;
+057F : 042300FD;
+0580 : 1097047D;
+0581 : 80E74000;
+0582 : B1814F60;
+0583 : 0023F093;
+0584 : 00008963;
+0585 : 04000793;
+0586 : 04FD06A3;
+0587 : 04000593;
+0588 : 856AB7C1;
+0589 : 40001097;
+058A : 49C080E7;
+058B : 0F93E901;
+058C : 06A30210;
+058D : 059305FD;
+058E : B75D0210;
+058F : 0513D002;
+0590 : 410C8080;
+0591 : 050B8893;
+0592 : 011C8633;
+0593 : 0025E813;
+0594 : 01052023;
+0595 : 8CB3856A;
+0596 : 109700C4;
+0597 : 80E74000;
+0598 : 15934340;
+0599 : 46010085;
+059A : 40978566;
+059B : 80E74000;
+059C : C9012C40;
+059D : 02000F13;
+059E : 05ED06A3;
+059F : 02000593;
+05A0 : C683B785;
+05A1 : 06132AED;
+05A2 : 85A21000;
+05A3 : 0086EE13;
+05A4 : 2BCD8723;
+05A5 : 85661014;
+05A6 : 40004097;
+05A7 : E6E080E7;
+05A8 : 5402F971;
+05A9 : 10000E93;
+05AA : FDD416E3;
+05AB : 1663BF35;
+05AC : F993000A;
+05AD : 8EE30049;
+05AE : 846AB809;
+05AF : 4CA14D81;
+05B0 : 2AE44683;
+05B1 : 0086FE13;
+05B2 : 000E0E63;
+05B3 : 05040513;
+05B4 : 40004097;
+05B5 : 084080E7;
+05B6 : 2AE44E83;
+05B7 : FF7EFF13;
+05B8 : 2BE40723;
+05B9 : 04130D85;
+05BA : 9BE32E84;
+05BB : B695FD9D;
+05BC : 01D54783;
+05BD : 0047E293;
+05BE : 00550EA3;
+05BF : 88500AA3;
+05C0 : 47838082;
+05C1 : E29301D5;
+05C2 : 0EA30027;
+05C3 : 0AA30055;
+05C4 : 80828850;
+05C5 : D4227179;
+05C6 : F793D606;
+05C7 : 842E0045;
+05C8 : 4083CFCD;
+05C9 : 031301D5;
+05CA : F29316D0;
+05CB : 0EA30FB0;
+05CC : 0AA30055;
+05CD : 43838850;
+05CE : 85B70073;
+05CF : 8893AE14;
+05D0 : 0613AE15;
+05D1 : 08331470;
+05D2 : 47030276;
+05D3 : 4F030063;
+05D4 : 45830053;
+05D5 : 50930033;
+05D6 : 7F930017;
+05D7 : 979303FF;
+05D8 : F293005F;
+05D9 : E6B301F0;
+05DA : 47830057;
+05DB : BE330023;
+05DC : 43830313;
+05DD : 43030043;
+05DE : F0930013;
+05DF : F61300F7;
+05E0 : 929301F3;
+05E1 : 073E0150;
+05E2 : CE02CC02;
+05E3 : 0EB34785;
+05E4 : 181301C8;
+05E5 : FE1300B6;
+05E6 : E8B301F5;
+05E7 : 1F130106;
+05E8 : 0EC6010E;
+05E9 : 01E8EFB3;
+05EA : 01430693;
+05EB : 011ED893;
+05EC : 005FE3B3;
+05ED : 011765B3;
+05EE : 01969613;
+05EF : 00C3E833;
+05F0 : 01059E13;
+05F1 : 1C23CA42;
+05F2 : 5F1300B1;
+05F3 : 1223010E;
+05F4 : 202391E0;
+05F5 : 01A39100;
+05F6 : 709316F0;
+05F7 : 8D630404;
+05F8 : 42830000;
+05F9 : 462101D5;
+05FA : 0402E693;
+05FB : 16D00593;
+05FC : F0EFC62A;
+05FD : 4532E44F;
+05FE : 53130462;
+05FF : 52634184;
+0600 : 46830A03;
+0601 : 071301D5;
+0602 : FE931650;
+0603 : 0EA30FD6;
+0604 : 0AA301D5;
+0605 : 288389D0;
+0606 : 26039000;
+0607 : 48519040;
+0608 : 0158DF93;
+0609 : 01070023;
+060A : F793CC32;
+060B : D09300FF;
+060C : 58130108;
+060D : 064600F6;
+060E : 00F70123;
+060F : 01F0F293;
+0610 : 00C807B7;
+0611 : 01165093;
+0612 : 005701A3;
+0613 : 0217B2B3;
+0614 : 0198DE13;
+0615 : 0F13CA46;
+0616 : D393FECE;
+0617 : D31300B8;
+0618 : F8930058;
+0619 : 00A301F8;
+061A : 9E1301E7;
+061B : 7F130018;
+061C : F4130018;
+061D : 769301F3;
+061E : 6FB303F3;
+061F : 02A301EE;
+0620 : 022300D7;
+0621 : 03230087;
+0622 : 03A301F7;
+0623 : 54220057;
+0624 : E69350B2;
+0625 : 4621080E;
+0626 : 16500593;
+0627 : F06F6145;
+0628 : 50B2DE4F;
+0629 : 61455422;
+062A : 57838082;
+062B : 46039980;
+062C : 92931750;
+062D : D3130107;
+062E : 8F1A0102;
+062F : 17500393;
+0630 : C595C211;
+0631 : 01037593;
+0632 : 0015B813;
+0633 : 01038023;
+0634 : 4703ED99;
+0635 : 78939900;
+0636 : 0E230FF7;
+0637 : 0FA30115;
+0638 : 5E030115;
+0639 : 1E939980;
+063A : DF13010E;
+063B : 1F93010E;
+063C : D793010F;
+063D : 5293010F;
+063E : 5693007F;
+063F : 1F23001F;
+0640 : 581398F0;
+0641 : F313009F;
+0642 : F6130082;
+0643 : C3830126;
+0644 : 65B30003;
+0645 : 771300C3;
+0646 : C8B30048;
+0647 : CE1300E5;
+0648 : 2F830E68;
+0649 : 4EB31480;
+064A : 0EA3007E;
+064B : 156301D5;
+064C : 4D4801F5;
+064D : 88A02A23;
+064E : 08238082;
+064F : 079398B0;
+0650 : 002303E0;
+0651 : 458198F0;
+0652 : 0793B78D;
+0653 : 002303C0;
+0654 : 458598F0;
+0655 : 0793BF99;
+0656 : 65090230;
+0657 : 98F00023;
+0658 : 05134581;
+0659 : B791B2C5;
+065A : 4F525245;
+065B : 00203A52;
+065C : 20746120;
+065D : 20007830;
+065E : 00783028;
+065F : 61420A29;
+0660 : 64612064;
+0661 : 73657264;
+0662 : 30203A73;
+0663 : 696D0078;
+0664 : 696C6173;
+0665 : 64656E67;
+0666 : 766E6900;
+0667 : 64696C61;
+0668 : 736E6920;
+0669 : 63757274;
+066A : 6E6F6974;
+066B : 2A0A0A00;
+066C : 48202A2A;
+066D : 6F6C6C65;
+066E : 6F57202C;
+066F : 21646C72;
+0670 : 2A2A2A20;
+0671 : 58414D0A;
+0672 : 66203038;
+0673 : 776D7269;
+0674 : 20657261;
+0675 : 706D6F63;
+0676 : 64656C69;
+0677 : 3A6E6F20;
+0678 : 44530020;
+0679 : 204D4152;
+067A : 61746164;
+067B : 65686320;
+067C : 75736B63;
+067D : 00203A6D;
+067E : 70786520;
+067F : 65746365;
+0680 : 42002064;
+0681 : 20737469;
+0682 : 61776C61;
+0683 : 73207379;
+0684 : 202C7465;
+0685 : 61656C63;
+0686 : 00203A72;
+0687 : 74736554;
+0688 : 74616420;
+0689 : 00203A61;
+068A : 41524453;
+068B : 6572204D;
+068C : 772F6461;
+068D : 65746972;
+068E : 72726520;
+068F : 000A726F;
+0690 : 41524453;
+0691 : 622E204D;
+0692 : 69207373;
+0693 : 6F6E2073;
+0694 : 657A2074;
+0695 : 0A216F72;
+0696 : 69615700;
+0697 : 676E6974;
+0698 : 73203520;
+0699 : 726F6620;
+069A : 73657420;
+069B : 676E6974;
+069C : 002E2E2E;
+069D : 41524453;
+069E : 756A204D;
+069F : 7420706D;
+06A0 : 3A747365;
+06A1 : 754A0A00;
+06A2 : 6E69706D;
+06A3 : 6F742067;
+06A4 : 52445320;
+06A5 : 2E2E4D41;
+06A6 : 6200202E;
+06A7 : 206B6361;
+06A8 : 53206E69;
+06A9 : 2E4D4152;
+06AA : 4F52000A;
+06AB : 6573204D;
+06AC : 6C616972;
+06AD : 0000203A;
+06AE : 00000101;
+06AF : 00000000;
+06B0 : 00000000;
+06B1 : 00000000;
+06B2 : 00000000;
+06B3 : 00000000;
+06B4 : 00000000;
+06B5 : 00000000;
+06B6 : 00000000;
+06B7 : 00000000;
+06B8 : 00000000;
+06B9 : 00000000;
+06BA : 00000000;
+06BB : 00000000;
+06BC : 00000000;
+06BD : 00000000;
+06BE : 00000105;
+06BF : 00007FBF;
+06C0 : 00000000;
+06C1 : D3030300;
+06C2 : 000016F0;
+06C3 : 00000000;
+06C4 : 00001714;
+06C5 : 00000000;
+06C6 : 00000000;
+06C7 : 00000000;
+06C8 : 00001702;
+06C9 : 00000000;
+06CA : 00000000;
+06CB : 00000000;
+06CC : 00000000;
+06CD : 00000000;
+06CE : 00000000;
+06CF : 00000101;
+06D0 : 0000FFFF;
+06D1 : 00000000;
+06D2 : 0003F600;
+06D3 : 0000193A;
+06D4 : 00000000;
+06D5 : 00000000;
+06D6 : 00000000;
+06D7 : 00000000;
+06D8 : 00000000;
+06D9 : 0000194A;
+06DA : 00000000;
+06DB : 00000000;
+06DC : 00000000;
+06DD : 00000000;
+06DE : 00000000;
+06DF : 00000000;
+06E0 : 00000000;
+06E1 : 00000000;
+06E2 : 00000000;
+06E3 : 00000000;
+06E4 : 00000000;
+06E5 : 00000000;
+06E6 : 00000000;
+06E7 : 00000000;
+06E8 : 00000000;
+06E9 : 00000000;
+06EA : 00000000;
+06EB : 00000000;
+06EC : 00000000;
+06ED : 00000000;
+06EE : 00000000;
+06EF : 00000000;
+06F0 : 00000000;
+06F1 : 00000000;
+06F2 : 00000000;
+06F3 : 00000000;
+06F4 : 6362612F;
+06F5 : 6B736964;
+06F6 : 3030382E;
+06F7 : 6557002F;
+06F8 : 65462064;
+06F9 : 32202062;
+06FA : 3A343020;
+06FB : 323A3833;
+06FC : 53502038;
+06FD : 30322054;
+06FE : 003232;
+[06FF..1FFF] : 00;
 END;

BIN
fpga/output/v2.jic


BIN
fpga/output/v2.sof


+ 1 - 1
rv32/checksum.h

@@ -1,4 +1,4 @@
 #ifndef CHECKSUM_H
 #define CHECKSUM_H
-#define SDRAM_SUM 0xda68a8e8
+#define SDRAM_SUM 0xe3abe76a
 #endif

+ 19 - 1
rv32/system.c

@@ -81,6 +81,7 @@ IRQHANDLER(sysclock,0)
 }
 
 static void late_init(void);
+static void hello_sdram(void);
 
 static const volatile __dram_data
 uint32_t test_data[2] = { 0x01234567, 0x89abcdef };
@@ -183,12 +184,29 @@ void __hot init(void)
     con_flush();
 #endif
 
+    if ( MINITESTS ) {
+	const volatile uint32_t *p = (const volatile uint32_t *)hello_sdram;
+	con_puts(hotstr("SDRAM jump test:"));
+	for (int i = 0; i < 4; i++) {
+	    con_putc(' ');
+	    con_print_hex(p[i]);
+	}
+	con_puts(hotstr("\nJumping to SDRAM... "));
+	hello_sdram();
+	con_puts(hotstr("back in SRAM.\n"));
+    }
+
     late_init();
 }
 
+static void __noinline hello_sdram(void)
+{
+    con_puts("in SDRAM... ");
+}
+
 volatile uint32_t __dram_bss test_dram[8];
 
-static void __hot late_init(void)
+static void __noinline late_init(void)
 {
     /* This needs to be done as early as possible!!! */
     con_puts("Running abc_init_memmap: ");