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 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854
|
*** CVS tagged as ARANYM_0_9_4_BETA2
2006/11/27 - Andreas
- uae_cpu/fpu/fpu_ieee.cpp: Fix conversion of extended zero/Inf/NaN to
host format.
2006/11/27 - Petr
- natfeat/ethernet.cpp, parameters.*: "MAC=aa:bb:cc:dd:ee:ff" added to
[ETHx] section of config file - set your desired MAC Address freely now.
2006/11/26 - Andreas
- uae_cpu/fpu/fpu_{uae,ieee}.cpp: Fix aliasing issues.
2006/11/26 - Standa
- nfvdi_soft.cpp: Fixes for different vswr_mode alpha expansions
(newsgroup reader Troll look good now).
2006/11/25 - Standa
- nfvdi_soft.cpp: Other then 4 byte per pixel color depth is unsupported
for the 8bit alpha expand mode used by fVDI antialiasing renderer.
2006/11/22 - Xavier
- uae_cpu/cpummu.cpp: Reverting back to previous state. This is not a bug
since instruction is not restarted if access fault is caused by a write.
2006/11/21 - Xavier
- uae_cpu/cpummu.cpp: Restore memory to its original state when a misaligned
memory write accessing 2 different pages generates an access fault on the
2nd page. Should fix potential problems with read-modify-instructions like
NOT, NEG, ADD, SUB,...
2006/11/18 - Petr
- Xavier's patch fixes the following instructions that probably misbehaved
when restarted due to bus error: MOVE, RTR, SBCD, SUBX, ABCD and ADDX.
- Bill Allombert's patches fix several FPU emulation errors: FCMP (Octave
didn't even start), FETOX and ATANH (the latest fixed by correcting
function fp_sgn1()).
2006/11/13 - Petr
- parameters.cpp: there is no reasonable default filename for files that
will aranym write to thus MIDI filename set to empty and PARALLEL
outputs back to stderr.
- parallel_file.cpp: make sure Type is set to "file" before creating
the file. This allows for Type = none like in MIDI. Also ensure
filename is not empty.
- midi_file.cpp: ensure filename is not empty.
- natfeat/nfaudio: implemented simulation of locking. At least the Locksnd()
and Unlocksnd() XBIOS calls should return proper values now.
- parameters.cpp: in [LILO] Kernel and Ramdisk made Path_Tag (filenames
might be relative or contain the "~").
2006/11/11 - Andreas
- uae_cpu/gencpu.c: Perform pre-decrement side effect only after fetching
the value from memory.
2006/11/11 - Patrice
- main,hostscreen: Move video refresh stuff from main to hostscreen.
- input: Use const reference to process events.
2006/11/10 - Petr
- uae_cpu/gencpu.cpp: fixed RTD insn emulation bug (same problem as the LINK
insn below). According to a careful review at least 10 MOVE insns are
still affected by this CPU emulation problem on an unmapped memory page
boundary (op_11d8_0, op_11e0_0, op_13d8_0, op_2158_0, op_2160_0, op_21d8_0,
op_21e0_0, op_23d8_0, op_23e0_0, op_33d8_0)
2006/11/10 very a.m. - Petr
- uae_cpu/gencpu.cpp: fixed LINK insn bug - in MMU mode, when restarted due
to fetching its operand from an unmapped memory page it decremented
the stack pointer twice.
This was causing all sorts of weird crashes in Linux-m68k.
Similar fix is likely needed for all CPU instructions...
- ndebug.cpp: running with debugger active made much faster
2006/11/06 - milan
- ndebug.cpp: roll back of Joy's 23rd October
- debug.cpp: roll back of Joy's 23rd October
- CPU debugger is primary for CPU and key OS functions debugging
2006/11/02 - Petr
- parameters.cpp: store IKBD settings to [IKBD] section in config file
2006/10/28 - milan
- ndebug.*: const char declarations in debug printfs
- cfgopts.h: const char declaration of option name
- natfeat/hostfs.cpp: new Solaris versions support struct statvfs
- changes around header files on many places - aranym header files included
at first
2006/10/23 - Petr
- newcpu.cpp: "usp" register dump added to flight recorder
- debug.cpp: ignore_irq set to 1 by default (don't trace interrupt routines)
- ndebug.cpp: deactivate_debugger on 'g' (so you can enter debugger again).
this breaks breakpoints support
2006/10/22 - Petr
- uae_cpu/debug.cpp: reformatted using Artistic Style v1.18 using
the following switches: "--style=kr --indent=tab=4 --brackets=linux
--brackets=break-closing-headers --indent-cases".
Also added a simple command prompt prefix: 'i'=fire IRQs while in debugger,
'I'=ignore IRQ routines while tracing.
- input.cpp: fixed invoking of internal debugger by pressing the hotkey
2006/10/20 - Petr
- uae_cpu/fpu/types.h: "Fix long double support for x86 targets if
-m128bit-long-double" - taken from Basilisk II CVS.
- input.cpp: Flight Recorder is enabled by pressing the right Shift
and disabled by pressing the left Shift key.
- uae_cpu/newcpu.cpp: fixed flushing of the flight recorder buffer
if driven by hotkeys. Also pre-set more reasonable defaults to
FRLOG_XXX defines.
2006/10/12 - Petr
- added third MIDI type: 'none' and made it default to avoid creating
the /tmp/aranym-midi.bin file if there is no MIDI output.
- bootos_linux: added the RESET instruction before the first kernel boot
in order to properly initialize hardware. Fixes bug #1543599
- aranym.spec: David Bolt continuously improves the spec file - now it
builds the RPM for SUSE, RedHat and also Mandriva and includes
desktop entry (aranym.desktop, added to CVS) and an icon.
2006/10/11 - Petr
- ikbd, rtc: switch between localtime() and gmtime() (returning UTC).
- parameters, doc/config: new parameter "GMTime" set to No by default.
2006/10/09 - Petr
- configure.ac: after some profiling (http://wiki.aranym.org/speedtest)
I decided to enable protect2k by default for better compatibility
with real Atari hardware. Also the cxx-exceptions are enabled by default
now for non-SIGSEGV memory boundary checks. They bring a major speed up
to MMU mode (up to 60% in the speed test mentioned above).
2006/09/29 - Petr
- main_unix.cpp: QuitEmulator didn't actually quit the program which was
causing troubles mainly when no operating system was found (i.e. when the
InitAll() failed).
- input.cpp: InputExit() added as counterpart to InputInit() - it releases
the input focus.
- main.cpp: free input focus grab in ExitAll() by calling InputExit() -
if the ExitAll() freezed somehow (like by calling SDL_CloseAudio, for
example) this would at least let the user control their desktop...
- Unix/cygwin/parameters_cygwin.cpp: getHomeFolder() and getDataFolder()
ignore Cygwin environment now. Home is in Windows user's home (usually
somewhere below Documents and Settings), data is where the ARAnyM's
executable resides.
Based on patch by Blaine Brysh (bbrysh at shaw.ca). Thanks.
- main_unix, linux/sigsegv_linux_x86: remove_signal_handler (restore original
sigsegv handler if there was any) right after the CPU emulation finished.
This is another improvement for a possible crash in QuitEmulator that
would now let SDL to clean itself (SDL parachute).
2006/09/26 - Patrice
- main.cpp: Pause audio before killing hw then host classes.
2006/09/24 - Petr
- GNU/kFreeBSD support in configure.ac thanks to Petr Salinger. Closes Debian
BTS #388995 and also ARAnyM's patch request #1549200.
2006/09/22 - Patrice
- midi: Splitted in base class and implementation class (file output atm).
Added /dev/sequencer output class for Linux.
*** CVS tagged as ARANYM_0_9_4_BETA
2006/09/22 - Petr
- main.cpp: CapsLock in newer libsdl worked differently in MS-Windows than
on my setup. Took me quite some time to figure out that the Debian's
libsdl is patched with a fix for CapsLock+NumLock (see Debian BTS #317010).
Wish this fix was in upstream but until it's there ARAnyM must contain
a workaround that basically disables this fix in Debian's libsdl.
- configure.ac, Makefile.in, natfeat/*: --enable-nfclipbrd added. Allowed
in cygwin only since there is now implementation of Clipboard
interconnection for MS-Windows only.
- doc/config: TuneAlignment, TuneNOPfill removed;
BootstrapArgs, JITInline added.
- doc/aranym.1: man page updated (-P added), project URL corrected
- doc/aranym-jit.1, aranym-mmu.1, aratapif.1: new manpages added
- aranym.spec: thanks to David Bolt the spec file does not try to build
the JIT version on 64bit system (which caused the whole build to fail).
- aranym.spec, README, NEWS, TODO, version.h: updated for release
2006/09/14 - Standa
- main.cpp: hack for cygwin vs. mingw32 SDL_put(get)env mismatch workaround
added.
2006/09/09 - Patrice
- Videl: copy high bytes of color component to lower bytes, to make white
really white. STE has 4bits/component, hence 0xf was 0xf0, Falcon has
6bits/component.
2006/09/04 - Patrice
- Midi: don't bufferize data.
2006/08/31 - Philipp
- Check global bootdrive variable before saving and after loading config file:
it should always be a printable ASCII value. (0 is not acceptable)
2006/08/29 - Petr
- ARAnyM window positioning code moved from hostscreen.cpp to main.cpp,
changed from platform specific window manager hacks to documented SDL
environment variables and changed the command line option to "-P xxx,yyy"
or simply "-P center" for centered window. This also removes the problematic
stuff in configure.ac for detecting X11 library I added recently.
- Linux/m68k now reboots properly (before ARAnyM died with double bus error).
Problem lied in missing 'virtual' keyword in definition of 'reset' function
in parent class (BootOs). Beware! This inheritance trap can be hard to spot.
- emul_op: implemented new M68K_EMUL_OP_RESET instruction that calls the
BootOs::reset function and basically reloads the linux kernel into RAM.
- bootos_linux: created a simple OS init routine for successful Linux/m68k
reboot (the kernel jumps to $e00030). Makes use of M68K_EMUL_OP_RESET.
2006/08/29 - Patrice
- midi: output midi as raw values.
2006/08/29 - Philipp
- Repaired Mac OS X project file. Now compiles under Xcode 1.5 and can be
upgraded to Xcode 2.4 (by ignoring the "path empty" error message).
Some changes as suggested by Francois. Slight reorganization. Added README.txt
Still has to be tested in relation to previous binary releases.
- Updated autogen.sh script to stop if configure step fails. So it's easier to
spot the error message and one doesn't get the idea that everything is OK!
- Swapped meaning of CTRL and META key for Mac OS X back to "the logical way":
The Apple key(s) represent left and right meta key and CTRL key is mapped to
Atari CTRL key. ALT was already mapped to Atari ALT.
- A new, more Mac like set of keyboard shortcuts defined:
Left Apple + , = Open preferences dialog
Left Apple + q = Quit
Left Apple + r = Reboot
Left Apple + escape = Grab/Ungrab mouse cursor
Left Apple + d = Enable debugger (if built-in)
Left Apple + s = Save screenshot
Left Apple + f = Toggle fullscreen mode
As you see, I wrote "Left Apple" because you can't define a hotkey to use
"any" Apple key. This is a limitation of the current way how hotkeys are
defined.
2006/08/25 - Philipp
- Various smaller corrections:
cdrom.cpp: Corrected some compiler warnings and include statements for OS X
cfgopts.h: Added C++ compiler check to avoid compile errors when included
from Objective C files.
parameters.h: Added C++ compiler check and removed parse error when included
from Objective C files.
compemu_support.cpp, sysdeps.h: added correct PowerPC detection on Mac OS X
systems.
- hostscreen.h: Fixed p2c routine for big endian, colors are now correct.
2006/08/25 - Patrice
- mkdir() also works for Darwin
- Fixed hostscreen p2c routines on big endian, from Philipp Donze patch.
2006/08/25 - Petr
- memory.h: finally found and fixed two (hopefully last) MMU problems.
2006/08/10 - Patrice
- HostFilesys::makeDir() now accepts permission flags, to be used by hostfs nf.
- Disable hardware surface usage, to avoid locking the screen too frequently.
Seems to be the only cause for slowness on MacOSX when not using OpenGL.
2006/07/17 - Patrice
- mingw does not have mkdir() with permissions.
2006/07/13 - Standa
- input.cpp: fixing bug #1521310: Shifters are now released before the
GUI thread is started.
- hostscreen.cpp: Trying to fix the toggle fullscreen. Updating the
screen after toggle so that it doesn't stay black. Also calls
setWindowSize() to set everything correctly. It works for me now.
2006/07/12 - Patrice
- mingw does not have gettimeofday() function.
2006/07/10 - Petr
- hostscreen.cpp: window positioning surrounded with an additional
SDL_VIDEO_DRIVER_X11 condition
- configure.ac: check for X11/Xlib.h is skipped for MacOSX that has the
include file available but does not use X11 for the gfx output.
Proper fix would probably be to rely on the SDL_VIDEO_DRIVER_X11 define
even in the configure...
2006/07/10 - Petr
- hostscreen.cpp: window positioning surrounded with #if HAVE_X11_XLIB_H
- configure.ac: check for X11/Xlib.h added (for the window positioning)
- parameters.cpp: "-P" documented in the --help
2006/06/25 - Petr
- hostscreen.cpp: ignore window positioning on OS_darwin - that one does not
offer any SDL_SysWMinfo struct. Patch suggested by Philipp Donz, thanks.
2006/06/05 - johan
- nfvdi_opengl.cpp: Corrected alpha mask when blitting from screen to memory.
2006/06/01 - johan
- hostscreen.h: Major speedup for bitplane to chunky conversion.
Deactivated on big endian CPUs due to bit order differences.
2006/05/30 - Andreas
- natfeat/atari_rootsec.h: Fix definition of fixed size integers.
2006/05/08 - Petr
- hostscreen.cpp: implemented window positioning for X11. Needs clean up.
- parameters.cpp: window positioning no longer cygwin specific.
- uae_cpu/newcpu: Flight Recorder more configurable (see the FRLOG #defines)
2006/05/08 - milan
- JITc: cleaning, sync with BII
2006/05/05 - Petr
- uae-cpu/newcpu.cpp: improved Flight Recorder. Now can dump to a continuous
log, skip interrupt handlers, omit register list and most important -
it does not hang the OS when fetching the OPCODE like it used to do
regularly.
- uae-cpu/compiler/compemu_support.cpp: adapted for passing opcode into
flight recorder. NB! One place is unfinished - line 6710 - I don't know
how to pass in the opcode as second parameter, sorry.
2006/05/01 - Petr
- uae-cpu/memory.h: added #ifdef PROTECT2K that brings more ST/TT hardware
compatibility to ARAnyM. When defined it protects the first 2 kB of RAM
against read/write access in user mode. It's disabled by default
mainly because it will kill some performance when activated.
- configure.ac: --enable-protect2k added. It's not enabled by default
(see above, performance reasons) but it gets enabled as soon as you
opt for full MMU emulation. In such case the additional performance
loss will not be noticeable and it will add to more complete real HW
emulation.
- uae-cpu/newcpu.cpp: changed the order of initialization in m68k_reset()
otherwise the PROTECT2K falls into a recursive death. It might also
fix the problems with rebooting with active MMU (I think it used to crash).
2006/04/13-30 - Standa
- Cygwin build: Clipboard NatFeat added. This is to be used by
a m68k side filesystem to be committed soon.
One would need to point the GEM environment to it by setting the
SCRAPDIR or CLIPBRD variable in most AES configs. It is good
to know that e.g. Thing overrides this setting with its own.
So one need to configure Thing to the appropriate folder.
2006/04/03 - Standa
- A new BootstrapArgs [GLOBAL] section config argument that is provided
through the BOOTSTRAP NF to EmuTOS which passes those to the kernel
as command line arguments. This allows us to boot without the need
of mint.ini.
E.g. this boots directly without even showing the bootmenu:
Bootstrap = ~/mint/freemint/sys/.compile_arad/mintarad.prg
BootstrapArgs = DEBUG_LEVEL=1 BOOT_DELAY=0 MEM_PROT=NO
BootDrive = C
2006/03/27 - Standa
- In MS Windows the window position can now be set using a command line
argument [-P xpos xpos]. No config file entries added yet.
The command line args are read into bx_options.video.[xy]_win_offset values.
2006/03/03 - Patrice
- nfosmesa.xdd: fixed NF pointer read for MiNT device.
2006/02/27 - Petr
- tools/build-cygwin.sh: version of SDL increased to 1.2.9
- include/host_clock.h: virtual destructor added
- parameters.cpp: anonymous struct named HOTKEYS_REL
2006/02/26 - Standa
- nfvdi_soft: the remaining logical operations implemented for the
8bit alpha expand. Adjusted to work in all TC (16bit-32bit) modes.
2006/02/21 - Standa
- nfvdi_soft: expandBitmap() now alpha expands 8bit chunked
(mfdb_standard = 0x0100) data
*** CVS tagged as ARANYM_0_9_3_BETA
2006/02/20 - Petr
- atari/*: binaries moved to a separate 'afros' CVS repository
- atari/fvdi: removed completely (now hosted in fVDI CVS repository)
- natfeat/fvdidrv_nfapi.h: added from fVDI CVS
- natfeat/nfvdi.cpp: renamed FVDI_TEXT enum to FVDI_TEXT_AREA (to match
the fVDI CVS)
- src/Unix/Makefile.in: updated to not install the missing binaries
- doc/*.html: documentation moved to http://wiki.aranym.org/
- aranym.spec, README, NEWS, TODO, version.h: updated for release
2006/02/12 - Andreas
- Support compiling outside source directory.
2006/02/11 - Patrice
- nfcdrom: Merged SDL backend into base class as default implementation.
2006/02/11 - Petr
- tools/arabridge: added chown $USER /dev/net/tun
2006/02/08 - Standa
- BOOTSTRAP NF added. Using this the EmuTOS bootstraps the e.g. the FreeMiNT
kernel directly (without having to have any boot floppy or HDD image).
More information to come later (not all info is in CVS for all parts ATM).
Two new [GLOBAL] section config entries introduced:
Bootstrap = path/to/the/kernel
BootDrive = X
2006/02/08 - Patrice
- Merged bootos_linux and lilo.
2006/02/06 - Standa
- atari/hostfs and atari/network/ethernet .xfs and .xif stuff moved to the
FreeMiNT CVS. The BetaDOS and src dependencies stay in their spots for now.
- atari/tools/devdos: Fixed a critical bug in the path2cookie() function.
Now it appears to be quite stable (the fix was actually done on 2006/02/05).
2006/02/05 - Andreas
- uae_cpu/cpummu.cpp: Fix parameters of mmu_bus_error.
2006/02/04 - Patrice
- BootOs files split in parts for each bootable OS. Will merge bootos_linux
and lilo later.
2006/02/04 - Standa
- atari/network/ethernet: updated to use nf_ops.h
- atari/network/natfeat.h removed as an obsolete file
- atari/hostfs: All the BetaDOS related code and ifdefs are now isolated
in the metados folder only. atari/hostfs files are basically ready to go
to the FreeMiNT cvs if we decide to do so. I also did a global aranym
-> hostfs replace as the source is not really aranym specific.
2006/02/03 - Patrice
- atari/nfpci, atari/nfosmesa, atari/nfosmesa.xdd: updated for new nf_ops.h.
- Disable check for SDL_LoadObject function in configure, it is present in
SDL>=1.2.6. The check fails on MacOSX for some different linker flag.
- Created an host clock class to encapsulate SDL/Unix time functions.
2006/02/01 - Patrice
- atari/nfcdrom, atari/nfjpeg: updated for new nf_ops.h
2006/01/20 - Standa
- atari/natfeat: the natfeat.h is now deprecated. A new nf_ops.h has been
taken from the FreeMiNT (freemint\sys\mint\arch\nf_ops.h) and adjusted for
out of mint cvs tree use.
- atari/nfstderr: converted to use the new nf_ops.h (nf_init() used to detect
NFs and the returned 'struct nf_ops' pointer to call the features). Also
there is the freemint\sys\xdd\nfstderr folder containing the .xdd equivalent
of this driver for FreeMiNT. A great example how to do basic device driver
for TOS as well as for FreeMiNT with almost the same code.
- atari/hostfs: uses nf_ops.h now.
Binaries and further documentation is coming soon.
2006/01/29 - Standa
- atari/nfstderr: nfstderr.bos driver that provides write using the NF_STDERR
NatFeat.
- atari/tools/devdos: dev.dos driver that provides a filesystem with all the
.bos drivers mounted. Using this you can use 'cat x.txt x:\dev\nfstderr'
also in TOS.
This dev.dos is generic in the sense that it doesn't depend on aranym in
any way.
2006/01/29 - milan
- cpummu.*, configure.ac: configurable size of ATC
- JITc: fix stack alignment, m68k_compile_execute moved to JITc, sync with BII
2006/01/28 - Petr
- configure.ac: Ingo Schmidt found out that --enable-blitsdlblit binary
crashes with double bus fault. Thus this option is marked as EXPERIMENTAL
UNSUPPORTED and BUGGY. It should probably be either fixed or removed.
- Makefile.in: Ingo Schmidt found out that install phase fails when it is
copying the aratapif binary. Fixed by adding one white space after 'then '.
2006/01/27 - Patrice
- aranym from scratch: started MiNT section.
2006/01/26 - Standa
- hostfs: dirent.d_ino was deprecated in the latest cygwin version. The
stat.st_ino has to be used now.
2006/01/26 - Patrice
- host: Don't need to dynamically create HostAudio object.
- Created HostFilesys class for system-dependent paths functions.
2006/01/23 - Patrice
- host: Added reset() method for host stuff.
2006/01/20 - Patrice
- host_audio: Remove useless/crash prone num_callbacks related stuff.
2005/12/30 - Patrice
- Renamed AUDIO class to more accurate HostAudio class.
- Created a Host class, and put HostAudio in it.
2005/12/29 - Patrice
- Created aranym exception class for future classes that need exceptions.
Also now it can be created with variable list of arguments like printf().
- BootOs uses it now.
2005/12/27 - Standa
- hostfs: fixing f2astrcpy() function migration bug. PureC now works under
MiNT again as expected.
2005/12/26 - Patrice
- hostscreen: remove unneeded inclusion of glext.h, use included SDL one.
2005/12/18 - Patrice
- nfvdi_opengl: fixed getpixel() operation regarding host endianness. Reversed
byte order for blits operations on big endian systems, so that GL_BGRA reads
or writes ARGB pixels. Done for both 16 and 32 bits per pixel.
2005/12/12 - Patrice
- Filled ARAnyM specific drivers section a bit.
2005/12/11 - Patrice
- Renamed rom class to bootos, exceptions reenabled in configure.ac.
New BootOs class used in main.
2005/12/10 - STanda
- autogen.sh: rollback to -r 1.9. You should use ACLOCAL_FLAGS to set the
include path (to whatever folder the sdl.m4 is in using -I /path/to/sdl.m4)
2005/12/09 - Patrice
- Added Rom class and derivatives for TOS, EmuTOS and Linux. For now, this is
disabled till a solution is found to use C++ exceptions along with JIT. Also
if you want to try, add rom.cpp to $(SRCS) in Makefile.in, and #define
ENABLE_CXX_EXCEPTIONS in main.cpp.
The goal was to remove ROM/OS loading/init stuff out of main.cpp. Also, when
resetting with TOS, the MD5 was failing because TOS was patched for ARAnyM.
Both are nicely fixed with such a class.
2005/12/07 - STanda
- parameters: do not screw up all hotkeys if the HOTKEY config section doesn't
exist
2005/12/04 - Patrice
- rtc: added method to read nvram keyboard setting (for future planned stuff
in input).
2005/11/24 - Andreas
- parameters.cpp: Fix aliasing violation and format string.
2005/11/20 - Patrice
- Started 'ARAnyM from scratch HOWTO'.
2005/11/14 - Stefan
- ChangeLog: Updated ChangeLog with missing informations.
- aranym.html: Updated documentation of MaxOS X specific parts.
- configure.ac: Changed name for configurations files to
org.atari.aranym.conf, org.atari.aranym.nvram and org.atari.aranym.keymap.
- input.cpp: removed unneded "#ifdef darwin" for command and control key
change, the function was already specific to darwin.
- nfvdi_opengl.h: Changed include of GL/glu.h to OpenGL/glu.h for darwin.
- nfvdi_opengl.cpp: Changed include of GL/glu.h to OpenGL/glu.h for darwin.
- hostscreen.cpp: Changed include of GL/glu.h to OpenGL/glu.h and GL/glext.h
to OpenGL/glext.h for darwin.
2005/11/10 - Patrice
- dsp_disasm was not building, fixed.
- nfpci: make linux driver better subclass of nfpci, now when nfpci enabled,
you have a default null nfpci driver for non linux systems.
2005/11/8 - Stefan
- Makefile.in: Removed building of ARAnyM.app/Contents/ARAnyM data folder,
in order to give precedence to Library/Application Support/ARAnyM by
default
- configure.ac: Fixed typing error of SDLMain.M file.
2005/11/7 - Stefan
- Makefile.in: Added targets to build an application bundle for MacOS X.
Added suffixes .m and .M to also compile Objective C and Objective C++
sources, which are needed to build the darwin port.
- configure.ac: Splited EXTRASYSSRCS and DEFINES for darwin with fink and
without. Without fink now the source files parameters_darwin.M and
SDLMain.M below src/Unix/darwin/ get compiled and the defines now include
ARANYMCONFIG, ARANYMNVRAM, ARANYMKEYMAP and ARANMYHOME. For darwin without
fink now also the target changed to APP_BUNDLE in order to build an
executable MacOS X application bundle.
- autogen.sh: Added -I $PWD to aclocal command. This solves trouble with
missing macro definitions from sdl.m4, if this file is just copied into the
same directory.
- parameters.h: Put #ifndef around the definitions of ARANYMCONFIG,
ARANYMNVRAM, ARANYMKEYMAP to be able to define their values via
configure.ac.
- input.cpp: Switched behaviour of command and control keys for darwin. So
under MacOS X normal shortcuts are done as usual with the apple key also for
Atari/GEM applications.
- parameters_darwin.M: Objective C code to define versions of the functions
getHomeFolder(), getConfFolder() and getDataFolder(). They return usual
MacOS X pathes like ~/Library/Preferences/ and ~/Library/Application
Support/ARAnyM or a path inside the bundle itself for the configuration
files.
- Info.plist: Updated version informations to 0.9.1alpha. With each official
release the version information should be updated. Can this be done
automatically by the build system?
- SDLMain.M: Completely cleaned up the source code and removed unnecessary
parts.
- English.lproj/aranym.nib: Renamed the resource file from SDLmain.nib to
aranym.nib. Made changes to connect menu entries to according functions in
SDLMain.M.
- German.lproj/aranym.nib: Made a german port of the resources.
- aranym.pbproj: Updated the XCode project to compile also with the changed
Makefile.
- memory.h: Removed unnecessary define of do_get_real_address for darwin port.
- fpu_uae.cpp: Added some defines and using a namespace to overcome
compatibility problems with names inside cmath and cstdio.
2005/10/24 - Andreas
- Makefile.in: update install target for removal of doc/documentation.txt.
- ata.cpp: fix use of uninitialized variable.
2005/10/20 - Petr
- mfp.cpp: compute real TimerC frequency (linux-m68k uses 100 Hz, not 200 Hz)
- main.cpp: use the real TimerC frequency for correct time in linux-m68k
- configure.ac: "--enable-rtctimer" added. Enables /dev/rtc as main
source of timer interrupts. Allows for precise 200 Hz Timer A interrupts.
2005/10/18 - Petr
- acsifdc.cpp: corrected detection of floppy format in linux-m68k by
reporting RECORD NOT FOUND when linux tried to read more sectors
than there are on a track (linux tries to read 20, HD floppy has 18 spt).
Also added some more heuristic so ARAnyM is now able to detect any
floppy format with 80 tracks (DD/HD/ED, and also non-standard 10,11 and
20,21,22 sectors per track).
- parameters.cpp: save only those multiple items ([PARTITION1-7], [ETH1-4])
that are not empty (to save some space in the config file).
2005/10/16 - STanda
- hostfs: a little rollback (FS_EXT3 extensions removal) as it caused
problems with required timezone settings (not easily possible for
BetaDOS and FreeMiNT without mintlib-timezone package).
* New .dos and .xfs drivers are in atari/hostfs/bin
2005/10/16 - Petr
- aranym/atari/network/ethernet: updated for multiple interfaces. Tested.
Driver (version 0.6b) now prints all found and installed interfaces.
Updated also the binary (aranym.xif.bz2).
- parameters.cpp: default ungrab changed to left Alt+Ctrl+Shift
- TODO: updated with useful comments
2005/10/13 - Petr (& Standa :-)
- natfeat/ethernet.{cpp,h}: wildly modified to allow handling more
ethernet devices at once.
- atari/network/ethernet/ethernet_nfapi: NFAPI version increased (XIF_IRQ is
handled differently now to allow for more ethernet devices)
- atari/network/linux-m68k/*: linux-m68k kernel driver for our NF Ethernet
- Unix/linux+Unix/cygwin: Handler() ctor now takes ethX parameter that is
used internally in receiveFunc for setting up proper interrupt bit mask.
- multiple ETHx sections in config file possible now (up to four currently)
- atari/network/ethernet: FreeMiNT driver updated (including binary) to
version 0.6 (copes with the new NFAPI but doesn't offer multiple
ETH interfaces yet).
- ethernet type renamed from "ppp" to "ptp" (point-to-point)
- ARAnyM and linux-m68k kernel driver tested with two concurrent network
interfaces. Cool! Code updated to handle up to 8 interfaces :-)
- atari/network/linux-m68k/README: detailed HOW-TO build the NF enabled kernel
2005/10/12 - Petr
- acsifdc.cpp: Atari2Host_memcpy() replaced with plain memcpy(). Previous
code was incorrect because real ACSI DMA doesn't respect MMU.
- uae_cpu/cpu_emulation.h: Atari2Host_*/Host2Atari_* functions modified
to allow easy switching between MMU aware/ignoring NatFeats.
NatFeats switched to non-MMU mode. This makes it incompatible
with the NatFeat patch for linux-m68k kernel published in August.
- include/version.h: version number changed to warn linux-m68k users
that available aranym linux kernel will not work with this aranym.
- gui-sdl/sdlgui.cpp: MIN() defined by including #tools.h
- NF based functions moved from cpu_emulation.h to natfeats.h
- audio.cpp, audio_dma.cpp, cpummu.cpp: hidden warnings about unused
variables.
- configure.ac: C++ exceptions disabled by default. They are causing serious
startup lockups. It might be caused by particular gcc version, or C++ lib
version, or something else. We don't know for sure.
Use ./configure --enable-cxx-exceptions if you want to try it out.
2005/10/05 - Petr & STanda
- input.cpp: the Alt Gr key might be reported as SDLK_MODE, not SDLK_RALT.
Fixed. Now Alt Gr works for more people :-)
2005/10/01 - milan
- uae_cpu/newcpu.cpp: flight recorder stores the 1st word of instruction
2005/09/27 - Patrice
- various places: include "host.h" instead of redefining hostScreen extern.
2005/09/26 - STanda
- atari/hostfs/metados: warnings removed
- atari/hostfs: Cleaned up the m68k part so that the Dcntl() is now used
to mount filesystems (which only works as expected in FreeMiNT
kernels 1.16.x since Apr 10 2003).
. Added the FS_NOXBIT filesystem flag back so that whatever is readable
is also executable from the kernel point of view (not x permission
is visible though on the files).
. NF API extended (the version is 0.4 now): You will need to use older
aranym build to update the drivers and after that boot using the
CVS aranym binary to be able to mount drives properly.
- hostfs.(h|cpp):
. The FS_EXT_3 xfs_stat64() and Dcntl(FUTIME_UTC) added to
speed the mintlib stat() and utime() calls.
. Dcntl() /xfs_fscntl()/ implementation extended:
* FS_INFO and FS_USAGE implemented (makes fsetter.app be able to
show filesystem information).
* FTRUNCATE implemented (needed for mintlib's truncate() and
ftruncate()).
. ioctl(FIONREAD/FIONWRITE/FIOEXCEPT) initial implementation.
2005/09/21 - Patrice
- input.cpp: Don't check for OpenGL enabled if not compiled in.
2005/09/20 - milan
- natfeat/ethernet.h: virtual destructor
- include/ata.h: virtual destructor
- cfgopts.cpp: made some functions static and don't link as C
- uae_cpu/cpuopti.c: argc and argv are declared explicitly
2005/09/20 - Johan
- nfvdi.cpp: Made it possible to query ARAnyM about host mouse cursor.
2005/09/19 - Patrice
- Add DSP_ prefix to some definitions.
2005/09/16 - Patrice
- Remove old fvdidrv.cpp.
2005/09/15 - Petr
- doc/documentation.html renamed to aranym.html (directly in repository)
- doc/documentation.txt removed (is superseded by aranym.html)
2005/09/15 - milan
- src/Unix/linux/sigsegv_linux_x86.cpp: added 'volatile' to struct sigcontext.
Fixes GCC 4.x problem (crash upon startup).
2005/09/14 - Xavier
- tools/build-cygwin.sh: fixed a small bug that was preventing a warning to be
displayed.
2005/09/12 - Patrice
- doc/documentation.txt converted to documentation.html
2005/09/10 - Petr
- uae_cpu/cpu_emulation.h: uses ReadInt/WriteInt which is wrong (regarding
the MMU) but at least consistent with all the NF modules. The complete
change to the direct access will require much more work.
- input.cpp: support for AltGr key like in Milan. Suggested by Ingo Schmidt,
AltGr information provided by Gerhard Stoll.
- parameters.h: "altgr" added to ikbd struct. Should be configurable
in the config file. TODO.
- sdl-gui/dlgKeyboard.cpp: AltGr configurable at run-time.
- TODO, BUGS: updated.
2005/09/09 - Petr - BIG ROLLBACK of changes done on 2005/09/04
- uae_cpu/cpu_emulation.h: Host2Atari/Atari2Host operations now use
direct Atari memory access thus ignoring any MMU setup.
Atari2HostAddr() is back.
- fakeio.cpp, videl.cpp, fvdidrv.cpp, natfeat/{nfjpeg, nfcdrom_sdl,
nfcdrom_linux, nfaudio} rolled back to previous revision.
2005/09/06 - Patrice
- Don't open GUI when OpenGL enabled, it will crash. hostscreen class should
be split in two parts like nfvdi: a software and an OpenGL renderer.
2005/09/04 - Petr
- uae_cpu/cpu_emulation.h: Host2Atari/Atari2Host operations now correctly
based on ReadInt/WriteInt functions that honor MMU setup.
Atari2HostAddr() removed. Was deprecated for a long time already, anyway.
- fakeio.cpp: Atari2HostAddr() replaced with Read/WriteHWMem functions.
Perhaps proper solution is to move the #ifdef HW_SIGSEGV into the above
mentioned functions? TODO: review it.
- nf_base.{cpp,h}: memory operations moved to uae_cpu/cpu_emulation.h
- natfeats.cpp, natfeat/{debugprintf, xhdi, nfcdrom, nfaudio}: fixed to
not use Atari2HostAddr (thus direct Atari memory access) but rather
the Host2Atari/Atari2Host memcpy functions.
Notice: nfaudio now uses cvt buffer always for copying the sound data
from Atari to host - even when there is no conversion needed...
- videl.cpp, fvdidrv.cpp, natfeat/{nfjpeg, nfcdrom_sdl, nfcdrom_linux}:
TODO: needs to be modified to not use Atari2HostAddr, see above.
- natfeat/nf_basicset.cpp: just renamed memcpy functions
- natfeat/hostfs.cpp: renamed memcpy functions, strcpy() replaced with strncpy
TODO: review and correct the "FIXME 999" strncpy()'s
- natfeat/ethernet.cpp: mostly clean up for better source code readability
- acsifdc.{cpp,h}: fixed to not use Atari2HostAddr(). Cleaned up a bit by
merging code for reading/writing multiple sectors with single ones.
Added a hack that was supposed to fix floppy under linux - not working yet.
- uae_cpu/{aranym_glue.cpp, cpu_emulation.h, newcpu.cpp}: trying to make
the FLIGHT_RECORDER a bit more useful.
- input.cpp: if FLIGH_RECORDER is compiled in then it can be enabled
for a while by pressing and holding down both Shift keys. This is just
a trial how to make it more useful, will be refined in future (configurable
event launcher, accessible from SETUP GUI...)
- include/version.h: micro version increased to warn everybody that
there were a lot of changes thus something could break...
*** CVS tagged as ARANYM_0_9_1_ALPHA
2005/09/03 - Petr
- atari/network/ethernet/ethernet_nfapi.h: (ethX) is missing in IRQ subcall
- natfeat/ethernet.cpp: XIF_GET_MAC: subcall returns FALSE if particular
ethX is not defined in the config file, TRUE otherwise. Expected
by Linux ethernet driver...
2005/09/01 - milan
- src/Unix/configure.ac: enforce fixed videoram for SDL blitter
- src/uae_cpu/debug.cpp: correct register size
2005/08/29 - Patrice
- nfvdi: Make usage of host mouse cursor a configurable option.
2005/08/21 - Petr
- natfeat/ethernet.cpp: do not use Atari2Host_memcpy() and similar, they
ignore MMU setup. Fixed by replacing with a2fmemcpy() family.
This was an essential fix. Now NF Ethernet works under Linux-m68k :-)
Other NF drivers need similar fixes.
2005/08/18 - Petr&milan
- include/aramd5.h: portability
2005/08/18 - milan
- CPU sync with BasiliskII (better x86 types detection and JITc correction)
2005/08/14 - milan
- uae_cpu/cpummu.cpp: microoptimalization
2005/08/05 - Johan
- nfvdi*: Support for accelerated text drawing.
- nfvdi_opengl.cpp: Fix for S2S blit problem at bottom of screen.
Also added rounding for getHwColor.
- hostscreen.cpp: Removed unnecessary dependency on glu function.
2005/07/29 - Patrice
- Trigger MFP interrupt only once per audio callback. Default format is
16 bits stereo for audio dma.
2005/07/26 - Patrice
- mfp.h: Wrong size for irq_* values.
2005/07/25 - Patrice
- Fixed speedy replay in DMA audio. Timer A interrupt still not triggered.
2005/07/21 - Patrice
- Preliminary crossbar audio emulation.
2005/07/20 - Patrice
- Preliminary DMA audio emulation. Remove TOS check for joypad port presence
that set DMA audio bit in _SND cookie to 0 if absent (!!).
2005/07/19 - Xavier
- INSTALL: added a pointer to tools/build-cygwin.sh for compiling on Microsoft
Windows.
2005/07/19 - Patrice
- Splitted nfaudio driver in two parts. It is now possible to have several
audio emulations (ym, dma, dsp) along with nf audio emulation, all mixed in
a final audio buffer. The NF audio driver now does convert buffer from Atari
to host format, instead of letting Atari side doing this.
2005/07/16 - Andreas
- natfeat/nfcdrom_linux.cpp: move include of linux/cdrom.h down to fix
compilation problem.
2005/07/16 - Petr
- natfeat/nfvdi.cpp: swapped return values for the mouse event dispatch
since default fvdidrv.cpp used value 1 as indication of unknown NF subcode.
- input.cpp: adapted for the swapped return values from the nfvdi dispatch.
- also CHECK_HOTKEY adapted to allow hotkeys with mod keys only
- and keysym.mod replaced with GetModState() since keysym.mod didn't return
single mod key presses.
- dlgHotkeys.cpp: display hotkeys with mod keys only correctly
2005/07/13 - milan
- src/Unix/config.*: updated (thanks, Aurelien Jarno)
- src/Unix/vm_alloc.cpp: close(zero_fd) only when opened
- correct version of JITInlining
- JIT compilation of dispatcher enabled
2005/07/10 - Johan
- nfvdi_*: Made the base class capable of polygon filling.
OpenGL driver makes use of that for now because of
problems with the current polygon tesselation code.
Software driver still uses its own polygon filler,
but the support routines are now in the base class.
2005/07/10 - milan
- src/Unix/configure.ac: typo
- src/Unix/linux/sigsegv_linux_x86.cpp: correct type of pointers
- UAE CPU: JITc inlining and check_ticks definition
2005/07/09 - Petr
- main.cpp: added RTC device driver for real interrupts at 256 HZ rate.
Enable #RTC_TIMER if you want to see it running. And start ARAnyM
as root because it sets the /dev/rtc to 256 Hz interrupt which is not
allowed to regular user (unless enabled by running the following command:
sysctl -w dev.rtc.max-user-freq=1024)
- startup IRQ storm corrected (more than 80 useless IRQs at power on)
- IRQ debug statistics printed (if #DEBUG enabled)
2005/07/09 - Johan
- nfvdi_*: Bug fix for polylines with moves.
- nfvdi_opengl: Bug fix for single pixel lines. Speedup for polylines.
2005/06/21 - Patrice
- hostscreen: Don't use SDL version of glext.h. Also fix bpp for OpenGL screen
2005/06/20 - milan
- configure.ac: needed size of LMA increased to 16 MB, should solve problem on
some systems with autodetection
2005/06/17 - Patrice
- nfosmesa: Added nfosmesa device driver for MiNT, which now works. You can
use it with MiNT 1.16, which was removing __NF cookie.
2005/06/16 - Patrice
- nfosmesa: Reworked interface to host, can use a MiNT device (to write) ioctl
or NF interface. On the Atari side, parameters are no more stacked twice.
2005/06/16 - milan
- some small cleanups and fixes in building process
2005/06/15 - Patrice
- nfosmesa: g++ 3 with -O3 was over-optimizing Atari2HostDouble to a null
function.
2005/06/14 - Patrice
- nfvdi: Add reset method. OpenGL rendering: tesselate polygons, use non power
of two texture or rectangle texture when available.
2005/06/13 - Patrice
- hostscreen: disabling texturing when not used. Correctly setup shadow
texture when it is smaller than asked screen.
- nfosmesa: Don't pollute gl namespace in NFOSMesa class. Allow NFOSMesa
to be compiled with hardware OpenGL rendering.
2005/06/12 - Patrice
- hostscreen,parameters: removed width and height parameters for OpenGL, using
current ones or autozoom ones'.
- nfvdi OpenGL: clear alpha value read.
2005/06/11 - Patrice
- nfvdi,hostscreen: remove getComponent() stuff, useless with GL_BGRA format.
2005/06/09 - Patrice
- nfvdi: added preliminary OpenGL fillPoly() rendering. Host screen
organization fixed on the ARAnyM side.
2005/06/08 - Patrice
- hostscreen: correct endianness of GL_RGBA shadow surface for videl OpenGL
rendering. Updating the texture with dirty rectangles list. Added
getComponent() function to read the real screen organization, waiting for
Johan to sync fvdi driver.
2005/06/07 - Johan
- Report mouse events (input.cpp) to m68k fVDI driver via Natfeat "backdoor".
- Support for forced mouse positioning.
- Fix for OpenGL integer coordinates (hostscreen) according to MicroSoft tip.
- A bunch of bug fixes for OpenGL drawing. Mostly off-by-one things.
2005/06/05 - Patrice
- nfvdi: added mouse cursor rendering for OpenGL driver. Host SDL cursor can
be enabled in nfvdi.h by uncommenting USE_HOST_MOUSE_CURSOR (experimental).
2005/06/03 - Patrice
- NF audio: close SDL audio device on exit. Closing it on Atari reset event
hangs ARAnyM on my system, more investigation needed.
- main.cpp, Unix/main_unix.cpp: SDL_Quit() was called twice: once in ExitAll()
and once at exit().
2005/05/27 - Patrice
- nfvdi: revert back old mouse driver for software renderer. Will add OpenGL
support soon, till support for host mouse cursor is usable.
2005/05/25 - Patrice
- OpenGL nfvdi: fixed line clipping.
2005/05/24 - Patrice
- OpenGL nfvdi: fixed screen to memory blits.
- hostscreen: OpenGL rendering off by 1 unit.
2005/05/22 - Johan & Patrice
- OpenGL nfvdi: more blit fixes. Added line clipping.
2005/05/20 - Patrice
- OpenGL nfvdi: preliminary blitArea() between screen and memory.
- input, ikbd: Add support for joystick hat.
2005/05/19 - Patrice
- nfvdi: Add some OpenGL logical operations for blitArea() operations, and
preliminary expandArea() function. Updated aranym.sys FVDI driver.
2005/05/16 - Patrice
- nfvdi: Enable OpenGL rendering when opening the VDI workstation.
2005/05/14 - Patrice
- nfvdi: Missing constructor, and initialization. Swapped disable/enable
cursor in drawMouse. OpenGL renderer: add logical operations, and screen
to screen blits.
2005/05/13 - milan
- uae_cpu/cpu_mmu.*: experimental ATC disabling
2005/05/13 - Patrice
- nfvdi: Use host mouse cursor. Need to sync with input.cpp mouse routines.
2005/05/12 - Patrice
- Keep all OpenGL things in hostScreen and nfvdi classes.
- Split blitArea() function in 4 parts.
2005/05/11 - milan
- uae_cpu/cpu_mmu.*: a small prototype fix, debug variable disabled
2005/05/11 - Patrice
- Can dynamically choose a NF CD-ROM driver (linux or sdl one). Can also
choose a NF VDI driver: software renderer or the non working OpenGL renderer
- Get confused with bpp (bytes per pixel) and bpp (bits per pixel).
2005/05/11 - milan
- natfeats.cpp: THROW(), not LONGJMP()
2005/05/10 - Patrice
- OpenGL rendering done regularly in Videl->renderScreen(), instead of
hostScreen.update(): much faster!
- Added getBpp() function to FVDI driver (recompilation needed!), needed when
using FVDI driver with OpenGL rendering.
2005/05/09 - Patrice
- Moved more driver independant stuff from nfvdi_soft.cpp to nfvdi.cpp
2005/05/08 - Patrice
- Dynamically create the natfeats. A few more work, and we will be able to
choose between different NF drivers for the same feature.
2005/05/07 - Patrice
- NF vdi driver split in 2 parts: a base class, and an implementation class
(software rendering driver atm).
2005/05/06 - milan
- support of old headers removed
2005/05/01 - milan
- uae_cpu/compiler: sync with Basilisk (64bit pointers fixed)
- Unix/configure.ac: C++ exceptions disabled in JIT compiler mode
2005/04/29 - milan
- Unix: a small sync with Basilisk and cleanup
- ata.*, cdrom.*: sync with Bochs and small cleanup
- uae_cpu: small sync and cleanup of non-JIT CPU
- doc/hguide.txt: actualized a bit
2005/04/27 - milan
- Unix/configure.ac: nfjpeg test corrected
2005/04/26 - Xavier
- Unix/configure.ac: nfjpeg enabled by default
2005/04/24 - Andreas
- new configuration option --enable-cxx-exceptions, implement use of C++
exceptions instead of setjmp/longjmp for exception handling.
- ndebug.cpp: fix stdarg usage, handle NEED_TO_DEBUG_BADLY in showHistory.
2005/04/22 - Xavier
- hostscreen.cpp: SDL_WM_ToggleFullScreen does not work on some GUIs (Microsoft
Windows GUI, for example). Added some code to implement the switch to and
from fullscreen mode in this case.
2005/04/22 - Patrice
- nfjpeg: Save d1/a0-a1 used as scratch registers by gcc when calling JPEG
decoding routines
2005/04/17 - Petr
- Makefile.in: fvdi.prg.bz2 was removed from archive...
- aranym.spec: %files section cleaned up. Fixes build problem with
unpackaged documentation and makes it much easier to maintain (no need
to track changes in Makefile.in).
2005/04/15 - STanda
- atari/hostfs/hostfs_xfs.c: some filesystem flags changed.
this should fix the bug #1178909 (hostfs broken under linux) and
problems with not being able to execute files with executable flag set.
* tagged as ARANYM_0_9_0
2005/04/14 - Petr
- doc/documentation.txt: [PARTITION] documented. Programming with ARAnyM
documented (NatFeats, detection of ARAnyM presence).
- doc/config, parameters.cpp: [DISK] renamed to [PARTITION].
- build_cygwin.sh moved from doc/ to tools/.
- README, NEWS, version.h: usual release updates
2005/04/05 - Petr (actually Carlo)
- src/MacOSX/*: Carlo has updated the project (added MMU target)
2005/04/01 - Thomas Huth
- uae_cpu/newcpu.cpp: free table68k memory
2005/03/24 - Patrice
- natfeats: don't switch to supervisor mode if already in supervisor mode to
read cookie jar pointer.
2005/03/21 - milan
- parameters.cpp: correct the previous commit
2005/03/21 - Patrice
- parameters.cpp: display custom enabled NatFeats.
2005/03/20 - STanda
- fvdidrv: fixed outstanding bug in the aranym.sys driver. The pixel sizes were
updated recursively twice which made them wrong.
2005/03/15 - Petr
- gui-sdl/file.cpp: current dir is no longer presented as "./" but it's simply
an empty string (fileselector had to be adapted to this change, see below).
- gui-sdl/dlgFileSelect.cpp:
- initialized 'eol' to remove compiler warning.
- if there is an empty path to dir the getcwd() is used to preset it
with a reasonable value.
- filename "." removed from the fileselector.
- gui-sdl/dlgDisk.cpp: allows entering non-existing filename (useful for
generating new disk images). Help page updated accordingly.
2005/03/14 - Xavier
- gui-sdl/dlgFileSelect.cpp:
- New sorting algoritm : folders at the top, files at the bottom.
- Reformatted using GNU indent (with "-kr -nce -ts4", as suggested by Petr).
2005/03/05 - Xavier
- doc/build-cygwin.sh: added SDL_image support. Allows to compile nfjpeg on
Windows.
2005/03/03 - STanda
- doc/documentation.txt: update on networking. Clean that up someone.
- Blaine Brysh's suggection to remove the 'tapdev' check done.
2005/02/28 - Patrice
- nfjpeg, nfpci, nfosmesa, nfcdrom: Use the correct fonction to read current
cookie value, not a mix between internal function and mintlib's one.
2005/02/25 - Xavier
- doc/build-cygwin.sh: defaults to SDL 1.2.8.
2005/02/24 - Petr
- lilo.cpp: <elf.h> required defines copied to lilo.cpp to allow compiling
under non-linux systems.
2005/02/23 - Patrice
- nfjpeg, nfpci, nfosmesa: Display a message when __NF cookie is missing, or
when NF functions needed are missing in ARAnyM.
2005/02/22 - Petr
- parameters.cpp: 'RedirPrinter' removed.
Default printer file is 'stderr'.
- aranym.spec: aranymrc.example removed.
* tagged as ARANYM_0_9_0_BETA
2005/02/20 - Petr
- atari/aranymrc.example moved to doc/config and updated with all current
config options
- parameters.cpp: fixed wrong sizeof() for [HOTKEYS]
- doc/documentation.txt updated (networking, LILO)
doc/aranym-lilo.txt removed
- Makefile.in: NFJPEG and NFOSMESA added
- aranym.spec: LILO added to MMU build
- README, BUGS, NEWS, include/version.h: updated for new release
2005/02/18 - Patrice
- nfosmesa: Can not autodetect which libOSMesa is loaded, so ChannelSize in
config file is mandatory for any libOSMesa library used.
The OpenGL contexts created by OSMesa are endianness independent, no need to
convert them after rendering.
- nfjpeg: Correct SDL include path.
2005/02/17 - Petr
- parameters.cpp: open up SETUP if no config file found and new one is to be
created so that users can edit the default values before saving.
- dlgAlert: flexible formatting of text to any number of lines (up to 20).
Two types of alerts - info "OK" and confirm "OK/Cancel".
- dlgMain: dlgAbout and dlgHelp replaced with info alert.
- dlgDisk, dlgHotkeys: HELP button and page added
- TODO: updated (at last I could remove some long standing issues :)
2005/02/14 - Petr
- main.cpp: display the right key for invoking SETUP GUI in the window
caption bar.
2005/02/13 - Petr
- gui-sdl/sdlgui: getEvent() function fetches the keyboard and mouse events
(now also UP events) from the USEREVENT queue and converts them to normal
SDLKey and SDLMouse events.
- include/parameters.h: hotkey struct bx_hotkeys_t defined and added to
global bx_options.
- input.cpp: the following seven hotkeys are user-definable now: Setup,
Quit, Reboot, Ungrab, Debugger, ScreenShot and FullScreen.
- gui-sdl/dlgHotkeys.cpp: hotkey editor added, allows for online editing
of the seven hotkeys listed above.
- gui-sdl/dlgMain.cpp: hotkey editor activated.
- parameters.cpp: hotkeys are saved to config file, section [HOTKEYS].
Further cleanup. [ARANYMFS] fallback dropped.
2005/02/12 - Patrice
- nfosmesa: Add support for 16 and 32 bits per channel for OSMesa, using
libOSMesa16 or libOSMesa32.
2005/02/04 - Patrice
- Added parallel port emulation driver via Linux /dev/parport device.
2005/01/30 - Andreas
- uae_cpu/newcpu.cpp: Handle unaligned access in get_ilong_1.
2005/01/29 - Patrice
- configure.ac: Add option to add path to Mesa header files.
2005/01/28 - Andreas
- uae_cpu/newcpu.h: Handle unaligned access in get_ilong.
2005/01/26 - Patrice
- Move all parallel port implementation stuff in yamaha. Don't flush on output
to a real file.
- Remove useless FAQ item about CD-ROM configuration.
2005/01/25 - Andreas
- uae_cpu/cpummu.cpp: Fix wrong address in mmu_get_unaligned, thanks to
milan for tracking this down.
2005/01/25 - Patrice
- parallel: small fixes. Can redirect to a file, to stdout or stderr.
2005/01/25 - Andreas
- uae_cpu/cpummu.cpp, uae_cpu/memory.h: Fix wrong size field in ssw.
2005/01/24 - STanda
- fVDI driver
* famous fVDI boot bug fixed! VIDEL is shut off on openwk()
instead on the first NF(fVDI) call.
* Changing the resolution upon openwk() again (back to what was
in 0.8.10?)
* cleanup in the spec.c m68k part of the driver.
2005/01/24 - Patrice
- nfosmesa: Return OpenGL version as 1.0 when extensions disabled.
2005/01/24 - Andreas
- More MMU emulation fixes. Linux boots now.
2005/01/23 - Patrice
- Reorganized parallel port emulation. Time to write drivers for all OS.
2005/01/22 - Patrice
- configure on MacOSX does not like using AC_CHECK_HEADER.
2005/01/22 - Petr
- input.{cpp,h}: little cleanup, private things declared static
- main.cpp: little cleanup, removed unused function
- hostscreen.*, input.cpp, main.cpp, parameters.cpp: "--disable-gui" now
disables the SDL GUI related code in these files.
2005/01/21 - Patrice
- nfjpeg: Decoding images, with width not multiple of 16 works in Brainstorm's
viewer. Zview has a bug in its plugin.
2005/01/20 - Patrice
- nfjpeg: More fixes, now Brainstorm's JPEG viewer works, but images with width
not multiple of 16 have a problem.
2005/01/19 - STanda
- atari/fvdi/../spec.c: bitplane modes are marked as bitplane in v_scrninfo(),
unnecessary noshadow and assumenf options removed
- 8b_pal.c: palette setting is system wide (not per virtual workstation)
2005/01/19 - Patrice
- dsp_cpu.cpp: 64 bit fixes.
- nfjpeg: Fixed problems due to endianness and packed structure of JPEG decoder.
Decoding works in Zview (except for images with width not multiple of 16), but
not in Brainstorm's demo program.
2005/01/18 - milan
- gdbstub: a few fixes in communication, configuration for base pointers added
2005/01/18 - Patrice
- nfosmesa: revert back mandatory SDL 1.2.6 check. Now nfosmesa disabled if SDL
don't have loadable libraries functions.
2005/01/17 - Patrice
- nfosmesa: libGL is also dynamically loaded now. It is easier to control which
libGL library ARAnyM will use.
2005/01/16 - Patrice
- Enable compiling ARAnyM using the Fink suite on MacOSX.
(configure --with-fink)
2005/01/16 - milan
- cdrom.cpp: new fix for *BSD (thanks, Konrad)
- gdbstub: gdb as external debugger (still buggy)
2005/01/16 - Petr
- natfeat/xhdi: fixed scary off-by-one bug. Direct partition access works
OK. Also implemented proper way for finding out size of block device
(such as /dev/hda1) so we can access host disk partitions directly now!
2005/01/14 - Patrice
- Preliminary NatFeat JPEG decoder. Don't try it, it does not work atm. If you
think you can debug it, SDL_image with JPEG support is required.
2005/01/13 - Petr
- natfeat/xhdi: direct access to partitions added (use [DISKx] in config)
Beware: the code is not well tested. Might destroy your data!
- parameters.cpp: [DISKx] enabled in the config file
2005/01/12 - milan
- all files: "unused varible" GCC warnings can be viewed with
./configure --enable-full-debug
a few other warnings gone
2005/01/12 - Andreas
- natfeat/nfcdrom.cpp: Include <SDL_endian.h> for SDL_SwapBE16.
2005/01/12 - Petr
- ata.cpp: removed a scary hack for hiding an unused variable
- all files: "unused variable" GCC warnings are gone thanks to DUNUSED macro
- natfeat/ethernet.cpp: possibly fixed buffer overflow bug in readPacket()
2005/01/12 - Patrice
- nfcdrom.cpp: 64 bit fix.
2005/01/11 - milan (thanks Andreas Jochens)
- uae_cpu/aranym_glue.cpp: 64 bit fix for GCC 4.0 happy
- uae_cpu/newcpu.cpp: 64 bit fix for pc_offset computation
2005/01/11 - Petr
- gui-sdl/sdlgui.cpp: 64bit cleanup thanks to Debian BTS #288992
2005/01/11 - STanda
- fvdidrv.cpp: 64bit cleanup attempt
- CygWin networking tunnel NIF name taken into account
- paremeters.cpp: extra slash addition fixed
2005/01/10 - milan
- uae_cpu/gencpu.c, uae_cpu/newcpu.cpp: unswapped opcodes disabled in full MMU
2005/01/10 - Andreas
- uae_cpu/cpummu.cpp: Many MMU emulation fixes.
- uea_cpu/gencpu.c: Make sure that memory stores are performed after all
changes visible by the emulation.
- uae_cpu/memory.h: Set wb3 for the execption routine on memory write.
- uae_cpu/newcpu.cpp: Pass wb3 fields in the access fault exception frame.
Don't call check_ram_boundary on a virtual address.
- uea_cpu/newcpu.h: Don't call get_real_address in m68k_setpc when
FULLMMU. Remove autoinc stuff again.
- uae_cpu/registers.h: Add wb3_data, wb3_status, fault_pc, remove
autoinc. Don't use pc_p and pc_oldp when FULLMMU.
2005/01/08 - Petr
- mfp.cpp: irq handling (enable/pending/masked) copied bit-by-bit from STonC.
And it seems to work! At last... Thanks, Laurent, for your great MFP
emulation.
- configure.ac, TODO: linux kernel headers no longer necessary
- ikbd.cpp: when IKBD is reset it should send out the code 0xF1. Linux-m68k
kernel checks for it. Fixed. Kernel no longer reports "WARNING: keyboard
self test failed!" :-)
2005/01/08 Andreas Schwab
- lilo.cpp: Load ramdisk at end of ST ram. 64-bit fixes. Copy needed
bits from Linux/m68k kernel headers instead of including them.
2005/01/07 - Andreas Schwab
- uae_cpu/cpummu.h: Fix values of MMU_MMUSR_T and MMU_MMUSR_R.
- uae_cpu/cpummu.cpp: Fix interpretation of write bit in ptestr/ptestw
opcodes.
2005/01/06 - Andreas Schwab
- uae_cpu/gencpu.c: Don't pop too much for format 7 exception frame in
rte insn.
2005/01/06 - Petr
- mfp.cpp: Laurent (STonC author whose code has been used for ARAnyM
MFP emulation) identified copy&rename_variables&paste error.
Fixing that finally made the setGPIPbit() working (has been waiting
for the fix since ARAnyM version 0.1.4! :-O )
- ikbd.cpp: Laurent pointed out that IKBD should not access the MFP
externally via the 0xfffa01 address but rather use the setGPIPbit()
only. Fixed.
- mfp.cpp again: added floppy/SCSI/IDE IRQ and modified the ACIA IRQ
to follow the automaticServiceEnd flag. This lets Linux-m68k detect
the IDE devices without "hda: lost interrupt" messages.
2005/01/05 - Andreas Schwab
- uae_cpu/cpummu.cpp:
ptestr/ptestw must never generate an exception, and always to a full
table search, an existing ATC entry must be removed but otherwise
ignored.
- uae_cpu/gencpu.c, uae_cpu/newcpu.*, uae_cpu/registers.h:
when an mmu-generated access error occurs we must undo all auto-inc/dec
adjustments to address registers, because after returning from the
exception handler the instruction is restarted.
2005/01/04 - Andreas Schwab
- uae_cpu/gencpu.c - emulation of the moves insn fixed. It is one step further
into being able to boot Linux/m68k on ARAnyM.
2004/12/17 - Patrice
- nfosmesa: more endianness fixes. Extensions reenabled, beware the lengthy
compilation!
2004/12/16 - Patrice
- nfosmesa: more endianness fixes.
2004/12/15 - Patrice
- nfosmesa: more endianness fixes, small doc in doc/documentation.txt,
added ldg to spec file.
2004/12/14 - Patrice
- nfosmesa: more bugfixes (mainly to adapt m68k arrays to host CPU endianness).
2004/12/13 - Patrice
- nfosmesa: many bugfixes. The hardest/longest part to do: converting all arrays
(const TYPE *) to a temporary array for the host CPU. Disabled building of
OpenGL extensions (much longer to compile and test). What is working: SDL tests
programs, many NeHe tutorials using SDL (not all, due to disabled extensions);
for pure Atari software: kronos, tinygl test programs. Added the osmesa.ldg for
testers.
2004/12/11 - Patrice
- hostscreen.cpp: move one update function using OpenGL from .h to .cpp, needed
for compiling for OSMesa.
- NF: Add Natfeat OSMesa rendering support for Atari applications using host
CPU (highly experimental!).
2004/11/24 - STanda
- TAP-Win32 networking for cygwin builds implemented and fully functional
The natfeat/ethernet.cpp split to natfeat card emulation and host OS
dependent driver part. The dependent part was moved to the appropriate
folder Unix/linux and Unix/cygwin.
2004/11/21 - milan
- CPU JIT: sync with the latest BII core, really many changes, amd64 corrected,
cleanups
2004/11/20 - milan
- configure, vm_alloc, main_unix.cpp: a small memory management
reorganization, 33BIT addressing, cleanups
2004/11/14 - milan
- ata.*, cdrom.*: a small cleanup, some things from Bochs (multisession read
TOC)
* tagged as ARANYM_0_8_11_BETA
2004/11/07 - Petr
- wheel mouse support: based on discussion in mailing list and patch provided
by Xavier. Switchable between original arrow up/down key simulation and
new Eiffel compatible set of extended scancodes in the SETUP GUI.
No possibility to store in config file, yet (intentionally).
- doc/documentation.txt: updated section about creating empty disk image.
Also added more information about ARAnyM networking (mostly gathered
from my replies in the mailing lists).
- SETUP GUI: Disk dialog has now its own Apply/Cancel buttons. The main
Apply button in the main dialog was removed.
Also Keyboard&mouse dialog offers first functionality: switching between
two host mouse wheel modes.
- DOC files, aranym.spec, include/version.h: updated for a new release.
2004/11/01 - Patrice
- hostscreen.cpp: don't need to have autozoom enabled to force a screen size
- fvdidrv.cpp: forgot some break instructions.
- FVDI aranym.sys modified, for the host resolution to be read.
2004/10/31 - Petr
- Carlo provided a new keyboard translation routine that translate directly
mac scancodes into atari scancodes: all keys are translated correctly.
SDL routine translate mac scancodes in their internal codes but for
some keys the translation is incorrect.
- fVDI driver (aranym.sys) has finally been recompiled.
2004/09/29 - Xavier
- fvdidrv.cpp: fixed a typo that prevented ARAnyM to compile here.
- uae_cpu/debug.cpp: fixed a bug in debugger that corrupted SR.
- main.cpp: added a patch that allows TOS 4.04 to detect TT-Ram without any
AUTO folder program. FASTRAM.PRG not needed anymore.
2004/09/24 - Patrice
- Natfeat FVDI driver: added functions to read back the screen width and height
really set on the host side
2004/09/13 - Petr
- newcpu.cpp, spcflags.h: SPCFLAGS_NMI removed, _BRK used instead (like
seen in hatari). SPCFLAGS_MODE_CHANGE removed (it was unused).
2004/09/10 - Patrice
- hostscreen.cpp, videl.cpp, parameters.cpp: create a specific section in the
configuration file for autozoom. You can now choose to want a constant host
screen size for whatever the Atari screen size is.
Note about FVDI: it is not aware of this "fixed size", using a bigger size
than FVDI's one is OK, but the display is not centered. Using a smaller size
is buggy, so don't do it!
2004/09/08 - Xavier
- src/gui-sdl/sdlgui.cpp: edit field handling cleaned.
2004/09/07 - Petr
- src/parameters.[cpp,h]: configPath added to aranymfs struct. Fixes problem
with adding more colons on repeated saving of config file.
- src/gui-sdl/dlgDisk.cpp: fixed a problem with updating the CHS values
when new disk image was selected.
2004/09/04 - milan
- src/parameters.cpp: don't show parameters, which aren't compiled in
2004/09/03 - Petr
- atari/network/ethernet/ethernet.c, nfeth-config.c: the idea of new IOCTLs
was not working because inet4.xdd blocks the IOCTLs and does not pass them
to the XIF driver. So now I am using SIOCGLNKSTATS and it works!
Fixed more scary bugs (word alignment in parameters to nfCall can be a
killer). nfeth-config even respects the NIF parameter (try eth1 :-)
The XIF driver has yet to be updated to handle more NIFs at once.
- src/natfeat/ethernet.cpp: better debug message. Make use of safe strncpy.
2004/09/02 - Petr
- atari/network/ethernet/ethernet.c, nfeth-config.c: corrected some scary
bugs, now it should work but doesn't yet. Seems like the new IOCTLs are
blocked somewhere.
- patrice: videl.cpp: second fix for autozoom, now zoom tables recalculated
also when host screen size changes.
2004/09/01 - Petr
- tools/arabridge: modified to allow bridging a non-defaultroute interface.
Useful for situations when the machine is on public Internet and you don't
want to put ARAnyM there. Also all RedHat specific things replaced so now
it works on Debian nicely.
2004/08/31 - Petr
- atari/network/ethernet/ethernet.c:
- updated for FreeMiNT 1.16
- makes use of nf_ops in kerinfo for clean NatFeat usage (if available)
- IP_AUTO configuration was plain wrong thus removed
- implements three new control calls for the nfeth-config (SIOCGIFADDRFH,
SIOCGIFDSTADDRFH, SIOCGIFNETMASKFH) that have also been defined
in FreeMiNT's sockio.h
- proper GPL headers added
2004/08/30 - patrice
- videl.cpp: with JIT, Atari video screen size was 0 for both height and width,
with autozoom, hence the crash.
2004/08/28 - Xavier
- gui-sdl/sdlgui.cpp, input.cpp: rewrote edit field handling.
- gui-sdl/dlgFileSelect.cpp: updated for the new edit field handling.
2004/08/27 - Petr
- lilo.cpp: thanks to David Muse analysis and suggestions I corrected
the LiloCheckKernel() simply by copy&pasting it from linux bootstrap
properly :-)
2004/08/19 - milan
- Unix/cygwin/sigsegv_cygwin.cpp, Unix/linux/sigsegv_linux.cpp:
cleaning, merging
2004/08/19 - Xavier
- uae_cpu/cpu_emulation.h, Unix/cygwin/sigsegv_cygwin.cpp: hwsp and pagehwsp
address checking modes support on Cygwin.
- Unix/cygwin/sigsegv_cygwin.cpp, Unix/linux/sigsegv_linux.cpp,
Unix/xbsd/sigsegv_xbsd.cpp: hwsp and pagehwsp address checking modes fixed
(stacked address fault was wrong).
- NFPCI: Patrice: give access to the 256 bytes of configuration space.
Some bugfixes.
2004/08/16 - Xavier
- Unix/cygwin/sigsegv_cygwin.cpp: fixed GCC warnings.
- Unix/cygwin/sigsegv_cygwin.cpp, Unix/linux/sigsegv_linux.cpp,
Unix/xbsd/sigsegv_xbsd.cpp: nested sigsegv are not allowed anymore. This
was unused since 2004/07/06 and was not supported under Windows.
2004/08/12 - Xavier
- Unix/configure.ac, Unix/cygwin/sigsegv_cygwin.cpp, uae_cpu/cpu_emulation.h :
clean solution to avoid nested sigsegv on Windows/Cygwin and any other OS
that would need it.
* tagged as ARANYM_0_8_10_BETA
2004/08/07 - Petr on behalf of Carlo
- added a target to generate the DMG file (inspired by bochs)
- The SDL library is inserted automatically in the application bundle;
now it does not require any installation.
2004/08/05 - Xavier
- Unix/cygwin/sigsegv_cygwin.cpp: small cleaning.
2004/08/02 - Xavier
- Unix/configure.ac, Unix/cygwin/sigsegv_cygwin.cpp: extended sigsegv handler
for Windows/Cygwin. The code needs some cleaning, but at least allows to
boot Afros and TOS 4.04. We can now enjoy JIT speed on Windows too !
2004/07/29 - milan
- debug.cpp: S&!M means interupt mode, not only M
2004/07/28 - milan
- newcpu.cpp: removing "patch" from 2002/09/28 (PureC hack), it can be enabled
with configure script
- debuggers: switch 'I' modified, debugger can ignore interupt mode
2004/07/28 - Petr
- atari/tools/pcpatch.c: verbose error handling
2004/07/28 - patrice
- Correctly read PCI devices list (inspired from pciutils code).
2004/07/26 - milan
- src/cdrom.cpp: typo bug (thanks, Konrad)
2004/07/20 - Xavier
- Unix/configure.ac:
- checks for direct, real and fixed addressing availability made more
accurate.
- direct, real and fixed addressing allowed on Cygwin.
Real addressing won't work since Cygwin can't mmap() low memory.
Direct and fixed addressings need a cygwin1.dll from 2004/07/16 or
later on W2K and WXP (Available at http://www.cygwin.com/snapshots/
until next Cygwin release - current DLL version is 1.5.10-3 at the
time of writing).
2004/07/18 - Xavier
- Unix/main_unix.cpp: in direct addressing mode, memory must be allocated
with only one call to vm_acquire(). Otherwise memory parts may not be
contiguous. CPU emulation rely on this.
2004/07/14 - milan
- small sysdeps.h reorganisation
2004/07/14 - Xavier
- doc/build-cygwin.sh: updated for SDL 1.2.7 and latest Cygwin (new GCC and
X.org/X11 packages).
- Unix/acinclude.m4: updated for automake 1.8+.
- Unix/configure.ac: fixed error message about extended segfault handler.
2004/07/13 - Petr
- natfeat/ethernet.cpp: ARATAPIF is now found in $PATH again (Standa forgot
to remove some of his debugging stuff). Thank for the bug report goes to
Clement BENRABAH.
2004/07/13 - milan
- macro BUS_ERROR defined in cpu_emulation.h and documented
- some other minor (mainly cosmetic) corrections
2004/07/12 - Petr
- ide.cpp: Xavier explained that Adam's open source IDE driver might use
the f00002 register because it's mapped to the same 16-bit IDE port as
the f00000.
2004/07/11 - milan
- lilo support corrected
- other minor (cosmetic) corrections
2004/07/09 - milan
- (sig)setjmp/longjmp corrections
2004/07/08 - milan
- minor (cosmetic) corrections
2004/07/07 - Petr
- uae_cpu/fpu/mathlib.h: Francois fixes sinh and tanh by following the cosh
emulation example.
2004/07/07 - milan
- man page corrected
* tagged as ARANYM_0_8_9_BETA
2004/07/06 - Petr
- ikbd.cpp: write to MFP directly, don't throw nested SIGSEGV. This not only
fixes the JIT CPU crash on keypress in linux 2.6.x but also seems to help
booting linux-m68k (it doesn't freeze now when you press a key)
- blitter.cpp: this is probably a breaking news after years of blitter
crashing and countless hours spent on debugging it: the source and
destination address registers must be restored to original values upon
finishing the job, since TOS does not always set the source and dest
address for a new blitter job - it clearly relies on the original values
set in previous job. This is very unexpected behaviour since Blitter
documentation says the source and dest addr registers show increasing
values when you read them.
Also, now Blitter starts blitting as soon as the BUSY line (0x3c & 0x80)
was set - this was possible after implementing the word and long wide
register accesses and thanks to idea and support from Thomas.
- gui-sdl/dlgAlert.cpp: strdupa() is not defined in neither cygwin nor macosx
so there is a quick workaround.
- lilo.cpp: fixed reading of gzipped files. Simply the macro is HAVE_LIBZ,
not HAVE_ZLIB :-)
- gui-sdl/sdlgui.cpp: accept numbers on numpad. This is still not correct
code, it should use the unicode field of the keysym struct.
* tagged as ARANYM_0_8_8_BETA
2004/07/05 - Petr
- gui-sdl/dlgAlert.cpp: an AES like AlertBox created. So far a rough code
but does what I needed.
- gui-sdl/dlgDisk.cpp: Disk Image generation added.
- on behalf of Carlo: UAE FPU is (thanks to Francois' tests) the default
for MacOSX target in their project builder.
Filename expansion takes a special '*' wildcard that gets expanded to
Data folder path (the bundle folder for MACOSX).
- parameters.cpp: Carlo corrected a bug in the relative path expansion
routine - now if there isn't the trailing slash it's added.
- tools/createdisk/*, tools/disk_image.c: removed
- Makefile.in, aranym.spec: createdisk & disk_image removed, arabridge added
- README, NEWS, TODO, aranym.1, aranym.spec, version.h:
standard updates for new release.
2004/07/04 - Petr
- input.cpp: iconification of fullscreen window on releasing the grabbed
input disabled since Standa added there switching from fullscreen
to window.
- gui-sdl/file.[cpp,h]: File_Exists() and File_Read() take const char
parameter. Disabled the (IMHO) useless feature of File_Read - trying
several different file extensions automagically.
2004/07/03 - Petr
- uae_cpu/fpu/mathlib.h: fixed tan() error Martin Tarenskeen reported.
- uea_cpu/newcpu.cpp, hardware.cpp: if HW_SIGSEGV is used (mainly for
JIT compiler) then use sigsetjmp/siglongjmp to restore signal mask
when generating BUS ERROR. This fixes the SIGSEGV during TOS 4.04
boot when reading the $ff8e09 register.
2004/07/01 - Petr
- BUGS: FPU problems documented. We need fix even for Pentium host based
systems!
2004/06/21 - milan
- diskimage supports images lager than 2GB (large file support)
2004/06/01 - STanda (actualy done the 2004/05/19)
- input.cpp: The capslock keyboard LED and the m68k side OS capslock state
synchronization should be better now.
- hostfs.cpp: Small broken symlink related bugfix.
2004/05/15 - patrice
- Nfpci.prg bugfixes, and also on host side. pci_read_config_* functions work
now. We can enumerate the host PCI devices.
2004/05/14 - patrice
- Nfpci.prg now finished. Time to implement it on the host side now.
2004/05/13 - patrice
- Added resident program NFPCI.PRG, does not work ATM: it thinks there is
already a PCIBIOS driver installed.
2004/05/12 - patrice
- Primary framework for NatFeats PCI driver
2004/04/24-25 - STanda
- parameters.cpp,cfgopts.*: Created a Path_Tag that serves as a String_Tag
like entry plus that there is the '~' replaced with $HOME and the
relative paths are made absolute (to the configuration file location).
- parameters_*.cpp: separated the getDataFolder() and getHomeFolder().
The getHomeFolder() is used for the '~' expansions in parameters.cpp.
- hostfs.cpp:
* Petr's version of xfs_native_init() fixed, extended and used.
* symlinks should work better now: if there is a HOSTFS mapping for the
symlink target then it is translated as a symlink to that target else
the real hostfs target is shown (the user doesn't notice it is a symlink
in fact in that case).
- hostfs.dos (atari/hostfs/metados):
* Adjusted to the recent FreeMiNT CVS state to compile and also made
BetaDOS only. No more MetaDOS compatibility attempts.
* Dfree() fix - for Calamus to be able to save its documents.
* Some minor bugfix backports from the current FreeMiNTs CVS version.
* The mountpoint entries are now shared among several hostfs.dos instances
using a 'BDhf' cookie entry (atari/hostfs/metados/main.c).
- ethernet.cpp:
* Alternative networking setup: aranym doesn't need to use the suid
aratapif now. CVSROOT/tools/arabridge script is able (with root
permissions) to establish a bridge over the tap0 tunnel and eth0 nif so
that aranym would become fully featured LAN machine from ethernet point
of view. E.g. you can try DHCP directly from within ARAnyM then.
* [ETH0] type = ppp|bridge and tunnel = tap0 config options added
* However there are still some problems: the initialization can fail
sometimes. I got it working several times, but in some network
configurations it simply doesn't work. I don't have a clue why ATM :(
(tested on RH9.0).
2004/04/10 - Petr on behalf of Carlo
- acsifdc.cpp: local variable masked out class variable of same name. Bug
was there since 2004/02/02. Fixed.
2004/04/06 - Petr on behalf of Carlo
- MacOSX/: obsolete aranym_for_library and pkg_support were removed.
main_OSX.cpp added, with modified memory allocation routines.
The installation package is no longer required. Now there is only a folder
to drag to the hard-disk.
- configure.ac: added MACOSX_support define, corrected bug in vm_allocate
test.
- uae_cpu/memory.h: scary typo error fixed
- main.cpp, parameters.cpp: these patches were not accepted as I don't like
unnecessary polluting of main source code with #ifdef MACOSX_support.
We need something like Unix/cygwin/cygwin_parameters.cpp for MacOSX
to keep the main source clean.
2004/03/29 - milan
- Makefile.in: .cvsingnore not in dists
- configure.ac: flightrecorder option corrected
2004/03/04 - Carlo & milan (thank you, Carlo, for your great job)
- macro do_get_real_address() for OS_darwin corrected
2004/03/03 - Carlo & milan
- MacOS X doesn't support fixed allocation in ARAnyM, so special workaround
needed
2004/02/28 - milan
- sigsegv handler for Linux as computed gotos (partially), disabled, slower
2004/02/22 - Petr on behalf of Carlo
- MacOSX/*: I have solved the problem with DIRSEPARATOR and ARANYM_DATADIR
defines in my project. I have modified the shell script that call autogen.sh:
now calls it only if it exist (on official release autogen.sh is missing),
otherwise it calls configure.
I have added the directory "pkg_support": in this directory there are
instructions and files to build an installer package for aranym.
I have removed "aranym_for_library" directory: this is not needed for the
new installing method.
The directories ".aranym" "usr" "etc"... are all hidden under MacOSX Finder
so they are accessible only through the terminal window.
I have renamed ".aranym" in "Aranym_files" and moved the data dir in
$HOME/Documents/Aranym_files. In this manner they are accessible through the
Finder.
I have modified paths in configure.ac so they are correctly expanded
in configure.
2004/02/19 - Xavier
- gui-sdl/sdlgui.cpp : SG_DISABLED state now ready for use.
- gui-sdl/dlgDisk.cpp: "Generate" buttons visible (but disabled).
2004/02/16 - Xavier
- gui-sdl/sdlgui* :
- added SG_RADIO flag.
- removed SGRADIOBUT objects. The exact same effect is now obtained with a
SGCHECKBOX object with the SG_RADIO flag.
- font is now loaded into a 8 biplanes surface. SDL has some strange reactions
with 1 bitplane...
- removed converted font. We now directly use the 8 bitplane font. This allows
to choose text color and correct a bug where the font was not correctly
converted (after a screen depth change while GUI is displayed).
- removed SDLGui_PrepareFont() and SDLGui_FreeFont().
- added SG_DISABLED state. Not finished yet.
- cleaned color handling.
- SGTEXT objects drawn differently if SG_SELECTED flag is set.
- gui-sdl/dlgMain.cpp: removed calls to SDLGui_PrepareFont() and
SDLGui_FreeFont().
- gui-sdl/dlgFileSelect.cpp: files list elements are now SG_SELECTABLE so user
can see which one is selected.
* tagged as ARANYM_0_8_7_BETA
2004/02/15 - Petr
- natfeat/hostfs.cpp: restore 0.8.5's xfs_init to fix the mount root bug.
- README, NEWS, TODO, aranym.1, aranym.spec, version.h:
standard updates for new release.
2004/02/14 - Petr
- all HW chips' classes: made sure they contain function reset() that
initializes internal variables of the objects. This will be called
when RESET instruction is executed to provide complete hardware reset.
- hardware.cpp: added HWReset(), calls reset functions of all HW chips.
- most NatFeat classes: added reset() function (same reason as above).
- nf_basicset.cpp, debugprintf.cpp: make use of SafeStrncpy
- nf_objs.*: added NFReset(), calls reset functions of all NatFeats.
- uae_cpu/aranym_glue.cpp: RESET instruction emulation now resets all
emulated hardware and native features.
2004/02/13 - Xavier
- gui-sdl/sdlgui.*:
- introduced new flags : SG_SELECTABLE and SG_BACKGROUND.
- boxes and buttons drawing improved thanks to these new flags.
- SGTEXT and SGEDITFIELD objects are now drawn with a background.
- removed imports from hostscreen.cpp I added when writing
SDLGui_Get[First|Next]BackgroundRect().
- gui-sdl/dlg*.cpp: modified to take sdlgui.* improvements into account.
- src/Unix/configure.ac: removed an old hack in Cygwin's $LIB. This was not
necessary anymore (thanks to build-cygwin.sh) and was preventing configure to
successfully compile some tests.
Configure tests impacted (which wrongly reported "no" before) :
- "whether mmap supports MAP_ANON",
- "whether mmap supports MAP_ANONYMOUS",
- "whether mprotect works",
- "for atanh",
- "for isnan",
- "for isinf", and
- "for finite".
2004/02/09 - Xavier
- videl.cpp, uae_cpu/aranym_glue.cpp: connected virtual reset line of our
virtual CPU to our virtual videl. ;) Moved code from videl constructor to
init() method.
ARAnyM video mode/display/main surface is now reseted to its default upon
m68k RESET instruction. We won't see screens like
http://phoenix.inf.upol.cz/~opichals/aranym/jinneeXaAES.png anymore. (You'll
have to take your screenshots before rebooting from now on, Standa. ;) )
This is still minimal, as with real hardware, all videl registers are set to
0 when this event occurs (Display is turned off until TOS initialize videl
properly.). But I suspect EmuTOS wouldn't be able to turn it on yet.
BTW, other virtual components should be wired there, too...
* tagged as ARANYM_0_8_6_BETA
2004/02/08 - Petr
- gui-sdl/dlgAbout.cpp: RTFM AUTHORS
- gui-sdl/dlgMain.cpp: visually restructured a bit, added three buttons
for quick access to most often used functions.
- gui-sdl/dlgHelp.cpp, Unix/configure.ac: Help page added
- hostscreen.cpp: added a comment that explains why user.code = SDL_USEREVENT
- input.cpp: GUI thread talks back to INPUT thread by SDL message as well.
Should fix the infamous X async reply I started getting recently. Maybe
even the problem on Mac.
- natfeat/nf_base.*: SafeStrncpy() added (respects buffer size).
- natfeat/hostfs.*: ctor/dtor added, init/exit used for clearing the allocated
buffers. Resets the mounted points on ARAnyM Restart now. Also makes use
of SafeStrncpy(). Perhaps EasyMiNT installation won't require aranym quit
now.
- AUTHORS, README, BUGS, NEWS, TODO, aranym.1, aranym.spec, version.h:
standard updates for new release.
2004/02/06 - Xavier
- gui-sdl/sdlgui.cpp: fix for resolutions smaller than the dialog size.
Dialogs dimensions back to 40x25.
2004/02/05 - patrice
- New DSP thread killing when shutdown.
2004/02/05 - Petr (on behalf of Carlo)
- MacOSX/*: modified the project for version 0.8.6. Also included a shell
script for calling the autogen.sh inside the project.
- blitter.cpp: updated for getVIDEL(), fixed wrong parameters in the memmove
call (BLITTER_MEMMOVE only)
2004/02/04 2:11am - Petr (dedicated to Konrad :)
- rtc.cpp: fixed two real scary bugs. How could this code work previously??
Weird that these bugs didn't appear under Linux for so long. Sorry guys :)
Now Windows boot in correct resolution and without double bus errors!
- include/version.h: version 0.8.6alpha
2004/02/03 - Petr
- gui-sdl/*: dimensions made smaller (39x24) to fix the crashes in ST-Low
(Xavier increased the dialog dimensions by a few pixels)
- rtc.cpp: few more debug messages
- main.cpp: DEBUG disabled
2004/02/02 - milan
- cdrom.cpp: Solaris support corrected
2004/02/02 - Petr
- acsifdc.cpp: when fixing my 0.8.5beta bug that Xavier has found I decided
to clean the whole floppy code. FDC routines were included from fdc.cpp.
Dropped emulation of second floppy drive. Fixed remounting a floppy
with different geometry.
The hack for auto remounting a floppy disk is now configurable with
#define REMOUNT_FLOPPY_ON_BOOTSECTOR_READING. If it's enabled floppy access
is very slow but exchanging real floppies is detected.
When it is disabled then floppy access is fast but detecting of media change
does not work.
- fdc.cpp: removed (its content is included in acsifdc.cpp)
- Unix/Makefile.in: fdc.cpp dropped
- gui-sdl/dlgDisk.cpp: better calling of the floppy functions
- main.cpp: init floppy after reboot
2004/02/01 - Petr
- MacOSX/*: some unspecified updates from Carlo, used for building the binary
that is on download.
2004/01/30 - milan
- configure.ac: support better native debugger with gcc and gdb
- Makefile.in: small POSIX update
- ata.cpp: small sync with Bochs (set transfer mode and better controller
init)
- compemu_support.cpp: warning "JIT disabled if you have small cache size"
enabled
- cdrom.cpp: some corrections in the latest port from Bochs
2004/01/29 - Petr
- src/MacOSX/*: suddenly Carlo Baiocco appeared and sent me a complete
MacOSX Project builder folder. Give it a try, perhaps it finally builds
a binary for MacOSX? Follow the MacOSX/README.rtf for more info.
2004/01/28 - Petr
- cdrom.cpp,h: Stefan replaced it with a file from current Bochs and forgot
to update the ChangeLog. It might break some other platforms. Beware.
- BUGS: two Windows related problems Konrad reported are documented and will
hopefully be resolved in next release.
2004/01/26 - Xavier
- doc/build-cygwin.sh: preserve timestamps when copying ARAnyM sources. This
allows CVS to find which files where modified when commiting from
${ARANYM_BUILD}.
2004/01/25 - Xavier
- gui-sdl/sdlgui.*:
- aligned SGBUTTONs handling on other objects. They now need to have SG_EXIT
or SG_TOUCHEXIT flag set to end dialog processing. Dialog definitions needs
to be updated accordingly. This simplify code (and allows to use SGBUTTONs
like SGCHECKBOXes). SG_EXIT and SG_TOUCHEXIT buttons are still deselected
before dialog exit however. This should be removed and caller code should be
responsible of deselecting buttons.
- created a secondary loop to hande mouse clicks (SDLGui_MouseClick()
function). Now, once an object is clicked, we ignore any keypress until
mouse button is released. This fixes some underlying bugs (clicked buttons
not deselected when user press RETURN, or when resolution change).
- created a new function to handle keypress. First step to the full rewriting
of SGEDITFIELD objects handling.
- implemented SDLGui_Get[First|Next]BackgroundRect() functions. They allow
main thread (hostscreen.cpp) to get a list of rectangles to update the
background without erasing the opened dialog. We are ready to implement
"flying dialogs". :) This code will need updating if we implement SG_POPUP
handled by sdlgui, since popup menu can be higher than root box.
- SDLGui_ObjFullCoord() now returns correct coordinates for SGEDITFIELD
objects.
- factorized some code ; simplified loops. This allows central loops to be
far more readable.
- commented a bit.
- corrected some returns values and tests. Object #0 should be handled the
same way as the others. Functions should return -1 when no objects found,
and calling functions should test for ">= 0" and not "> 0".
- src/hostscreen.cpp: rewritten HostScreen::blendBackgrounds(). It now uses
SDLGui_Get[First|Next]BackgroundRect() functions and is a bit shorter than
before.
- gui-sdl/dlg*.cpp: added SG_EXIT flag on all SGBUTTONs object (unless they were
already SG_TOUCHEXIT).
- gui-sdl/dlgDisk.cpp: uncommented IDE0_GENERATE and IDE1_GENERATE buttons.
Added SG_HIDDEN flag on them for now (until SG_DISABLED flag is implemented or
the code behind is written).
2004/01/24 - milan
- CPU: small cleanup
- JIT: blacklist opcode for debugging
- sync with BasiliskII
2004/01/23 - Petr
- gui-sdl/dlgDisk.cpp: changed floppy path was not applied to the bx_options
- doc/documentation.txt: Bjoern Spruck has contributed a network init script.
2004/01/09 - Xavier
- gui-sdl/dlgAbout.cpp: made "OK" button the default one.
- gui-sdl/dlgDisk.cpp:
- made "Back to main menu" button the default one.
- shortened displayed pathes to better suit new button's look.
- gui-sdl/dlgFileSelect.cpp: made "Okay" button the default one.
- gui-sdl/dlgKeyboard.cpp: made "Back to main menu" button the default one.
- gui-sdl/dlgMain.cpp:
- made "Close" button the default one. This may not be the better choice. I
think we could set "Apply changed settings" button as default once any
parameter is modified, and set "Close" back when user changes are applied.
This way pressing RETURN 2 times would apply setting, then close GUI.
- fixed indentation.
- gui-sdl/sdlgui.*:
- Made SDLGui_Draw3DBox() more fexible. Allows to choose width of 3D and
black border now. It's a shame not to use it more : buttons are very nice
with a 10 pixel wide 3D effect. ;)
- implemented SG_DEFAULT buttons.
- Reviewed TOUCHEXIT objects handling (fixes fileselector arrows bug
introduced on 2004/01/06).
2004/01/08 - patrice
- dsp_disasm.cpp: many references to old 'dsp.' variable lying around, now
replaced by 'GetDSP()->'.
- hostscreen.h: forget to include config.h for ENABLE_OPENGL value.
2004/01/07 - Xavier
- doc/build-cygwin.sh: Corrected a minor bug in error handling.
* tagged as ARANYM_0_8_5_BETA
2004/01/07 - Petr
- gui-sdl/dlgMain.cpp: show "unsupported yet" everywhere for the curious.
- NEWS, README etc: update for release
- doc/build-cygwin.sh: "bash" is in /bin/ (and rpmbuild insists on that)
2004/01/06 - Xavier
- gui-sdl/sdlgui.cpp: improved maintainability and "look'n'feel".
- Factorized objects coordinate computation.
- Factorized objects refreshing code.
- Factorized objects drawing code.
- Radio button handling simplified.
- Dialog centered "on the fly" (root object coordinates not modified anymore).
- Dialog centered at the pixel level instead of char level.
- Boxes/Buttons borders more GEM-like.
- Buttons labels centered at the pixel level instead of char level.
- When user click on a button and move the mouse before he release mouse
button, the state of the button is dynamicaly updated.
- SDLGui_FindObj() takes buttons and boxes border into account.
Since ARAnyM GUI does not use radio buttons or popup buttons, these objects
have not been tested. Will do it ASAP. Please report any problem with them.
- hostscreen.cpp: modified GUI size to keep root box borders on screen.
2004/01/05 - Petr
- main_unix.cpp, parameters.cpp: 'program_name' is back (cygwin needs it)
- input.cpp: try to iconify fullscreen window when user wants to release
mouse and keyboard (Hi Guido :-)
- main.cpp: NatFeats initialized at startup, de-initialized at exit and
re-initialized at Restart. The re-init code (exit + init) is not optimal.
Maybe we should come up with a reinit() function and let NF authors to
define what should happen at creation time only and what should be
refreshed upon each reboot.
- natfeat/nf_base.*: bool init() and void exit() virtual functions defined.
- natfeat/nf_objs.*: initNatFeats() calls all NF's init(). Similarly for
exitNatFeats().
- natfeat/xhdi.cpp: the init() function is used for remembering the disk
settings so that on-the-fly changes in SETUP don't ruin the pending
disk operations. This was the main reason for introducing NF init/exit
although after reviewing the code it was obvious that such functions
were needed for a long time and will be useful for other complex modules
(hostfs?) in future.
2003/01/04 - STanda
- fvdidrv:
* NF API interface polished (made with a use of the enum {} like
e.g. hostfs). The old non-NF interface dispatch routine removed.
* Color handling rewritten to be able to support virtual workstation
local palette. The NF API functions now take HW color values instead
of the color index (XaAES RSC palette feature works properly now).
* The interface version bumped to 1.100 (nfapi version constant
0x10000960 -> 0x11000960) due to the color handling changes.
2004/01/03 - Petr
- videl.cpp, parameters.*, main.cpp, configure.ac, documentation.txt:
DIRECT_TRUECOLOR hack removed. I don't think it was ever used.
- main_unix.cpp: code rearranged for slightly better readability.
- gui-sdl/sdlgui.*: SG_HIDDEN state introduced. Helps for context-sensitive
display.
- gui-sdl/dlgDisk.cpp: no more confused users as all CD-ROM unrelated
settings are hidden now when CD-ROM is selected.
An automagic detection of C/H/S geometry for loaded disk images added.
- parameters.*, main.cpp: tos and emutos paths moved to bx_options struct.
The goal is to keep everything in the struct for easier handling in the
SETUP GUI.
- main_unix.cpp: 'program_name' is gone.
2004/01/02 - Petr
- gui-sdl/dlgDisk.cpp: Disk geometry added (C/H/S).
Also, there is Insert/Eject button in each IDE set so it now supports
mounting of two IDE CD-ROMs simultaneously :)
- gui-sdl/sdlgui.cpp,h: CHECKBOX can be placed on right side of the text.
Same thing could/should be done for RADIO button.
- gui-sdl/font8.h: font8.bmp included in the code itself to get rid of
problems with loading it at runtime
- gui-sdl/sdlgui.cpp: Load_XBM() for initializing the font (kindly provided
by Martin Doering, thanks).
- parameters.cpp,h: recently added guifont_path removed :) It will come back,
though, once the TOS font file format loading is implemented (see TODO).
- Makefile.in: font8.bmp is not installed
- configure.ac, Makefile.in: GUISDLSRCS introduced (contains gui-sdl/ files)
- TODO: one thing done (font8), another ideas arrived (floppy bootup insert)
2004/01/01 PM - Petr
- fdc.cpp: added is_floppy_inserted() (used in the config GUI). Also
changeFloppy() called on insert_floppy() - this fixes the old reported
problem with installing NVDI from several diskettes.
- hardware.cpp,h: getIDE() added (used in RestartAll for IDE reinit).
- ide.cpp,h: init() added - contains the conversion of some bx_options
that was previously in parameters:postload_ide(). In init() it's better
as we need to convert the options also after config GUI changes (where
we don't want to call postload_* stuff).
- main.cpp: call IDE::init() in RestartAll() to reinitialize
the IDE settings (possibly changed in the config GUI).
- parameters.cpp,h: 'floppy.inserted' removed. Instead, we'd need something
like 'floppy.present' to indicate whether to mount the floppy on boot
or not.
Also the bx_options.atadevice parameters conversion moved to ide::init().
- parameters.cpp: loadSettings() now properly pre-/postinitialized by
calling preset_cfg() and postload_cfg().
- gui-sdl/dlgDisk.cpp: rewritten, finished, tested, working.
- gui-sdl/dlgMain.cpp: load of settings from a config file now properly
update GUI settings. Also the "Apply" button is enlarged to emphasize
that without applying of the changes the Save Settings or Reboot/Close
actions ignore the changes made in config dialogs.
- TODO: large update/rewrite. Get involved if you have some spare time.
2004/01/01 AM - Petr
- gui-sdl/dlgMain: adding more options
- input.cpp, main.cpp,h: RestartAll() now reinitializes the OS (in future
it has to reinitialize also the memory and all hardware). Visible result
of this change is the possibility of loading another config file from GUI
in run-time and reboot with different OS (from TOS to AFROS, for example).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~ Happy New Year to all ARAnyM fans ~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2003/12/31 - Petr
- main.cpp: startup GUI now uses the same thread schema as the normal GUI.
Windows SDL couldn't read mouse events in timer thread :-(
- input.cpp: small clean up in the GUI handling
2003/12/28 PM - Petr
- hostscreen.cpp: removed the scary IPC hack and switched to user SDL events
- input.cpp: same IPC hack fix, SDL keyboard and mouse events mapped to
the user event. The event processing (in check_event()) changed from
PollEvent to threadsafe PeepEvents().
- gui-sdl/sdlgui.cpp: IPC fix: keyboard and mouse events decoded from user
events.
- gui-sdl/dlgMain.cpp: missing initialization of reboot/shutdown flags.
Loading/saving of config file with editable filename implemented.
- parameters.cpp,h: loading and saving of config file from GUI works now.
- main.cpp: fixed scary bug - how could this work this morning? Use the
GUI timer thread _before_ the actual 200 Hz timer thread is started...
2003/12/28 AM - Petr
- sdl-gui.cpp, dlgMain.cpp: font init moved back to the main dialog,
freeing of font surface added.
- hostscreen.cpp: color palette initialized to 16 default TOS colors
- main.cpp: startup GUI with separate timer thread for handling input
events before the standard 200 Hz timer starts
- parameters.cpp,h: "-G" command line parameter opens the startup GUI.
2003/12/27 - Petr
- SDL GUI cleanup: first, all SDL GUI related files are in gui-sdl/ folder
now. Then, each dialog is in its own file. At last, SDL GUI now supports
EDIT field (have yet to add passing the keyboard info) and the FileSelect
now supports editing the filename ("save as..."). We are basically in sync
with hatari 0.45 now.
- sdl-gui.cpp: dialogs are now centered automagically by DrawDialog().
May seem unnecessary at first but helps when the screen resolution is
changed and dialogs need to be redrawn at different positions.
- input.cpp: cleaned up the way the GUI is open
- main.cpp: prepare for the initial GUI popup
- ndebug.cpp: "char" -> "int" to get rid of a compiler warning
- sdl-gui.cpp: font init moved from dlgMain to SDLGui_Init().
- include/version.h: we are at 0.8.5alpha now
2003/12/26 - Petr
- input.cpp: cleaned up.
2003/12/25 - Petr
- hostscreen.cpp: terrific hack that lets the SDL GUI thread know about
resolution change.
* tagged as ARANYM_0_8_4_ALPHA
2003/12/24 - Petr
- hostscreen.cpp: blendBackgrounds() added. This function updates the
background of active GUI with the running ARAnyM screen contents.
I played with SDL_SRCALPHA etc. to make the background a bit greyed out
or something but haven't succeeded.
- main.cpp: blendBackgrounds() called with 5 Hz refresh. Also the VIDEL
renderScreen is now called even if GUI is active (naturally, otherwise
the blendBackground couldn't work).
2003/12/19 - patrice
- bad implementation of bcopy() macro for mingw in sysdeps.h.
- changed DATADIR to ARANYM_DATADIR to make mingw and cygwin happy (not
conflicting with their system headers).
2003/12/17 - Petr
- parameters.cpp: "GUIfont" config option added (as promised). Most of
the complicated logic for guessing the right path for non-Unix systems
can be removed soon.
- sdlgui.cpp: removed the cygwin_to_win32 conversion of the GUI font path.
Two reasons for that: first, user can specify the path in MS-DOS format
in the config file now (if ever needed). Second, the mingw32 compiled
SDL does not work properly anyway so we use cygwin compiled SDL now
(and that one surely reads unix-like paths).
2003/12/16 - Petr
- mfp.cpp: initializing the internal variables suddenly fixed all the
weird problems I had with booting the aranym since I converted the HW
classes to dynamically created objects. So it's finally solved.
2003/12/16 - Xavier
- doc/build-cygwin.sh: added a small shell script to ease compilation on
Cygwin systems. This script is needed since SDL does not allow to build
Cygwin applications out of the box. Please read comments at the top of
build-cygwin.sh for detailed informations.
- doc/compiling_for_windows.txt: removed old documentation superseded by
build-cygwin.sh.
2003/12/15 - Petr
- why to bother with demoing weird problems in extfs.cpp when the file
is obsolete and can be removed? Good idea from Standa. ExtFS removed.
HostFS is the only right choice now.
- emul_op.cpp: bunch of obsolete emul_op instructions was removed.
- aradata.cpp: register 0x9000a.L removed (it used to report the ExtFS
drives bitmask but I can't recall if it was ever used in the planned
application for auto-configuration of the BetaDOS's config file).
- hardware.cpp: the ARADATA now handle 18 bytes of HW regs only
and I plan to convert the remaining mouse information to NatFeats
so that ARADATA could be removed completely.
- hostfs.cpp: debugging disabled. Proper GPL header added.
- Unix/configure.ac: ZLIB is required only if LILO is enabled so the check
for ZLIB is not performed when LILO is not enabled (Patrice's idea
but he was too lazy to do it :)
2003/12/09 - Petr
- extfs.cpp: rewritten the initialization of rootPath a bit. And added
#define DEMO_WEIRD_PROBLEM. That is the "AFROS does not boot" problem
that is still there and can be easily exhibited just by allocating the
'A' rootPath earlier in the start process. Note that it somehow affects
the MFP interrupts which later causes EmuTOS to hang during boot. Very
weird.
- extfs.{cpp|h}: proper GPL header (this one should be added to ALL files)
2003/12/09 - STanda
the change from (2003/10/02):
" Fxattr() now returns the (uint32)MAPVOIDPTO32( fc->index ) instead
of the host OS' statBuf.st_ino. This is a problem IMO due to that
the fc->index might change on releaseCookie()/dupCookie(). Proposals?"
proved wrong. Rolling it back.
2003/11/28 - Petr
- extfs.cpp: made sure the drives[].rootPaths are really initialized to
a defined value. Also, I don't like functions in header files so moved
constructor/destructor to the CPP. And it seems to fix the problem
with freezing EmuTOS due to a MFP problem.
2003/11/27 - Petr
- forgotten "extern DSP" declarations removed
* interesting thing: I figured out that AFROS boots on the 0.8.4+ ARAnyM
if the [HOSTFS] H=<path> is at least 12 bytes long.
Example: stock AFROS contains just "H=/tmp/". The boot freezes. But if
this path is extended to "H=/tmp/6789012" AFROS boots. Sounds like
an encouraging thing to debug... Hopefully not a compiler bug!
2003/11/25 - Petr
- Patrice convinced me to do a two years pending rewrite of the hardware
emulation dispatcher. This is a pretty fundamental change to the deepest
internals of ARAnyM so please take it with great care and do backup
all your disk drives first! It may easily destroy all your data if I made
a mistake somewhere.
All HW modules are now true dynamically created instances. This fixes
a number of hidden problems including the crash of DSP emulation thread
on OS X. It also allowed me to improve and simplify the address dispatcher
(as has been written in TODO for a looong time).
Almost all files are affected. Definitely all that emulate HW and a couple
more. All HW classes are based on BASE_IO now, ICio is gone (why did I
introduce it? I can't remember).
The speed impact is non-measurable (on my machine, at least) and the
source code now looks way better. I am glad I finally rewrote it.
I also know AFROS does not boot. I have yet to figure out why.
- fdc.cpp: HWget/HWput replaced with much smarter FDC::[sg]etDMAaddr()
- aranym_glue.cpp: REBOOT_OR_HALT is set to HALT now. Rebooting was not
a good choice (I ended up in an neverending loop of reboots).
- main.cpp: fdc_init() moved to ACSIFDC constructor. Also the ROM->RAM
first two long words copying moved to InitOS(). HWExit() calling added.
- hardware.cpp: the special case in reading/writing words or longs
for HW_IDE is finally gone. Now each class can override the handle***
functions if it wants to catch the word and long access. Hopefully
nothing breaks after this essential change.
- parameters.cpp: added zero parameters to fix compiler warning about
missing initializers.
- *.cpp: many "unused parameter" warnings resolved by enclosing unused
parameters in /* */
* tagged as ARANYM_0_8_3_BETA
2003/11/23 - stefanq
- added darwin folder containing all necessary files to make a Mac OS X
port of aranym
- Makefile.in: added option -r to target APP_LIB, wich is necessary for
darwin.
- configure.ac: corrected the pathes for frameworks for darwin
- input.cpp: added some #ifdef OS_darwin to reflect some differences in
the keyboard layout of Apple computers.
- parameters.cpp: changed a %d inside an fprintf() call to %lu to prevent
a compiler warning.
2003/10/26 - Petr
- doc/hguide.txt: written "Threads and Interrupts" chapter. I always
wanted to document it since I myself had often hard time recalling
how it was actually implemented.
2003/10/25 - Petr
- newcpu.cpp, aranym_glue.cpp: bus error handling code rearranged a bit:
SDL related code should not pollute the newcpu.cpp. Also tried to fix
the indentation (in the BUS ERROR handler of the Exception function
at least, since Milan does not want me to reformat the whole file).
In case of problems the ARAnyM reaction (reboot or halt) is now common
for both EPS (exception per second) and DBF (double bus fault) and is
configurable by defining REBOOT_OR_HALT at compile time.
If REBOOT_OR_HALT == 1 ARAnyM reboots in case of double bus error or
bus error loop. Else it halts CPU and quits. By default it reboots.
EPS code now counts both EPS at same PC and also general EPS (regardless
of the current PC). Runtime configurable limit is for EPS_PC only, so far.
The general EPS' limit is configurable at compile time by defining
EPS_LIMIT to a number. Should be made runtime configurable as well.
The only missing thing is SDL dialog informing about the situation
and offering more options. See the /* remarks */ in code.
Bus errors are not printed on console now. The EPS and DBF patches
should take care of problems and we are not interested in "normal"
bus errors.
- TODO: updated (some items removed since they were done already)
- AUTHORS: slight update
2003/10/25 - Xavier
- newcpu.cpp: better fix for double bus errors - CPU restarts now
- main.cpp: display correct EmuTOS build date
- configure.ac: caddr_t final solution
- vm_alloc.cpp: caddr_t cleans the #ifdefs out
2003/10/17 - Xavier
- newcpu.cpp: real trap for double bus errors
- configure.ac: allows to "make depend" on Cygwin and correct end message
of configure script so that user knows he should "make depend" before "make"
- Makefile.in: sed script in "make depend" more readable
- vmalloc.cpp: correct a build error on Cygwin (an mmap we forgot...)
2003/10/14 - patrice
- newcpu.cpp: added exception per second limiter, configurable in .aranymrc
2003/10/06 - milan
- nfcdrom: another cleanup (destructors)
2003/10/06 - milan
- newcpu.cpp: Exceptions in JIT handled correctly now, grrr.
2003/10/05 - milan
- BasiliskII sync and cleanup, AMD64 as a host (in 32-bit mode)
- nfcdrom.h: some methods are abstract now
- aranym_glue.cpp: support for compiled mainloop in JIT
** ARAnyM 0.8.2beta released
2003/10/04 - Petr
- natfeat/nf_basicset: added OS_TYPE and CPU_TYPE to NF_NAME(1)
- minor TODO update
- Makefile.in: nfcdrom.bos added to install targets
- atari/network/ethernet/README: URL of site about TUN/TAP added
- doc/compiling_for_windows.txt added
- doc/aranym-lilo.txt added
- doc/aranym.1 (man page) - small typo corrected
- include/version.h: increased for 0.8.2beta release
2003/10/04 - Milan
- Bochs sync and cleanup, mainly around CD-ROM support
2003/10/02 - STanda
- Harddisk usage related documentation made up-to-date.
- HOSTFS: cleanup + some new features.
* Fxattr() now returns the (uint32)MAPVOIDPTO32( fc->index ) instead
of the host OS' statBuf.st_ino. This is a problem IMO due to that
the fc->index might change on releaseCookie()/dupCookie(). Proposals?
* The first fscntl() implementation added.
* The convertPathA2F() method was removed. This was a legacy code from
the times when the native implementation had the BetaDOS driver API.
Now it has the FreeMiNT's XFS API and the BetaDOS' driver API (GEMDOS)
emulation was stolen from FreeMiNT.
* The ExtDrive * was added to the XfsCookie and is filled within the
fetchXFSC() method. This was needed for the cookie2Pathname().
* xfs_symlink() improved - still not perfect
* open() modeMint2Host conversion introduced (for the case the stat.h
is incompatible - not very likely)
2003/09/30 - patrice
- Natfeat CD-ROM driver splitted to ease port to other OS.
2003/09/29 - milan
- Makefile.in: APP_LIB added (hmmm, sorry, diploma thesis, thanks Francois and
Stefan :-)
2003/09/25 - milan
- configure.ac: OS_TYPE and CPU_TYPE for future natfeat exported to sources
- hostfs.cpp: debuginfo blocked for CVS
2003/09/23 - patrice
- Audio CD players should work now. And data CD-ROMs can be read using any
iso9660 dos Atari driver.
2003/09/21 - patrice
- Added NF CD-ROM BOS driver. Very simple Atari CD player programs work, but
some ioctls are still not implemented correctly, and for the moment not
usable for iso9660 fs access, and only for Linux.
2003/09/15 - STanda
- --enable-realstop added to the configure options (default=yes and implies
the --enable-spcflags-excl option). The STOP condition wait and locking
was integrated properly to the uae_cpu core.
2003/09/15 - STanda & !Petr
- STOP instruction emulation greatly improved. usleep() was replaced with
SDL_CondWait() - better portable and what's more important - fixing
jerky mouse movement under new FreeMiNT, fVDI and EmuTOS!
2003/09/10 - Petr (commiting patches submitted by Guy Harrison, thanks!)
- Makefile.in: fixes possible conflicts between aranym headers and system ones
- autogen.sh: shouldn't 'make depend' unless it configures...
2003/09/05 - Petr
- blitter.cpp, mfp.cpp, rtc.cpp: rid of compiler warning "comparing unsigned
variable with signed value"
- various files: rid of compiler warning "unused parameter"
2003/09/03 - milan
- CPU flight recorder from BasiliskII ported and SR support added
- ndebug compilation warnings fixed
2003/08/29 - milan
- some compiler warnings solved
- more warnings support with GCC
- inline warnings not showed now
- MONITOR0-9 Emulops for JIT modified
2003/08/15 - milan
- new CPUDEBUG emulops, switches for new internal variable cpu_debugging,
for CPU debugging
- make dependencies corrected
- gencomp.c: compilation warning cleaned
- md5.h -> aramd5.h : thanks, Guy Harrison
- vm_alloc.cpp: Cygwin workaround, thanks, Xavier Joubert
2003/08/06 - milan
- mingw support cleaned (added to sysdeps.h)
2003/08/05 - milan
- autogen.sh, configure.ac: cleaning, free patch from Guy Harrison for MAKE,
xeys problem solved
- configure.ac, lilo.cpp: zlib & lilo support standardized
nightmare -> bobek transfer
- Makefile.in: make depend for linux corrected
2003/07/28 - Petr
- natfeat/xhdi.cpp: XHInqTarget2 implemented. Also some little cleanup
(error codes replaced with symbolic names)
- parameters.[cpp,h]: added floppy status ('inserted'). Floppy path correctly
initialized
- version.h: version increased to 0.8.1 CVS
- SDL GUI: MAX_FILENAME_LENGTH defined in file.h
- newcpu.cpp: exceptions (bombs) are displayed again (dunno who and why
disabled it)
- parameters.cpp: printing of version at startup is in main_unix.cpp
2003/07/18 - Petr
My little cleanups:
- #ifdef OS_mingw cleaned up. Created a new Unix/mingw_include.h file that
should be included to a generally available include file (config.h?)
if the host OS is mingw.
- SDL locks moved from newcpu.cpp to aranym_glue.cpp (let's keep the borrowed
modules as clean as possible).
- emul_op.cpp: activate_debugger() on 0x71ff disabled as it was crashing
whole emulation.
2003/07/17 - Petr
- src/natfeat/hostfs.cpp: converPathA2F() tried to strip a drive letter
from base path. Xavier debugged this and patched it to not remove
the drive letter since it's the HostFS path (and drive letter on Windows
is important).
2003/07/16 - Petr
- src/natfeat/hostfs: a small workaround for a bug in Cygwin's GCC allows
extending the path buffers back to 2048 chars (thanks to Xavier)
2003/07/13 - Petr
- configure.ac: ARANYMHOME quotation mark encapsulation fixed for cygwin
(thanks to Xavier)
- updated TODO
2003/07/11 - milan
- nice night - some stupid bugs in JIT compiler corrected:
- compiler_dumpstate() with no previous compilation
- not ended NEG in sigsegv handler
- etc. (sorry, it is too late)
- Makefile.in: define -D_REENTRANT -D_THREAD_SAFE
- ata.cpp: CD-ROM product ID corrected for little endian
2003/06/26
- ARANYM_0_8_0_BRANCH merged to main and tagged as _ABANDONED.
The merge brought just minor JIT and HostFS fixes (see 2003/04/1[25])
2003/06/12 - milan
- configure.ac: ECE support corrected
2003/06/11 - milan
- emul_op.cpp: better OP_MONX
2003/06/10 - milan
- emul_op: new instruction 0x71ff (OP_DEBUGGER) starts debugger if available
new instructions 0x71fX (OP_MONX) display CPU registers
2003/06/01 - milan
- configure.ac, Makefile.in: MacOS X support updated (thanks, Stefan Kuhr)
- "SDL/" removed from includes, path to SDL headers must be fully defined
- sync with BasiliskII
2003/05/27 - milan
- configure.ac: MacOS X support rewritten (thanks, Stefan Kuhr)
2003/05/26 - milan
- configure.ac, fpu_ieee.cpp: Sparc problem solved, see "2003/04/23 - milan"
and GCC bugs #8300 and #9763
2003/05/01 - patrice
- minimal ncr5380 scsi emulation to allow Linux boot. Maybe TOS harddisk drivers
also do not hang anymore: need testing.
- lilo: ramdisk copied to FastRAM, so it is not written over when kernel boots.
2003/04/28 - patrice
- midi: Added option to output bytes sent to MIDI interface in a file.
- lilo: Bugfix, thanks to midi output.
2003/04/25 - patrice
- cfgopts modified so the value given can contain the '=' sign.
Added Lilo to Aranym: you can boot a Linux/m68k kernel with it.
MMU support required (and debugged!) for this option.
2003/04/23 - milan
- configure.ac: on Sparc with GCC 3.x use older FPU (UAE), GCC bug workaround
- Makefile.in,configure.ac: small update
2003/04/22 - johan
- fvdidrv.cpp: Reverse transparent mode for vrt_cpyfm corrected.
2003/04/16 - patrice
- Corrected inclusion of SDL headers.
Removed useless glut library linking.
2003/04/15 - STanda
- hostfs:
* constant usage cleanup.
* xfs_creat()/xfs_dev_open() issues fixed (gunzip works properly now)
* xfs_native_init() improved to be able to handle both the 1.15.x
and 1.16 (new Dcntl() feature) - reacts on the 0-31 devnums when
appropriate.
2003/04/12 - Petr
- compemu_support.cpp: unnecessary fopen("/dev/zero", O_RDWR) removed.
This allows running aranym-jit on ARAnyM Demo CD (Knoppix based).
** ARAnyM 0.8.0beta3 released
2003/04/10 - Petr
- parameters.cpp: addFilename() has a different order of arguments
and is able to deal with additional path separators
- cygwin support hopefully perfect now (uses registry to find out the path
to "My Documents" folder which is used instead of the Unix-ish $HOME).
- hostfs.cpp: char a[2048] - local arrays for filenames now defined with
MAXPATHNAME2LEN (MAXPATHNAMELEN was already used and I wasn't sure if
it can be used in the other cases as well).
- !IMPORTANT! With MAXPATHNAME2LEN set to 2048 gcc 3.2 created incorrect
code on cygwin. Thus both MAXPATHNAME[2]LEN were set to 255 for now.
I realize it's dangerously low value but if we are suffering from
stack overwrites we need to go low and re-check all issues again.
Note that this fixes the wrong mapping of host folders under Cygwin..
2003/04/09 - Petr
- parameters.cpp: do not include emu_bochs.h - this breaks some platforms.
- tools_cygwin.cpp: Xavier submits a routine for reading the registry
2003/04/08 - Petr
- hostfs.cpp: fixed very annoying bug that was causing bus error when opening
root of a host drive.
- parameters_cygwin: fixed a bunch of small bugs, now tested and works OK.
2003/04/08 - patrice
- Document autozoom in the [VIDEL] section, and [OPENGL] section, in
documentation.txt and aranymrc.example
** ARAnyM 0.8.0beta2 released
2003/04/08 - Petr
- cfgopts: Thomas correctly suggested to use memmove() for overlapping
blocks of memory.
- changes made between ARANYM_0_8_0BETA1 and 0_8_0_BETA2 merged to main.
2003/04/07 - patrice
- Preliminary support for mingw compilation suite.
2003/04/07 - STanda
- hostfs.cpp: General debug messages cleanup.
The st2flags() and flags2st() methods fixed (a need for open()).
The isPathValid() method removed (was only useful for aranymfs.dos).
Dpathconf(8-9) added and 7 fixed (Thing has a bug in 1.27 here IIRC).
2003/04/07 - Petr
- configure.ac: parameters.cpp and its children updated. Should be ready
for adding more cygwin specific functions.
2003/04/06 - Petr
- parameters.cpp: '-S' handling corrected. Small cleanup in getopt()..
- natfeat/ethernet.cpp: back to execp(), now starting of 'aratapif'
works OK thanks to use of _exit().
- parameters.cpp: cleanup in getConf/DataFilename(). Now uses 'callbacks'
for obtaining the folder path. These callbacks are defined for Unix
and for Cygwin so far (Cygwin needs a different handling). Hacks
with "--datadir=/" removed completely. Thanks to Xavier for the Win32
related information and ideas.
- Unix/cygwin: new folder with tools_cygwin.cpp and parameters_cygwin.cpp.
The Makefile.in was not updated yet.. Trying to find a more flexible
way than copying things from parameters_unix to parameters_linux...
2003/04/03 - STanda
- hostfs.*: general clean up
- tools.*: The 32bit <-> host mapping for systems with non 32bit
void* and int. Several other functions were moved to the tools.h.
2003/04/01 - Petr & Honza/ATACK
- main_unix.cpp: segfault on gentoo (where the argv[0] does not contain
the path (only filename)).
- natfeat/ethernet.cpp: missing ethX definition in DEBUG() statement
2003/03/30 - Petr
- cygwin gets its own folder with a tools.cpp file.
- sdlgui.cpp really needs the explicit conversion of the path. Xavier was
right, after all.
2003/03/29 - milan
- Petr's version capabilities implemented
- infoprint as cname for panicbug, sorry Petr
- man page from debian added
2003/03/28 - STanda & Petr
- natfeat/hostfs.cpp: DIRSEPARATOR used wherever possible. Might fix HostFS
on Windows.
- parameters.cpp: DATADIR can't be relative so now it checks for "//"
(configure --datadir="/") and then ARAnyM uses the path to the binary
as the DATADIR path (fixed later the same day)
2003/03/27 - Petr
- parameters.cpp: correction and clarification of "-d" command line switch
- input.cpp: a key for generating screenshots changed to "PrintScreen"
(the Alt+PrintScreen collided with Linux kernel hacking SysRq combination)
- [ARANYMFS] config file block header changed to [HOSTFS]. The [ARANYMFS]
is still read in case [HOSTFS] is not found in the config file. But in near
future ARAnyM will stop reading the old [ARANYMFS]. Updating your config
file automatically is as easy as starting aranym with -s. After that you
may just remove the [ARANYMFS] block from your config file.
- user-specific files ("config", "nvram") are stored in subfolder ".aranym"
in the $HOME folder. If $HOME is not defined, $USERPROFILE is used instead
(Windows 2000). If neither $HOME nor $USERPROFILE is defined then the path
to the ARAnyM binary is used.
- system-wide data files ("ROM", "etos512k.img", "font8.bmp") are stored
in subfolder "aranym" in the "/usr/local/share" folder (by default). This
folder can be changed in configure by --datadir=<path>. If this folder
is defined as 1 char long path ("." for the actual folder) or is empty
then ARAnyM tries to use the path to the ARAnyM binary instead.
- DIR_SEPARATOR renamed to DIRSEPARATOR and corrected (it's been already
used in several places).
2003/03/27 - milan
- configure.ac: DIR_SEPARATOR added.
2003/03/26 - milan
- JIT games, sync with BailiskII
2003/03/24 - milan
- Solaris support updated
- one paranoia "volatile" fix in CPU
** ARAnyM 0.8.0beta1 released
2003/03/24 - Petr
- aranym.xfs renamed to hostfs.xfs
- new binary drivers (hostfs.dos, hostfs.xfs, aranym.xif, nfeth-config)
added to CVS.
- Makefile.in: installs new hostfs (instead of old aranymfs) and also
new aranym.xif plus utilities.
- aranym.spec: updated for new release, install new files.
- doc/documentation.txt: slight update (regarding BetaDOS only)
2003/03/23 - Petr
- nfeth-config.sh: added, calls araethip and shows how easy is to configure
the device automagically.
- araether.c: AUTO_IP_CONFIGURE (automatical internal configuration of
eth addr and netmask) added but is not working well, thus disabled by
default. Also the DEBUG(()) system doesn't seem to work so I wrote
mine for the ioctl() - can be enabled by defining MY_DEBUG.
- renamed things: "araeth*" -> "ethernet", "araethip" -> "nfeth-config"
- atari/hostfs/README, atari/network/ethernet/README: updated
- 'aratapif' started by 'execv()' from the same folder where aranym was
started from. Also a couple of checks for file owner and setuid bit
added so users get warnings if chown/chmod was not applied to aratapif.
- version.h updated to 0.8.0beta1
- configure.ac, Makefile.in: renamed "pif" to "ifc" and "arapif" to "tapif"
- TODO, BUGS, INSTALL, NEWS, README and other files updated.
2003/03/22 - Petr
- [ETH0] settings in the config file
- aranym_xfs.c: ifdef'ed one debug print
- araethip.c: improved and adapted for possible many eth devices
2003/03/21 - Petr
- networking: NF API extended to allow emulating more than 1 network card
- aranym.xif: added SIOCGIF modes to autoconfigure the device with its IP
and netmask.
- natfeat/ethernet.cpp: initialization corrected. The XIF should not install
on atari side unless the host initialization was finished OK.
2003/03/20 - STanda
- hostfs.cpp: mapping improved.
- .DOS/.XFS: .xfs works now just like the MetaDOS's driver
it maps all the drives under the same driver letters.
It goes through the [aranymfs] for the mapping.
After a conversation with Frank Naumann I conclude that
the M(B)etaDOS/ExtenDOS would not work with the 1.16 FreeMiNT
kernel line. So do not use the .dos driver there as the
very same thing is provided by the .xfs there now.
The configuration stays the same.
- aranym_xfs.c: the source can be swithed to use the Dcntl()
to map the drives, but in that case you can't get the single
letter mountpoints.
2003/03/19 - STanda
- hostfs.cpp: the metados hostfs.dos driver simply sets the mapping the
same way as aranymfs.dos. No change for the user.
NOTE: Do not use aranymfs.dos driver. It doesn't work under
FreeMiNT 1.16 kernel
- aranym.xfs: now mounts the [aranymfs] mountpoints to U:/GG
(need to develop a hack to map that to U:\G only /single letter mount
point) - not via Dcntl() which looks in BIOS in this case)
2003/03/18 - milan
- P4 fix for JIT compiler
- sync with BasiliskII
2003/03/17 - milan
- FPU updated, preparation for K8
2003/03/17 - STanda
- hostfs.cpp: the chattr/chmod functions ported from STonX. Not tested.
It just compiles ATM.
2003/03/16 - Petr
- natfeat/doc/native.txt updated (used Laurent's latest version without
the NF_CONTROL stuff and with corrected unsigned long ID).
- TODO updated
- natfeat/ethernet.cpp, atari/network/araeth/araether.c: subIDs are now
defined in a separate header file named araether_nfapi.h. This should
make the connection between host side and atari side of the natfeat
clearly visible.
- natfeat/ethernet.cpp: getting of IP addresses added. Used in a separate
program called 'araethip'. Version of the arether_nfapi must have been
increased so update your aranym.xif binary.
- atari/network/araeth/getparams/araethip.c added. Can be run from MiNT's
rc.net to call the ifconfig and route with proper IP addresses.
- atari/network/araeth/README: updated with info about 'aratapif' and
the tunnel device - simply about getting the whole thing working.
'araethip' is not covered yet in this README.
2003/03/15 - Petr
- major rewrite of the aratapif (ARAnyM TAP IFconfig) and related
updates in natfeat/ethernet.cpp. Now it actually works!
2003/03/14 - Petr
- dsp_cpu.cpp, araifc/inet.c: small fixes to remove GCC warnings
2003/03/13 - milan
- IDE: sync with bochs, BeOS, Cygwin, Darwin
- araifc integration
2003/03/12 - STanda
- hostfs.cpp: fake methods for chattr, chmode, chown and some more.
The report the fakeness to the host OS console in debug mode ATM.
- araifc (ARAnyM ifconfig implementation for tuntap)
2003/03/12 - milan
- list of supported OS updated
- Makefile.in: diskimage cleaning
2003/03/11 - STanda
- aratapif: made working even in nondebug mode. The exec() arguments
needs to be put into the child process adress space to be able to
execute any binary.
- BetaDOS 3.12: works correctly with the hostfs.dos driver here it
seems. Please test the driver throughly. It gives you the long names
also under FreeMiNT (unlike the aranymfs.dos which does not work
at all in my 1.16 setup - it does in 1.15.12 however)
2003/03/07 - Petr
- aranym.spec: paths to share/aranym had to be corrected (though I'd say
they were OK previously and that our Makefile install: is wrong)
2003/03/06 - Petr
- external configuration tool for the setting up the tap0 device
2003/03/05 - STanda
- small fix in hostfs/metados/main.c
2003/03/04 - Petr
- ata.[cpp|h], parameters.[cpp|h] cleaned up: obsolete disk_options_t
and cdrom_options_t structures removed. Everything is stored in the
atadevice_options_t now. Nice bonus is the possibility of naming the IDE
device with new config option "ModelName" (string, up to 40 characters).
2003/03/02 - Petr
- natfeat/atari_example_gfa.lst: example for GFA Basic programmers
- natfeat/atari_example.c: updated for Ssystem() call
2003/03/01 - Petr
- parameters.[cpp|h]: single partition devices under the SCSI nickname
need the partition ID to be configurable
- natfeat/nf_base.cpp: added, contains Atari<->Host memcpy and strcpy
functions (taken from hostfs.cpp).
- hostfs: major NF API clean up. Versioning added. HOSTFS is Supervisor
only now. Also the mount point in MiNT is "U:\hostfs" now.
2003/02/28 - Petr
- natfeat/ethernet.cpp: getHWaddr takes exactly 6 bytes and it's not a string
so no EOS should be added. Thus strncpy changed to memcpy.
2003/02/27 - Petr
- Ethernet: README of aranym.xif made clearer, IP addresses in ece.cpp
configurable by #define and the default ATARI IP address changed to
192.168.0.2 (to prevent users from asking a question why it was .5).
- natfeat/ece.cpp renamed to ethernet.cpp
- NatFeat "ECE" dropped, new NatFeat "ETHERNET" with different API supporting
also versioning and allows passing the interrupt level and MAC address
from the host side. Also the ETHERNET NF is Supervisor only (naturally).
2003/02/26 - Petr
- ETHERNET_OLD (the one from Basilisk) removed completely
- Networking now at interrupt level 3 (Audio stays at int level 5)
- parameters.cpp: "--swap-ide" command line switch added (exchanges IDE0
and IDE1 drives). I find it useful for preparing new disk images..
- parameters.[cpp|h]: get ready for SCSI disks ([DISK0-7]) (single
partition mounting)
2003/02/26 - STanda & Petr
- natfeat/ece.cpp: after removing hostScreen.lock and one unfortunate D(bug)
it started working. Wonderful. TODO: change interrupt (probably to INT3).
Also would be good if root privileges for tuntap weren't necessary.
- "araeth" -> "eth" rename
2003/02/20 - Petr
- videl.cpp: fixed wrong st_shift reset, removed VIDEL regs initialization
(since EmuTOS now initializes VIDEL properly). Startup color depth
of host window is 8bit now (should be enough).
2003/02/19 - STanda
- fvdidrv.cpp: the expandArea M->M for bitplanes fixed
The only TODO for full bitplane support is to support non-word
aligned blits and expands.
... next shift (evening) ... the VDI pen -> TOS colors reduced
only to proper setting of the palette (see getTosColor() method).
2003/02/18 - STanda
- fvdidrv.cpp: the bitplane modes improved. Up to the 4bit mode
everything works well. The 8bit mode is on the way. There is still
some little imperfection there.
2003/02/18 - Petr
- videl.cpp: writing to f_shift resets the st_shift and that fixes
the color depth detection routine.
2003/02/17 - STanda
- BeOS patches for extfs.cpp and natfeat/hostfs.cpp
2003/02/16 - Petr
- cleanup in src/natfeat - fundamental NF functions grouped in 'basicset'
- cleanup in emulop.cpp - removed everything that has a NF replacement
- cleanup in araobjs.cpp - removed everything that is in src/natfeat as well
- NF_SHUTDOWN added
2003/02/12 - STanda
- tools/createdisk: rewritten into 'sh' syntax and tested on
Solaris/HPUX/FreeBSD (all due to the clarity of the FreeBSD distribution
requested)
* you can create image of whatever size and pretty fast (we are using
lseek() there now and so on ext2 you can create and image file bigger
than your available space ;))
* You need not to use the mbrdata file if you don't need it. See the usage
notes for more.
2003/02/09 - patrice
- ikbd.cpp: corrected SendMouseMotion() which don't modify the buttons variable
anymore.
- hostscreen.cpp, parameters.cpp: added 'Filtered' property to [OPENGL] section
if you want do enable/disable linear filtering for screen rendering.
2003/02/04 - Petr
- input.cpp: fixed a long-standing bug with automatic mouse grab upon
entering the ARAnyM window. This didn't work correctly when the ARAnyM
window didn't have input focus.
- ikbd.cpp: there is a bug in the algorithm of compressing the mouse
packets. I added a simple workaround but in the future this should be
fixed properly.
- input.cpp: added a warning when the SDL reports weird mouse relative
motion event. Such event is reset otherwise our mouse would get mad.
I am wondering why SDL reports such scary values for relative motion..
2003/01/29 - milan
- Makefile.in: corrected, floppy.sh is executable
- memory.h: ISO C++
** ARAnyM 0.7.0 released
2003/01/29 - Petr
- xhdi.cpp: used off_t in fseek hoping that this would make it LFS compatible
- Makefile.in, aranym.spec: three more contrib files added for installation
2003/01/16 - milan
- configure.ac: support for large files (>2GB)
corrected support for OpenGL
2003/01/15 - STanda
- fVDI: The drawMouse() hot_x/hot_y are stripped to 4 bits.
= The m68k driver had a bug in the parameter passing for drawMouse()
so DO NOT FORGET to update your disk images.
2003/01/14 - STanda
- fVDI: The drawMouse() calling fixed for the natfeat dispatch.
The mouse color should be OK again. And... EmuTOS works with
fVDI since now.
2003/01/12 - Petr
- natfeat/atari_example.c improved (using function pointers now)
- include/version.h improved (automatically appends "CVS_date_"
to unoficial builds)
2003/01/11 - Petr
- "__NF" cookie fixed - now the structure contains pointers to nfID and
nfCall.
- src/natfeat/atari_example.c updated - it's now based on the __NF cookie
only.
2003/01/10 - Petr
- tools/diskimage.c: a tool for creating disk images up to 32 GB large.
Note that our IDE emulation is limited to 2 GB disks for now. Will be
fixed soon, hopefully.
2003/01/09 - Petr
- fixed _SND cookie value: now it contains just '4' to indicate that no
hardware is available except of XBIOS functions. If DSP emulation is
compiled in and active the _SND cookie contains %00001100 (according
to recent info in mailing list the 3rd bit means DSP).
- improved the patch of TOS 4.04 again - this time added "__NF" cookie
(untested yet) and also a nice example of how cool the boot logo may be.
- Didier updated audio driver to use NatFeats when available...
2002/12/29 - Petr
- videl: Sbastien Briais sent a patch that allows virtual screen on VIDEL
by emulating the 'linewidth' and 'lineoffset' VIDEL registers.
- videl: the 'od_posledni_zmeny' variable translated to English, at last.
2002/12/19 - STanda
- the atari/network/araeth aranym.xif for ECE (ethernet card emulation)
added. It doesn't work ... see the README there.
nb: The ether_unix.cpp;emul_op.cpp;include/ether*.h may be removed
I left them in place until it all actually runs with my
implementation
- Installation and BUGS section added into the atari/hostfs/README
2002/12/16 - STanda
- several cleanups regarding the extfs and hostfs (main.cpp, nf_objs.cpp)
- STL bugfix in natfeat/hostfs.h (the std namespace usage)
2002/12/14 - johan
- Special handling of 32 bit vro_cpyfm D=S mode (see 2002/09/28).
- Mode handling for screen->screen blits.
- Updated fvdi.prg, aranym.sys and fvdi.sys.
2002/12/10 - STanda
- extfs: interface & debug cleanup
- hostfs: completely new NatFeat driven implementation of the host OS
filesystem access. The m68k implementation in in atari/hostfs folder.
Read the README placed there.
2002/11/30 - patrice
- videl: autozoom does not work correctly if target is smaller than source.
- hostscreen: added OpenGL rendering for the Atari screen.
2002/11/09 - milan
- sync with BasiliskII: some obsolete structures removed, support for Opteron
2002/11/06 - Petr
- aranym can be compiled without the DSP emulation again
- ulong in nf_stderr fixed to uint32
2002/11/03 - Petr
- XHDI - returning values corrected
2002/10/29 - Didier & Petr
- found and fixed serious buffer overflow in uae_cpu/readcpu.cpp.
EMULOP_RETURN (unused), NATFEAT_ID and NATFEAT_CALL should behave
better now.
2002/10/28 - Petr
- NF_STDERR added to NatFeats
- NF_VERSION corrected (should display version of NatFeat API, not version
of aranym)
- new cmdline option "-e" (--emutos) enforces EmuTOS boot.
2002/10/22 - johan
- fVDI driver NatFeat support added.
2002/10/20 - Petr (version 0.6.8-beta)
- NatFeat instruction opcodes changed back to good old $7300/$7301.
The LineF interface requires the $fe0x instructions to be long words
and I am not ready to accept such change of NatFeat calling convention.
2002/10/19 - Petr (version 0.6.7-beta2 - NatFeat opcode change!)
- GFA Basic "fix" - it writes 0x16 to IKBD and then waits for a joystick
packet in an endless loop. So we are sending a Petr packet now.
- NatFeat instruction codes changed to unused LineF ones: $fe00 and $fe01.
Hope that this will make all future ColdFire CPU users happy ;-)
- cosmetic changes (aranym prints its version and compile date on startup)
- new "readonly" parameter to [IDE] config replaces the "xhdiWrite" but works
generally - i.e. allows opening disk images on CD-ROMs (suitable for our
aranym CD)
- CD-ROM in GUI features [Insert] / [Eject] button now
2002/10/15 - milan
- Mac OS X: keyboard scancode workaround
- non-cheaders support (for MipsPro C/C++ compiler)
- cleanups in classes MFP_timer, ndebug, in macros around ADDRESSING modes
etc.
- FAQ: changes around disks
2002/10/14 - milan
- configure & etc.: generic bool, volatile and inline handling
2002/10/13 - Petr
- fixed CDROM mount/unmount support
- fixed FastRAM max size check on Linux with real addressing and no JIT
- added CD-ROM automount (like on real Atari :-)
2002/10/13 - milan
- sync with BasiliskII CVS
- JIT compiler: NOP filler based on binutils (default)
Gwenole added some checks
- Mac OS X: some small corrections
- xBSD: sigsegv handler setting for JIT compiler corrected
2002/10/12 - milan
- sync with BasiliskII CVS
- JIT compiler: tune_alignment as configuration feature (TuneAlignment)
new management of blockinfos
- cpuotpi "disabled" - not used now, needs reimplementig
- IDE: sync with Bochs CVS (only some small corrections in debug messages,
result data of the ATAPI command 'inquiry' fixed, added multiple cdrom
support for win32 - still not used)
- dialog.cpp: enabled Discs, the 1st CDROM driver mount/unmount
** ARAnyM 0.6.6 released
2002/10/10 - patrice (version 0.6.6-beta)
- dsp: dsp nothread code removed.
- configure: DSP is enabled by default now
2002/10/09 - milan
- sigsegv_linux.cpp: x86 F6 instructions was badly decoded. NOT8, NEG8, IDIV8,
MUL8, IMUL8 implemented, TEST8 corrected
2002/10/08 - Petr (version 0.6.5-beta)
- the major arch change in version 0.6.0 has been reverted. CPU is running
in the main thread again. SDL_Timer thread is back on all platforms but
it's not doing anything but setting up a CPU flag that is being checked
in CPU inner loop, in do_specialties().
Advantages:
- all SDL activity is in the main thread automagically
- should fix all the troubles with non-Linux host operating systems
TODO:
- check if the overall performance of ARAnyM is not worse than before
- make sure the keyboard is checked under all circumstances (STOP insn,
CPU crash, deep JIT loop, ...?) so we won't lose the control over aranym.
2002/10/03 - milan
- ndebug supports breakpoints
2002/10/02 - milan
- add raw_cmp_b_mi() and raw_call_m_indexed() for generated, not used now,
BasiliskII used translated main loop now, ARAnyM not - it's main loop is
more complicated
- x86 calls in loops removed as in BasiliskII but for another reason, not
enough stable for newer versions of compilers, in some cases slower
- for OpenBSD dirent.h again in sysdeps.h
- preversion of JIT compiler support for OpenBSD/i386, later I will enable
it also for NetBSD/i38 and FreeBSD/i386
2002/10/01 - patrice
- ikbd: Joystick support bugfixed.
2002/10/01 - milan
- use off_t for file offsets in IDE emulation (from Bochs), sync with Bochs
- for SGI/Irix SystemV opendir used
- for Solaris dirent.h again in sysdeps.h
2002/09/30 - milan
- v&V commands added to ndebug, (<address>) vs. <value> operations
- typo fix in configure.ac script
2002/09/28 - Petr (version 0.6.4-beta)
- XHDI writing to disk fixed. Previously it was appending the new records
at the end of the disk image file so it did not destroy any data but
made the disk image larger. Now it's fixed and rewrites real data in the
disk image so make sure you have 'XhdiWrite' set to 'No' in your aranym
config file if you want to preserve your data intact.
2002/09/28 - Petr (version 0.6.3-beta)
- fixed #ifdef NEED_TO_DEBUG_BADLY code
- BUS ERROR loops are detected and back trace is displayed (the latter only
if fullhistory was enabled at compile time)
- display better info when exception occurs (NPC = new PC = the exception
handler address, SP = stack pointer)
- irritating bus error loops that occur when 68000-only application tries to
catch bus error by its own (PureC IDE) should be fixed now.
2002/09/28 - johan (version 0.6.2-beta)
- Special handling of vro_cpyfm D=S mode for performance improvement.
No loop unrolling yet, and only implemented for 16 bit mode.
2002/09/27 - patrice
- acia, ikbd, midi emulation updated. Preliminary joystick support (emulated
joystick 0 on IKBD).
2002/09/25 - milan
- sync with bochs (4 internal ATA channels)
2002/09/24 - milan
- sync with BasiliskII (cleanups, jumps align corrected)
2002/09/24 - patrice (version 0.6.1-beta)
- videl: bugfixes, Atari screen centered on host screen, autozoom feature
added (with and without integer coefficients).
2002/09/23 - patrice
- hostscreen: modified to select the nearest best video mode.
- videl: modified to render from any bpp to any bpp, using any screen pitch.
2002/09/20 - patrice
- DSP: bit-reversed addressing fixed, host port transfer when threaded fixed
use of C++ constructor/destructor for the DSP class.
2002/09/15 - Petr (version 0.6.0-alpha)
- major architectural change: SDL_Timer stuff removed, #define USE_TIMERS
removed. Now CPU emulation runs in a separate SDL thread and the main thread
just loops (waits for 10ms, executes 'invoke200HzInterrupt' and loops back).
Advantages:
- VIDEL screen redraw runs in the main SDL thread - that should make
many host operating systems happier (please report)
- immediate reaction to hotkeys (Quit, GUI etc)
- same (or even higher) speed as previously (82 kdhrystones on XP 1G7+)
TODO: everything that makes use of SDL functions should be moved to the
main thread. This includes fVDI (actually hostscreen) and GUI. The GUI
could probably simply replace the current main_loop. With fVDI the problem
is more complicated. We will probably have to send all fVDI actions
from the CPU thread to the main thread using some sort of IPC.
2002/09/12 - Petr (version 0.5.0-beta)
- TOS was not ready for large 68040 caches that are provided by JIT compiler.
I added a few missing 68040 cache patches that were developed by Douglas
originally.
- version increased to 0.5.0-beta1 (version 0.4.0 was for working DSP and
0.3.0 for JIT CPU)
2002/09/12 - milan
- sigsegv_linux.cpp: set_eflags()
- cpuopti.c, compemu_support.cpp: workaround for gcc 3.x
- tools/memory.h.patch: for a bit better access to HW space for JIT compiler,
unofficial!
2002/09/10 - milan
- autoconf 2.53+ needed now
- ndebug.cpp, newcpu.cpp: ISO C++ forbids assignment of arrays, so Patrice's
patch completed
2002/09/07 - Petr (commiting for milan)
- newcpu.cpp - flush_icache(0) is required otherwise JIT does not work
2002/09/05 - milan
- DIV8, TEST8 implemented (not tested)
- AND8, OR8, ORIMM8 now handle flags
2002/09/01 - milan
- some small (not tested) corrections in FPU emulation code (UAE&i386 versions)
2002/08/28 - patrice
- DSP: host port read not working with thread, fixed
2002/08/27 - patrice
- Thread support for DSP bugfixed.
2002/08/26 - Petr
- JIT (actually sigsegv handler) fixed again, better this time.
2002/08/26 - patrice
- DSP emulation can be run in its own thread.
2002/08/26 - milan
- sigsegv_linux.cpp: CMP8 much better
- hardware.cpp: in_handler handled in all HW_SIGSEGV configurations
- ata.cpp, ide.cpp: real 32-bit access, word swap added for I/O operations,
io write to 0xf00005 handled (error register)
- uae_cpu/newcpu.cpp: jump table for distributed dispatcher generated
corretcly on little endian platforms now
2002/08/13 - Petr
- NF_Name() now returns the number of characters (excluding the trailing '\0')
which would have been written to the final string if enough space had been
available.
2002/08/12 - Petr
- nf_call changed to return a signed 32-bit number (type 'long' in C lang.)
- nf_call for invalid NatFeat ID returns an undefined value now.
2002/08/11 - Petr
- NatFeats now keep their name and SupervisorRequired flag with them.
- NatFeats main dispatcher now checks for user/supervisor mode and throws
privilege instruction exception if appropriate.
- NatFeats main dispatcher does not copy parameters to local array. NatFeats
themselves fetch the parameters with getParameter() call.
- final renaming: "natfea" -> "natfeat", "_rcall" -> "_call"
- various doc bits found in mailing list stored in src/natfeat/doc folder.
It's partially obsolete but I tried to update at least the native.txt.
- example of running some basic NatFeats for (not only) PureC stored
in src/natfeat/atari_example.c
2002/08/08 - patrice
- DSP: CCR-related stuff written, some bugfixes.
2002/08/05 - Petr
- NATFEA_ID and NATFEA_RCALL can now be used in User mode as well. Supervisor
mode is not required. NatFeats themselves have to throw illegal instruction
exception if they require Supervisor mode and are called from User mode.
- little clean up in the NatFeats dispatcher. It now detects wrong address
and throws proper BUS ERROR.
2002/08/04 - Petr (version 0.3.0b1)
- Native Features implemented. The CPU recognizes two new instructions:
NATFEA_ID (opcode $7300) and
NATFEA_RCALL (opcode $7301).
These instructions are privileged (can be executed in supervisor mode only).
- Two new basic NatFeats (Native Features) implemented:
"NF_NAME" returns the name of "emulator" in a given string buffer.
"NF_VERSION" returns the version of "emulator" encoded in long hex number.
- XHDI was adapted for NF "XHDI" (still callable also via old EmulOp but
that's deprecated and will be removed before release).
2002/08/03 - johan
- Native part of fVDI driver updated to work with new API (dependencies
on internal fVDI structures removed, parameters passed on the stack).
- Some internal fixes and cleanups in the native part of the driver.
- New binaries for both the fVDI engine and the m68k part of the driver
are needed, and are also checked in.
2002/08/02 - Petr
- EmuTOS loading fixed again - it can be any (>0) size now.
- EmuTOS loading routine display the date when the EmuTOS was built.
- XHDI support moved to separate xhdi.[ch] file and XHDIDriver class.
XHReadWrite() implemented. Old DMAread EmulOp is deprecated now.
- XHReadWrite() writes to disk only if XdhiWrite switch in config file.
- nearly all compile time warnings removed!
2002/08/01 - Petr
- EmuTOS image size can be either 256 or 512 kB long
- two serious bugs in linux sigsegv handler fixed: OR and MOV. There are
more bugs in the ia32 emulated routine, unfortunately. JIT won't work
until all of them get fixed.
2002/07/31 - patrice
- DSP emulator: Many bugs fixed (end of dsp_*.cpp files for complete changes)
2002/07/31 - Petr
- bug in fresh IDE emulation code fixed (thanks Johan and Standa)
2002/07/26 - patrice
- dsp_cpu.cpp: lua operation and read_memory fixed
- dsp_disasm.cpp: Added missing '\n' in disasm output
2002/07/23 - patrice
- ndebug.cpp: Make it gcc-3 friendly.
- dsp.cpp: Added mu-law table generator
- dsp_disasm.cpp: Changed all output from D(bug()) to fprintf()
- yamaha.cpp, dsp_cpu.cpp: Removed useless #include "config.h"
2002/07/23 - milan
- support for cdrom under MacOS X ported from Bochs, not tested yet
- updated IDE emulation, some error states detected more correctly now
** ARAnyM 0.2.0 released
2002/07/20 - Petr
- saving/restoring screen background under SDL GUI fixed
- SDL GUI now survives resolution change without a crash but the dialog
is not redrawn correctly yet.
- hostScreen::update() now always update the mainSurface (the physical one).
Updating the logical (when GUI is opened the background) surface is IMHO
not required and it also caused problems when updating the screen upon
GUI closing.
- OS loading changed: first TOS 4.04 is tried and if fails then EmuTOS
is tried. If even that fails (which should not since we include EmuTOS
in ARAnyM binary distribution now) then a warning and an advice for
obtaining the EmuTOS is displayed.
- the window mover now displays an advice for pressing the Pause key
for opening the GUI.
2002/07/20 - patrice
- Dsp: more bugfixes, see end of dsp_[cpu|disasm].cpp file for complete
changelog
2002/07/19 - Petr
- SDL GUI now stores background to another (cloned) surface. Also fVDI
does not draw into the physical video surface when GUI is visible.
- GUI Reset option works.
- if GUI font8.bmp is not loaded the GUI is not accessible
2002/07/18 - Petr
- DSP host code is disabled when DSP_EMULATION is not defined. This was
required to get Alt+Ctrl+Del warm boot working again (there must be a bug
in current DSP emulation).
- trying to enforce releasing the Alt+Ctrl keys after Alt+Ctrl+Esc combo
that causes ARAnyM to drop the mouse/keyboard exclusive control.
2002/07/16 - Petr
- fixed pretty scary bug in yamaha.cpp. As a direct result PARCP started
working reliably.
2002/07/16 - milan
- hguide.txt: updated, added section 9 (Checking memory boundary)
- hwsp possibility of checking memory boundary corrected
- linux_sigsegv.cpp: Added support for MOVSX8, MOVZX8, OR8, MOV8
2002/07/16 - patrice
- Host port reworked. More bugfixes and completion of the emulator.
DspDebug can be started, it finds the DSP.
2002/07/15 - milan
- main.cpp: SDL_Delay on exit increased (for slower machines)
- sigsegv_linux.cpp, memory.h, fakeio.cpp: extended sigsegv handler upgraded
2002/07/10 - patrice
- I finished nearly all intructions. I also added a disassembler
(disabled by default but you can enable it with --enable-dspdisasm)
2002/07/09 - Petr
- DSP integrated properly in the autoconfig system. By default it's disabled
but you can enable it with --enable-dsp in configure phase.
2002/07/08 - patrice
- DSP 56001 emulation started. It is not finished, but I think it has
a good shape. I wanted to do this because I would like to be able
to run DSP development tools under Aranym, to assemble DSP programs.
I used the Motorola DSP56000UM/AD book as documentation.
Consider this as v0.000000001 stuff (unstable, bugged, incomplete).
2002/07/03 - milan
- JIT compiler: some minor corrections in JIT
- sigsegv_linux.cpp, memory.h: new memory access for x86/linux added
- without direct check of memory boundary (extended sigsegv handler)
2002/07/01 - STanda
- The filename -> 8.3 format transformation adjusted. Now it should handle
also the filenames ending with a dot (.). These should be appended with
a hash code as an extension.
2002/06/26 - Petr
- SDL GUI integrated properly: it is now running in its own SDL thread
so it's able to run in parallel with Atari emulation. The input events
are still fetched in the Timer thread and are passed to the GUI thread
via a couple of global variables (should be reworked to a FIFO buffer).
Still needs to fix the screen double buffering...
A whole set of dialogs should be designed for ARAnyM now (see dialog.cpp).
- TOS loading routine now requires the original TOS 4.04 only - the other
patched flavors of TOS 4.04 are not accepted since now on. The prepatched
versions made it harder for us to add or remove various patches. Thus
we won't support them.
- romdiff.cpp does not patch out the RESET instruction anymore. It was patched
out on Afterburner040 because that machine didn't really like the RESET.
ARAnyM handles reset gracefully so there's no reason to patch it out.
- aranym_glue.cpp: added hardware initialization on the RESET instruction.
So far only IKBD is initialized (as there were problems with IKBD after
reset).
2002/06/24 - Petr
- do_get_real_addr() replaced with Atari2HostAddr() in fdc.cpp and audio.cpp
- ExitAll()/QuitEmulator() reworked to allow clean exit from debugger even on
slow machines (the timer thread must be stopped first before the Atari
memory is released).
2002/06/24 - STanda
- fvdidrv.*, videl.*, extfs.* cleanup. The memptr usage introduced. There
should be no (or at least less) problems with the ia64 compilation.
2002/06/09 - Petr
- SDL GUI restores original background (see hostScreen.save_bkg/restore_bkg)
- SDL GUI "Quit" works
2002/06/07 - Petr
- ScrollLock switches between fullscreen and windowed mode
- in window mode you'll get a 'heart beat' - an activity indicator
- SDL GUI is enabled by default now (can be disabled with --disable-gui)
press Pause key to invoke it.
2002/05/27 - milan
- vm_alloc.*: the lastest changes discarded, problems during configure
- newcpu.cpp: SDL_mutex for exclusive spcflags handling initialised
2002/05/24 - Petr
- as suggested by Heiko I added a complete locking to the virtual IKBD queue.
Let's see if it works OK or if the mouse/keyboard is not working properly.
2002/05/22 - STanda
- The aranymfs atari sources updated. The MetaDOS part was converted
into the gcc compilable code (Makefile created) and the mint .XFS
source was added.
The binaries (.bz2 packed) was updated with the newly compiled files.
You might want to try them to test whether they work as the previous
ones.
- atari/fvdi/utility/fvdicout: The Ptermres should be now filled with
a correct value IMHO.
2002/05/20 - Heiko Achilles
- when a mouse movement package is fetched from the ACIA/IKBD buffer this
patch puts all movements of the same type, which are currently in the
buffer, into one. So the fetching is quicker and there's no noticeable
mouse delay anymore.
TODO: replace bool inGet with proper semaphores
2002/05/14 - milan
- vm_alloc.cpp: better structure, not own OS dependent includes
- main.cpp, main_unix.cpp, aranym_glue.cpp, cpu_emulation.h:
some debug outputs added for JIT compiler
a small reform in memory allocation
one stupid bug (of course, I'm the author) found in QuitEmulator
(vm_release(nil))
- JIT compiler: one debug output added for segfault handler of JIT compiler
2002/05/12 - milan (record in ChangeLog by Petr)
- ata.cpp: updated to bochs' latest source (supported SEEK and something else)
2002/05/10 - milan (record in ChangeLog by Petr)
- input.cpp: hack for remounting CD on Ctrl+SysRq, needs to be removed!
- gencpu.cpp: lotsa weird changes, probably related to distributed dispatcher
- newcpu.cpp: minor distributed dispatcher related changes
- JIT compiler: one segfault fixed
2002/04/29 - Petr
- ErrorAlert() has been replaced with panicbug() as I needed sprintf
like parameter parsing. Now all file errors in main() report also
the problematic filename.
2002/04/25 - STanda
- The fvdicout.app added to atari/fvdi/utility. This is the Johan'si
bconout.gtp replacement. It is built using the FreeMiNT CVS tree
and with heavy utilization of the TosWin2 vt52 emulation sources.
It needed only a slide changes in TosWin2 sources. This should not
be the final solution. The real one would by to implement the vt52
emulation into the fVDI engine itself which is on the TODO list in
the fVDI remainings.
Using this I don't have problems here with TOS applications here.
It needs to be started after the VDI initialization (e.g. from the
desktop). There might be some code to initialize the VDI later in it.
- AraEther made compilable. nearly no code check or test done.
2002/04/21 - milan
- header files reform
- distributed dispatcher rewroted
- JIT compiler integrated
** Version 0.1.7
2002/04/21 - milan
- pre-support of FreeBSD
2002/04/21 - Petr
- ExtFs: Dpathconf(DP_XATTR) disabled altogether. It was causing problems
in Thing (Thing didn't refresh source window of 'move' operation).
- $7135 illegal insn (debug print) was not printing until LF was sent.
fflush added.
- SDL GUI, taken from hatari. Not working yet, but soon will be.
- atari sound driver (from Didier) included in atari/sound CVS folder.
- EmuTOS loading: now checked for proper file length.
2002/04/20 - Petr
- audio.cpp - wrong memset() addr fixed. No more crashes, sound works
like a charm.
2002/04/20 - STanda
- PurePascal and its debugger snapshot added.
- ExtFs: Small general code cleanup
2002/04/19 - Didier MEQUIGNON & Petr
- audio driver: Atari side uses ZMAGXSND.PRG, a slightly modified
MagiCMac sound driver. The communication is based on illegal instruction
$712c and IRQ 5 used as a callback from host to Atari. Aniplayer is
supposed to play sound nicely but so far it's crashing on me (Petr).
2002/04/19 - STanda & Petr
- ExtFs: Petr has discovered that ExtFs:Fxattr should probably _not_
take the DTA structure. This bug was originating in the Julian
Reschke's cookfs01 driver sources that I started to program from
(he uses DTA in the Fxattr signature, although he never uses this
argument - most probably cut&paste bug).
Now the Fxattr works properly which means:
* The Dpathconf() DP_XATTR return value works also good for Thing
to refresh the destination window. The access time and originating
time was masked out here to let it work for more hostfs filesystem
types properly. It is subject to change. The hostfs mounted to the
particular hostfs path is to be investigated whether it supports
the features and the flags should be set appropriately.
* QED save and load problems fixed.
Here it seems that the most ExtFs MetaDOS problems on Linux host
OS are gone. Please test heavily. Thanks goes to Petr and his hacker's
history! ;)
- ExtFs namespace method/function recognition doesn't work under
FreeMiNT because mintbind.h are only macros..... The names were changed
to have the ExtFs suffix.
2002/04/18 - STanda
- ExtFs bug in Fsnext fixed. If the path for Fsfirst doesn't contain
wildcards then many applications don't call the Fsnext. We need an
array of paths for mutiple Fsfirst/Fsnext called with a different
DTA buffer pointer. We also need to free the paths if they are not
used any more (Fsnext with -49 or Fsfirst without wildcards and 0).
If the path was freed from the array then we return -49 from Fsnext
now.
This fix causes LZHSHELL.APP be able to extract an archive to the
MetaDOS driven filesystem.
- The Patrice's patch adjusted to be only namespace distiguished
calls. No _emu suffix. Needs to be tried to compile under FreeMiNT.
2002/04/13 - Petr
- AranymFS: we can't rely on error codes returned by hostfs functions.
For example TOS Fcreate() returns -34 if the path to file does not exist.
The fix I put there helps ST-Zip to unpack folders onto host fs.
- AranymFS: Dpathconf(DP_XATTR) disabled (because I didn't know the correct
parameter). Suddenly Thing is able to refresh the destination window
correctly.
- new experimental spec file for building RPM package.
- new TOS patch for redirecting printer Xconout vector to host console
- new function "Reboot" that does hard restart of the machine.
** Version 0.1.6
2002/04/12 - Petr
- newcpu.cpp: NMI will break out of the STOP jail. From user point
of view - if EmuTOS happens to crash you'll be able to quit ARAnyM
now.
- newcpu.cpp: STOPped CPU did not generate 200 Hz system interrupt
when compiled with --disable-sdltimer. Fixed.
** Version 0.1.5
2002/04/10 - Petr
- fixed bug in Reset insn emulation that caused EmuTOS crash
- uae_cpu/spcflags.h cleaned up. NMI flag introduced.
I also added the MFP|VBL|NMI into periodic flags check (wondering
how it could work before).
- clean Quit implemented. No more killed SDL or X threads. Using NMI
like on real machine :-)
2002/04/10 - milan
- IDE: synced with Bochs CVS (concat_image_t(), not used in ARAnyM now, but
who knows)
- CPU: instr. Reset calls now AtariReset()
cleaning in JIT integration
synced with BasiliskII CVS (DOTRACE x STOP)
** Version 0.1.4
2002/04/09 - Petr
- fixed my own stupid bug in acsifdc.cpp that broke floppy support.
Thanks Martin for reporting it.
2002/04/04 - STanda
- MetaDOS Fopen implementation shoudn't be able to open a directory.
Fixed due to the Olivier Landemarre <Olivier.Landemarre@utbm.fr>
and the CharView author who provided a source of the application
that had this problem. The EasyGEM library tries to open directory
entries using Fopen. Thanks for EasyGEM beeing open-source.
- Newly created files specified with all letters in upper case will
be automatically converted to lowercase ones. This follows a small
limitation that there is no way to create e.g. PC.PRG on halfsensitive
fs (it will be pc.prg... but the Pc.prg and any other combination
would work). This can be made optional.
- m68k part of the MetaDOS driver was pretty printed and converted
to correct (DOS mode newlines). No need to update the binary here.
- PureC (PC.PRG) patch to let it working on MetaDOS driven filesystem
(src/atari/tools/pcpatch.*).
2002/04/03 - milan
- sync with BailiskII-JIT (25.3.2002)
2002/04/02 - Patrice Mandin & milan
- pre-patched for Atari MiNT :-)
2002/04/02 - Petr
- MFP and ACIA/FDC/ATA updated to be ready for major MFP rewrite.
** Version 0.1.3 - don't forget to update your Atari fVDI driver
2002/03/27 - STanda
- extfs.cpp/transformFileName rewritten nearly from scratch. Now it should be
more readable source than before.
A simple findFirst function fix: no error on the stat() failure. E.g.
an invalid symbolic link on the host fs.
- fVDI driver: floating Videoram bug fixed.
2002/03/26 - milan
- MMU returns logical address during bus error
- IEEE FPU is default only for i386
2002/03/26 - Petr
- transformFileName in extfs.cpp fixed three times. ARAnyM will not crash
when it encounters a long filename. ST-Zip will not crash when browsing
MetaDOS drive. Maybe that PureC works now as well?
2002/03/22 - Petr
- IEEE FPU emulation fixed: 68040 specific insn (like FSMOVE) don't throw
illegal opcode exception anymore.
- IEEE FPU is now the default FPU emulation in configure phase.
2002/03/21 - milan & Petr
- forgot to set the faulty address when invoking BUS ERROR from hardware
registers access.
- Exception 2 panicbug displays the faulty address now.
- wrong bus error stack frame format 7 fixed.
2002/03/20 - Petr
- MFP and RTC tweaking to get Linux-m68k running
2002/03/15 - milan
- Exception() is called only from main loop, not from trans. function.
2002/03/14 - Olivier Landemarre <Olivier.Landemarre@utbm.fr> & STanda
- ExtFs: ugly bug in flags2st fixed. This might affect some problems
we had with the MetaDOS driver, but unfortunatelly PureC still refuses
to compile a project.
Preprocessor flag to use creat() instead of open() in Fcreate
implementation... no improvement here though (just suggestion from Olivier).
2002/03/12 - milan
- Irix among supported platforms
2002/03/11 - milan
- MMU is back, based on Wez Furlong's patch (UAE)
2002/03/06 - STanda
- ExtFs: xfs_getname implemented. The Pure C now finds the project file, but
it crashes on assembler compilation.
The ExtFs::cookie2Pathname() now uses getHostFileName to be able to work
case insensitively.
2002/03/05 - milan
- memptr for addressing in Atari memory out of uae_cpu
- sync with Bochs CVS 2002/03/02 11:31:18 GMT
o ReadCDSector() (for win32 ASPI) returns 1 if target status is okay
o win32 ASPI version of insert_cdrom() checks media status using
ReadCDSector()
- gencpu.c patched for MMU (based on Wez Furlong's MMU patch 0.8.20.2 for UAE)
2002/03/03 - Gwenole Beauchesne & milan
- fpu_x86 debug mode corrected
2002/02/28 - milan
- get_i*_1 moved to newcpu.cpp
- probably last sync with aranym2 (unofficial CVS) before MMU and pre-JIT
support (new gencpu.c and subdirectory compiler)
2002/02/27 - milan
- corrections of types in hostscreen.h and memory.h (using uintptr instead of
uae_u32 with Host addressing)
2002/02/26 - milan
- Native Feature instruction framework added
- address validation in CPU interface
- exceptions.h removed, interface moved to CPU interface, include file in
sysdeps.h
- error handling of CD-ROM eject on Linux
2002/02/25 - milan
- fp_extended, fp_single, fp_double -> fpu_extended, fpu_single, fpu_double
- spcflags handling rewritten
- original PC handling, must be converted to ARAnyM's after stabilisation
(slower)
- exception stack handling is for 68040 now
- table68k based on JIT BasiliskII
- EmulOp (0x71XX) is handled as usual instruction
2002/02/25 - Petr
- web updated (Ctirad wrote new About)
- simplified most of the presentation.xlst but it's still not good enough.
- limited the text size to 600 pixels for more pleasant reading on wide screens
2002/02/23 - Petr
- separated input related code from main.cpp into input.cpp
- all open() functions have "O_BINARY" flag appended so that Cygwin
binaries won't mess CRLF in files (cdrom.cpp, extfs.cpp, fdc.cpp)
** Version 0.0.22 so you can see new IDE code is there.
2002/02/21 - milan & Petr
- cdrom.cpp sync with Bochs (CD-ROM eject supported)
- ata.cpp sync with Bochs (32-bit data access supported)
- CD-ROM eject in Linux added
- hardware.cpp + ide.cpp updated for 32-bit IDE data access.
It did not work so it is disabled in ide.cpp for now.
2002/02/20 - Petr
- config file is created with proper default values
- IDE devices are disabled by default
- CONFGUI obsolete #ifdef stuff removed from parameters.cpp
2002/02/20 - milan
- new FPU (based on JIT BasiliskII)
2002/02/19 - milan
- src/ <-> CPU interaction cleaned
- memory access cleaned
2002/02/18 - milan
- floating VideoRAM
2002/02/18 - Olivier Landemarre <Olivier.Landemarre@utbm.fr> & STanda
- Compilation problem under Cygwin fixed. In extfs.c for Cygwin
MFSNAMELEN is undefined should replace by buf.f_namelen. The condition
was added due to the BSD systems so I've changed it to if OS_*bsd then...
** ARAnyM 0.0.21 released
2002/02/12 - Petr
- IDE emulation adapted for Falcon: $f00039 is recognized but ignored.
2002/02/12 - milan & Thomas Huth
- ARAnyM support only 68040 only. Other CPUs aren't generated
2002/02/11 - milan
- synced with Bochs IDE
- new version of CPU interface
2002/02/01 - Frank Naumann & Petr & milan
- PAGE_MASK renamed on ARAM_PAGE_MASK (ARAnym Memory PAGE_MASK), PAGE_MASK is
defined in /usr/include/machine/param.h on OpenBSD
- PAGE_CHECK renamed on ARAM_PAGE_CHECK
- ndebug doesn't use ioctl() now for any switching tty's setting
- support for statfs on [Net|Open]BSD
2002/02/01 - Petr
- fixed long-standing bug in ATA.cpp that made ARAnyM stuck when no IDE disk
drive was found (or defined in config).
2002/02/01 - milan
- the 1st step of rewriting CPU/Memory <-> HW interface, look at
cpu_emulation.h
2002/02/01 - STanda
- MiNT aranym.xfs added. This is the preliminary version working with HostOS
root in u:\nativefs just like stonx.xfs does. The mapping to other folders
is possible and is going to be done later.
There are several unimplemented functions there, but the basic functionality
is implemented.
The m68k part is available only as a binary in src/atari/aranymfs.
The sources were grabbed from the STonX directly and hacked just to work and
needs cleaning.
The whole ExtFs should be rearchitectured. It was designed for MetaDOS and
now it is getting very, very unclean. Better not to look into the code.
I will rewrite this nearly from scratch during the planed shift to a portable
library.
CAUTION: There might be crude bugs in it, so please test it on some not very
essential files on the mounted host filesystem.
2002/01/30 - Petr
- emul_op.cpp: OP_DEBUGUTIL made more secure (wrong addr will not crash aranym)
2002/01/29 - Petr
- two EmuTOS screenshots added
- unsupported Windows binary available in download section
** ARAnyM 0.0.20 released
2002/01/28 - Petr
- tools/clocky.prg.bz2 updated - the hotkey combo is back at LShift+RShift
(the Alt+LShift collided with Thing).
- updated aranymrc.example
- updated most documentation and web pages
2002/01/27 - Petr
- XHDI dispatch added to emul_op
- XHGetCapacity() implemented
- DMAread() improved
2002/01/26 - STanda
- extfs.[ch]* cleanup from non needed arguments
2002/01/24 - Olivier & Petr
- on Windows the host operations (fVDI, aranymfs) block the timer thread
so we have to call the invoke200HzInterrupt() manually as soon as the
host operations finish.
- download.html offers nightly snapshots now.
2002/01/18 - milan
- FixedSizeFastRAM fixed
- no debugger fixed
- install part of Makefile fixed
2002/01/17 - milan
- cleaning in ./src - memory access etc.
2002/01/15 - Petr
- you can undefine USE_GETTICKS in main.cpp to replace SDL_GetTicks()
with gettimeofday(). This might help on platforms where SDL_GetTicks()
is slowed down by aranymfs or fVDI driver.
2002/01/13 - STanda
- fVDI driver patches for expandArea in 24 and 32bit depth.
Also the 1, 2, 4 bit depth modes were made available.
There are still bugs in the expandArea Mem->Mem. Also blits are word
aligned when they shoud not be.
2002/01/13 - Petr
- DMAread() added to emul_op interface (used in current EmuTOS)
- faq.xml updated by Ctirad
- configure.in: SDLTIMER and PAGE_CHECK are enabled by default.
2002/01/11 - Olivier Landemarre & Petr
- fixed bug in time sync (signed long is bad for GetTicks())
- fixed bug in TimerC disabling (wrong bit mask for &)
2002/01/10 - Rodolphe Pineau & milan
- vm_acquire_fixed corrected, configure script also
2002/01/09 - Rodolphe Pineau & milan
- 1st step for SGI/Irix
- aranymfs more portable (Solaris supported now also)
- corrections in configure script, memory allocation, memory access
2002/01/08 - STanda
- The aranymfs config file setting finished (thanks to Petr)
- fVDI driver doesn't destroy palette setting on resolution change
The SDL_SetVideoMode clears the palette setting -> the palette is stored
and restored after change (hostscreen.cpp/setWindowSize())
- the driver has also correct 8bit inverse color handling.
- up and running
2002/01/08 - Petr
- the config file format and location has changed (now at $HOME/.aranym/config)
- most global config variables moved to bx_options struct
- NVRAM (formerly CMOS) file is stored in the aranym config folder as well now.
- fixed many bugs in the parameters.cpp code. It should be quite usable now.
2002/01/07 - Petr [ ARANYM_0_0_17 tag ]
- NVRAM RTC getting current year fixed.
2002/01/07 - Patrice Mandin <pmandin@caramail.com> & STanda
- Patrice: I did a simple patch for the vdi color mapping.
The following ugly piece of code removed.
#ifdef __PUREC__
short vdi2pix[1]; /* Of course really 256... */
#else
short vdi2pix[0]; /* Of course really 256... */
#endif
2002/01/05 - Petr
- floppy geometry detection fixed. It could never work before!
2002/01/03 - Petr
- Blitter now calls Do_Blit() on reading status register only. Doesn't seem
to fix the errors during Bconout, though.
- Xconout redirected to host console using poor VT52 emulation.
2002/01/03 - STanda
- fVDI driver: the resolution is changed during the virtual workstation
creation. Copyright notes updated (synchronized with Johan's).
2001/12/30 - Petr
- Johan increased PAGE of PAGE_CHECK to 1MB (for nonMMU mode). This greatly
improved the performance - 36k5 dhry on my machine now. For the MMU040
the PAGE is 4kB.
2001/12/29 - Petr (tagged as ARANYM_0_0_16)
- Johan Klockars' PAGE_CHECK (dividing address space into 4k blocks) added.
It produces slightly better dhrystones than 0.0.14 (34k2 vs 33k5) but
real-life gcc benchmark didn't show any speed up. Perhaps this is a great
idea for the MMU040 implementation but without MMU040 it doesn't help much.
- parameters.cpp and main.cpp cleaned up a bit.
2001/12/27 - Petr (tagged as ARANYM_0_0_15)
- FastRAM can be fixed size ("./configure --enable-fastram=X") - that makes the
check_ram_boundary() even faster (comparing with constant instead of fetching
the value of a global variable). 35k2 dhry now (this is probably the fastest
possible solution before splitting the RAM into 4k blocks as Johan suggested.
- TOS 4.04 patched to enable FastRAM check.
- fullmmu is disabled by default now.
2001/12/26 - Petr (tagged as ARANYM_0_0_14)
- handling of MFP interrupts moved from CPU to MFP module
- checking for VBL and MFP joined in one 'if' - another nice speedup (33k5 now)
2001/12/25 - Petr (tagged as ARANYM_0_0_13)
- ACIA IRQs are not buffered (like TimerC IRQs are) - it was causing bad
keyboard&mouse lockups. Apparently TOS can read several scancodes from IKBD
in one IRQ and our poor implementation fits that feature :-)
- TimerC interrupt fired only if enabled in MFP IRQ enable reg.
2001/12/22 - Petr (tagged as ARANYM_0_0_12)
- most video related parameters moved to bx_options.video struct
- added "--refresh <x>" cmdline option. Default value is 2 = 50/2 Hz screen
refresh. Allowed values are 1 - 200 (50Hz - 1/4 Hz)
- check_ram_boundary() allows direct access to physical videoram
- check_ram_boundary() now makes FastRAM equally fast as ST-RAM (30k5)
2001/12/21 - STanda
- RH gcc 2.96.98 preprocessor bug workaround: The remarks in multiline macros
are before the linetrailing backslash.
2001/12/20 - Petr
- cleaned up newcpu.cpp do_specialties()
- STOP instruction handling really works and gives CPU time slices back
to host OS!
2001/12/19 - Petr
- check_ram_boundary() cleaner now - no default value for 'write' parameter
and the 'size' parameter contains the natural value - 1 for byte access,
2 for a word access and 4 for a long (doubleword) access.
- you can define NO_MEMORY_CHECK in memory.h to see the original
speed of old unsafe, often crashing ARAnyM (Dhry: 27k -> 31k)
2001/12/17 - Petr
- SDL Timers are back! --enable-sdltimer
- VBL timer runs at precise 50 Hz now
- VIDEL screen refresh at fixed 25 Hz now
2001/12/16 - Petr
- check_ram_boundary() takes an additional parameter that sets the size
of memory access. Now finally all memory accesses are checked and nothing
can escape from ARAnyM allocated memory.
- acceleration for blitter configurable: --enable-blitmemmove turns the
memmove acceleration on and --enable-blitsdlblit allows the SDL_blitsurface
to be used.
- check memory by array experimental code removed altogether. It was not
faster unfortunately and it didn't allow the size check that has just been
added to check_ram_boundary.
2001/12/11 - STanda
- fVDI driver patch to not disable the DEBUG. There was the debug.h included
from another .h file which wasn't correct. Some Johan's methods were moved
to the .cpp file.
- framebuffer driver detection to force the fullscreen mode and therefore
no mouse pointer redraw problems when using Clocky(TM). The mouse cursor
was trying to leave the window (actualy the screen surface in fb, which
was causing troubles)
- The SDL_WarpMouse is now called after the HWInit() (actualy SDL_SetVideoMode)
where doesn't cause floating point exceptions and aranym crashes in fbcon.
2001/12/07 - Petr
- first two long words (addresses 0..7) are readonly now like on real Atari.
Thanks to Patrice for forcing us to fix it :-)
** ARAnyM 0.0.11 released
2001/12/05 - Petr
- "-N" or "--nomouse" added to cmdline options. It basically disables
the auto mouse grabbing at startup. Suitable especially for debugging.
- one more illegal/emul_op instruction enabled: 0x7135 can be used for
debug prints - especially for EmuTOS debugging.
- CMOS/NVRAM now starts with English/UK/USA keyboard layout. Thus you get the
right keys even without Clocky on most regular PC keyboards.
2001/12/05 - milan
- "initialization" of 0-7 moved to reset routine, more secure solution
- patched ins. BFINS (uae 0.8.19)
- sync with my "Pragues versions"
- buffer in newm68k_disasm cleared after every ShowEA/fprintf, disasm in
ndebug corrected
2001/12/03 - Olivier Landemarre <Olivier.Landemarre@utbm.fr> & STanda
- ExtFs: Frename fix.
2001/12/02 - Petr
- keyboard conversion code rewritten again. As the SDL returns different
scancodes for same keys under different OSes I created a heuristic
analysis of pressed keys that tries to detect the offset between the
SDL scancode and the physical one. Tested under framebuffer and X11 on Linux.
2001/11/30 - Johan Klockars <rand@cd.chalmers.se> && STanda
- fVDI: improved and made fit into fVDI CVS repository directory structure.
General speedup of line and polygon drawing.
New copy of m68k part sources. Since now you should use the aranym.sys.bz2
m68k binary along with current aranym CVS sources.
The old m68k part source will be removed later.
2001/11/28 - Petr
- new keyboard conversion code: now based on pure scancodes. Clocky for Aranym
now distributed with English PC101 keyboard. With Clocky loaded you have real
WYSIWYG. Feel free to submit other .KBD files for Clocky (French, German,..?)
2001/11/25 - Petr
- new FastRAM.PRG with automatic size detection and _FRB buffer.
2001/11/21 - milan
- cleanning in includes
2001/11/21 - Olivier Landemarre & milan
- problems with new Cygwin corrected
- FullScreen tag in ARANYMRC
2001/11/20 - milan
- small correction in ATCs (MMU), not enough, grr
2001/11/20 - Francois LE COAT & milan
- better support for Solaris
2001/11/20 - Olivier Landemarre & milan
- the 2nd step for Cygwin
2001/11/19 - Petr
- MD5 should be OK on big endian machines (Sparc)
- new TOS 4.04 patches - cleaned up a lot thanks to the disassembly made by
Patrice. Nemesis init routines removed. Reboot code not moved to $600.
Movem patch removed. The whole additional code moved behind the TOS end
so French and other RSCs are OK now.
You are encouraged to drop the previously patched TOS versions and to use
just plain original TOS 4.04.
- parallel port emulation added. This is the lowelevel stuff - Yamaha and MFP
are mapped to IBM EPP parallel port. Several things are hardcoded and
the whole stuff is disabled by default for now. But when I tested it PARCP
ran quite well!
2001/11/02 - STanda
- fVDI: The driver handles some bitplane functionality. It works somehow, but
it still has many bug in this mode. The color palette is correct only if
booted in the same color depth.
2001/11/14 - Petr
- corrected XML->HTML compilation
- made the IDE f00039 alternate status register same as the main IDE status reg.
2001/11/13 - milan
- web/Makefile corrected
- saxon.jar not in CVS now (downloaded with wget from ftp.sophics.cz/pub/aranym/tools)
- gemram removed from Makefile.in
2001/11/13 - Olivier Landemarre & milan
- support for Cygwin
2001/11/11 - Petr
- during configure you can "--enable-directcolor" which is the infamous TOS
and Aranym patch for direct truecolor with VIDEL. I made it configurable
in compile time to simplify the memory boundary checks in uae-cpu/memory.h.
The default is no direct truecolor (it's a hack, after all).
- during configure you can "--enable-boundaryarray" which is a different
method for checking the memory boundaries. It's based on an array of bool
flags - each bool represents 1 MB of memory. There are separate tables
for reading and writting because you can't write to the ROM area.
Advantages:
o FastRAM is finally no slower than ST-RAM
o ST-RAM and FastRAM size can be configured in runtime very easily
o you can even simulate memory windows (FastRAM SIMM banks, e.g.)
o regular memory access gets a higher priority over HW reg access
o the code might be faster than the original 5 comparisons
Disadvantages:
o the whole megabyte of ROM area is readable (so including 0xe8-0xefffff)
o the code might be slower than the original due to indexing in 4 kB array
- a change in IKBD emulation that fixes the problem with slow mouse motion
in Videlity Config prg.
2001/11/07 - milan
- new correction in mmu_decode_addr, I suppose still not enough
2001/11/06 - milan
- corrections of PFLUSH, PTEST (I found my old corrections on hd, grr, 2 months
old, grr)
- MMU address decoding works now (after set_mmu Desktop runs, sometimes),
but still MiNT (and not only MiNT) gives Bus error/illegal instruction, I
know about one bug, I'll correct it later.
- mmusetup.cnf example added to reposity
- make install and Debian package corrected
- the 1st step for Solaris
2001/11/06 - Petr
- TOS was patched with WinX by a mistake. Fixed. GEMRAM 1.0 from Aratools
does not work correctly as the ROM area is not writeable. Use real GEMRAM
instead.
2001/11/05 - STanda
- VIDEL: Since now we are using 8bit SDL surface for all VIDEL depths
less than 16. The blitting routines were optimalized (the destBPP checks are
done outside the main blit loop). The #define SUPPORT_MULTIPLEDESTBPP enabled
to let support VIDEL definitely 8, 16, 24 and 32 bit destination depths.
2001/11/02 - STanda
- fVDI: The driver now normally initializes to 16bit when no mode option
is provided in the fvdi.sys. The screen size remains the same as before
fvdi.prg initialization then.
2001/11/01 - Petr
- mouse behaviour much improved. Automatic grab is configurable now. You can
ungrab the mouse by Alt+Ctrl+Esc and grab it back by left mouse click.
- new command line option "--save" will save the config file with actual
values.
2001/11/01 - STanda
- fVDI: The 16,24 and 32bit modes works now.
2001/10/31 - STanda
- fVDI: The resolution change works now with the current driver. Do not try
to compile the m68k part, it's just full of hacks, but it works for me.
Just use the binary from CVS. The only useable is the 16bpp in any resolution
in X11. I didn't try it in framebuffer or so.
2001/10/30 - STanda
- The HostScreen support for 8,16,24 and 32 BPP finished. Many optimalizations
done in getting the switches out from loops. There should be some speedup, but
this I can't see on my computer and I didn't even try to make any benchmarks.
2001/10/29 - Petr
- --floppy <path> added to the command line options
- --rom <path> removed
- EmuTOS=<path> in the config file. EmuTOS gets a higher priority over the TOS.
- updated aranymrc.example
2001/10/29 - milan
- ARAnyM can be used now without support of debugger (--enable-debug=no)
- ndebug can be activated now also if you send SIGINT to ARAnyM (and that's
why it cannot cooperate with cxmon)
- ndebug is now default debugger
- support for gmake
- --config FILE command line option added
- the command line options are scanned for version/help/config before
parsing of a configuration file
2001/10/26 - milan
- support for instruction history now also in ndebug
- small change in m68k_run_1
2001/10/25 - Petr
- when the aranym catches segmentation fault it releases mouse and keyboard
and shows last 20 instructions prior the segfaulting instruction (only
if compiled with --enable-fullhistory).
- InitROM() asks for 512 kB long file (on the net there are just 256 kB ROM
images).
- Floppy stuff moved to fdc. Automatic mounting - first read/write with
fallback to read only. Media Change trick prepared but disabled for now
because the floppy does not read past 499 sector (try e.g. Diskus Read Test).
Dunno what's wrong. Wonder if the floppy ever worked correctly?
2001/10/24 - STanda
- fVDI: Essential bugfixes added. Now the driver works properly except for the
bugs in the fVDI engine. These are discussed with the fVDI author.
The lines with a negative y coordinate are drawn properly now.
2001/10/23 - STanda
- Screenshot added to the website.
- fVDI: Mouse Is not hidden at the right and bottom screen edge.
Is colorized properly. The shape's hotspot shift implemented.
Shouldn't crash on higher resolutions than 640x400.
Put pixel fixed to take the pattern in mind.
The lineClipping fixed. The lines that starts and ends out of the screen
are not drawn due to the fVDI.PRG beta engine.. the beta crashes sometimes too)
The v0.95 works quite well, but with display bugs like no pictures in
ST-Guide, wrong colors of Thing's keyboard cursor.
- the hardcoded screen resolution changed to the hostScreens one
in mouseOut handling.
2001/10/19 - STanda
- fVDI: The driver updated to work with FVDI.PRG beta. This beta enables
e.g. the monochrome images in ST-Guide and fixes many bugs.
There is still a bug in new line clipping, but I just don't have
time to fix it now. I know exactly what is the problem.
2001/10/18 - Petr
- MD5 class added
- InitROM() detects both our ABTOS and the original TOS 4.04.
- InitROM() patches TOS 4.04
2001/10/17 - STanda
- README The sophics.cz replaced by atari.org for http access. The ftp
and email addresses was left. (I don't know wheter aranym@atari.org
works and the ftp must stay @sophics, the absolute path problems)
- ExtFs: Small bug fix. The Fsfirst&next returns the . and .. dirs too.
(according to Julian Reschke's advice)
- Tools: The changes that were made and uploaded to Petr's ftp are in CVS now
The README was modified a bit.
2001/10/16 - STanda
- fVDI: The segfault bug in gfxLineColor removed.
- VIDEL: The 16, 24 and 32 destBpp are supported when #define SUPPORT_MULTIPLEDESTBPP
in videl.cpp (the SDL surface depth setting is in hostscreen.cpp).
2001/10/16 - milan
- support for BasiliskII's monitor cxmon
- aranymrc now supports FastRAM's size.
2001/10/16 - STanda
- fVDI: The driver should be working now in TC (I finally got the Thing
executed and looking correctly)
2001/10/09 - milan
- some changes in memory allocation, now support for malloc on dummy platforms
2001/10/08 - STanda
- fVDI: the blitting works on destination 16bpp (still no shadow buffer used).
2001/10/08 - STanda
- ALT+PrintScreen generates a snapshot file using the SDL_SaveBMP.
- Host OS dependent objects moved to the host.cpp(h) and aranym specific
objects like ExtFs and FVDIDrv moved to araobjs.cpp(h)
- general cleanup of unused variables (fdc.cpp)
- the WEB pages updated
2001/10/02 - milan
- the first "public" version of "ndebug", some modes still disabled
- platform's independent memory allocation, if ARAnyM doesn't know better
2001/10/02 - Petr
- ROM file reading back in main.cpp
- TTRAM renamed to FastRAM everywhere
- --ttram renamed to --fastram, -T renamed to -F
- --grab_mouse switch removed
- added 'cookie_MCH' config option, it holds hex long value
- maxInnerCounter in main.cpp should be tuned to your CPU speed.
The lower your CPU is the lower the value should be.
2001/10/02 - STanda
- fVDI: blitArea screen2screen & mem2screen (TC) works now.
- fVDI, VIDEL: bitplane to chunky conversion is move into the HostScreen
inline - should cause no performace penalty
2001/10/01 - STanda
- fVDI: drawLine supports the logical operations now.
2001/09/25 - milan
- cleaning of memory allocation
2001/09/21 [ARAnyM 0.0.8] - Petr
- in a fVDI session (when VIDEL rendering is disabled) if VIDEL VideoRAM address
is changed the VIDEL rendering is enabled again. This is essential for example
when you reset the Atari machine (you want to see the Fuji logo, don't you? :)
- MFP TimerC emulation simplified - no more double TimerC interrupts as we
are now calling the invoke200HzInterrupt each 5 milliseconds.
- hardware.cpp helper functions removed. Now modules call their public functions
directly. It's better readable and faster this way, I think.
2001/09/20 - STanda
- fVDI: Off by one bug fixed in fillArea.
- fVDI: Separate functions for transparent and opaque background. gfxPrimitives
methods moved to the HostScreen. Several methods made inline.
fVDI driver Shouldn't cause BUS ERROR now.
2001/09/20 - Petr
- fixed very annoying bug in direct_tc mode (no more segfaults at $e08ba8 I hope!)
- mouse code for host-client transformation is now conditional (only when not running
in fullscreen).
2001/09/20 - STanda
- The fVDI driver update: colors work correctly, expandArea implemented
to display icons and texts, putPixel speedup. Now it seems pretty fast
when DEBUG is 0 ;)
- gfxprimitives cleanup
2001/09/19 - Petr
- TT-RAM (or FastRAM) size entered on command line (--ttram) is in MB now.
- new .aranymrc option named "FastRAM", acts as the --tram switch.
- first release of aratools.tgz, available at ftp.sophics.cz/pub/aranym.
FastRAM (or TT-RAM?) can be anything from 0 to about 112 MB (then it
crashes, I suspect it's due to the weird Milan's virtual memory management).
2001/09/18 - Petr
- keys remapped: Atari Help is on the F11 host key, Atari Undo is on F12 key.
Keys PageUp/PageDown are mapped to Atari combo Shift+ArrowUp/Down which
should work in most GEM programs (handy stuff, you get used to it fairly
quickly).
- mouse behavior changed: first, it's grabbed automatically and centered
on standard screen size (640x480). Second, with special tool support
(right now modified Clocky - you find it in ftp.sophics.cz/pub/aranym)
you are able to move the mouse out of the Atari aranym window. Works
just like in vmware. Pity it has hardcoded GEM screen size right now.
Needs to be fixed - made more flexible.
- ARADATA I/O registers are ready to support arbitrary FastRAM size and
automatic StandaFS config.sys updating, I just need to write the tools
for that.
2001/09/11 [ARAnyM 0.0.7] - Petr
- real hard fight with Aniplayer. I found that it checks whether there's
a $CAFEFADE number at $F4000014. This check was killing aranym since
my check_ram_boundary() was broken (due to a number of stupid bugs).
Anyway, this CAFEFADE signals that there can be a hardware located at
that address already (it is flash ROM of Centurbo2 according to Didier)
and that is a bad sign for us since we wanted to have the host videoram there.
2001/09/10 [ARAnyM 0.0.6] - Petr
- proper check_ram_boundary in memory.h. Has to be always enabled, otherwise
programs like e.g. Aniplayer can kill the whole aranym..
FastRAM works again (still fixed to 32 MB).
- SDL_Timer is not used anymore. CPU now checks once in a while (currently
each 100 m68k instructions) whether it's time to emulate an interrupt.
The original behavior with timers may be enabled with -DUSE_TIMERS.
2001/09/09 - Petr
- direct TrueColor works again
- clicking in fullscreen X11 works again (generally mouse grabbing works again)
- disabled the shit in main_unix.cpp (the memory management)
- fixed a few little bugs
2001/09/04 - Petr
- milan's port of ata.cpp and cdrom.cpp from Bochs v1.2 now enables direct
access to CD-ROM! Use "IsCDROM = Yes" in your [IDE1] section of aranym
conf file.
2001/09/01 - milan
- switch for enabling full opcode's history for debugger
2001/08/31 - milan
- other small corrections for MMU
- memory access now a bit quicker
2001/08/29 - milan
- stupid buggy preversion of TV conf. GUI aranymrc, needs to rewrite in
better form, something as powertweak's text mode conf. Output in
aranymtest.rc file. Also needed to find problem with size of strings
(buffer overflow).
- directive DebugOnStart from ARANYMRC changed to Bool_Tag
- patched stupid mistake by entry of debugger (Alt x Alt+Pause)
- some small corrections for MMU
- newm68k_disasm hasn't any problem with memory addressing now
(set/longjmp problem)
2001/08/29 - STanda
- VIDEL got the doRender flag with setter setRendering().
The host_colors_uptodate variable name was changed to hostColorsSync.
- HostScreen got the doUpdate flag cleared upon initialization if the HWSURFACE
was created.
- fVDIDriver got first version of drawLine and fillArea (thanks to SDL_gfxPrimitives).
2001/08/20 - milan
- support for autodetection of a real disk's geometry in Linux, also for
createdisk.sh's disks, but new version of parameters.cpp needs reorganization
in IDEx part
- patched ins. SBCD, ABCD, NBCD (uae 0.8.17), BDcc, Scc in table68k patched
- UAE FPU as default FPU (now better than i386 opt!)
- devdist in Makefile
2001/08/16 - Petr
- config file taken from PARCP. Feel free to extend the global_conf struct in parameters.cpp
with more options.
2001/08/15 - STanda
- the videl.cpp ST compatible color palette handling added (thanks to Ctirad)
2001/08/13 - milan
- bindist in Makefile
- aranymrc example
- IDE x's settings from aranymrc file
2001/08/10 - milan
- real addressing now working correct
- the first step for reintegration of BasiliskII's CPU API
- Makefile depends repaired
- new sync with BasiliskII (CVS 24.7.2001)
- memory allocation back in main_unix.cpp - better for portability of real
addressing, also ROM reading back there, not only POSIX, we have also
non-POSIX OS's
2001/08/09 - Petr
- added ata-new.cpp and cdrom.cpp from Bochs. Compilable but don't work yet (dunno why).
2001/08/08 - STanda
- no atexit crash ( atexit(ExitAll) called )
- numblock key mapping fixed. (/,*,-,+ keys fixed)
- bitplane to chunky conversion speedup (enrolling the conversion loop etc.)
2001/07/24 - Petr
- portable stuff moved from Unix folder up to the main.cpp (should be cleaned up)
- bx_options moved from ata.cpp to parameters and should become global structure
for aranym options
- floppy is not inserted automatically upon start - this is because my machine does not
have a floppy connected and it caused aranym to hang. Should be a command line parameter
like -floppy or something.
2001/07/20 - milan
- signals & pthread removed, now only SDL needs pthread
- mmu_op patched, setjmp/longjmp only, no exceptions
- some warnings "killed"
- "ndebug" integrated (only dbprintf), now D(bug()) without \n
2001/07/13 - STanda
- BLITTER function table restored. (the only - bad - thing is that all
BLITTER member data must be public to be able to work like this)
- direct_truecolor mode made working again (was not probably since the
HostScreen creation)
- note: the original fVDI driver sources compiled as they are and got
corrupted (parachute) one. fVDI author notified and requested the
whole source tree again.
2001/07/09 - STanda
- SDL comunity solved our mouse problem in Xs! Get the newest SDL cvs,
make & install
- the grab_mouse is set by default when in fullscreen
2001/07/02 - milan
- new UAE CPU port from BasiliskII (CVS 25.6.2001)
- more portable
2001/06/18 - STanda - version increased to 0.0.5
- the SDL dependent parts of the code were moved to the HostScreen class.
The HostScreen hostScreen; object is created statically in the hardware.cpp.
(Most of the methods are inline and thus put into hostscreen.h file)
- several methods were renamed again (one example for all: getVideoMode() ->
getScreenBpp()).
- some copyright (and CVS) comments added. Please - authors - put the CVS
comments to the beginning and to the bottom of each source file conforming
the template provided in the projects root directory (template.cpp).
2001/06/18 - STanda
- videl renderScreen() fix (lock & unlock screen added - again)
- the Shift+Pause combination is now used to exit the emulator immediately
(this was Petr's code change, but forgotten to tell us ;))... anyway thanks
for really good working videl now. I seem not to have any problems with
color palette here :).
2001/06/17 - Petr
- System Timer (200 Hz Timer C) should be precise even under heavy load now.
The MFP stuff needs to be rewritten from scratch. My C++ OOP knowledge sucks.
- implemented virtual destructor in ICio class. Thanks to that the desctructor
of RTC is called and saves the settings to disk (file "cmos" - actual folder,
needs to be fixed - "$HOME/.aranym/cmos" looks like a good idea).
- NVRAM is read from disk/stored to disk automatically. You can use your
favorite NVRAM editor now.
- system date/time is restored from RTC (host local time is used, not GMT).
Year needs to be fixed yet.
- a lot of work on mouse cursor, still not as good as STonX's one.
Mouse is grabbed automatically when you move the cursor over Aranym window.
To release it hold Control and right click. Then you can leave the aranym
window - when you move the mouse pointer back over the window it's grabbed
again.
- it seems that Videl uses different color register sets for different color
depths (as 4 and 16 color depth's colors are incorrect). Scary. Probably
some compatibility nightmare.
- fixed too early SDL_Video initialization. Do not init stuff in constructors
as they are invoked before main(). Fix the ExtFs stuff (install "A" ???)
2001/06/15 - Petr
- VIDEL finished. Hardware color palette registers are used properly now.
2001/06/13 - STanda
- some VIDEL public routins adjusted to provide fVDI driver needed methods.
(lockScreen(), unlockScreen(), getHostVideoramAddress())
- updateScreen() semantics was updated to SDL_UpdateRect... (only). The
original method functionality was captured in new renderScreen() method
2001/06/12 - Petr
- VIDEL rewritten using the new BASE_IO class. Got proper getVideoMode()
and getWidth/Height (all stolen from Linux-m68k source code).
Extended resolutions (using BlowUP030) work now perfectly (e.g. 1024x768).
- new DSP module is based on the new BASE_IO - you see, it's easy to write
HW emulation stuff now.
2001/06/08 - Petr
- highly unfinished, very preliminary, often crashing support for extended
VIDEL resolutions. I know how to fix it, just give me some time.
2001/06/06 - Petr
- '--grab_mouse' command line switch for X-Windows
- floppy can be inserted and removed in run-time. Press F11 to insert
a floppy read-only. Hold Shift and press F11 to insert the floppy read-write.
Make sure you have rw permissions on /dev/fd0 for this.
Press F12 to remove a floppy. It seems to be unnecessary to manually remove
the floppy each time since the writting should be synchronized (O_SYNC).
This is not a final stage yet - if we stopped supporting disk images we
could make the floppy inserting/removing fully automatic.
2001/06/05 - STanda
- extfs: the drives are assignable from commandline option -disk (-d)
The AUTO/CONFIG.SYS must still contain the conresponding drive-letter
assignment with the -d options on the commandline.
- the paramenters.cpp contains the drive assignment which is read by
ExtFs.init() method (called from main_unix.cpp)
- the short -debug option was redesigned to -D
2001/05/29 - Petr - version increased to 0.0.3
- major speed up (22 -> 27 thousand dhrystones) thanks to moving setjmp()
out of main CPU loop
- excep_no var removed from memory.cpp and newcpu.cpp
- fixed VBL invocation (main_unix.cpp)
2001/05/29 - Petr - version increased to 0.0.2
- uae_cpu/memory.h - you can enable or disable CHECK_MEMORY_END.
When enabled, direct_truecolor bombs out in early stage of TOS boot (because
TOS cannot write to videoram).
When disabled, FastRAM works (just run FASTRAM.PRG from the desktop and
you'll get 32 MB of additional fast ram).
- 'boot_color_depth' switch works now thanks to late initializing of RTC module
in HWInit().
- 'monitor' switch allows you to choose between VGA and TV connected on Videl
output.
- 'direct_truecolor' switch allows you to patch TOS so that Videl VideoRAM
is set directly to host's VideoRAM. Thus VIDEL writes directly to host's
VGA card video memory (if framebuffer is used as the SDL_VIDEODRIVER).
2001/05/28 - Petr
- implemented proper Bus Error (hardware.cpp and others). This helps
in a number of places, namely in FPU detection routines.
- fixed floppy emulation (fdc.cpp). STonX code contained wrong HW register
addresses. I found it when I enabled FastRAM - the FDC was crashing
the virtual machine.
- added memory bounds checking (memory.h). Ill behaving programs (and bad FDC
emulation, as mentioned above :) won't crash the virtual machine anymore!
- new memory allocation (main_unix.cpp), enables 32 MB of FastRAM.
|