dma00.s 65.1 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298
/************************************************************************
  DMA READ TESTS: File #0
************************************************************************/
	.word	0x41C6167E
	.word	0x2781446B
	.word	0x794B15FB
	.word	0x59E21CFB
	.word	0x3F540FF6
	.word	0x0ABD31DF
	.word	0x237C2F1C
	.word	0x7DE14487
	.word	0x620152BF
	.word	0x623163DE
	.word	0x69561372
	.word	0x500F2847
	.word	0x2C677566
	.word	0x42873359
	.word	0x4DAA6488
	.word	0x773C6F59
	.word	0x6EEA5656
	.word	0x61134A7B
	.word	0x31D22D85
	.word	0x19A169D8
	.word	0x353C3B54
	.word	0x7D55102F
	.word	0x1B377AAE
	.word	0x5E65345B
	.word	0x63DA6102
	.word	0x7A790398
	.word	0x28CC60E3
	.word	0x1F1A4B76
	.word	0x058E7A5F
	.word	0x28D90799
	.word	0x388F751F
	.word	0x493F0F36
	.word	0x48EE2043
	.word	0x3F781E4D
	.word	0x3D0D33FA
	.word	0x6FBE36A6
	.word	0x2DDA30E4
	.word	0x0586148E
	.word	0x42DC5929
	.word	0x0C6D334E
	.word	0x62FF1F56
	.word	0x2BE11D70
	.word	0x262026FB
	.word	0x718F04B1
	.word	0x53583305
	.word	0x56905DC5
	.word	0x78091DDC
	.word	0x6B537BCD
	.word	0x63AA373B
	.word	0x56486799
	.word	0x145223D3
	.word	0x11526E9D
	.word	0x60061A9F
	.word	0x11EA25B5
	.word	0x66C21C06
	.word	0x48135B98
	.word	0x19497EB2
	.word	0x2001371E
	.word	0x60AC6E32
	.word	0x72887D31
	.word	0x329C3752
	.word	0x10463A95
	.word	0x1E717E36
	.word	0x538F4D57
	.word	0x1EF63A39
	.word	0x651D0A16
	.word	0x3CFA1388
	.word	0x1F7478F5
	.word	0x4E987E7C
	.word	0x3D17665C
	.word	0x5F4130BB
	.word	0x3D6D4371
	.word	0x0C8E4C0F
	.word	0x2C701259
	.word	0x63C75B01
	.word	0x391B5A2F
	.word	0x0C337B3D
	.word	0x46915EC0
	.word	0x4A1D51A5
	.word	0x640D180D
	.word	0x26AB2433
	.word	0x578D257E
	.word	0x485E358F
	.word	0x273E38E6
	.word	0x48683E74
	.word	0x4DA6353A
	.word	0x10B120C3
	.word	0x04937D11
	.word	0x0EA83064
	.word	0x52C72CDB
	.word	0x46CA2DE0
	.word	0x48603CE1
	.word	0x14F34EBF
	.word	0x16094700
	.word	0x25676FA2
	.word	0x6AE36C25
	.word	0x72A04C21
	.word	0x45311587
	.word	0x53D55862
	.word	0x21C50DA8
	.word	0x684F187E
	.word	0x362E2D09
	.word	0x6B6B1194
	.word	0x219F16B0
	.word	0x3D6D30A9
	.word	0x409E405A
	.word	0x2D0B4346
	.word	0x0F704280
	.word	0x4DB65DCF
	.word	0x47472C0C
	.word	0x66A64BA5
	.word	0x222A55D8
	.word	0x46AC64FB
	.word	0x71A071EB
	.word	0x08B76679
	.word	0x74245272
	.word	0x15232692
	.word	0x15482480
	.word	0x6BC544A6
	.word	0x04A71A85
	.word	0x02B72DD7
	.word	0x4F8C4290
	.word	0x45E413AB
	.word	0x69630444
	.word	0x03523066
	.word	0x4EE3029C
	.word	0x50337525
	.word	0x2FF95D5E
	.word	0x32AA7DBA
	.word	0x4C730E60
	.word	0x1C5D664B
	.word	0x6F715E7E
	.word	0x01BE5EA9
	.word	0x358C2E57
	.word	0x1A191771
	.word	0x09C30ECA
	.word	0x145E64E5
	.word	0x052A6533
	.word	0x4CAC3388
	.word	0x1D511766
	.word	0x4EA12A7B
	.word	0x4D757B67
	.word	0x3064179A
	.word	0x266906EF
	.word	0x126F0156
	.word	0x71427AA0
	.word	0x501D7A51
	.word	0x50C50502
	.word	0x2CF712BB
	.word	0x0D921945
	.word	0x0ABE036F
	.word	0x790D75B6
	.word	0x74386ECC
	.word	0x131015FD
	.word	0x08BB5354
	.word	0x5E510D1C
	.word	0x147B0C07
	.word	0x0F940327
	.word	0x61937A7D
	.word	0x039252C3
	.word	0x0DD436C6
	.word	0x27A50261
	.word	0x71516101
	.word	0x41381538
	.word	0x61A770BF
	.word	0x3FF17004
	.word	0x5E0D1E15
	.word	0x069B4D80
	.word	0x701F4083
	.word	0x56D57EA4
	.word	0x4D693F88
	.word	0x4B7C729F
	.word	0x05B67101
	.word	0x0DDA4293
	.word	0x4A170145
	.word	0x318B3D12
	.word	0x18B24102
	.word	0x63332D5C
	.word	0x595074D6
	.word	0x55E15A56
	.word	0x36A402AD
	.word	0x1B42794A
	.word	0x405C18DD
	.word	0x52861061
	.word	0x21E92B03
	.word	0x5A1204E1
	.word	0x7A0F609B
	.word	0x6FEA5126
	.word	0x1F2C5161
	.word	0x6CDC1E62
	.word	0x5C482B6B
	.word	0x066D3E14
	.word	0x72E01F03
	.word	0x43853F4A
	.word	0x6D722C46
	.word	0x0FDA1B96
	.word	0x0EC82E7D
	.word	0x1A1C37D1
	.word	0x6A05413E
	.word	0x68E53492
	.word	0x6F705B43
	.word	0x525F4A6C
	.word	0x7A033B05
	.word	0x42B32DEB
	.word	0x29B30120
	.word	0x7D35374D
	.word	0x167E1466
	.word	0x44504A01
	.word	0x28362BC0
	.word	0x143337E1
	.word	0x1F0F19C9
	.word	0x5C381C2E
	.word	0x18E93629
	.word	0x63196A4F
	.word	0x1F5E00B1
	.word	0x41D12C49
	.word	0x0A8B5A3B
	.word	0x21532CFD
	.word	0x449F6F3F
	.word	0x26EE0A25
	.word	0x3A253035
	.word	0x3B7B6A0D
	.word	0x031173AF
	.word	0x194C5111
	.word	0x108C1E32
	.word	0x4CD452DA
	.word	0x6B7F6BD8
	.word	0x14161B57
	.word	0x4FE137A6
	.word	0x48CE0B7D
	.word	0x30C15CAE
	.word	0x416265BF
	.word	0x71130CE4
	.word	0x5487464C
	.word	0x5D3A39C1
	.word	0x6BB3630C
	.word	0x31596A99
	.word	0x50474F58
	.word	0x385A1CBD
	.word	0x1F783F7C
	.word	0x4FBA0950
	.word	0x110107ED
	.word	0x5C1B6CEA
	.word	0x7C8A5449
	.word	0x7A882CEE
	.word	0x49D65214
	.word	0x7A8576AB
	.word	0x37B04B2C
	.word	0x6CDE3435
	.word	0x25936C11
	.word	0x532D7301
	.word	0x4C1C31D7
	.word	0x3C281843
	.word	0x10303BE7
	.word	0x58B07F08
	.word	0x5CED7D79
	.word	0x55995C13
	.word	0x30510AD2
	.word	0x063A0377
	.word	0x46AD7E3D
	.word	0x2BB46BF8
	.word	0x10C730CA
	.word	0x65030C22
	.word	0x60D242C9
	.word	0x13C66D27
	.word	0x7A0F3004
	.word	0x41CE0F7A
	.word	0x6F3F6BC0
	.word	0x53687D2C
	.word	0x7BCF4072
	.word	0x126A2609
	.word	0x43C26F42
	.word	0x5E006172
	.word	0x265E4B41
	.word	0x0B3431F8
	.word	0x0F964C69
	.word	0x423F26BD
	.word	0x743A5658
	.word	0x6491768B
	.word	0x64E12ECC
	.word	0x47A230B1
	.word	0x63925FDD
	.word	0x50771FA1
	.word	0x683501FE
	.word	0x3BF3394B
	.word	0x3FBC29B1
	.word	0x1FE33937
	.word	0x3211750D
	.word	0x70C74065
	.word	0x1ABE74F1
	.word	0x186116E5
	.word	0x605E6E06
	.word	0x68FF6B35
	.word	0x76C72D76
	.word	0x79892B5D
	.word	0x57F46D6E
	.word	0x364A53CC
	.word	0x1FB50554
	.word	0x327E4FF1
	.word	0x361561C8
	.word	0x06A04899
	.word	0x348F005C
	.word	0x47707C0B
	.word	0x71EF6B14
	.word	0x61C67BE5
	.word	0x610A6F9C
	.word	0x67196CB4
	.word	0x2E1D0E4C
	.word	0x16CE2356
	.word	0x47065CDC
	.word	0x30423C11
	.word	0x3A2558E7
	.word	0x5996076F
	.word	0x180F6621
	.word	0x273D68DF
	.word	0x43F97457
	.word	0x1047030D
	.word	0x5EDF092B
	.word	0x5B6A4DFC
	.word	0x3977298D
	.word	0x50D572E9
	.word	0x78D95EF9
	.word	0x3CB509E0
	.word	0x59EB5472
	.word	0x0E84151A
	.word	0x3F8E4742
	.word	0x2114561D
	.word	0x778A476E
	.word	0x775F5892
	.word	0x623A03FB
	.word	0x7A0B4EE5
	.word	0x68F61EE4
	.word	0x01C01C9F
	.word	0x6F4544D6
	.word	0x3A2A2A83
	.word	0x2ABF04B1
	.word	0x29CD606A
	.word	0x0DC422BF
	.word	0x6A8C60DE
	.word	0x30DF63B2
	.word	0x5EF76279
	.word	0x66F70B60
	.word	0x705742FC
	.word	0x683B0B3D
	.word	0x217B302E
	.word	0x3FCB1C9C
	.word	0x0241027B
	.word	0x682742A5
	.word	0x4FE32548
	.word	0x42587015
	.word	0x4E072917
	.word	0x53E04CB9
	.word	0x24855B5F
	.word	0x776356A8
	.word	0x4DF60029
	.word	0x6C125B43
	.word	0x6300096A
	.word	0x6FDB03EE
	.word	0x4E646824
	.word	0x5052728B
	.word	0x35C4533B
	.word	0x1E5D29BB
	.word	0x23352018
	.word	0x70A23CD3
	.word	0x3B8908FF
	.word	0x60B203A0
	.word	0x0D597D30
	.word	0x2EF24DDB
	.word	0x44D556C1
	.word	0x394D526A
	.word	0x504B1236
	.word	0x309C565D
	.word	0x417863E6
	.word	0x38D047A3
	.word	0x7792470D
	.word	0x5FE54790
	.word	0x5E1162B0
	.word	0x1786610F
	.word	0x4C416034
	.word	0x1D8066A6
	.word	0x51890FBD
	.word	0x7EE9342F
	.word	0x7A787647
	.word	0x220D5050
	.word	0x5A952187
	.word	0x031B29BF
	.word	0x66E35D7F
	.word	0x0F946C37
	.word	0x6D3627E4
	.word	0x4C6F2939
	.word	0x34387D2F
	.word	0x330C5083
	.word	0x103A5B85
	.word	0x70DF3451
	.word	0x78BC1748
	.word	0x75D91556
	.word	0x6ABB5D79
	.word	0x7D957279
	.word	0x23BD7FD4
	.word	0x7F481850
	.word	0x019D66A9
	.word	0x30652C5D
	.word	0x1317447C
	.word	0x0613300B
	.word	0x2512675C
	.word	0x614F3767
	.word	0x58B04404
	.word	0x51E14F9E
	.word	0x0E1816B3
	.word	0x1C00513A
	.word	0x2FFE35CB
	.word	0x6CC41A1C
	.word	0x2BF7722B
	.word	0x69506B38
	.word	0x237E214E
	.word	0x04BB6613
	.word	0x21C52D20
	.word	0x48C365FE
	.word	0x623D45A4
	.word	0x7D30310F
	.word	0x73E41047
	.word	0x5A0A3CE4
	.word	0x45527101
	.word	0x307A0317
	.word	0x65814931
	.word	0x36802180
	.word	0x055F4835
	.word	0x615A422D
	.word	0x061529CC
	.word	0x7AB00722
	.word	0x20157E2D
	.word	0x5C8075D1
	.word	0x6EE657E4
	.word	0x7FCC1E58
	.word	0x6DAF7B6F
	.word	0x4A057A7D
	.word	0x30856C9C
	.word	0x4535406A
	.word	0x667475A0
	.word	0x2EF02528
	.word	0x704F03F7
	.word	0x09F94ADC
	.word	0x18387700
	.word	0x1EB356C4
	.word	0x35EE3C54
	.word	0x164E6AF1
	.word	0x4BD955EA
	.word	0x1CAD7FC2
	.word	0x68D725EB
	.word	0x35195924
	.word	0x5AC41C56
	.word	0x2DA8138B
	.word	0x7DCB2254
	.word	0x5D6B04AF
	.word	0x34705F58
	.word	0x195A6C07
	.word	0x545933FE
	.word	0x0C002F06
	.word	0x13DF06A1
	.word	0x5BE61D18
	.word	0x44593DBA
	.word	0x4CC1775B
	.word	0x652303FC
	.word	0x475B381E
	.word	0x5B703230
	.word	0x7442561A
	.word	0x5AD47AD0
	.word	0x55327F72
	.word	0x4A903366
	.word	0x0942086C
	.word	0x339D57A2
	.word	0x27D109ED
	.word	0x0377223E
	.word	0x5E306BB6
	.word	0x2FAE5792
	.word	0x3C0D5661
	.word	0x062E1DF6
	.word	0x5AA2491A
	.word	0x36497FDB
	.word	0x4AA14F1D
	.word	0x5E8973A8
	.word	0x74DE10F2
	.word	0x2B380556
	.word	0x59BA3D6B
	.word	0x51AB7DCA
	.word	0x5B53065A
	.word	0x745323F6
	.word	0x7E6D2D13
	.word	0x3B8173AE
	.word	0x4E1F5AA5
	.word	0x2EFC664A
	.word	0x4E3D3FD7
	.word	0x1C452901
	.word	0x288938E4
	.word	0x15A45D00
	.word	0x009870F6
	.word	0x55FB3D4D
	.word	0x1A864164
	.word	0x1546465F
	.word	0x405948AC
	.word	0x19F53B79
	.word	0x1236752F
	.word	0x12EA25CA
	.word	0x2D467FAF
	.word	0x06502946
	.word	0x55661189
	.word	0x61214B42
	.word	0x0D9112B1
	.word	0x737606D2
	.word	0x4B0D5B72
	.word	0x658D4AE3
	.word	0x2F5845E3
	.word	0x719C3E17
	.word	0x74D15B28
	.word	0x6E586463
	.word	0x7A27186E
	.word	0x7644026B
	.word	0x188207A4
	.word	0x37BA5A98
	.word	0x307327FA
	.word	0x39BB1FFF
	.word	0x199C621A
	.word	0x21763AF2
	.word	0x611F0429
	.word	0x44993B62
	.word	0x02C8017C
	.word	0x145B14FB
	.word	0x08F9721A
	.word	0x2D4600FD
	.word	0x3F590DF6
	.word	0x17C521DB
	.word	0x643C1FE9
	.word	0x05714496
	.word	0x04D02C71
	.word	0x171C5BD8
	.word	0x700D482C
	.word	0x779910D0
	.word	0x6C5A5A12
	.word	0x575105D0
	.word	0x1C004575
	.word	0x148726A8
	.word	0x3C4F37BA
	.word	0x1C6622C0
	.word	0x2B9215D5
	.word	0x50D06CF7
	.word	0x61B44586
	.word	0x7EE55D3F
	.word	0x47AF4E55
	.word	0x32554FF5
	.word	0x19B80E4E
	.word	0x71665F01
	.word	0x402C7E7D
	.word	0x2DC410B2
	.word	0x4B384328
	.word	0x760C1856
	.word	0x7D4B03CF
	.word	0x3417049C
	.word	0x103D46E4
	.word	0x040777AB
	.word	0x213C4D4A
	.word	0x701244FE
	.word	0x6F7B2990
	.word	0x1D111106
	.word	0x59990EEA
	.word	0x33C74E7D
	.word	0x45D113F3
	.word	0x12F2358C
	.word	0x60E76525
	.word	0x1614109C
	.word	0x5FCE2314
	.word	0x7CFE7AFC
	.word	0x3019686D
	.word	0x40216D37
	.word	0x432833B2
	.word	0x5D943333
	.word	0x600F30B3
	.word	0x6AE4280A
	.word	0x28451DCB
	.word	0x779F53A8
	.word	0x3B1148E0
	.word	0x0C9F4629
	.word	0x23B46018
	.word	0x54174CEF
	.word	0x7E57125C
	.word	0x365F5D86
	.word	0x7FB33B8D
	.word	0x777F5239
	.word	0x4B821889
	.word	0x217D5471
	.word	0x45A93EDC
	.word	0x476710D0
	.word	0x4A225446
	.word	0x6D1F1111
	.word	0x77AB41F1
	.word	0x1FE9579E
	.word	0x79305F6F
	.word	0x0BB618EE
	.word	0x79F95175
	.word	0x192E2EA5
	.word	0x30941859
	.word	0x607F2069
	.word	0x2C800A4D
	.word	0x7CE85E85
	.word	0x529E3559
	.word	0x0D040A40
	.word	0x3458651A
	.word	0x6BD767FB
	.word	0x2D8E483C
	.word	0x6E9A570D
	.word	0x754571B9
	.word	0x33466B5F
	.word	0x0D0E31CE
	.word	0x4BE204C6
	.word	0x3B3802C2
	.word	0x528D0024
	.word	0x7BB50556
	.word	0x324B5E3D
	.word	0x13CD490B
	.word	0x308F7C59
	.word	0x34845C16
	.word	0x038C3A9F
	.word	0x57CC5F24
	.word	0x013C2C2C
	.word	0x446B18CE
	.word	0x332D2CF6
	.word	0x64AA44DA
	.word	0x5B0E7964
	.word	0x5BC31B37
	.word	0x33FD23A9
	.word	0x06084AB7
	.word	0x7C8E02E4
	.word	0x4FD3638A
	.word	0x159B77F9
	.word	0x0F316D7E
	.word	0x41CE242D
	.word	0x4C4D25F8
	.word	0x51EF6D83
	.word	0x249E21B1
	.word	0x49EE6CDA
	.word	0x34D04E32
	.word	0x4AB021C3
	.word	0x35730F0D
	.word	0x4C9A0824
	.word	0x366672E1
	.word	0x76DE6B8E
	.word	0x25023C0B
	.word	0x1F88145D
	.word	0x0906392C
	.word	0x40472A95
	.word	0x2445295F
	.word	0x6BFC6A77
	.word	0x61112837
	.word	0x110406E6
	.word	0x3B665D7B
	.word	0x1446557D
	.word	0x10D66CA1
	.word	0x10FB206D
	.word	0x0338600B
	.word	0x49403A17
	.word	0x5A100C03
	.word	0x135D2E6D
	.word	0x0EBD2578
	.word	0x4FD32E09
	.word	0x6F650876
	.word	0x34270F0A
	.word	0x04A16A67
	.word	0x76717FB2
	.word	0x25E7740B
	.word	0x25A346C0
	.word	0x68BB7F39
	.word	0x3A9A2D8E
	.word	0x56957453
	.word	0x2DE66FEB
	.word	0x1591038A
	.word	0x1E5A4DB6
	.word	0x6FD935D7
	.word	0x54521A3F
	.word	0x65D211B4
	.word	0x2DC7655D
	.word	0x37094F9E
	.word	0x3F141A4F
	.word	0x0DDC5A4C
	.word	0x34853053
	.word	0x39E816AC
	.word	0x40A54908
	.word	0x25362FA2
	.word	0x23445884
	.word	0x70246180
	.word	0x154A3335
	.word	0x60150143
	.word	0x253F1D78
	.word	0x0CD83B93
	.word	0x509638FB
	.word	0x78D94779
	.word	0x65BC6BD3
	.word	0x000A08DE
	.word	0x7AE51D5C
	.word	0x498F5EC7
	.word	0x059164D4
	.word	0x282C1952
	.word	0x5EE005B7
	.word	0x156F5370
	.word	0x409B55D8
	.word	0x339D2C60
	.word	0x06FE6944
	.word	0x025D1CEF
	.word	0x43471FD6
	.word	0x32266471
	.word	0x6AFF709A
	.word	0x426A497D
	.word	0x300B0EE2
	.word	0x567F2A6C
	.word	0x4D71452A
	.word	0x6D521990
	.word	0x54EB21AD
	.word	0x67CA0135
	.word	0x492E50C3
	.word	0x09FD0B59
	.word	0x10F74101
	.word	0x6315492A
	.word	0x0EDA6D0F
	.word	0x48015644
	.word	0x69CA6747
	.word	0x4CDB73A7
	.word	0x52670313
	.word	0x691C567A
	.word	0x510B3803
	.word	0x32822681
	.word	0x68931AB1
	.word	0x5ABC6860
	.word	0x19ED0755
	.word	0x5BDB4F8D
	.word	0x14665A27
	.word	0x7F793416
	.word	0x1EB15178
	.word	0x2CA72818
	.word	0x04B6758F
	.word	0x289868FB
	.word	0x16202244
	.word	0x360E286E
	.word	0x01A50E5E
	.word	0x3F886926
	.word	0x19146CAE
	.word	0x78286B56
	.word	0x4A2002E8
	.word	0x1F6664ED
	.word	0x57EE5244
	.word	0x53770192
	.word	0x21602DD8
	.word	0x1E7B6660
	.word	0x001F5AB4
	.word	0x2A693561
	.word	0x0C6B15BB
	.word	0x47BB4CCC
	.word	0x51A21B44
	.word	0x32D93DFE
	.word	0x3F910C74
	.word	0x4446383A
	.word	0x647E4E59
	.word	0x778C6321
	.word	0x3BF13EC7
	.word	0x74E864F0
	.word	0x1E465AF3
	.word	0x09B6107B
	.word	0x1CF433D1
	.word	0x3B9B76ED
	.word	0x579B4C2D
	.word	0x6274593D
	.word	0x15CF3C8B
	.word	0x7501356F
	.word	0x31A738C0
	.word	0x74516B8F
	.word	0x1F04534D
	.word	0x21ED366E
	.word	0x1BA11A7E
	.word	0x6CC4741B
	.word	0x53DF6B47
	.word	0x40DA7A20
	.word	0x084E15D9
	.word	0x25AF7182
	.word	0x7FFB3007
	.word	0x57707676
	.word	0x537C315C
	.word	0x46E077E3
	.word	0x5CBC34F8
	.word	0x2C04129C
	.word	0x57877D2F
	.word	0x1791645A
	.word	0x7ED414E0
	.word	0x2F16127A
	.word	0x32D62A95
	.word	0x7FE9007C
	.word	0x73C1015F
	.word	0x14D37237
	.word	0x3D5C136F
	.word	0x3A7B15DD
	.word	0x0F4B4274
	.word	0x1E9331B3
	.word	0x2E1A31B8
	.word	0x35C4718D
	.word	0x690925FA
	.word	0x145A100A
	.word	0x709A0709
	.word	0x25AF5795
	.word	0x09DB5F25
	.word	0x6E593717
	.word	0x2A747415
	.word	0x4513667C
	.word	0x496F5608
	.word	0x2E6C56EC
	.word	0x70CA002C
	.word	0x47316AC6
	.word	0x5BBE6710
	.word	0x699B315C
	.word	0x2DCD10BA
	.word	0x79392271
	.word	0x0E8E1288
	.word	0x019C1573
	.word	0x363810C7
	.word	0x13C47078
	.word	0x36F01C15
	.word	0x0E4D4AFB
	.word	0x0ED20877
	.word	0x3C590053
	.word	0x4EC11A39
	.word	0x773C6DF7
	.word	0x61EF2489
	.word	0x36EA5973
	.word	0x422B75D2
	.word	0x3D213A29
	.word	0x24EE2DD9
	.word	0x475662C8
	.word	0x6D24599A
	.word	0x7361468E
	.word	0x6DBA70E0
	.word	0x42E8563D
	.word	0x48EB11A7
	.word	0x698B30DE
	.word	0x784B1531
	.word	0x51D42439
	.word	0x49905AEA
	.word	0x04DD390F
	.word	0x5C2364FD
	.word	0x60BE471E
	.word	0x6B6B22B2
	.word	0x49BD4CD2
	.word	0x71D4048E
	.word	0x423506CB
	.word	0x70A13629
	.word	0x15420313
	.word	0x687719CD
	.word	0x00322C1B
	.word	0x4EA561D3
	.word	0x06AB077A
	.word	0x0B3463BE
	.word	0x5D9C2466
	.word	0x4BB20114
	.word	0x18E475EE
	.word	0x36BF4200
	.word	0x07C514FD
	.word	0x4C547DA9
	.word	0x6C07260F
	.word	0x7ED62C50
	.word	0x77EC5EB0
	.word	0x50DF3F2C
	.word	0x3ED766B9
	.word	0x03C71A05
	.word	0x04BB114A
	.word	0x22F40A92
	.word	0x18442986
	.word	0x77E65994
	.word	0x23C84F11
	.word	0x330151AF
	.word	0x20EC1E4B
	.word	0x5519580B
	.word	0x5B162049
	.word	0x25C072AE
	.word	0x2C963E97
	.word	0x424F5897
	.word	0x629336B0
	.word	0x11B5679B
	.word	0x73B7493A
	.word	0x29021C01
	.word	0x759A2102
	.word	0x6CB265DC
	.word	0x7CF02DBA
	.word	0x7ABA782B
	.word	0x54716E74
	.word	0x29546DB1
	.word	0x368B67DD
	.word	0x268B5F95
	.word	0x75CA423A
	.word	0x048549BA
	.word	0x40034B24
	.word	0x3E9458DC
	.word	0x68445703
	.word	0x02FB7E6F
	.word	0x637B3E4C
	.word	0x4D806638
	.word	0x63E9727A
	.word	0x1EB629A8
	.word	0x3F4466CE
	.word	0x5C075CFB
	.word	0x0BAF48C6
	.word	0x24835215
	.word	0x1F5A445D
	.word	0x266C2D17
	.word	0x5EF95008
	.word	0x417D26C4
	.word	0x06E63C6D
	.word	0x01FE1897
	.word	0x5B1503E1
	.word	0x40892EA0
	.word	0x69BB15A8
	.word	0x72995B22
	.word	0x4CBE18EC
	.word	0x77D867EE
	.word	0x15DB6379
	.word	0x7025417E
	.word	0x5199203E
	.word	0x666757D0
	.word	0x4CF16184
	.word	0x5C143108
	.word	0x09BA1AEB
	.word	0x018009C5
	.word	0x0DD63F29
	.word	0x26E61F3F
	.word	0x791F7D82
	.word	0x32387F25
	.word	0x0E0F5B07
	.word	0x25A67938
	.word	0x1931238E
	.word	0x02F00EA7
	.word	0x634B6E75
	.word	0x176C7B29
	.word	0x1A483316
	.word	0x7CD633DD
	.word	0x5CE82908
	.word	0x5ADB77E1
	.word	0x5526701B
	.word	0x35644EB4
	.word	0x0D6C3C12
	.word	0x53A3104C
	.word	0x6C79001E
	.word	0x0BDE52F6
	.word	0x040E561F
	.word	0x7FFE5AF2
	.word	0x1E5C1D9A
	.word	0x16D667CA
	.word	0x362D0E78
	.word	0x3E357B76
	.word	0x45D43B84
	.word	0x41AA7731
	.word	0x18D640A2
	.word	0x421A2A19
	.word	0x0C5518D0
	.word	0x1A032D89
	.word	0x6A4057DE
	.word	0x3A8D2B37
	.word	0x4B3C43ED
	.word	0x4D55690C
	.word	0x2B510AA9
	.word	0x26F936C6
	.word	0x1D550E46
	.word	0x56631950
	.word	0x4919063C
	.word	0x5CD64FDC
	.word	0x20556FC1
	.word	0x5ABA0EC6
	.word	0x76530A0B
	.word	0x3D270C29
	.word	0x665E5A42
	.word	0x38333A3D
	.word	0x34EA7347
	.word	0x19FC4B77
	.word	0x17807D27
	.word	0x42745C5E
	.word	0x0F70385D
	.word	0x4BEF5F2F
	.word	0x433478CB
	.word	0x306E2530
	.word	0x02A65477
	.word	0x77A921D4
	.word	0x61E20206
	.word	0x39DE4394
	.word	0x16F922F9
	.word	0x035C7E88
	.word	0x065A75A9
	.word	0x64CE64C7
	.word	0x2A012B03
	.word	0x3C486884
	.word	0x3F5D5C04
	.word	0x031323E5
	.word	0x68025AF3
	.word	0x2C3942A2
	.word	0x29135C62
	.word	0x5FCF6962
	.word	0x756D33E2
	.word	0x1F0536D6
	.word	0x2E942089
	.word	0x1CEF3A91
	.word	0x485E6525
	.word	0x58107DAE
	.word	0x7B61283D
	.word	0x40AB7920
	.word	0x321D57CB
	.word	0x77CA15D7
	.word	0x1CEA0CBC
	.word	0x730B1298
	.word	0x18A02A23
	.word	0x112D6B99
	.word	0x54083441
	.word	0x6B5E1FDF
	.word	0x60051B36
	.word	0x6F427058
	.word	0x16827583
	.word	0x0DC374B8
	.word	0x041B6647
	.word	0x0A9B2214
	.word	0x408B2B35
	.word	0x38A31F3F
	.word	0x61D80E58
	.word	0x2ED902E8
	.word	0x76403786
	/****************************************************************
	                           DMA TEST #0.1
	 ****************************************************************/
	ori	$1,	$0,	0x0001		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0000		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x27F0
	lui	$12,	0x0080			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0007

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read1:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read1		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0008		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk1:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk1		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x4232			/* load random number	*/
	ori	$9,	$9,	0x5770
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0004		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.2
	 ****************************************************************/
	ori	$1,	$0,	0x0002		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0008		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x27F8
	lui	$12,	0xFF80			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0007

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read2:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read2		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0008		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk2:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk2		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x30E1			/* load random number	*/
	ori	$9,	$9,	0x19A5
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0004		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.3
	 ****************************************************************/
	ori	$1,	$0,	0x0003		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x07F0		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x2800
	lui	$12,	0x0100			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0007

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read3:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read3		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0008		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk3:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk3		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x5025			/* load random number	*/
	ori	$9,	$9,	0x008C
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0004		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.4
	 ****************************************************************/
	ori	$1,	$0,	0x0004		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x07F8		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x2808
	lui	$12,	0x0200			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0007

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read4:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read4		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0008		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk4:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk4		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x352C			/* load random number	*/
	ori	$9,	$9,	0x77A1
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0004		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.5
	 ****************************************************************/
	ori	$1,	$0,	0x0005		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0800		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x2FF0
	lui	$12,	0x0400			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0007

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read5:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read5		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0008		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk5:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk5		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x25F4			/* load random number	*/
	ori	$9,	$9,	0x5E9F
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0004		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.6
	 ****************************************************************/
	ori	$1,	$0,	0x0006		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0808		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x2FF8
	lui	$12,	0x0800			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0007

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read6:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read6		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0008		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk6:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk6		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x2D08			/* load random number	*/
	ori	$9,	$9,	0x3D29
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0004		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.7
	 ****************************************************************/
	ori	$1,	$0,	0x0007		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0FF0		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x3000
	lui	$12,	0x1000			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0007

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read7:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read7		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0008		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk7:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk7		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x10B8			/* load random number	*/
	ori	$9,	$9,	0x4BD4
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0004		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.8
	 ****************************************************************/
	ori	$1,	$0,	0x0008		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0FF8		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x3008
	lui	$12,	0xFF80			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0007

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read8:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read8		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0008		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk8:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk8		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x15C5			/* load random number	*/
	ori	$9,	$9,	0x272C
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0004		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.9
	 ****************************************************************/
	ori	$1,	$0,	0x0009		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0000		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x27E8
	lui	$12,	0x2000			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x000F

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read9:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read9		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0010		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk9:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk9		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x6234			/* load random number	*/
	ori	$9,	$9,	0x4EFF
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x000C		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.10
	 ****************************************************************/
	ori	$1,	$0,	0x000A		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0008		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x27F0
	lui	$12,	0x4000			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x000F

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read10:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read10		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0010		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk10:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk10		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x6FC7			/* load random number	*/
	ori	$9,	$9,	0x7817
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x000C		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.11
	 ****************************************************************/
	ori	$1,	$0,	0x000B		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x07E8		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x27F8
	lui	$12,	0x8000			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x000F

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read11:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read11		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0010		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk11:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk11		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x7656			/* load random number	*/
	ori	$9,	$9,	0x2031
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x000C		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.12
	 ****************************************************************/
	ori	$1,	$0,	0x000C		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x07F0		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x2800
	lui	$12,	0xC000			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x000F

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read12:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read12		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0010		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk12:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk12		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x3CEF			/* load random number	*/
	ori	$9,	$9,	0x33CB
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x000C		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.13
	 ****************************************************************/
	ori	$1,	$0,	0x000D		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x07F8		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x2808
	lui	$12,	0xA000			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x000F

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read13:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read13		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0010		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk13:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk13		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x058C			/* load random number	*/
	ori	$9,	$9,	0x5B1D
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x000C		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.14
	 ****************************************************************/
	ori	$1,	$0,	0x000E		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0800		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x2FE8
	lui	$12,	0x0180			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x000F

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read14:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read14		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0010		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk14:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk14		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x79C8			/* load random number	*/
	ori	$9,	$9,	0x1F60
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x000C		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.15
	 ****************************************************************/
	ori	$1,	$0,	0x000F		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0808		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x2FF0
	lui	$12,	0x0280			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x000F

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read15:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read15		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0010		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk15:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk15		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x4FCD			/* load random number	*/
	ori	$9,	$9,	0x7B2E
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x000C		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.16
	 ****************************************************************/
	ori	$1,	$0,	0x0010		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0FE8		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x2FF8
	lui	$12,	0xFF80			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x000F

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read16:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read16		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0010		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk16:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk16		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x7D76			/* load random number	*/
	ori	$9,	$9,	0x009C
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x000C		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.17
	 ****************************************************************/
	ori	$1,	$0,	0x0011		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0FF0		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x3000
	lui	$12,	0xFF80			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x000F

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read17:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read17		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0010		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk17:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk17		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x6C62			/* load random number	*/
	ori	$9,	$9,	0x7D64
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x000C		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.18
	 ****************************************************************/
	ori	$1,	$0,	0x0012		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0000		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x27E0
	lui	$12,	0x0480			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0017

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read18:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read18		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0018		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk18:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk18		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x6C5F			/* load random number	*/
	ori	$9,	$9,	0x5931
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0014		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.19
	 ****************************************************************/
	ori	$1,	$0,	0x0013		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0008		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x27E8
	lui	$12,	0x0880			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0017

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read19:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read19		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0018		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk19:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk19		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x4A78			/* load random number	*/
	ori	$9,	$9,	0x43F2
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0014		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.20
	 ****************************************************************/
	ori	$1,	$0,	0x0014		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x07E0		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x27F0
	lui	$12,	0x1080			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0017

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read20:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read20		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0018		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk20:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk20		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x2996			/* load random number	*/
	ori	$9,	$9,	0x19BA
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0014		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.21
	 ****************************************************************/
	ori	$1,	$0,	0x0015		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x07E8		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x27F8
	lui	$12,	0x2080			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0017

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read21:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read21		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0018		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk21:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk21		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x2E67			/* load random number	*/
	ori	$9,	$9,	0x1799
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0014		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.22
	 ****************************************************************/
	ori	$1,	$0,	0x0016		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x07F0		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x2800
	lui	$12,	0x4080			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0017

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read22:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read22		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0018		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk22:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk22		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x730C			/* load random number	*/
	ori	$9,	$9,	0x0874
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0014		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.23
	 ****************************************************************/
	ori	$1,	$0,	0x0017		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x07F8		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x2808
	lui	$12,	0x8080			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0017

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read23:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read23		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0018		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk23:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk23		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x37C0			/* load random number	*/
	ori	$9,	$9,	0x62C2
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0014		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.24
	 ****************************************************************/
	ori	$1,	$0,	0x0018		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0800		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x2FE8
	lui	$12,	0x0300			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0017

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read24:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read24		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0018		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk24:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk24		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x1475			/* load random number	*/
	ori	$9,	$9,	0x57BC
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0014		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.25
	 ****************************************************************/
	ori	$1,	$0,	0x0019		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0808		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x2FF0
	lui	$12,	0x0500			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0017

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read25:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read25		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0018		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk25:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk25		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x3C19			/* load random number	*/
	ori	$9,	$9,	0x025E
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0014		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.26
	 ****************************************************************/
	ori	$1,	$0,	0x001A		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0FE0		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x2FF8
	lui	$12,	0xFF80			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0017

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read26:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read26		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0018		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk26:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk26		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x5CFB			/* load random number	*/
	ori	$9,	$9,	0x284C
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0014		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.27
	 ****************************************************************/
	ori	$1,	$0,	0x001B		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0FE8		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x3000
	lui	$12,	0xFF80			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0017

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read27:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read27		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0018		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk27:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk27		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x0297			/* load random number	*/
	ori	$9,	$9,	0x487E
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0014		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.28
	 ****************************************************************/
	ori	$1,	$0,	0x001C		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0000		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x2780
	lui	$12,	0x0900			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0077

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read28:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read28		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0078		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk28:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk28		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x43A6			/* load random number	*/
	ori	$9,	$9,	0x7335
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0074		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.29
	 ****************************************************************/
	ori	$1,	$0,	0x001D		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0008		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x2788
	lui	$12,	0x1100			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0077

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read29:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read29		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0078		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk29:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk29		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x2C40			/* load random number	*/
	ori	$9,	$9,	0x0CB1
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0074		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.30
	 ****************************************************************/
	ori	$1,	$0,	0x001E		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0780		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x2790
	lui	$12,	0x2100			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0077

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read30:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read30		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0078		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk30:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk30		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x6686			/* load random number	*/
	ori	$9,	$9,	0x179C
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0074		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.31
	 ****************************************************************/
	ori	$1,	$0,	0x001F		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0788		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x27E8
	lui	$12,	0x4100			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0077

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read31:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read31		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0078		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk31:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk31		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x54FE			/* load random number	*/
	ori	$9,	$9,	0x6621
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0074		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.32
	 ****************************************************************/
	ori	$1,	$0,	0x0020		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0790		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x27F0
	lui	$12,	0x8100			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0077

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read32:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read32		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0078		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk32:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk32		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x50A5			/* load random number	*/
	ori	$9,	$9,	0x0834
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0074		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.33
	 ****************************************************************/
	ori	$1,	$0,	0x0021		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x07E8		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x27F8
	lui	$12,	0x0600			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0077

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read33:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read33		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0078		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk33:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk33		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x3972			/* load random number	*/
	ori	$9,	$9,	0x6B6C
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0074		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.34
	 ****************************************************************/
	ori	$1,	$0,	0x0022		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x07F0		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x2800
	lui	$12,	0x0A00			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0077

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read34:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read34		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0078		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk34:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk34		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x32B0			/* load random number	*/
	ori	$9,	$9,	0x547F
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0074		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	                           DMA TEST #0.35
	 ****************************************************************/
	ori	$1,	$0,	0x0023		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x07F8		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x2808
	lui	$12,	0x1200			/* R12 = READ DMA LEN	*/
	ori	$12,	$12,	0x0077

	mtc0	$10,	$0			/* write into CP0 reg	*/
	mtc0	$11,	$1			/* write into CP0 reg	*/
	mtc0	$12,	$2			/* write into CP0 reg	*/
Read35:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read35		/* wait for DMA to end	*/

	or	$4,	$11,	$0		/* Init expected data	*/
	ori	$3,	$0,	0x0078		/* len of data (bytes)	*/
	ori	$6,	$10,	0x0000		/* copy DMEM address	*/
Chk35:	lw	$5,	0x0000 ($6)		/* read test data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	bne	$3,	$0,	Chk35		/* check if done	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x6D7E			/* load random number	*/
	ori	$9,	$9,	0x1443
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x0074		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/

	/****************************************************************
	  Wrap up ...
	 ****************************************************************/
	nop					
Done:	ori	$1,	$0,	0xFEED		/* Test passed		*/
	break

Time:	ori	$1,	$0,	0xDEAD		/* Timed-out from DMA	*/
	break

Fail:	break