dma33.s 57.7 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
/************************************************************************
  DMA BLOCK WRITE TESTS: File #3
************************************************************************/
	.word	0x643C1D93
	.word	0x4FC05D06
	.word	0x705E0F14
	.word	0x7A180832
	.word	0x16383CAE
	.word	0x554511F4
	.word	0x7311461B
	.word	0x2C7403DF
	.word	0x5EE122D7
	.word	0x30CD737F
	.word	0x469E3C7B
	.word	0x3AA42A12
	.word	0x5F4652DA
	.word	0x71640C07
	.word	0x7DAB05DD
	.word	0x063C7C38
	.word	0x1F01211E
	.word	0x6D8736E6
	.word	0x6E280547
	.word	0x42FC6078
	.word	0x51BA4B29
	.word	0x449A43F3
	.word	0x4ED47C9C
	.word	0x10507D39
	.word	0x4CA57F19
	.word	0x10700B01
	.word	0x04B80C18
	.word	0x42D2049A
	.word	0x2C01532A
	.word	0x46C86F5F
	.word	0x20A921D6
	.word	0x5DC56FF9
	.word	0x28992D35
	.word	0x4ACC5357
	.word	0x0CC8594D
	.word	0x3C9A2B6E
	.word	0x1D451A2D
	.word	0x2E927BB1
	.word	0x6A044ACC
	.word	0x6C6D3150
	.word	0x3C6815A2
	.word	0x249E6330
	.word	0x1D944B04
	.word	0x358615AD
	.word	0x75724140
	.word	0x215C7E12
	.word	0x0E7F1A7D
	.word	0x54DA01D4
	.word	0x0A5D0C4F
	.word	0x2CA86D92
	.word	0x1316051D
	.word	0x65891FCD
	.word	0x55314B33
	.word	0x63482367
	.word	0x0E7771A6
	.word	0x7A6075DD
	.word	0x3D823EEB
	.word	0x286E7543
	.word	0x3E0A6136
	.word	0x67573204
	.word	0x5DEF0C94
	.word	0x07392057
	.word	0x37065EC7
	.word	0x3B136581
	.word	0x59A424E5
	.word	0x44333CCD
	.word	0x13EB5EAF
	.word	0x6863304B
	.word	0x61D71BB2
	.word	0x1ED2214B
	.word	0x52070E20
	.word	0x1FC45C97
	.word	0x6B4C6F6B
	.word	0x42F93674
	.word	0x5EF312A7
	.word	0x58DF6A57
	.word	0x13D2409D
	.word	0x6A773A68
	.word	0x561539AE
	.word	0x0C070AB8
	.word	0x37C6796E
	.word	0x2E847441
	.word	0x6E1D17FC
	.word	0x1BBE0BA1
	.word	0x378D6523
	.word	0x09495796
	.word	0x168B1932
	.word	0x6E2F3338
	.word	0x6D1C379B
	.word	0x075717FA
	.word	0x45267F4E
	.word	0x36B30B5E
	.word	0x517204D3
	.word	0x292D2C7B
	.word	0x7384522A
	.word	0x6F4F1D30
	.word	0x521B2862
	.word	0x74B54326
	.word	0x4C863EFB
	.word	0x02331C87
	.word	0x56AD1CFD
	.word	0x36C52480
	.word	0x09DB67D4
	.word	0x233A0377
	.word	0x764C43F2
	.word	0x74A0070C
	.word	0x017A2323
	.word	0x596E1DD1
	.word	0x5D281CAF
	.word	0x0D7452CA
	.word	0x632B2B31
	.word	0x388304A3
	.word	0x61FB6C3A
	.word	0x0BDB54B4
	.word	0x25FD3DA5
	.word	0x4A5909B5
	.word	0x4B8E54B8
	.word	0x275D6241
	.word	0x25CF2B00
	.word	0x287D130C
	.word	0x46335CE9
	.word	0x75EB6CE3
	.word	0x70C9561F
	.word	0x45A66668
	.word	0x094A67A8
	.word	0x4D63058B
	.word	0x44E223BE
	.word	0x673A64C8
	.word	0x2CBF1B6D
	.word	0x55115023
	.word	0x3D5A59F1
	.word	0x4EC935E3
	.word	0x2E8839CD
	.word	0x472A6710
	.word	0x303F6FAB
	.word	0x138F63AE
	.word	0x282966F7
	.word	0x62512EB8
	.word	0x3BEB4C3A
	.word	0x2BF465DB
	.word	0x34326136
	.word	0x0B1418F7
	.word	0x048276C6
	.word	0x270D1D56
	.word	0x03BE2874
	.word	0x1D6D58AA
	.word	0x217635D8
	.word	0x161B3FC9
	.word	0x23F315B3
	.word	0x6E440527
	.word	0x3B041ECF
	.word	0x26093317
	.word	0x73876294
	.word	0x7CE92DC1
	.word	0x57B6156A
	.word	0x68F058E2
	.word	0x483720D3
	.word	0x549D5D47
	.word	0x59E13B44
	.word	0x4F944A07
	.word	0x444F21C6
	.word	0x1E080D83
	.word	0x2D274F51
	.word	0x52E6021F
	.word	0x5C284DE3
	.word	0x60C20ABD
	.word	0x23F57D63
	.word	0x4D827AFE
	.word	0x0BA36C39
	.word	0x74CD4737
	.word	0x05041DAA
	.word	0x05313835
	.word	0x3BB159F4
	.word	0x24161EB1
	.word	0x48D9642D
	.word	0x64674292
	.word	0x57CD31DC
	.word	0x7BFA09E5
	.word	0x07470054
	.word	0x63C3139C
	.word	0x137D63D4
	.word	0x4EBD420A
	.word	0x14EA2C60
	.word	0x2394711A
	.word	0x5FD73C5D
	.word	0x65135452
	.word	0x50AC2CEF
	.word	0x3550388C
	.word	0x10F85C13
	.word	0x5F99256E
	.word	0x2141407B
	.word	0x151D1AAE
	.word	0x338D1F2D
	.word	0x485A6507
	.word	0x22AD7EDA
	.word	0x534A46FA
	.word	0x124C74FF
	.word	0x544D7145
	.word	0x03BB28BD
	.word	0x6DD50724
	.word	0x6B7A2779
	.word	0x54D32A4B
	.word	0x13866733
	.word	0x59E54A9E
	.word	0x566512A7
	.word	0x593C35B6
	.word	0x7EF27B26
	.word	0x3D4F2214
	.word	0x58E84C31
	.word	0x00413223
	.word	0x3E315CDA
	.word	0x58132AF0
	.word	0x2CEC3ADB
	.word	0x79895AA8
	.word	0x32404B73
	.word	0x1DDD6AD5
	.word	0x35E41E04
	.word	0x37271A58
	.word	0x726A4C6E
	.word	0x7F871B25
	.word	0x264E0529
	.word	0x4F180FC1
	.word	0x49C21B25
	.word	0x6494647D
	.word	0x55373761
	.word	0x0CC7006F
	.word	0x64AB084D
	.word	0x54B50A35
	.word	0x43B60AE1
	.word	0x328A3C69
	.word	0x2E524979
	.word	0x514605E3
	.word	0x526D2C77
	.word	0x6B2571B2
	.word	0x5E303897
	.word	0x5ECF12D7
	.word	0x270D5710
	.word	0x6B446FC7
	.word	0x358B0370
	.word	0x3E85299F
	.word	0x41D17B35
	.word	0x43035B25
	.word	0x6CF44B2A
	.word	0x57C96B83
	.word	0x43005688
	.word	0x5F6850C2
	.word	0x51C833C8
	.word	0x51A67E07
	.word	0x606E7B49
	.word	0x3BE57990
	.word	0x13B163A6
	.word	0x5C55566E
	.word	0x0AF947D5
	.word	0x43D90E00
	.word	0x42247300
	.word	0x2ABA7533
	.word	0x440E4E23
	.word	0x640E497B
	.word	0x79E24B6A
	.word	0x1BE61190
	.word	0x23242B48
	.word	0x4C3B4DE9
	.word	0x427A7757
	.word	0x149634F9
	.word	0x0B3D4EF3
	.word	0x6081772C
	.word	0x1BC36194
	.word	0x08B046A0
	.word	0x106A32EF
	.word	0x5AEF1EA4
	.word	0x3B6504CC
	.word	0x34CB06F1
	.word	0x0D4602A6
	.word	0x1D004EAB
	.word	0x7A4F0B04
	.word	0x07A67B15
	.word	0x6878329A
	.word	0x311A6617
	.word	0x72405D1E
	.word	0x3BAD4872
	.word	0x0A3407EC
	.word	0x7C0F2BBD
	.word	0x4B402259
	.word	0x20790027
	.word	0x01B90FD7
	.word	0x1E9E51EB
	.word	0x39262FCD
	.word	0x144F5A91
	.word	0x5AD20733
	.word	0x06F069EB
	.word	0x291267F1
	.word	0x2D9F62CB
	.word	0x235631F5
	.word	0x321E4785
	.word	0x1EF20A16
	.word	0x14841228
	.word	0x20AA22AC
	.word	0x1DA8547B
	.word	0x42FF71EB
	.word	0x0C485BB9
	.word	0x353C7204
	.word	0x68FD540C
	.word	0x1F3F46FA
	.word	0x2CDF27CB
	.word	0x76086644
	.word	0x26F81674
	.word	0x0D031C28
	.word	0x4C693F68
	.word	0x70160AD2
	.word	0x5F5E1C69
	.word	0x52697F37
	.word	0x18B327D4
	.word	0x1DF737AC
	.word	0x40632A9D
	.word	0x6FD97845
	.word	0x60B56E0F
	.word	0x0D4D08EE
	.word	0x00254D41
	.word	0x1D89794B
	.word	0x0E136257
	.word	0x34424651
	.word	0x6E2D4B7E
	.word	0x78FB3DA1
	.word	0x4E9E43A5
	.word	0x770E3AA8
	.word	0x34F30AFC
	.word	0x627B1977
	.word	0x6DD15B2D
	.word	0x5D747B63
	.word	0x4B59635D
	.word	0x0AA4395C
	.word	0x5E5707E1
	.word	0x7843200E
	.word	0x162D61C0
	.word	0x2FDB51B9
	.word	0x738239ED
	.word	0x76D769D1
	.word	0x39AA7C41
	.word	0x0BD03E55
	.word	0x4AD45E3A
	.word	0x6C975AF0
	.word	0x1AF53576
	.word	0x710211D1
	.word	0x657839ED
	.word	0x46773E4A
	.word	0x11A22FF2
	.word	0x183A152A
	.word	0x71C735E7
	.word	0x70761EDB
	.word	0x492F31C3
	.word	0x1E0D373C
	.word	0x44C51A45
	.word	0x2B1F2F3C
	.word	0x528517F5
	.word	0x305C6C3B
	.word	0x03A339DF
	.word	0x110A2121
	.word	0x657C3A0F
	.word	0x6BD57D3A
	.word	0x7D3E0DCB
	.word	0x4C5A6CD8
	.word	0x52563D93
	.word	0x697247A7
	.word	0x339C40D9
	.word	0x7C3E08CE
	.word	0x23405980
	.word	0x7BF76CCB
	.word	0x15742B17
	.word	0x4A73110B
	.word	0x6DD709D2
	.word	0x1D76714C
	.word	0x67A53D4C
	.word	0x30BE5EB3
	.word	0x549F32FF
	.word	0x0CCD4CAC
	.word	0x5EBB5C7F
	.word	0x6E740F85
	.word	0x388C3579
	.word	0x1B2468CA
	.word	0x686F2D6F
	.word	0x2DF47D5E
	.word	0x1A7B7131
	.word	0x2971115E
	.word	0x2526501A
	.word	0x5A2925B6
	.word	0x2CB73910
	.word	0x55F6537F
	.word	0x11700B39
	.word	0x240B011F
	.word	0x1477367E
	.word	0x59C04D1F
	.word	0x5F8867C0
	.word	0x381D4ACA
	.word	0x5B5D3CDD
	.word	0x16286C8B
	.word	0x00D83C61
	.word	0x23EF3804
	.word	0x10F60D0C
	.word	0x52541FEE
	.word	0x5F742908
	.word	0x6B9B1FB3
	.word	0x1C3F08E7
	.word	0x28B574CD
	.word	0x479D025E
	.word	0x4F4911DC
	.word	0x3D1C56C3
	.word	0x2488278A
	.word	0x013D2D48
	.word	0x40AE5F1F
	.word	0x3DE074F5
	.word	0x0F5722E3
	.word	0x196F6A67
	.word	0x08871037
	.word	0x54CA3D4A
	.word	0x6E776F72
	.word	0x5BF61198
	.word	0x1C204D7C
	.word	0x3585588F
	.word	0x3089132D
	.word	0x7CC33D73
	.word	0x22D13663
	.word	0x52A52208
	.word	0x0AFB60E5
	.word	0x717266CE
	.word	0x2B7D28FB
	.word	0x4F2F7AFA
	.word	0x078737C9
	.word	0x7ACB7039
	.word	0x12147970
	.word	0x200F0E24
	.word	0x41B132E3
	.word	0x5E442181
	.word	0x15101989
	.word	0x5DA1033F
	.word	0x544C4897
	.word	0x4F7B1330
	.word	0x1AFA302B
	.word	0x452B2284
	.word	0x76F35A29
	.word	0x09BE0A09
	.word	0x27E420D6
	.word	0x6A606824
	.word	0x4B923336
	.word	0x1985428E
	.word	0x02EE0325
	.word	0x18DD07D0
	.word	0x5BDD7938
	.word	0x55F52C7D
	.word	0x0BC30A51
	.word	0x65AD6031
	.word	0x46D50B04
	.word	0x0A5D164C
	.word	0x401B5CAD
	.word	0x70C65E6E
	.word	0x1E48504D
	.word	0x4FBA48B3
	.word	0x713A5B29
	.word	0x568B51AB
	.word	0x744F7921
	.word	0x16351220
	.word	0x296D58D1
	.word	0x514B2E87
	.word	0x18D02D69
	.word	0x5EA24242
	.word	0x4192424D
	.word	0x0ABF429B
	.word	0x06FC2C6C
	.word	0x24001581
	.word	0x268F3560
	.word	0x1D8D5800
	.word	0x02D05C4A
	.word	0x74FE1082
	.word	0x4ED7086B
	.word	0x46CA48C8
	.word	0x66964983
	.word	0x3D724BA6
	.word	0x5FEA41EA
	.word	0x47710281
	.word	0x2063166F
	.word	0x3FE22E89
	.word	0x03D47FF4
	.word	0x75EF79B7
	.word	0x5F995AC5
	.word	0x3EFE1B85
	.word	0x6EAB4FBD
	.word	0x7F990D70
	.word	0x72657317
	.word	0x57210B2F
	.word	0x14137515
	.word	0x5A335AB0
	.word	0x533F4053
	.word	0x07D517D7
	.word	0x0CBC21E8
	.word	0x65697FF6
	.word	0x666F5741
	.word	0x6D4E790B
	.word	0x2BE01DBE
	.word	0x3C5750BB
	.word	0x6784200A
	.word	0x29ED6F12
	.word	0x44C85D3B
	.word	0x370278F8
	.word	0x06DD65AD
	.word	0x7FBC1E72
	.word	0x2047099E
	.word	0x1BDE109E
	.word	0x37235589
	.word	0x19F65B6D
	.word	0x223B7844
	.word	0x01491F1E
	.word	0x2ACB6ED8
	.word	0x067E657E
	.word	0x1F101224
	.word	0x5F0D0EE1
	.word	0x01966230
	.word	0x5F6512DE
	.word	0x613F2B52
	.word	0x4FE010CE
	.word	0x26126103
	.word	0x24676C04
	.word	0x5EC94A7E
	.word	0x02E56FC9
	.word	0x5B195D1E
	.word	0x446D371E
	.word	0x1EBF6075
	.word	0x5D2A5431
	.word	0x794F382C
	.word	0x570A739B
	.word	0x4EBC6F9D
	.word	0x4B29775F
	.word	0x5CA66331
	.word	0x05FF45A3
	.word	0x0867237B
	.word	0x424A472C
	.word	0x01DB6E11
	.word	0x26BA519B
	.word	0x46F3582E
	.word	0x725E7969
	.word	0x53F90709
	.word	0x03D107A3
	.word	0x0CA011F3
	.word	0x27230F66
	.word	0x29D36A33
	.word	0x56895F1A
	.word	0x383A64A2
	.word	0x59C5496E
	.word	0x738C4105
	.word	0x70530217
	.word	0x0A984B2D
	.word	0x72590A48
	.word	0x181171D0
	.word	0x144C68F0
	.word	0x5C1C6F26
	.word	0x39622AB6
	.word	0x029B5F43
	.word	0x00BA65B5
	.word	0x02376037
	.word	0x794D3CF7
	.word	0x602F17E7
	.word	0x28941FB3
	.word	0x64E43BAA
	.word	0x4FF74046
	.word	0x0D2075A3
	.word	0x1CF97EF3
	.word	0x442A43E1
	.word	0x3024445B
	.word	0x328A2D38
	.word	0x26B507BB
	.word	0x2D9C67DD
	.word	0x13087CE7
	.word	0x13D74DC3
	.word	0x0FC2260A
	.word	0x21DB3AB9
	.word	0x59C0451B
	.word	0x0C3C3040
	.word	0x1CC3691E
	.word	0x6A115B2D
	.word	0x5ED81320
	.word	0x3C3B5703
	.word	0x36882EEF
	.word	0x1D754B0E
	.word	0x37C55B9D
	.word	0x67203D3F
	.word	0x438F3FB4
	.word	0x56CC36CB
	.word	0x26696536
	.word	0x00861682
	.word	0x317F595B
	.word	0x19E42CF0
	.word	0x3A940C09
	.word	0x69D17E35
	.word	0x2EAD2B13
	.word	0x691945A4
	.word	0x237F7532
	.word	0x5FB3171E
	.word	0x139940C4
	.word	0x0AD23A2D
	.word	0x31513246
	.word	0x17AA1AE0
	.word	0x7C705E92
	.word	0x7F026C69
	.word	0x069D54D9
	.word	0x0D7E5977
	.word	0x128A4C60
	.word	0x24AA5E54
	.word	0x79E071FB
	.word	0x00C628BE
	.word	0x05EB114A
	.word	0x0F541987
	.word	0x270515B5
	.word	0x226243EB
	.word	0x36C41F28
	.word	0x0C9706B5
	.word	0x30E3268E
	.word	0x72001B10
	.word	0x0EF16E0F
	.word	0x5998352E
	.word	0x32BB390A
	.word	0x4B99129A
	.word	0x0B7B07D1
	.word	0x0885125E
	.word	0x61BD5327
	.word	0x24F332D4
	.word	0x7615037A
	.word	0x161A114D
	.word	0x5E821FE1
	.word	0x7B1F4763
	.word	0x4EA070D4
	.word	0x2F1E421E
	.word	0x369112AD
	.word	0x6FFA6EC9
	.word	0x64AA33E2
	.word	0x25E55992
	.word	0x15DD7AFF
	.word	0x17AE19E4
	.word	0x20E95066
	.word	0x17CE2885
	.word	0x284307C7
	.word	0x76307B6E
	.word	0x7EC2255D
	.word	0x42C4036E
	.word	0x2B0E3AED
	.word	0x2CC2677D
	.word	0x35C71880
	.word	0x0ABE19E1
	.word	0x2E744CDB
	.word	0x57712303
	.word	0x133231C3
	.word	0x2F413E0E
	.word	0x07197FF2
	.word	0x1A95234D
	.word	0x036D26D7
	.word	0x30DB1C41
	.word	0x6F896411
	.word	0x60563D85
	.word	0x4B8B56AA
	.word	0x66A86263
	.word	0x59C00A13
	.word	0x46234632
	.word	0x72CE34E3
	.word	0x43D05775
	.word	0x70A42750
	.word	0x3A3B20B5
	.word	0x5C222569
	.word	0x4D04631A
	.word	0x49872919
	.word	0x49273ECC
	.word	0x0F9E47DC
	.word	0x3E06050C
	.word	0x45A8383E
	.word	0x1B3C1010
	.word	0x34083318
	.word	0x5F203CA3
	.word	0x23B12C8A
	.word	0x221B6179
	.word	0x385020B7
	.word	0x0AAA6053
	.word	0x41387043
	.word	0x76322CD7
	.word	0x2D11088E
	.word	0x6287652D
	.word	0x0C4053AD
	.word	0x643A5859
	.word	0x4E162C2D
	.word	0x35A6165B
	.word	0x24B85086
	.word	0x2ABA6608
	.word	0x3BD11261
	.word	0x15833CA6
	.word	0x2DF93D8A
	.word	0x6781134A
	.word	0x64E372B3
	.word	0x1BA635F2
	.word	0x504971EE
	.word	0x352D6862
	.word	0x1F9910E8
	.word	0x5F217CBF
	.word	0x6A5C58E6
	.word	0x78A837ED
	.word	0x736B0881
	.word	0x1A141FA8
	.word	0x72D07521
	.word	0x5EA80E64
	.word	0x127D083B
	.word	0x7F2A28E5
	.word	0x09AF544A
	.word	0x092C119E
	.word	0x03207D8F
	.word	0x3F1B75CB
	.word	0x39EF7288
	.word	0x6D04504D
	.word	0x79503031
	.word	0x3E2A7E49
	.word	0x6AF30DFC
	.word	0x5F48017F
	.word	0x60354D92
	.word	0x79A60C6A
	.word	0x02096A48
	.word	0x52DE341D
	.word	0x13A5645F
	.word	0x1D6B63D8
	.word	0x33EC0404
	.word	0x45F76E6D
	.word	0x499E5002
	.word	0x49615955
	.word	0x06423448
	.word	0x5F903D91
	.word	0x2BCE141F
	.word	0x06FA5A42
	.word	0x011C4427
	.word	0x3CF23507
	.word	0x210E2816
	.word	0x6EB6641A
	.word	0x107B7031
	.word	0x6F345E29
	.word	0x46E03286
	.word	0x7DA06BF6
	.word	0x15C85BEE
	.word	0x28B717AD
	.word	0x1AF634C6
	.word	0x1AD03609
	.word	0x29597568
	.word	0x1AA76525
	.word	0x54AD266B
	.word	0x4CE91D23
	.word	0x0BF0489F
	.word	0x027F2E7E
	.word	0x6E8C00C7
	.word	0x1F9B4A2F
	.word	0x483D4314
	.word	0x67836F83
	.word	0x5FC73A66
	.word	0x39205BB7
	.word	0x045A6742
	.word	0x08455759
	.word	0x05C03291
	.word	0x1FC07D5E
	.word	0x034C701E
	.word	0x78235802
	.word	0x3D830CCD
	.word	0x2F4F6F63
	.word	0x5687649C
	.word	0x6CC525DC
	.word	0x2D477C5B
	.word	0x3EAD7E22
	.word	0x3F691B2B
	.word	0x3BA22721
	.word	0x3DF27FB8
	.word	0x75436994
	.word	0x40BB2D36
	.word	0x077A5366
	.word	0x44940C1D
	.word	0x508A3CCC
	.word	0x60355AA3
	.word	0x1DDB031F
	.word	0x5BE928FE
	.word	0x5985157A
	.word	0x17F95D56
	.word	0x049E2F18
	.word	0x6DD97B8C
	.word	0x0A445B6A
	.word	0x78142CAD
	.word	0x37691FFB
	.word	0x6CF94234
	.word	0x63616804
	.word	0x78033103
	.word	0x152D0DCE
	.word	0x3E094020
	.word	0x31851DCC
	.word	0x782A6730
	.word	0x7DA72F74
	.word	0x517618B4
	.word	0x02E26FE1
	.word	0x735D7405
	.word	0x1EE13A2A
	.word	0x6CD81B10
	.word	0x4CB85980
	.word	0x605927D2
	.word	0x72B0510A
	.word	0x24737D92
	.word	0x40D34580
	.word	0x434971E2
	.word	0x6C366489
	.word	0x04B80953
	.word	0x530965D5
	.word	0x6F4443FB
	.word	0x555F01FA
	.word	0x6BC335A8
	.word	0x6EBE7B0F
	.word	0x77CB65E1
	.word	0x5C66130B
	.word	0x12DD33A0
	.word	0x5C620BDB
	.word	0x524E38D2
	.word	0x51500D45
	.word	0x47F9698A
	.word	0x56EF0C7F
	.word	0x27A66B09
	.word	0x136D118E
	.word	0x57395E6F
	.word	0x516E7660
	.word	0x559A1B3D
	.word	0x2EDC7BA8
	.word	0x24681592
	.word	0x6C714F7D
	.word	0x205D6C21
	.word	0x2A0561B2
	.word	0x747F59F5
	.word	0x1B9821F3
	.word	0x140C07E4
	.word	0x031F03A4
	.word	0x672379D4
	.word	0x7B0F6379
	.word	0x163213B1
	.word	0x5DAA2AD5
	.word	0x2023722A
	.word	0x550C4CE4
	.word	0x2746132E
	.word	0x5FF57977
	.word	0x20FD0A2A
	.word	0x575421A3
	.word	0x54293BFF
	.word	0x40972A17
	.word	0x52575EC5
	.word	0x78B46741
	.word	0x57AB3942
	.word	0x03F73F20
	.word	0x3D885E28
	.word	0x0E8A0CE7
	.word	0x6C055F12
	.word	0x69C62257
	.word	0x760F333D
	.word	0x123C02DA
	.word	0x4C5E4E06
	.word	0x0A81345E
	.word	0x33192127
	.word	0x16BD41F7
	.word	0x664806B1
	.word	0x24F34C34
	.word	0x18FD4EC9
	.word	0x6E0E433C
	.word	0x3B426D22
	.word	0x1BAF26B1
	.word	0x32C1023E
	.word	0x7EB86741
	.word	0x72363C64
	.word	0x2298460C
	.word	0x1B954C60
	.word	0x49554DB9
	.word	0x18FA69FD
	.word	0x1C5A4156
	.word	0x58552443
	.word	0x1E061CF3
	.word	0x15D17971
	.word	0x27F003FE
	.word	0x610972B9
	.word	0x01FC395D
	.word	0x48EA3FBE
	.word	0x5E1F7D4E
	.word	0x5A660DCE
	.word	0x44F26CFE
	.word	0x5DDE16DF
	.word	0x3EF83FEA
	.word	0x7F4C244B
	.word	0x46AE7EF9
	.word	0x4D33014B
	.word	0x4F581156
	.word	0x3A481935
	.word	0x6C863B0F
	.word	0x0DDE3D75
	.word	0x6669696F
	.word	0x6F124F4D
	.word	0x46D7691B
	.word	0x76BA494C
	.word	0x2B1F61EF
	.word	0x740E6490
	.word	0x668E3496
	.word	0x501455BB
	.word	0x41BE15EB
	.word	0x3BCD5DB6
	.word	0x62A20413
	.word	0x15212A28
	.word	0x29517157
	.word	0x2E8B41B5
	.word	0x0D9540C2
	.word	0x658577F7
	.word	0x4933707E
	.word	0x33B1253D
	.word	0x5AF80DEF
	.word	0x26CC1E06
	.word	0x2E884F8D
	.word	0x6B52263B
	.word	0x74E67082
	.word	0x55F15C30
	.word	0x79C22A07
	.word	0x17B05759
	.word	0x0186667E
	.word	0x08DC76CC
	.word	0x7C1F0A50
	.word	0x36B61B7A
	.word	0x188B6E84
	.word	0x1FDE4A2D
	.word	0x05276924
	.word	0x4B7E7141
	.word	0x68B67F50
	.word	0x27364E22
	.word	0x60311D1F
	.word	0x57CA2E89
	.word	0x0D516F39
	.word	0x688D0975
	.word	0x01DD3A35
	.word	0x058D2BEB
	.word	0x13B34BB3
	.word	0x2C7B756F
	.word	0x65996139
	.word	0x0061603E
	.word	0x30C120CE
	.word	0x2C025150
	.word	0x1B1E7F58
	.word	0x7F106C10
	.word	0x266930B7
	.word	0x321065D9
	.word	0x03F27D9D
	.word	0x7D0E1530
	.word	0x59271B34
	.word	0x6D0038C4
	.word	0x40E5606E
	.word	0x23FB3226
	.word	0x15827529
	.word	0x70183048
	.word	0x4F97570B
	.word	0x652305B7
	.word	0x058E5018
	.word	0x65092698
	.word	0x57EF3B13
	.word	0x43000A64
	.word	0x5669319A
	.word	0x6D746D63
	.word	0x29A30000
	.word	0x4AB52DEA
	.word	0x0DC07AEA
	.word	0x34614154
	.word	0x69B412A8
	.word	0x3D927CC1
	.word	0x0F4A4059
	.word	0x2FC82D91
	.word	0x6FF128BD
	.word	0x6A953D9F
	.word	0x524A10D8
	.word	0x120B5F3D
	.word	0x5472004C
	.word	0x37E67CF4
	.word	0x470F2D74
	.word	0x6B7868F8
	.word	0x2D1C0F40
	.word	0x5C58086D
	.word	0x6C7530D3
	.word	0x7BC9765C
	.word	0x7B2122DE
	.word	0x48EC5A74
	.word	0x156326BA
	.word	0x33A66F80
	.word	0x487F6F48
	.word	0x424F75AC
	.word	0x5E4D1389
	.word	0x661F0C77
	.word	0x757F0EFC
	.word	0x2A593077
	.word	0x52B16BBB
	.word	0x2A3558D0
	.word	0x36357254
	.word	0x798E7072
	.word	0x429C7B68
	.word	0x6C502716
	.word	0x40053F06
	.word	0x689F55F6
	.word	0x48253DC5
	.word	0x2FC8744F
	.word	0x271A1FA3
	.word	0x49E85797
	.word	0x7CEF24A0
	.word	0x005E3B7E
	.word	0x6BEE031A
	.word	0x12F24DA7
	.word	0x5FA94FE7
	.word	0x13C23923
	.word	0x38C74C34
	.word	0x15F06DB2
	.word	0x698F3520
	.word	0x1B0D1EB8
	.word	0x4F367118
	.word	0x6B443601
	.word	0x53E936F1
	.word	0x44473634
	.word	0x25990AC7
	.word	0x0AF94918
	.word	0x0D882C97
	.word	0x6BE0758A
	.word	0x3498549E
	.word	0x1649393A
	.word	0x604E5971
	.word	0x7E380229
	.word	0x74A91BD9
	.word	0x511643E3
	/****************************************************************
	                           DMA TEST #3.37
	 ****************************************************************/
	ori	$1,	$0,	0x0025		/* 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,	0x2F88
	lui	$13,	0x4200			/* R13 = WRITE DMA LEN	*/
	ori	$13,	$13,	0x2077

	/* Prepare DMA write data */
	lui	$9,	0xFFFF			/* ld for bit-wise inv	*/
	ori	$9,	$9,	0xFFFF
	or	$6,	$10,	$0		/* copy DMEM address	*/
	xor	$4,	$11,	$9		/* gen data pattern	*/
	ori	$3,	$0,	0x0078		/* len of data (bytes)	*/
	ori	$7,	$0,	0x0002		/* number of spans	*/
	ori	$8,	$0,	0x0420		/* number of skips	*/
Prep37:	sw	$4,	0x0000 ($6)		/* wr pattn into DMEM	*/
	sub	$4,	$4,	$2		/* update data pattern	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	add	$6,	$6,	$2		/* update DMEM pointer	*/
	bne	$3,	$0,	Prep37		/* done?		*/
	nop					/* bne delay slot	*/
	beq	$7,	$0,	Cont37		/* exit loop if 0 span	*/
	ori	$3,	$0,	0x0078		/* reload length	*/
	sub	$4,	$4,	$8		/* adjust data		*/
	add	$7,	$7,	$9		/* funny decrement	*/
	j	Prep37				/* go look		*/
Cont37:
	/* DMA write */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$3			/* initiate DMA write	*/
Write37:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Write37		/* wait for DMA to end	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x46A5			/* load random number	*/
	ori	$9,	$9,	0x5474
	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	*/
	addi	$6,	$6,	0x0004		
	sw	$9,	0x0000 ($6)		/* and again		*/
	addi	$6,	$6,	0x0074		
	sw	$9,	0x0000 ($6)		/* and one last time	*/

	/* DMA read data back */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$2			/* initiate DMA read	*/
Read37:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read37		/* wait for DMA to end	*/

	/* Check result */
	lui	$9,	0xFFFF			/* ld for bit-wise inv	*/
	ori	$9,	$9,	0xFFFF
	ori	$3,	$0,	0x0078		/* len of data (bytes)	*/
	ori	$7,	$0,	0x0002		/* number of spans	*/
	ori	$8,	$0,	0x0420		/* number of skips	*/
	or	$4,	$11,	$0		/* R4 = R11 =DRAM addr	*/
	or	$6,	$10,	$0		/* R6 = R10 =DMEM addr	*/
Chk37:	lw	$5,	0x0000 ($6)		/* read test data	*/
	xor	$5,	$5,	$9		/* convert data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	nop					/* bne delay slot	*/
	sw	$5,	0x0000 ($6)		/* restore data	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	bne	$3,	$0,	Chk37		/* check if done	*/
	nop					/* bne delay slot	*/
	beq	$7,	$0,	Done37		/* exit if zero span	*/
	ori	$3,	$0,	0x0078		/* reload length	*/
	add	$4,	$4,	$8		/* adjust answer	*/
	add	$7,	$7,	$9		/* decrement span cnt	*/
	j	Chk37				/* go loop		*/
Done37:
	/* Clean-up RDRAM */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$3			/* initiate DMA write	*/
Cln37:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Cln37		/* wait for DMA to end	*/
	nop					/* bne delay slot	*/

	/****************************************************************
	                           DMA TEST #3.38
	 ****************************************************************/
	ori	$1,	$0,	0x0026		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0F80		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x2F90
	lui	$13,	0xFF80			/* R13 = WRITE DMA LEN	*/
	ori	$13,	$13,	0x0077

	/* Prepare DMA write data */
	lui	$9,	0xFFFF			/* ld for bit-wise inv	*/
	ori	$9,	$9,	0xFFFF
	or	$6,	$10,	$0		/* copy DMEM address	*/
	xor	$4,	$11,	$9		/* gen data pattern	*/
	ori	$3,	$0,	0x0078		/* len of data (bytes)	*/
	ori	$7,	$0,	0x0000		/* number of spans	*/
	ori	$8,	$0,	0x0FF8		/* number of skips	*/
Prep38:	sw	$4,	0x0000 ($6)		/* wr pattn into DMEM	*/
	sub	$4,	$4,	$2		/* update data pattern	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	add	$6,	$6,	$2		/* update DMEM pointer	*/
	bne	$3,	$0,	Prep38		/* done?		*/
	nop					/* bne delay slot	*/
	beq	$7,	$0,	Cont38		/* exit loop if 0 span	*/
	ori	$3,	$0,	0x0078		/* reload length	*/
	sub	$4,	$4,	$8		/* adjust data		*/
	add	$7,	$7,	$9		/* funny decrement	*/
	j	Prep38				/* go look		*/
Cont38:
	/* DMA write */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$3			/* initiate DMA write	*/
Write38:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Write38		/* wait for DMA to end	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x0919			/* load random number	*/
	ori	$9,	$9,	0x247C
	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 read data back */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$2			/* initiate DMA read	*/
Read38:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read38		/* wait for DMA to end	*/

	/* Check result */
	lui	$9,	0xFFFF			/* ld for bit-wise inv	*/
	ori	$9,	$9,	0xFFFF
	ori	$3,	$0,	0x0078		/* len of data (bytes)	*/
	ori	$7,	$0,	0x0000		/* number of spans	*/
	ori	$8,	$0,	0x0FF8		/* number of skips	*/
	or	$4,	$11,	$0		/* R4 = R11 =DRAM addr	*/
	or	$6,	$10,	$0		/* R6 = R10 =DMEM addr	*/
Chk38:	lw	$5,	0x0000 ($6)		/* read test data	*/
	xor	$5,	$5,	$9		/* convert data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	nop					/* bne delay slot	*/
	sw	$5,	0x0000 ($6)		/* restore data	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	bne	$3,	$0,	Chk38		/* check if done	*/
	nop					/* bne delay slot	*/
	beq	$7,	$0,	Done38		/* exit if zero span	*/
	ori	$3,	$0,	0x0078		/* reload length	*/
	add	$4,	$4,	$8		/* adjust answer	*/
	add	$7,	$7,	$9		/* decrement span cnt	*/
	j	Chk38				/* go loop		*/
Done38:
	/* Clean-up RDRAM */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$3			/* initiate DMA write	*/
Cln38:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Cln38		/* wait for DMA to end	*/
	nop					/* bne delay slot	*/

	/****************************************************************
	                           DMA TEST #3.39
	 ****************************************************************/
	ori	$1,	$0,	0x0027		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0F88		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x2FF8
	lui	$13,	0xFF80			/* R13 = WRITE DMA LEN	*/
	ori	$13,	$13,	0x0077

	/* Prepare DMA write data */
	lui	$9,	0xFFFF			/* ld for bit-wise inv	*/
	ori	$9,	$9,	0xFFFF
	or	$6,	$10,	$0		/* copy DMEM address	*/
	xor	$4,	$11,	$9		/* gen data pattern	*/
	ori	$3,	$0,	0x0078		/* len of data (bytes)	*/
	ori	$7,	$0,	0x0000		/* number of spans	*/
	ori	$8,	$0,	0x0FF8		/* number of skips	*/
Prep39:	sw	$4,	0x0000 ($6)		/* wr pattn into DMEM	*/
	sub	$4,	$4,	$2		/* update data pattern	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	add	$6,	$6,	$2		/* update DMEM pointer	*/
	bne	$3,	$0,	Prep39		/* done?		*/
	nop					/* bne delay slot	*/
	beq	$7,	$0,	Cont39		/* exit loop if 0 span	*/
	ori	$3,	$0,	0x0078		/* reload length	*/
	sub	$4,	$4,	$8		/* adjust data		*/
	add	$7,	$7,	$9		/* funny decrement	*/
	j	Prep39				/* go look		*/
Cont39:
	/* DMA write */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$3			/* initiate DMA write	*/
Write39:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Write39		/* wait for DMA to end	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x0B8E			/* load random number	*/
	ori	$9,	$9,	0x1F0C
	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 read data back */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$2			/* initiate DMA read	*/
Read39:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read39		/* wait for DMA to end	*/

	/* Check result */
	lui	$9,	0xFFFF			/* ld for bit-wise inv	*/
	ori	$9,	$9,	0xFFFF
	ori	$3,	$0,	0x0078		/* len of data (bytes)	*/
	ori	$7,	$0,	0x0000		/* number of spans	*/
	ori	$8,	$0,	0x0FF8		/* number of skips	*/
	or	$4,	$11,	$0		/* R4 = R11 =DRAM addr	*/
	or	$6,	$10,	$0		/* R6 = R10 =DMEM addr	*/
Chk39:	lw	$5,	0x0000 ($6)		/* read test data	*/
	xor	$5,	$5,	$9		/* convert data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	nop					/* bne delay slot	*/
	sw	$5,	0x0000 ($6)		/* restore data	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	bne	$3,	$0,	Chk39		/* check if done	*/
	nop					/* bne delay slot	*/
	beq	$7,	$0,	Done39		/* exit if zero span	*/
	ori	$3,	$0,	0x0078		/* reload length	*/
	add	$4,	$4,	$8		/* adjust answer	*/
	add	$7,	$7,	$9		/* decrement span cnt	*/
	j	Chk39				/* go loop		*/
Done39:
	/* Clean-up RDRAM */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$3			/* initiate DMA write	*/
Cln39:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Cln39		/* wait for DMA to end	*/
	nop					/* bne delay slot	*/

	/****************************************************************
	                           DMA TEST #3.40
	 ****************************************************************/
	ori	$1,	$0,	0x0028		/* 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,	0x2778
	lui	$13,	0x0080			/* R13 = WRITE DMA LEN	*/
	ori	$13,	$13,	0x107F

	/* Prepare DMA write data */
	lui	$9,	0xFFFF			/* ld for bit-wise inv	*/
	ori	$9,	$9,	0xFFFF
	or	$6,	$10,	$0		/* copy DMEM address	*/
	xor	$4,	$11,	$9		/* gen data pattern	*/
	ori	$3,	$0,	0x0080		/* len of data (bytes)	*/
	ori	$7,	$0,	0x0001		/* number of spans	*/
	ori	$8,	$0,	0x0008		/* number of skips	*/
Prep40:	sw	$4,	0x0000 ($6)		/* wr pattn into DMEM	*/
	sub	$4,	$4,	$2		/* update data pattern	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	add	$6,	$6,	$2		/* update DMEM pointer	*/
	bne	$3,	$0,	Prep40		/* done?		*/
	nop					/* bne delay slot	*/
	beq	$7,	$0,	Cont40		/* exit loop if 0 span	*/
	ori	$3,	$0,	0x0080		/* reload length	*/
	sub	$4,	$4,	$8		/* adjust data		*/
	add	$7,	$7,	$9		/* funny decrement	*/
	j	Prep40				/* go look		*/
Cont40:
	/* DMA write */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$3			/* initiate DMA write	*/
Write40:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Write40		/* wait for DMA to end	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x4B73			/* load random number	*/
	ori	$9,	$9,	0x7D4B
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x007C		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/
	addi	$6,	$6,	0x0004		
	sw	$9,	0x0000 ($6)		/* and again		*/
	addi	$6,	$6,	0x007C		
	sw	$9,	0x0000 ($6)		/* and one last time	*/

	/* DMA read data back */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$2			/* initiate DMA read	*/
Read40:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read40		/* wait for DMA to end	*/

	/* Check result */
	lui	$9,	0xFFFF			/* ld for bit-wise inv	*/
	ori	$9,	$9,	0xFFFF
	ori	$3,	$0,	0x0080		/* len of data (bytes)	*/
	ori	$7,	$0,	0x0001		/* number of spans	*/
	ori	$8,	$0,	0x0008		/* number of skips	*/
	or	$4,	$11,	$0		/* R4 = R11 =DRAM addr	*/
	or	$6,	$10,	$0		/* R6 = R10 =DMEM addr	*/
Chk40:	lw	$5,	0x0000 ($6)		/* read test data	*/
	xor	$5,	$5,	$9		/* convert data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	nop					/* bne delay slot	*/
	sw	$5,	0x0000 ($6)		/* restore data	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	bne	$3,	$0,	Chk40		/* check if done	*/
	nop					/* bne delay slot	*/
	beq	$7,	$0,	Done40		/* exit if zero span	*/
	ori	$3,	$0,	0x0080		/* reload length	*/
	add	$4,	$4,	$8		/* adjust answer	*/
	add	$7,	$7,	$9		/* decrement span cnt	*/
	j	Chk40				/* go loop		*/
Done40:
	/* Clean-up RDRAM */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$3			/* initiate DMA write	*/
Cln40:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Cln40		/* wait for DMA to end	*/
	nop					/* bne delay slot	*/

	/****************************************************************
	                           DMA TEST #3.41
	 ****************************************************************/
	ori	$1,	$0,	0x0029		/* 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,	0x2780
	lui	$13,	0x0100			/* R13 = WRITE DMA LEN	*/
	ori	$13,	$13,	0x207F

	/* Prepare DMA write data */
	lui	$9,	0xFFFF			/* ld for bit-wise inv	*/
	ori	$9,	$9,	0xFFFF
	or	$6,	$10,	$0		/* copy DMEM address	*/
	xor	$4,	$11,	$9		/* gen data pattern	*/
	ori	$3,	$0,	0x0080		/* len of data (bytes)	*/
	ori	$7,	$0,	0x0002		/* number of spans	*/
	ori	$8,	$0,	0x0010		/* number of skips	*/
Prep41:	sw	$4,	0x0000 ($6)		/* wr pattn into DMEM	*/
	sub	$4,	$4,	$2		/* update data pattern	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	add	$6,	$6,	$2		/* update DMEM pointer	*/
	bne	$3,	$0,	Prep41		/* done?		*/
	nop					/* bne delay slot	*/
	beq	$7,	$0,	Cont41		/* exit loop if 0 span	*/
	ori	$3,	$0,	0x0080		/* reload length	*/
	sub	$4,	$4,	$8		/* adjust data		*/
	add	$7,	$7,	$9		/* funny decrement	*/
	j	Prep41				/* go look		*/
Cont41:
	/* DMA write */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$3			/* initiate DMA write	*/
Write41:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Write41		/* wait for DMA to end	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x7105			/* load random number	*/
	ori	$9,	$9,	0x5FB6
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x007C		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/
	addi	$6,	$6,	0x0004		
	sw	$9,	0x0000 ($6)		/* and again		*/
	addi	$6,	$6,	0x007C		
	sw	$9,	0x0000 ($6)		/* and one last time	*/

	/* DMA read data back */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$2			/* initiate DMA read	*/
Read41:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read41		/* wait for DMA to end	*/

	/* Check result */
	lui	$9,	0xFFFF			/* ld for bit-wise inv	*/
	ori	$9,	$9,	0xFFFF
	ori	$3,	$0,	0x0080		/* len of data (bytes)	*/
	ori	$7,	$0,	0x0002		/* number of spans	*/
	ori	$8,	$0,	0x0010		/* number of skips	*/
	or	$4,	$11,	$0		/* R4 = R11 =DRAM addr	*/
	or	$6,	$10,	$0		/* R6 = R10 =DMEM addr	*/
Chk41:	lw	$5,	0x0000 ($6)		/* read test data	*/
	xor	$5,	$5,	$9		/* convert data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	nop					/* bne delay slot	*/
	sw	$5,	0x0000 ($6)		/* restore data	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	bne	$3,	$0,	Chk41		/* check if done	*/
	nop					/* bne delay slot	*/
	beq	$7,	$0,	Done41		/* exit if zero span	*/
	ori	$3,	$0,	0x0080		/* reload length	*/
	add	$4,	$4,	$8		/* adjust answer	*/
	add	$7,	$7,	$9		/* decrement span cnt	*/
	j	Chk41				/* go loop		*/
Done41:
	/* Clean-up RDRAM */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$3			/* initiate DMA write	*/
Cln41:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Cln41		/* wait for DMA to end	*/
	nop					/* bne delay slot	*/

	/****************************************************************
	                           DMA TEST #3.42
	 ****************************************************************/
	ori	$1,	$0,	0x002A		/* R1  = TEST ID   	*/
	ori	$2,	$0,	0x0004		/* R2  = 4		*/
	ori	$10,	$0,	0x0778		/* R10 = DMEM ADDRESS	*/
	lui	$11,	0x0000			/* R11 = DRAM ADDRESS	*/
	ori	$11,	$11,	0x2788
	lui	$13,	0x0180			/* R13 = WRITE DMA LEN	*/
	ori	$13,	$13,	0x107F

	/* Prepare DMA write data */
	lui	$9,	0xFFFF			/* ld for bit-wise inv	*/
	ori	$9,	$9,	0xFFFF
	or	$6,	$10,	$0		/* copy DMEM address	*/
	xor	$4,	$11,	$9		/* gen data pattern	*/
	ori	$3,	$0,	0x0080		/* len of data (bytes)	*/
	ori	$7,	$0,	0x0001		/* number of spans	*/
	ori	$8,	$0,	0x0018		/* number of skips	*/
Prep42:	sw	$4,	0x0000 ($6)		/* wr pattn into DMEM	*/
	sub	$4,	$4,	$2		/* update data pattern	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	add	$6,	$6,	$2		/* update DMEM pointer	*/
	bne	$3,	$0,	Prep42		/* done?		*/
	nop					/* bne delay slot	*/
	beq	$7,	$0,	Cont42		/* exit loop if 0 span	*/
	ori	$3,	$0,	0x0080		/* reload length	*/
	sub	$4,	$4,	$8		/* adjust data		*/
	add	$7,	$7,	$9		/* funny decrement	*/
	j	Prep42				/* go look		*/
Cont42:
	/* DMA write */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$3			/* initiate DMA write	*/
Write42:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Write42		/* wait for DMA to end	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x7D3A			/* load random number	*/
	ori	$9,	$9,	0x2B69
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x007C		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/
	addi	$6,	$6,	0x0004		
	sw	$9,	0x0000 ($6)		/* and again		*/
	addi	$6,	$6,	0x007C		
	sw	$9,	0x0000 ($6)		/* and one last time	*/

	/* DMA read data back */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$2			/* initiate DMA read	*/
Read42:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read42		/* wait for DMA to end	*/

	/* Check result */
	lui	$9,	0xFFFF			/* ld for bit-wise inv	*/
	ori	$9,	$9,	0xFFFF
	ori	$3,	$0,	0x0080		/* len of data (bytes)	*/
	ori	$7,	$0,	0x0001		/* number of spans	*/
	ori	$8,	$0,	0x0018		/* number of skips	*/
	or	$4,	$11,	$0		/* R4 = R11 =DRAM addr	*/
	or	$6,	$10,	$0		/* R6 = R10 =DMEM addr	*/
Chk42:	lw	$5,	0x0000 ($6)		/* read test data	*/
	xor	$5,	$5,	$9		/* convert data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	nop					/* bne delay slot	*/
	sw	$5,	0x0000 ($6)		/* restore data	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	bne	$3,	$0,	Chk42		/* check if done	*/
	nop					/* bne delay slot	*/
	beq	$7,	$0,	Done42		/* exit if zero span	*/
	ori	$3,	$0,	0x0080		/* reload length	*/
	add	$4,	$4,	$8		/* adjust answer	*/
	add	$7,	$7,	$9		/* decrement span cnt	*/
	j	Chk42				/* go loop		*/
Done42:
	/* Clean-up RDRAM */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$3			/* initiate DMA write	*/
Cln42:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Cln42		/* wait for DMA to end	*/
	nop					/* bne delay slot	*/

	/****************************************************************
	                           DMA TEST #3.43
	 ****************************************************************/
	ori	$1,	$0,	0x002B		/* 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,	0x27E8
	lui	$13,	0x0200			/* R13 = WRITE DMA LEN	*/
	ori	$13,	$13,	0x207F

	/* Prepare DMA write data */
	lui	$9,	0xFFFF			/* ld for bit-wise inv	*/
	ori	$9,	$9,	0xFFFF
	or	$6,	$10,	$0		/* copy DMEM address	*/
	xor	$4,	$11,	$9		/* gen data pattern	*/
	ori	$3,	$0,	0x0080		/* len of data (bytes)	*/
	ori	$7,	$0,	0x0002		/* number of spans	*/
	ori	$8,	$0,	0x0020		/* number of skips	*/
Prep43:	sw	$4,	0x0000 ($6)		/* wr pattn into DMEM	*/
	sub	$4,	$4,	$2		/* update data pattern	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	add	$6,	$6,	$2		/* update DMEM pointer	*/
	bne	$3,	$0,	Prep43		/* done?		*/
	nop					/* bne delay slot	*/
	beq	$7,	$0,	Cont43		/* exit loop if 0 span	*/
	ori	$3,	$0,	0x0080		/* reload length	*/
	sub	$4,	$4,	$8		/* adjust data		*/
	add	$7,	$7,	$9		/* funny decrement	*/
	j	Prep43				/* go look		*/
Cont43:
	/* DMA write */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$3			/* initiate DMA write	*/
Write43:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Write43		/* wait for DMA to end	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x29D3			/* load random number	*/
	ori	$9,	$9,	0x5DAB
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x007C		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/
	addi	$6,	$6,	0x0004		
	sw	$9,	0x0000 ($6)		/* and again		*/
	addi	$6,	$6,	0x007C		
	sw	$9,	0x0000 ($6)		/* and one last time	*/

	/* DMA read data back */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$2			/* initiate DMA read	*/
Read43:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read43		/* wait for DMA to end	*/

	/* Check result */
	lui	$9,	0xFFFF			/* ld for bit-wise inv	*/
	ori	$9,	$9,	0xFFFF
	ori	$3,	$0,	0x0080		/* len of data (bytes)	*/
	ori	$7,	$0,	0x0002		/* number of spans	*/
	ori	$8,	$0,	0x0020		/* number of skips	*/
	or	$4,	$11,	$0		/* R4 = R11 =DRAM addr	*/
	or	$6,	$10,	$0		/* R6 = R10 =DMEM addr	*/
Chk43:	lw	$5,	0x0000 ($6)		/* read test data	*/
	xor	$5,	$5,	$9		/* convert data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	nop					/* bne delay slot	*/
	sw	$5,	0x0000 ($6)		/* restore data	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	bne	$3,	$0,	Chk43		/* check if done	*/
	nop					/* bne delay slot	*/
	beq	$7,	$0,	Done43		/* exit if zero span	*/
	ori	$3,	$0,	0x0080		/* reload length	*/
	add	$4,	$4,	$8		/* adjust answer	*/
	add	$7,	$7,	$9		/* decrement span cnt	*/
	j	Chk43				/* go loop		*/
Done43:
	/* Clean-up RDRAM */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$3			/* initiate DMA write	*/
Cln43:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Cln43		/* wait for DMA to end	*/
	nop					/* bne delay slot	*/

	/****************************************************************
	                           DMA TEST #3.44
	 ****************************************************************/
	ori	$1,	$0,	0x002C		/* 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,	0x27F0
	lui	$13,	0x0280			/* R13 = WRITE DMA LEN	*/
	ori	$13,	$13,	0x107F

	/* Prepare DMA write data */
	lui	$9,	0xFFFF			/* ld for bit-wise inv	*/
	ori	$9,	$9,	0xFFFF
	or	$6,	$10,	$0		/* copy DMEM address	*/
	xor	$4,	$11,	$9		/* gen data pattern	*/
	ori	$3,	$0,	0x0080		/* len of data (bytes)	*/
	ori	$7,	$0,	0x0001		/* number of spans	*/
	ori	$8,	$0,	0x0028		/* number of skips	*/
Prep44:	sw	$4,	0x0000 ($6)		/* wr pattn into DMEM	*/
	sub	$4,	$4,	$2		/* update data pattern	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	add	$6,	$6,	$2		/* update DMEM pointer	*/
	bne	$3,	$0,	Prep44		/* done?		*/
	nop					/* bne delay slot	*/
	beq	$7,	$0,	Cont44		/* exit loop if 0 span	*/
	ori	$3,	$0,	0x0080		/* reload length	*/
	sub	$4,	$4,	$8		/* adjust data		*/
	add	$7,	$7,	$9		/* funny decrement	*/
	j	Prep44				/* go look		*/
Cont44:
	/* DMA write */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$3			/* initiate DMA write	*/
Write44:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Write44		/* wait for DMA to end	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x3B1A			/* load random number	*/
	ori	$9,	$9,	0x6BE8
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x007C		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/
	addi	$6,	$6,	0x0004		
	sw	$9,	0x0000 ($6)		/* and again		*/
	addi	$6,	$6,	0x007C		
	sw	$9,	0x0000 ($6)		/* and one last time	*/

	/* DMA read data back */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$2			/* initiate DMA read	*/
Read44:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read44		/* wait for DMA to end	*/

	/* Check result */
	lui	$9,	0xFFFF			/* ld for bit-wise inv	*/
	ori	$9,	$9,	0xFFFF
	ori	$3,	$0,	0x0080		/* len of data (bytes)	*/
	ori	$7,	$0,	0x0001		/* number of spans	*/
	ori	$8,	$0,	0x0028		/* number of skips	*/
	or	$4,	$11,	$0		/* R4 = R11 =DRAM addr	*/
	or	$6,	$10,	$0		/* R6 = R10 =DMEM addr	*/
Chk44:	lw	$5,	0x0000 ($6)		/* read test data	*/
	xor	$5,	$5,	$9		/* convert data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	nop					/* bne delay slot	*/
	sw	$5,	0x0000 ($6)		/* restore data	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	bne	$3,	$0,	Chk44		/* check if done	*/
	nop					/* bne delay slot	*/
	beq	$7,	$0,	Done44		/* exit if zero span	*/
	ori	$3,	$0,	0x0080		/* reload length	*/
	add	$4,	$4,	$8		/* adjust answer	*/
	add	$7,	$7,	$9		/* decrement span cnt	*/
	j	Chk44				/* go loop		*/
Done44:
	/* Clean-up RDRAM */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$3			/* initiate DMA write	*/
Cln44:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Cln44		/* wait for DMA to end	*/
	nop					/* bne delay slot	*/

	/****************************************************************
	                           DMA TEST #3.45
	 ****************************************************************/
	ori	$1,	$0,	0x002D		/* 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	$13,	0x0300			/* R13 = WRITE DMA LEN	*/
	ori	$13,	$13,	0x207F

	/* Prepare DMA write data */
	lui	$9,	0xFFFF			/* ld for bit-wise inv	*/
	ori	$9,	$9,	0xFFFF
	or	$6,	$10,	$0		/* copy DMEM address	*/
	xor	$4,	$11,	$9		/* gen data pattern	*/
	ori	$3,	$0,	0x0080		/* len of data (bytes)	*/
	ori	$7,	$0,	0x0002		/* number of spans	*/
	ori	$8,	$0,	0x0030		/* number of skips	*/
Prep45:	sw	$4,	0x0000 ($6)		/* wr pattn into DMEM	*/
	sub	$4,	$4,	$2		/* update data pattern	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	add	$6,	$6,	$2		/* update DMEM pointer	*/
	bne	$3,	$0,	Prep45		/* done?		*/
	nop					/* bne delay slot	*/
	beq	$7,	$0,	Cont45		/* exit loop if 0 span	*/
	ori	$3,	$0,	0x0080		/* reload length	*/
	sub	$4,	$4,	$8		/* adjust data		*/
	add	$7,	$7,	$9		/* funny decrement	*/
	j	Prep45				/* go look		*/
Cont45:
	/* DMA write */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$3			/* initiate DMA write	*/
Write45:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Write45		/* wait for DMA to end	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x7B71			/* load random number	*/
	ori	$9,	$9,	0x2FE6
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x007C		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/
	addi	$6,	$6,	0x0004		
	sw	$9,	0x0000 ($6)		/* and again		*/
	addi	$6,	$6,	0x007C		
	sw	$9,	0x0000 ($6)		/* and one last time	*/

	/* DMA read data back */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$2			/* initiate DMA read	*/
Read45:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read45		/* wait for DMA to end	*/

	/* Check result */
	lui	$9,	0xFFFF			/* ld for bit-wise inv	*/
	ori	$9,	$9,	0xFFFF
	ori	$3,	$0,	0x0080		/* len of data (bytes)	*/
	ori	$7,	$0,	0x0002		/* number of spans	*/
	ori	$8,	$0,	0x0030		/* number of skips	*/
	or	$4,	$11,	$0		/* R4 = R11 =DRAM addr	*/
	or	$6,	$10,	$0		/* R6 = R10 =DMEM addr	*/
Chk45:	lw	$5,	0x0000 ($6)		/* read test data	*/
	xor	$5,	$5,	$9		/* convert data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	nop					/* bne delay slot	*/
	sw	$5,	0x0000 ($6)		/* restore data	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	bne	$3,	$0,	Chk45		/* check if done	*/
	nop					/* bne delay slot	*/
	beq	$7,	$0,	Done45		/* exit if zero span	*/
	ori	$3,	$0,	0x0080		/* reload length	*/
	add	$4,	$4,	$8		/* adjust answer	*/
	add	$7,	$7,	$9		/* decrement span cnt	*/
	j	Chk45				/* go loop		*/
Done45:
	/* Clean-up RDRAM */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$3			/* initiate DMA write	*/
Cln45:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Cln45		/* wait for DMA to end	*/
	nop					/* bne delay slot	*/

	/****************************************************************
	                           DMA TEST #3.46
	 ****************************************************************/
	ori	$1,	$0,	0x002E		/* 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	$13,	0x0380			/* R13 = WRITE DMA LEN	*/
	ori	$13,	$13,	0x107F

	/* Prepare DMA write data */
	lui	$9,	0xFFFF			/* ld for bit-wise inv	*/
	ori	$9,	$9,	0xFFFF
	or	$6,	$10,	$0		/* copy DMEM address	*/
	xor	$4,	$11,	$9		/* gen data pattern	*/
	ori	$3,	$0,	0x0080		/* len of data (bytes)	*/
	ori	$7,	$0,	0x0001		/* number of spans	*/
	ori	$8,	$0,	0x0038		/* number of skips	*/
Prep46:	sw	$4,	0x0000 ($6)		/* wr pattn into DMEM	*/
	sub	$4,	$4,	$2		/* update data pattern	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	add	$6,	$6,	$2		/* update DMEM pointer	*/
	bne	$3,	$0,	Prep46		/* done?		*/
	nop					/* bne delay slot	*/
	beq	$7,	$0,	Cont46		/* exit loop if 0 span	*/
	ori	$3,	$0,	0x0080		/* reload length	*/
	sub	$4,	$4,	$8		/* adjust data		*/
	add	$7,	$7,	$9		/* funny decrement	*/
	j	Prep46				/* go look		*/
Cont46:
	/* DMA write */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$3			/* initiate DMA write	*/
Write46:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Write46		/* wait for DMA to end	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x1FBC			/* load random number	*/
	ori	$9,	$9,	0x3FD3
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x007C		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/
	addi	$6,	$6,	0x0004		
	sw	$9,	0x0000 ($6)		/* and again		*/
	addi	$6,	$6,	0x007C		
	sw	$9,	0x0000 ($6)		/* and one last time	*/

	/* DMA read data back */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$2			/* initiate DMA read	*/
Read46:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read46		/* wait for DMA to end	*/

	/* Check result */
	lui	$9,	0xFFFF			/* ld for bit-wise inv	*/
	ori	$9,	$9,	0xFFFF
	ori	$3,	$0,	0x0080		/* len of data (bytes)	*/
	ori	$7,	$0,	0x0001		/* number of spans	*/
	ori	$8,	$0,	0x0038		/* number of skips	*/
	or	$4,	$11,	$0		/* R4 = R11 =DRAM addr	*/
	or	$6,	$10,	$0		/* R6 = R10 =DMEM addr	*/
Chk46:	lw	$5,	0x0000 ($6)		/* read test data	*/
	xor	$5,	$5,	$9		/* convert data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	nop					/* bne delay slot	*/
	sw	$5,	0x0000 ($6)		/* restore data	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	bne	$3,	$0,	Chk46		/* check if done	*/
	nop					/* bne delay slot	*/
	beq	$7,	$0,	Done46		/* exit if zero span	*/
	ori	$3,	$0,	0x0080		/* reload length	*/
	add	$4,	$4,	$8		/* adjust answer	*/
	add	$7,	$7,	$9		/* decrement span cnt	*/
	j	Chk46				/* go loop		*/
Done46:
	/* Clean-up RDRAM */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$3			/* initiate DMA write	*/
Cln46:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Cln46		/* wait for DMA to end	*/
	nop					/* bne delay slot	*/

	/****************************************************************
	                           DMA TEST #3.47
	 ****************************************************************/
	ori	$1,	$0,	0x002F		/* 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	$13,	0x0400			/* R13 = WRITE DMA LEN	*/
	ori	$13,	$13,	0x207F

	/* Prepare DMA write data */
	lui	$9,	0xFFFF			/* ld for bit-wise inv	*/
	ori	$9,	$9,	0xFFFF
	or	$6,	$10,	$0		/* copy DMEM address	*/
	xor	$4,	$11,	$9		/* gen data pattern	*/
	ori	$3,	$0,	0x0080		/* len of data (bytes)	*/
	ori	$7,	$0,	0x0002		/* number of spans	*/
	ori	$8,	$0,	0x0040		/* number of skips	*/
Prep47:	sw	$4,	0x0000 ($6)		/* wr pattn into DMEM	*/
	sub	$4,	$4,	$2		/* update data pattern	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	add	$6,	$6,	$2		/* update DMEM pointer	*/
	bne	$3,	$0,	Prep47		/* done?		*/
	nop					/* bne delay slot	*/
	beq	$7,	$0,	Cont47		/* exit loop if 0 span	*/
	ori	$3,	$0,	0x0080		/* reload length	*/
	sub	$4,	$4,	$8		/* adjust data		*/
	add	$7,	$7,	$9		/* funny decrement	*/
	j	Prep47				/* go look		*/
Cont47:
	/* DMA write */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$3			/* initiate DMA write	*/
Write47:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Write47		/* wait for DMA to end	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x1853			/* load random number	*/
	ori	$9,	$9,	0x5781
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x007C		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/
	addi	$6,	$6,	0x0004		
	sw	$9,	0x0000 ($6)		/* and again		*/
	addi	$6,	$6,	0x007C		
	sw	$9,	0x0000 ($6)		/* and one last time	*/

	/* DMA read data back */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$2			/* initiate DMA read	*/
Read47:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read47		/* wait for DMA to end	*/

	/* Check result */
	lui	$9,	0xFFFF			/* ld for bit-wise inv	*/
	ori	$9,	$9,	0xFFFF
	ori	$3,	$0,	0x0080		/* len of data (bytes)	*/
	ori	$7,	$0,	0x0002		/* number of spans	*/
	ori	$8,	$0,	0x0040		/* number of skips	*/
	or	$4,	$11,	$0		/* R4 = R11 =DRAM addr	*/
	or	$6,	$10,	$0		/* R6 = R10 =DMEM addr	*/
Chk47:	lw	$5,	0x0000 ($6)		/* read test data	*/
	xor	$5,	$5,	$9		/* convert data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	nop					/* bne delay slot	*/
	sw	$5,	0x0000 ($6)		/* restore data	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	bne	$3,	$0,	Chk47		/* check if done	*/
	nop					/* bne delay slot	*/
	beq	$7,	$0,	Done47		/* exit if zero span	*/
	ori	$3,	$0,	0x0080		/* reload length	*/
	add	$4,	$4,	$8		/* adjust answer	*/
	add	$7,	$7,	$9		/* decrement span cnt	*/
	j	Chk47				/* go loop		*/
Done47:
	/* Clean-up RDRAM */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$3			/* initiate DMA write	*/
Cln47:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Cln47		/* wait for DMA to end	*/
	nop					/* bne delay slot	*/

	/****************************************************************
	                           DMA TEST #3.48
	 ****************************************************************/
	ori	$1,	$0,	0x0030		/* 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,	0x2F78
	lui	$13,	0x0480			/* R13 = WRITE DMA LEN	*/
	ori	$13,	$13,	0x107F

	/* Prepare DMA write data */
	lui	$9,	0xFFFF			/* ld for bit-wise inv	*/
	ori	$9,	$9,	0xFFFF
	or	$6,	$10,	$0		/* copy DMEM address	*/
	xor	$4,	$11,	$9		/* gen data pattern	*/
	ori	$3,	$0,	0x0080		/* len of data (bytes)	*/
	ori	$7,	$0,	0x0001		/* number of spans	*/
	ori	$8,	$0,	0x0048		/* number of skips	*/
Prep48:	sw	$4,	0x0000 ($6)		/* wr pattn into DMEM	*/
	sub	$4,	$4,	$2		/* update data pattern	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	add	$6,	$6,	$2		/* update DMEM pointer	*/
	bne	$3,	$0,	Prep48		/* done?		*/
	nop					/* bne delay slot	*/
	beq	$7,	$0,	Cont48		/* exit loop if 0 span	*/
	ori	$3,	$0,	0x0080		/* reload length	*/
	sub	$4,	$4,	$8		/* adjust data		*/
	add	$7,	$7,	$9		/* funny decrement	*/
	j	Prep48				/* go look		*/
Cont48:
	/* DMA write */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$3			/* initiate DMA write	*/
Write48:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Write48		/* wait for DMA to end	*/

	/* Mess up DMEM before reading data back */
	lui	$9,	0x04F5			/* load random number	*/
	ori	$9,	$9,	0x13EA
	or	$6,	$10,	$0		/* copy DMEM address	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM	*/
	addi	$6,	$6,	0x007C		/* goto end of DMEM	*/
	sw	$9,	0x0000 ($6)		/* mess-up DMEM again	*/
	addi	$6,	$6,	0x0004		
	sw	$9,	0x0000 ($6)		/* and again		*/
	addi	$6,	$6,	0x007C		
	sw	$9,	0x0000 ($6)		/* and one last time	*/

	/* DMA read data back */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$2			/* initiate DMA read	*/
Read48:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Read48		/* wait for DMA to end	*/

	/* Check result */
	lui	$9,	0xFFFF			/* ld for bit-wise inv	*/
	ori	$9,	$9,	0xFFFF
	ori	$3,	$0,	0x0080		/* len of data (bytes)	*/
	ori	$7,	$0,	0x0001		/* number of spans	*/
	ori	$8,	$0,	0x0048		/* number of skips	*/
	or	$4,	$11,	$0		/* R4 = R11 =DRAM addr	*/
	or	$6,	$10,	$0		/* R6 = R10 =DMEM addr	*/
Chk48:	lw	$5,	0x0000 ($6)		/* read test data	*/
	xor	$5,	$5,	$9		/* convert data	*/
	bne	$5,	$4,	Fail		/* verify data		*/
	nop					/* bne delay slot	*/
	sw	$5,	0x0000 ($6)		/* restore data	*/
	sub	$3,	$3,	$2		/* decrement counter	*/
	add	$4,	$4,	$2		/* predict next data	*/
	add	$6,	$6,	$2		/* advance DMEM ptr	*/
	bne	$3,	$0,	Chk48		/* check if done	*/
	nop					/* bne delay slot	*/
	beq	$7,	$0,	Done48		/* exit if zero span	*/
	ori	$3,	$0,	0x0080		/* reload length	*/
	add	$4,	$4,	$8		/* adjust answer	*/
	add	$7,	$7,	$9		/* decrement span cnt	*/
	j	Chk48				/* go loop		*/
Done48:
	/* Clean-up RDRAM */
	mtc0	$10,	$0			/* DMEM ad -> DMA reg	*/
	mtc0	$11,	$1			/* DRAM ad -> DMA reg	*/
	mtc0	$13,	$3			/* initiate DMA write	*/
Cln48:	mfc0	$14,	$4			/* read status reg	*/
	andi	$15,	$14,	0x0004		/* extract busy bit	*/
	bne	$15,	$0,	Cln48		/* wait for DMA to end	*/
	nop					/* bne delay slot	*/

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

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

Fail:	break