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
|
===========================================================================
SSSS tt lll lll
SS SS tt ll ll
SS tttttt eeee ll ll aaaa
SSSS tt ee ee ll ll aa
SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
SS SS tt ee ll ll aa aa
SSSS ttt eeeee llll llll aaaaa
===========================================================================
Release History
===========================================================================
5.1.3 to 6.0: (December 23, 2018)
* Note: because of major TIA sound changes, the state file format has
changed, and old state files will not work with this release.
* New cycle exact audio core based on work by Chris Brenner (crispy);
greatly improved audio emulation accuracy (i.e. E.T., Ms. Pacman).
* Full rewrite of the audio subsystem; resample TIA output to target
sample rate directly in Stella.
* Added option to force stereo sound for all ROMs, or to use the
setting on a per-ROM basis.
* Threading: decouple emulation from frame rendering.
* Main loop rewritten; emulating speed and timing is now much more
faithful (i.e. speed in Pick'n'Pile).
* Added preliminary support for 'CTY' bankswitching scheme and recently
released 'Chetiry' ROMs. Special thanks to SpiceWare for adding music
support to this scheme.
* UI modernization (new widget look, dialog titles added, dialogs
refactored).
* The bankswitch scheme can now be forced by naming the ROM with a
specific extension (ie: .f8s for F8SC, .fe for FE, etc). The
supported extensions are the same as the ones from HarmonyCart and
UnoCart.
* Audio settings replaced with new 'audio.xxx' settings.
* FPS setting replaced with speed setting for adjusting emulation speed.
* Extra functionality for Time Machine dialog (start/stop recording;
minor fixes).
* When logging messages to the System Logger, condense similar messages
that arrive in batches into fewer messages (including timestamps).
* Fixes for collision corner cases (during HBlank).
* Fixed excessive CPU usage while in UI modes (ROM launcher, debugger,
etc).
* The 'launcherexts' option has been replaced by a true/false option
named 'launcherroms', which specifies to show only ROMs or all files
in the ROM launcher.
* Changes in 'Game Properties' dialog
- 'Default' button now affects only current tab like in all other
dialogs.
- 'Display' and 'Console' tab changes are now immediate.
- Fixed bug when selecting 'Auto-detect' format for 50Hz ROMs
* Fixed bug in autodetecting Genesis controllers.
* Fixed bug with 'thumb.trapfatal' commandline argument; sometimes Stella
would lock up when encountering a fatal error instead of entering the
debugger and displaying a message.
* Fixed bug in reading from settings file with entries that were empty;
the parsing was failing. This affected the 'cpurandom' argument; when
all options in it were turned off, they were all turned on again during
the next program run.
* Fixed bug with 'hold' events; they are now released a short time after
starting a ROM.
* When starting Stella for the first time, the first ROM selected will
determine which path to use by default for subsequent runs.
* Fixed emulator crash when starting SaveKey ROMs from commandline with
SaveKey messages enabled.
* Fixed missing TV format update in frame stats dialog when switching
display type.
* Fixed missing debug color update when switching display type.
* 'Fill to scanline' now works for scanlines above current scanline too.
* The debugger 'uhex' command is now honoured in CDF and BUS schemes.
* When switching screenmodes, the sound is now paused and later resumed.
This fixes popping and cracking sounds apparent on some systems, notably
OSX when toggling windowed/fullscreen mode.
* State file format has been optimized to be smaller, and faster loading
and saving. This affects both the files saved to your computer as well
as Time Machine functionality.
* The ROM name saved in a PNG tEXt chunk now honours the 'snapname'
setting.
* Improved snapshots when phosphor is enabled.
* Updated PAL palette.
* Added 'Cartridge.StartBank' ROM property, to force a ROM to use a
specific bank for its reset vector.
* Added Developer setting, which breaks on reads from write ports. It
now detects such conditions in many more cases. This new way of
detecting RWP errors obsoletes the old '_rwport' debugger command,
which has now been removed.
* Added recently released 'Arkyology' prototype ROM to the database.
* Added 'Amoeba Jump' and 'Flappy' ROMs (from the Retron77) to the
database.
* Fixed 'Street Racer' and 'Video Olympics' ROMs to use paddles in both
ports.
* If using SDL 2.0.5 or above, the calculated desktop size now takes
the taskbar/dock into account (so windows should no longer overlap
those areas).
* For UNIX systems: in the ROM launcher, when using symlinks use the
symlink pathname instead of the underlying filesystem pathname.
* The UNIX builds now use the system-installed PNG and ZLIB libraries
by default.
* The Macintosh builds are now named 'macOS' throughout the codebase to
reflect the new naming from Apple.
* For better compatibility, the Windows 32-bit version does not require
SSE2 anymore.
* Updated included PNG library to latest stable version.
-Have fun!
5.1.2 to 5.1.3: (June 10, 2018)
* Fixed crash in OpenBSD when quitting the app, which can also be
happening on other systems (no reports yet, but the problem is now
fixed for good).
* Fixed configure/build scripts to work natively under OpenBSD.
5.1.1 to 5.1.2: (May 20, 2018)
* Fixed bug with SaveKey autodetection; some ROMs were not correctly
detecting that a virtual SaveKey device was plugged in. This notably
fixes issues in "Super Cobra" and "Scramble" ROMs.
* Make previously mentioned ROMs use the SaveKey device by default.
* Fixed bug in UI navigation with joystick hat movement.
5.1 to 5.1.1: (February 21, 2018)
* Fixed bug in Stargunner ROM starting with a blank screen.
5.0.2 to 5.1: (February 4, 2018)
* Added "Time Machine" mode, which automatically creates save states
in user-defined intervals. The user can navigate back and forth within
these states inside the emulator and the debugger.
* Huge improvements to the disassembly view in the debugger and
disassembly files created:
- reformatting in debugger for better space utilization
- much improved code and data detection
- access tracking and indicators for TIA/IO/RAM adresses in disassembly
- break vector is tracked (if used)
- improved cycle count (page penalties, sums created in disassembly)
- improved handling of instruction masking opcodes (e.g. BIT)
* Fixed change tracking bug during rewind; changes were accumulated
instead of being displayed only for the last rewind step.
* Extended 'rewind' to take a second parameter which allows rewinding
multiple states.
* Added 'unwind' command, which undoes the latest rewind(s)
* Added '<' (unwind) button to debugger.
* Thumbulator support is not conditional any more.
* Moved various developer related settings in new Developer Settings
dialog. These settings now come in two groups (player/developer) and
allow switching all settings at once.
* Don't trap write accesses to the datastream pointers in CDF and BUS.
This fixes -dev.thumb.trapfatal 1.
* Complete rework of TV mode and ystart autodetection. The new
implementation is more robust and reduces startup time.
* Add two "grace lines" of black to the top of the frame when
autodetecting ystart.
* Fixed Genesis controller autodetect (Stay Frosty 2, Scramble, etc).
* Fixed a bug in ystart autodetection that could cause screen jumps.
* Fixed several bugs in holdselect, holdreset and holdjoyX commandline
arguments; these now work as expected.
* Fixed bug in TIA collision handling; it is now disabled in VBlank.
* Improve TIA PF collision handling during hblank; this fixes a bug in
Thrust ROM.
* Fixed wrong display of HM values in debugger after 'HMCLR' has been
executed.
* Fixed bug with the debugger 'savedis' command in Windows; it wasn't
actually saving the files at all. This has never been reported
before, so I guess it shows how many people use that functionality.
* The debugger 'savedis', 'saverom' and 'saveses' now save files in
a default, user-visible directory (see the documentation for more
information). In the case of 'saveses', the filename is now named
based on the date and time of when the command was entered.
* Fixed bug with saving snapshots in 1x mode; there was graphical
corruption in some cases. Such snapshots also now include any TV
effects / phosphor blending currently in use.
* Fixed regular-sized snapshots when phosphor effect was enabled;
sometimes the image was 'double-blended', resulting in a snapshot that
was too dark.
* Fixed crash when selecting 'CompuMate' as a controller type for a non-
CompuMate ROM; this controller type can no longer be manually
selected, and will be used automatically used for CompuMate ROMs.
* Fixed cheat codes, so 7 digits codes are now accepted as described in
the doc.
* Fixed swapped ports being displayed wrong in System Logs and debugger.
* Added options to erase the AtariVox/Savekey flash memory, either for
all ROMs or only the current one. Also added a message (configurable)
when the flash memory is accessed.
* Access to the AtariVox/SaveKey can be signaled with a message.
* Added new interface palette 'Light'.
* Frame stats display made transparent. Also it now displays the real
frame rate and if the developer settings group is enabled.
* Improved tab auto-complete in debugger.
* Added conditional traps and savestate creation to debugger.
* Added 'Options...' button to debugger which gives access to the options
menu during debugging.
* Added debugger pseudo-register '_cyclesLo' and '_cyclesHi', which give
the number of CPU cycles that have occurred since emulation started.
* Added debugger pseudo-register '_fcycles', which gives the number of
CPU cycles that have occurred since the frame started.
* Added debugger pseudo-register '_icycles', which gives the number of
CPU cycles of the last instruction.
* Extended debugger 'dump' command to take a second argument, indicating
the end of the range to dump data.
* Improved change tracking; more values are tracked and change tracking
now works in case of a break too.
* Added widgets for trackball and SaveKey/AtariVox controllers.
* Improved emulation of 'FE' bankswitch scheme (no user-visible changes,
but internally the emulation is much more accurate compared to the
real thing). Related to this, improved the debugger support for this
scheme (you can now switch banks in the debugger view).
* Added emulation of 7800 initial RAM values and Pause key.
* Added ROM properties for 'Scramble' ROMs, and updated info for all
"Champ Games" ROMs.
* Added ROM properties for 'Zippy the Porcupine' ROMs, and updated
info for all "Chris Spry (Sprybug)" ROMs.
* Support UNIX style builds (configure / make) on OSX with both
XCode / clang and g++.
* Fixed error when building with uClibc-ng for ARM (thanks to Sergio
Prado).
* Updated included PNG library to latest stable version.
5.0.1 to 5.0.2: (August 20, 2017)
* Improved emulation of Trakball controller, eliminating bias in left/
right directions. Thanks to Thomas Jentzsch for the idea and code.
Related to this, added 'tsense' commandline argument and associated
UI item, to allow changing sensitivity of mouse trackball emulation.
* Added preliminary support for multi-threading in the Blargg TV effects
code. This is still a WIP; more improvements are coming. Related to
this, further optimized the TIA rendering code. Also added 'threads'
commandline argument and associated UI item to enable/disable
multi-threading. Thanks to Thomas Jentzsch for the bulk of the work
in this area.
* Blargg TV effects now no longer cut off the right side of the image
(by several pixels) in certain cases.
* Updated CDF scheme to latest version from Spiceware. In addition,
this scheme now supports versioning, so older and newer ROMs will
continue to work.
* Fixed an annoying bug in Linux, where Alt-Tab'ing out of a window and
then back again would pass a 'Tab' key event to the app, which in
most cases would navigate to the next UI element.
* Fixed potential issue with state file saving and the debugger; under
certain circumstances a rewind would give a different state than
before (note that the state file format has changed because of this).
* Fixed lockups when entering the debugger under certain circumstances.
* The debugger 'listtraps' command now shows all traps set, not just
the first one(s).
* Reverted joystick changes for Decathlon ROMs from last release, as
it was added by mistake.
5.0 to 5.0.1: (July 23, 2017)
* Fixed issues in keypad, Genesis and various other controllers that use
INPTx registers; the emulation is now much more accurate in this area.
* Various 'Bumper Bash' and 'Decathlon' ROMs are marked as always having
all 4 directions on a joystick enabled, since they can't be played
properly otherwise.
* Added 'Hunchy II' from Chris Walton (cd-w) to ROM properties database.
* Codebase now uses C++14 features.
4.7.3 to 5.0: (July 16, 2017)
* Note: because of major TIA/6502/RIOT changes, the state file format
has changed, and old state files will not work with this release.
* Stella has moved from Sourceforge to Github.
* Completely new TIA core is now available, ported from 6502ts by
Christian Speckner (DirtyHairy). This new core is extremely accurate,
and matches real hardware in almost every test we've performed.
New features include:
- Meltdown emulates correct
- The lap number in Pole Positions displays correctly
- Artifacts in the mountains on Snoopy and the Red baron are gone
- Line artifacts in Title Match Pro Wrestling and Realsports Boxing
are fixed
- The spurious line at the left border of Video Chess now displays
correctly
- All 32 char text demos from AtariAge now work perfectly (Stella 4
shows artifacts on several of these)
- Stella is now the only emulator to display the "Mega Bitmap Demo"
(atext.bin) from AtariAge correctly
- Improved starfield effect for missiles (still TODO for ball and
players)
- RSYNC emulation has improved, all testcases now match real
hardware
- Several other ROMs that have never worked in any emulator are now
emulated correctly
- RDY behavior with respect to write cycles is accurate
- Optional YStart autodetect and more robust frame handling
- NUSIZ during player draw matches hardware
- RESMx during missile draw matches hardware
- Paddle emulation is slightly more accurate. As a consequence, the
"paddle feel" may be slightly different from Stella 4
- Fixed debug colors can now be set for each graphical object, from
a choice of 'red', 'orange', 'yellow', 'green', 'blue' and
'purple'. This is accessible through the new 'tia.dbgcolors'
commandline argument and within the UI.
* Implemented new phosphor emulation mode, which is much closer to real
TV output. Related to this, added ability to change the default
phosphor blend level in the UI and through the new 'tv.phosblend'
commandline argument. Special thanks to Thomas Jentzsch for the idea
and implementation.
* TV phosphor effect can now be force-enabled for all ROMs, instead
of manually setting ROM properties for each ROM. This is accessible
in the UI and through the 'tv.phosphor' commandline argument, and
defaults to being off (or enabled per-ROM).
* PAL color-loss and Blargg TV effects can now be enabled at the same
time. Previously, when Blargg effects were enabled, PAL color-loss
couldn't be shown. Related to this, the Blargg effects now use much
less memory and in some cases run faster than before.
* Much improved RIOT timer emulation never before seen in any emulator.
Special thanks to Christian Speckner (DirtyHairy) for the
implementation, and alex_79 for finding documentation that finally
describes in more detail how the M6532 chip actually works.
* Added BUS (experimental) and CDF bankswitching schemes, and also
ARM Timer 1 support; special thanks to SpiceWare for the code.
* Fixed bug with SaveKey and AtariVox not properly closing their memory
files before starting another instance of the same ROM, when the ROM
was opened in the ROM launcher.
* Various improvements to the debugger and command prompt:
- The 'cls' command now only clears the screen, not the history
- The 'help' command now accepts other commands, and gives extra
information about the command (ie, 'help breakif' prints extended
information about the breakif command)
- Added 'palette' command, which shows a color swatch of the
currently active TIA palette
- Added 'debugcolors' command, which shows a legend for 'fixed debug
colors' mode
- The previous trap'm' commands now work when setting TIA read
addresses; previously they only worked for write addresses
- The previous trap'm' commands are now renamed 'trap', 'trapread'
and 'trapwrite'
- The TIA tab now shows 'old' contents of player and ball registers
- Various UI items are crossed out when disabled, to more clearly
indicate their current state
- Various UI items that previously required a double-click to toggle
(pixel and bit widgets) now require only a single-click.
- Command completion now works with internal functions and pseudo-ops
(basically, anything starting with the '_' character)
- System labels (aka, register names, etc) can now be typed in lower-
case. Previously, these labels always had to be uppercase.
- In general, input error checking is much more strictly enforced
- Read-only UI items now have a different background color, to
clearly indicate if an item can be modified.
- Debugger '.lst' and '.sym' files are now searched based on the name
of the ROM file, and not on the internal properties name.
- Snapshots can now be saved by pressing the F12 key (the various
other ways to save snapshots still exist).
* Mouse grabbing is now enabled in windowed mode only when the ROM is
using a virtual analog controller (paddles, trakball, etc).
* Renamed various trakball-like controllers more accurately: AmigaMouse,
AtariMouse (previously CX80) and Trakball (previously CX22). Related
to this, reduced the resolution of the Trakball by half, to properly
match real hardware.
* The stack pointer (SP) is now initialized to $FD instead of $FF, to
match research done in other 6502 projects.
* Fixed bug in debugger tracing and displaying the partial TIA image;
the first time entering the debugger and starting to trace, the image
was blanked out (black) instead of being drawn in greyscale. Also, the
image is now synchronized, instead of being two frames behind.
* Fixed crash with zipped ROMs that are less than 4K in size; so far
this bug has only ever occurred in Windows XP, but it's been there
since Stella 4.1.
* Fixed bug in 'Rom Audit' functionality; sometimes ROMs without a
valid properties entry were being renamed as "Untitled.bin".
* For the entire UI, removed colons and generally made the UI items
easier to read.
* When in 'ROM launcher mode', Stella now uses slightly less CPU time.
More work is required in this area, though.
* Added ROM properties for D.K. VCS homebrew ROM, thanks to Andreas
Dietrich.
* Added slight improvement for auto-detecting Superchip bankswitching;
the new implementation now works for the NTSC 'Dig Dug' ROM. Special
thanks for SpiceWare for the idea and modified implementation.
* Fixed long-standing bug in 3-voice music in DPC+ bankswitching scheme;
the music now sounds much more like the real thing.
* For the Linux/UNIX port:
- The settings directory now uses the XDG Base Directory Specification.
In most cases, this means that your files will now be stored in
'~/.config/stella' instead of '~/.stella'. To keep your old settings,
run the following commands from the terminal:
cd ~
mv .stella .config/stella
You will probably need to edit '~/.config/stella/stellarc' and change
some paths accordingly.
* For the OSX port:
- Always use the built-in png and zlib libraries instead of the system
versions.
- The preferences file has changed from 'net.sourceforge.Stella.plist'
to 'Stella-emu.plist'. To keep your old settings, run the following
commands from the terminal:
cd ~/Library/Preferences
mv net.sourceforge.Stella.plist Stella-emu.plist
* Updated internal ROM properties database to ROM-Hunter version 13
(thanks go to RomHunter for his tireless research in this area).
Related to this, updated the snapshot collection.
* Updated included PNG and ZLIB libraries to latest stable version. Also,
both libraries are now compiled into the app whenever one is selected.
This fixes issues with a newer ZLIB not working with an older PNG, etc.
* Updated build scripts for Visual Studio 2017 (Windows) and MacOS
Sierra (latest version of Xcode), and make these the minimum supported
versions for building Stella.
* Updated UNIX configure script to work with the clang 5+ and gcc 7+
compiler versions, and fixed compile issues on AArch64 and ppc64le
architectures.
4.7.2 to 4.7.3: (Nov. 21, 2016)
* Added preliminary support for the 3E+ bankswitching scheme, developed
by Thomas Jentzsch.
* Fixed HMOVE positioning bug that occurred under certain circumstances.
Thanks to Omegamatrix of AtariAge for the bug report and patch to fix
the issue.
* Added 'trapm', 'trapreadm', 'trapwritem' commands to debugger prompt.
These are similar to the non-'m' versions, except that they also trap
on all mirrors of the given address.
* Fixed bug in debugger 'reset' command; it wasn't resetting the
bankswitching, so after a reset the banks were in an undefined state.
* Updated UNIX configure script to fix a bug where it fails in
cross-compilation under certain circumstances. Thanks to Vlad
Zakharov for providing a patch to fix this issue.
4.7.1 to 4.7.2: (Mar. 25, 2016)
* Fixed bug when entering and exiting the debugger; sometimes the
character corresponding to the '`' key would be output in the
prompt area.
* Updated DPC+ Thumb ARM emulation code to latest from David Welch.
In particular, this fixes incorrect handling of the V flag when
adding and subtracting, but also fixes compile-time warnings that
I couldn't get rid of before.
* Updated UNIX configure script to work with GCC 6.x compilers, and to
remove references to obsolete compiler versions that can no longer
be used to compile Stella.
4.7 to 4.7.1: (Feb. 13, 2016)
* Improved TV 'jitter' emulation; the recovery time can now be spread
over multiple frame, to simulate a real TV taking multiple frames to
recover. Related to this, added new commandline argument
'tv.jitter_recovery' to set the recovery time. Finally, enabling
the jitter effect and the recovery time are now accessible through
the UI. Special thanks to SpiceWare of AtariAge for the initial idea
and implementation.
* Fixed bug with 'Medieval Mayhem' ROMs; the paddle range was set too
low, and as a result the number of players couldn't be selected.
* Fixed bug when using more than two input controllers with the same
name; each controller after the second one was named the same as the
second one. This caused the joystick mappings to be lost, since there
was only information about two controllers being saved.
* Indirectly fixed issues with Stelladaptor/2600-daptor devices and
paddles having too large of a deadzone in Linux. Currently, this
involves running an external application to set the deadzone,
since SDL2 does not yet expose this information. The program is
called 'evdev-joystick', and will be released separately from Stella.
* Updated internal ROM properties database to ROM-Hunter version 11
(thanks go to RomHunter for his tireless research in this area).
Related to this, updated the snapshot collection.
4.6.7 to 4.7: (January 25, 2016)
* Improved paddle emulation in several ways:
- Added ability to specify the maximum range of movement for paddles
when using a mouse or digital device to emulate the paddle. This is
useful since on a real console most paddle games use very little of
the paddle range, and could result in moving the mouse onscreen with
nothing appearing to happen (when in effect it was as if you turned
a real paddle all the way to the end of the range). This eliminates
issues in (for example) Kaboom, where there was a huge 'deadzone'
when moving to the left. All applicable ROMS in the internal
database have been updated.
- The range for paddle emulation now takes an integer from 1 - 20,
indicating how much to scale movement (ie, how fast the onscreen
paddle will move when you move the mouse). The movement itself
is now also smoother than before.
* Fixed bug in 'Score mode' in TIA emulation; the TIA object colours
were correct, but the associated priority was sometimes incorrect.
* Fixed bug in ROM launcher; selecting 'Options -> Game Properties' after
loading a ROM would always point to the last opened ROM, not to the one
currently selected.
* Fixed bug in storing ROM properties; in some cases, a copy of the
ROM properties was being stored in the external file when it was
exactly the same as the internal entry.
* Added 'CV+' bankswitching scheme, developed by myself and LS_Dracon
(of AtariAge). This scheme contains RAM like the CV scheme, and
also switchable 2K ROM segments by writing to $3D.
* Added more C++11 updates all over the codebase, and ran Stella
through Coverity for the first time. I'm proud to say that Stella
now has a 0.00 defect rate!
4.6.6 to 4.6.7: (October 28, 2015)
* Fixed bug when using real paddles plugged into a Stelladaptor
2600-daptor device; the movement was very erratic.
* Fixed small logic error in 'MDM' bankswitching scheme.
4.6.5 to 4.6.6: (October 11, 2015)
* Added 'Alt/Cmd + j' shortcut key and 'tv.jitter' commandline argument
to toggle the TV scanline jittering emulation added in the last
release. Also, this jittering now defaults to off.
* Fixed bug in 'MDM' bankswitch scheme; bankswitching wasn't being
done under certain circumstances.
4.6.1 to 4.6.5: (September 26, 2015)
* Added mappable events for toggling TV color/BW, left difficulty A/B
and right difficulty A/B. This means that one key, joystick button,
etc. can be used to toggle each event. Thanks to Buzbard of AtariAge
for the suggestion.
* Added ability to edit values in more widgets in the debugger. For
now, this applies mainly to the various decimal and binary fields.
More widgets will be made editable in future releases.
* The TIA now emulates the jitter that occurs when scanline counts
are not consistent frame-over-frame. Also, the DPC+ scheme now
emulates jitter that can occur when using its Fractional Datafetchers
if the DFxFRACINC registers are not re-initialized every frame.
Special thanks to SpiceWare for this implementation.
* Tweaked 'MDM' scheme autodetection to detect that the identification
string can be in either bank 0 or bank 1.
* Changed 'hidecursor' commandline argument (and associated UI item) to
'cursor'. The new argument allows to set mouse cursor visibility
separately for both UI and emulation modes.
* Fixed snapshot bug most noticeable in MacOSX, where taking a snapshot
of a TIA image sometimes left parts of the UI onscreen (and in the
resulting picture).
* Fixed memory leak; the game console wasn't being closed after exiting
a ROM.
* For the Windows port: added an application icon for Stella in the
Control Panel "Add/Remove Programs" list.
* For the OSX port: Updated build scripts to be compatible with Xcode 7.
* Updated included PNG library to latest stable version.
4.6 to 4.6.1: (April 22, 2015)
* Fixed bug whereby text input could not be entered in certain widgets
in the debugger.
* Updated UNIX configure script to work with GCC 5.x compilers.
4.5 to 4.6: (March 21, 2015)
* Finally fixed fullscreen rendering issues on some OpenGL
implementations in Linux (mostly Intel-specific). Basically, the
concept of 'dirty updates' has been removed; the window is now
updated continuously. This may also fix issues some people were
having with triple-buffering in Windows Direct3D, etc.
* Fixed sound corruption that happened when running a ROM for the
first time. This was most obvious under OSX, but occasionally
happened on other systems too.
* Reverted some minor C++11 features (std::regex and cbegin/cend
iterators) in a few places, since otherwise GCC 4.9 is required to
compile Stella, and it isn't available on many systems yet. These
changes allow Stella to be built with GCC 4.8, which is present in
the latest 'long term release' of Ubuntu.
* Fixed error messages on state loading; sometimes multiple messages
were being added together and displayed.
* Fixed bug when running ROMs using AtariVox controllers; the app would
crash upon exiting the ROM.
* Snapshot functionality now works while the emulation is paused.
* Certain textfields in the UI now have filtering enabled, preventing
insertion of illegal characters. This will be extended throughout
the code in future releases.
* DataGridWidgets in the debugger now respond to keypad '+' and '-'.
* Updated included PNG library to latest stable version.
4.2 to 4.5: (January 1, 2015)
* The conversion to C++11 has begun :) From this point on, to build
Stella you will need a C++11 compatible compiler (Visual Studio 2013,
Clang 3.3, gcc 4.9, Xcode 6, etc). Eventually, this will bring more
bug-free and (hopefully) faster code.
* Fixed major bug with joysticks, where mapping was being lost on reset,
the app would crash when plugging/unplugging certain sticks, etc.
* Fixed major (but rare) crash that could occur when state files were
zero'ed or corrupted.
* Added dialog which shows the internal joystick database (all the
joysticks that Stella knows about) and the ability to remove
(currently unplugged) joysticks from this database.
* Added preliminary support for 'WD' (Wickstead Design) bankswitching
scheme, used for a previously unreleased prototype ROM.
* Improved ZIP file handling, so that it now works as a normal
filesystem does (it properly shows nested files and directories).
* The debugger 'reset' command now does a complete system reset,
instead of simply setting the PC to the reset vector address.
* The 'listdelay' command now accepts a value of zero, indicating that
list-skipping (jumping to a line in a list by keypress) is disabled.
* The 'ctrlcombo' command now has a GUI item, allowing it to be changed
from within the application.
* Added 'Shift-Alt/Shift-Cmd s' keyboard shortcut, to enable continuous
snapshot mode for each frame. This is really only useful if you
save snapshots in 1x mode; using it in high-resolution mode is
not recommended. Special thanks to SvOlli for the idea and code.
* The minimum supported version for the OSX port is now OSX 10.7.
Because of this, the 32-bit version is also discontinued, as 10.7
supports 64-bit Intel only apps.
* Updated internal ROM properties database to ROM-Hunter version 10
(thanks go to RomHunter for his tireless research in this area).
Related to this, updated the snapshot collection.
* Updated included PNG library to latest stable version.
4.1.1 to 4.2: (October 28, 2014)
* Text input from non-US keyboard layouts is now supported. Note that
all text in Stella is still ASCII-only, but at least it can now be
entered using a native layout.
* Related to the text input changes, the debugger Alt-combo shortcuts
have been changed; they now use the same key but with Control instead
of Alt (Control-F for frame advance, etc).
* Controllers are now detected dynamically by Stella. This means that
you can plug/unplug joysticks/paddles/etc while Stella is running,
and they will be added and removed automatically. Also fixed is
a bug whereby sometimes custom joystick mappings weren't being saved.
* The 'cpurandom' option is now broken down by register type, so you
can selectively enable/disable randomization for each one. The
default is to disable randomization for all registers.
* Fixed 'MDM' scheme to trigger bankswitching on writes to hotspots
(previously it only triggered on reads). Also, the scheme has been
modified as originally designed by E. Blink; hotspots are now in the
range $800-$BFF instead of $800-$FFF.
* The OSX app-icon now includes 32x32 and 16x16 versions, so 'small'
icons will be viewable in 'Finder', 'Get Info', etc.
* The Linux port now uses an app-icon; this seems to be needed for
some window managers.
4.1 to 4.1.1: (September 14, 2014)
* Re-added 'uipalette' option due to popular demand (of at least one
person :)).
* Fixed bug in Windows port where pressing 'Alt' key combos resulted in
an annoying system beep. Currently this is fixed by patching the SDL2
library and including a modified version with Stella.
4.0 to 4.1: (September 1, 2014)
* Improved 'DASH' bankswitching scheme support; there is now a debugger
tab for changing banks and viewing internal cart RAM, and
autodetection is now implemented.
* Added 'MDM' (Menu Driven Megacart) bankswitch scheme as described on
AtariAge and originally developed by Edwin Blink.
* Improved snapshot viewing in the ROM launcher; snapshots are now
scaled to the available space, and can better accommodate sizes
other than those generated by Stella itself.
* Improved support on multi-monitor systems. Stella will now use the
same monitor for fullscreen-windowed mode switches. Special thanks
to Magnus Lind for patches that added this functionality.
* Removed the 'bank' command from the debugger prompt, as it only worked
(inconsistently) with certain bankswitch types. The bankswitch UI
should now be used to query/set bank state.
* Fixed bug in disassembly output; instructions at $F000 were never
being highlighted during execution.
* The UNIX configure script now supports newer versions of Hurd.
Special thanks to Stephen Kitt for the patch.
3.9.3 to 4.0: (July 1, 2014)
* Ported Stella to SDL2, which brings many new features. Among the
largest improvements is native hardware acceleration support for
Windows (Direct3D) and Linux/OSX (OpenGL). It is also now possible
to port Stella to iOS and Android devices using OpenGLES.
Hardware acceleration is now required, which means up-to-date drivers
are needed. Software rendering is still present, but is somewhat
unoptimized and unsupported going forward.
* Fullscreen video modes now use the desktop resolution. Switching
to fullscreen and back to windowed mode no longer rearranges icons
on your desktop.
* TIA TV effects are now available in all video modes, since hardware
acceleration is a requirement.
* Added a much more detailed view of cart extended RAM to a new
debugger tab. Special thanks to SpiceWare for this implementation.
* Added preliminary support for 'DASH' bankswitching scheme by A. Davie.
* The AtariVox and SaveKey controllers now have the ability in the
debugger to completely erase the virtual EEPROM data.
* Added 'savesnap' debugger prompt command, and also associated
context menu item to the debugger TIA output area. This saves the
current TIA image to a PNG file.
* Added 'hidecursor' commandline option, which allows to completely
disable showing the mouse cursor (useful on systems that don't have
a mouse).
* Removed 'uipalette' option, as the original palette is no longer
supported.
* Updated included PNG library to latest stable version.
3.9.2 to 3.9.3: (January 20, 2014)
* Added bankswitch schemes BF, BFSC, DF, DFSC and 4KSC, thanks to
RevEng and CPUWIZ of AtariAge.
* Updated ROM properties for several ROMs, thanks to Omegamatrix of
AtariAge.
* Fixed program crash when specifying a bankswitch type that Stella
didn't recognize; an error message is now displayed.
3.9.1 to 3.9.2: (August 31, 2013)
* Improved parsing of the DASM lst file for the debugger disassembly;
it sometimes missed constant declarations.
* Changed 'usemouse' argument from a true/false option to accept
'always', 'analog' and 'never'. This allows to use the mouse as a
controller under more specific circumstances. The default is
'analog', which means the mouse is only used to emulate analog-like
devices (paddles, trackball, etc).
* Added ability to use bold fonts within the debugger window, which can
be set with the 'dbg.fontstyle' commandline argument as well as in the
debugger UI Settings dialog. This is useful for those that find the
current font too narrow.
* Renamed 'debuggerres' argument to 'dbg.res'. All future debugger-
specific options will start with 'dbg.'.
* The TIA 'zoom' area in the debugger now supports scrolling the
mouse wheel (currently up/down only, as I don't have a sideways
scrolling mouse to test with).
3.9 to 3.9.1: (August 21, 2013)
* Note: because of TIA/6502 changes, the state file format has changed
again, and old state files will not work with this release.
* Several bugfixes and improvements to the debugger:
- Improved display of debugger when using larger video modes. There
are now three font sizes, which are automatically selected when
the debugger is sized accordingly. When using larger fonts, the
extra space is now used more efficiently.
- Fixed bug in disassembly when the mirror used for the current
PC didn't match the mirror for the current bank. In this case,
the disassembler became confused and didn't properly track the
PC address.
- Fixed bug in display of current TIA frame number in the UI;
depending on how breakpoints were set, it was sometimes off by
one.
- Fixed RAM widget Search/Compare textboxes; entering any data and
then pressing 'Enter' / clicking 'OK' locked the UI until exiting
and re-entering the debugger.
- Changed display for various TIA position counters to decimal
(from hex) in the TIA tab. Related to this, all data input
widgets in the UI now have the ability to enter binary,
decimal or hex values by using the proper leading character
(\, #, $, respectively).
- Added 'INTIM Clks' to the 'I/O' tab. which shows the number of
clocks between each 'step' of the INTIM timer.
- Added ability to modify 'tiadriven' commandline argument to the
'TIA' tab, and 'ramrandom' to the 'I/O' tab. These options were
available for quite some time, but they weren't exposed in the UI.
- Added 'cpurandom' commandline argument, and associated UI item
to the 'I/O' tab. This works similar to 'ramrandom', and
randomizes the contents of the CPU registers on ROM startup.
- Added 'uhex' debugger prompt command, which toggles all
hexadecimal display between upper/lower case. This setting is
also saved in the settings file as argument 'dbg.uhex'.
- Removed 'loadsym' command from the debugger prompt, since the
DASM symbol file is always loaded anyway, making the command
redundant. Related to this, fixed loading symbols with
###.name convention; the leading number is now stripped.
- Added support for DASM lst files (created with the -l option).
For now, the contents are only partially used, to detect
constants vs. symbolic addresses in the symbol file. Eventually,
further information from the lst file may be used.
- The GRPx and PFx registers in the TIA output now show inactive
background pixels as either blanked or with the underlying object
colour, instead of always being black. This gives a more accurate
representation of how the registers are actually drawn onscreen.
Thanks to Tjoppen of AtariAge for this idea and sample code.
- The 'Source Address' locations for the CPU registers now show
labels where appropriate.
* Renamed 'Override properties' dialog (accessible from the ROM
launcher by a right-mouse-button click) to 'Power-on options', with
the following new options:
- Set start-up state for both joysticks as well as console select/
reset buttons. Related to this, added 'holdjoy01' and 'holdjoy1'
commandline arguments, and removed 'holdbutton0' argument.
- The ability to load the ROM directly from this dialog, after
changing any settings, and also to start in the debugger.
- Added more detailed information as to how to use this
functionality to the UI.
- Buttons held down are reset approx. 0.5 seconds after starting
the ROM, to simulate pressing and releasing the buttons on a
real console.
* Fixed bug when using event remapping; changes were being saved only
when launching a ROM from the launcher, not in standalone mode.
* Improved bankswitch autodetection for newer EF and EFSC ROMs
generated by batari Basic, thanks to RevEng of AtariAge.
* Added properties database info for "Princess Rescue" ROM.
* For the Linux/UNIX port:
- Fixed bug whereby a maximize button was always present in the
window title bar. Stella could not be expanded in this way,
so the button was removed.
- Added Startup notification protocol patch to the .desktop
file from Dan Fandrich.
* Updated included PNG library to latest stable version.
3.8.1 to 3.9: (June 27, 2013)
* Greatly extended functionality of the debugger disassembly:
- There is now a new tab which lists information specific to the
cartridge bankswitching scheme in use. This includes the ability
to modify internal state even for esoteric ROMs which don't
follow the standard layout of 4K per bank.
- The debugger now generates DASM-compatible disassembled code,
which can be saved to an external file. This disassembly is
based on both a static and runtime analysis, and is extremely
accurate. It also automatically differentiates between
CODE/PGFX/GFX/DATA/ROW areas, whereas normal Distella
only differentiates between CODE/GFX/ROW. For now, only
single-bank (4K and smaller) ROMs are supported; support for
multi-bank ROMs will come in a future release.
- The disassembly now recognizes various TIA/RIOT read/write
mirrors, and marks them as such (for example, INPT4|$30 instead
of INPT4 for address $3C). Special thanks to Omegamatrix for
sample code and idea for this feature.
- ROMS less than 2K in size (so called 'Sub2K' ROMs) now show only
the actual data in the binary. This means, for example, that a
256 byte ROM will show only 256 bytes in the disassembly, instead
of padding duplicated data to 2K boundary.
- Fixed bug when entering patched bytes; the current number base
wasn't being used.
- Fixed labelling in ROW directives; it wasn't accurately setting
a label in the case where it occurred in the middle of the data.
- Added a new dialog for changing Distella settings, located by
right-clicking the disassembly code.
- The commandline option 'dis.resolvedata' has been renamed to
'dis.resolve', with new usage (see manual for further details).
* Fixed regression in handling ZIP files (as compared to version 3.7.5)
created with newer versions of the ZIP program. Related to this, added
better error messages for invalid/missing/unreadable ROM files.
* Added 'snapname' commandline argument and associated UI item, for
specifying whether snapshots should be saved using either the internal
ROM database name or the actual ROM filename. This feature was
present in older releases of Stella, and due to popular demand it's
now back again. Related to this, added a new dialog specifically for
the numerous snapshot-related items.
* Fixed bug in Linux/OSX versions when starting Stella for the first
time; it was previously creating mislabeled directories to store
settings, snapshots, etc.
* Fixed redundant "New console created" message when entering the same
ROM multiple times from the ROM launcher.
* Updated profile database for "BasketBall" ROMs; the joysticks are now
swapped by default, which allows one and two-player games to work
correctly.
* SuperCharger/AR ROMs now ignore the 'ramrandom' setting, and start with
RAM containing all zeroes. This seems to fix issues with Dragonstomper
always starting in exactly the same state.
* Fixed issue when debugging CompuMate ROMs; keystrokes entered while
debugging would be interpreted as typing on the CompuMate keyboard.
* Changed colour of the 'current PC indicator' in the debugger to
match the one used for line selection. This makes it easier to
see for those with problems seeing lighter colours.
* Improved functionality of the various pop-up dialogs and context
menus in the UI; they can now be navigated more fully by the keyboard
and mouse.
* Updated internal ROM properties database to ROM-Hunter version 9
(thanks go to RomHunter for his tireless research in this area).
Related to this, updated the snapshot collection.
* Updated included PNG and ZLIB libraries to latest stable version.
3.8 to 3.8.1: (March 3, 2013)
* Added support for TIA RSYNC writes, thanks to Omegamatrix of AtariAge.
This allows the recently released "Extra Terrestrials" ROM to run, as
well as improving emulation of "Fatal Run" and several other test ROMs.
* Fixed typo in TIA HMOVE writes, thanks to Thomas Jentzsch. This fixes
the constant collision issues in "Kool-Aid Man", and several other
homebrew ROMs.
* Fixed sound issues on OSX PPC machines (all sound was in little-endian
format, but PPC is big-endian).
* The OSX DMG archive now contains proper modification dates.
3.7.5 to 3.8: (February 21, 2013)
* Huge changes to the sound system:
- The sound code now uses 16-bit signed samples instead of 8-bit
unsigned samples, making it more compatible with a wider variety of
systems.
- Improved sound output for several ROMs, including "Space Rocks"
(the 'heartbeat' sound can now be clearly heard).
- The 'volume clipping' option has been removed, since in 16-bit
mode it's no longer needed.
- The 'Tia freq' option has been removed.
- Selecting more common sample rates (other than 31400) now works
much better, but there are still a few ROMS (like Quadrun) where
31400Hz still works best.
* Many changes to handling ZIP archives:
- Files in multiple levels are now recognized. This fixes issues
in Windows where such files couldn't be loaded at all, and in all
systems where ROMs with the same name (but in different
directories) weren't being recognized.
- ZIP contents are now handled more intelligently. Archives
containing only one ROM are automatically loaded, whereas those
with multiple files are treated as directories.
- Opening an archive from the commandline now works as in the UI,
where opening a multi-ROM archive will pop up the UI and show the
archive contents (as a directory).
- The ZIP code behind the scenes is now much faster by making use
of caching (the old code was actually from 1998!).
- This new 'archive' infrastructure may eventually lead to 7-Zip
support, as well as 'virtual' formats (such as showing the list
of files for 2in1/4in1/8in1/etc within the UI).
* Improved bankswitch autodetection for FA2 ROMs; 29K and 32K versions
(meant for Harmony cart) are now recognized.
* Improved bankswitch autodetection for X07 ROMs (although there's only
two known ROMs in existence, so the detection probably isn't robust).
* Tweaked bankswitch autodetection for the 0840, F8 and FE schemes;
several homebrews that didn't run before now work correctly.
* Fixed regression in RIOT INTIM reads; at least one known ROM
(Mr. Roboto Berzerk hack) wasn't working properly.
* Fixed bug in the debugger with RIOT INTIM/TIMINT display; reads
were being done multiple times, changing the state of the
registers and resulting in incorrect emulation.
* Worked around bug in debugger disassembly of zero-page RAM; for now,
the resolving of address vs. data sections is turned off in such a
case. This fixes lockups in 'Meltdown' ROM.
* Added support for different directories for saving/loading PNG
files. These are set with the 'snapsavedir' and 'snaploaddir'
commandline arguments (which replace the old 'snapdir'), and are
also available within the UI.
* Changed 'eepromdir' commandline argument to 'nvramdir', and changed
the default location to BASEDIR/nvram (where BASEDIR depends on your
OS). This means all your EEPROM and Flash files will have to be
manually moved to this new directory. This affects developers, and
those people playing ROMs with AtariVox/SaveKey support as well as
the newer 'Star Castle' FA2 ROMs.
* Updated included PNG and ZLIB libraries to latest stable version.
3.7.4 to 3.7.5: (December 22, 2012)
* Improved regressions in PAL format autodetection, introduced in the
past several releases.
* Fixed crash when loading invalid PNG files in ROM browser.
* Snapshots generated by Stella now include more informative info, such
as the build number, platform architecture, TV effects in use, etc.
3.7.3 to 3.7.4: (October 31, 2012)
* Fixed screen blanking regression in 'Video Chess', and improved
behaviour of ROMs that don't use VSYNC.
3.7.2 to 3.7.3: (October 26, 2012)
* Note: because of TIA/RIOT changes, the state file format has changed
again, and old state files will not work with this release.
* Improved handling of 'illegal' VSYNC signals, which sometimes created
'short' frames that caused massive flickering. Also improved
related behaviour when VSYNC isn't used at all.
* Improved sound generation with ROMs that have irregular scanline
counts. This fixes many demo ROMs as well as Quadrun, where
previously there would be 'gaps' in the sound output.
* Improved emulation of RIOT chip, in particular the behaviour of
reading from TIMINT. Also, D6 of the Interrupt Flag register is now
properly set on active transition of the PA7 pin.
* Fixed bug in DPC+ bankswitch scheme; the music in several ROMS wasn't
playing correctly.
* The ROM properties database now uses 'Auto' instead of 'Auto-select'
everywhere. This makes for less typing when running from the
commandline.
* Updated included PNG library to latest stable version.
3.7.1 to 3.7.2: (June 10, 2012)
* Fixed bug in handling filenames with the '~' character, as is used
extensively by RomHunter rom-sets.
3.7 to 3.7.1: (June 8, 2012)
* Note: because of TIA changes, the state file format has changed again,
and old state files will not work with this release.
* Improved TIA emulation with ROMs that have too few or too many
scanlines; the output is now more accurate compared to a real TV.
Special thanks to Omegamatrix of AtariAge for test ROMs in this area.
* Modified hotkey for "Change console palette" (Control-f) to also
change the display properties of the TIA. This allows you to switch
between NTSC/PAL/SECAM (and variant) modes dynamically. Related to
this, added Shift-Control-f key to step backwards through the
available modes.
* Added '64in1' and '128in1' multicart bankswitching schemes, which work
the same as the 2in1/4in1/etc ones (Control-r switches to each
consecutive game in the ROM).
* Fixed several bugs in DPC+ bankswitching scheme, including ability
to load and save state files. As well, ROMs now work correctly after
console format autodetection.
* Fixed bugs in handling relative filenames on the commandline,
introduced in the last release. The new functionality should be much
more robust.
3.6.1 to 3.7: (June 1, 2012)
* Added Blargg TV effects, with presets for Composite, S-video, RGB,
and badly adjusted TV, and well as a custom mode with full
configurability of contrast, brightness, gamma, etc. Many
keyboard shortcuts and commandline arguments were added to support
this; see the documentation for a detailed explanation. These
effects are OpenGL-only. Special thanks to Ian Bogost and the
Georgia Tech Atari Team for the preliminary implementation.
* Updated the CompuMate keyboard handler to recognize more keys on an
actual keyboard, instead of having to remember the weird combinations
used on the original CompuMate keyboard (although those original keys
will continue to work). Related to this, fixed bug whereby
'ghost keys' would be detected by the CompuMate, particularly after
pressing 'Enter' to start a game from the ROM launcher.
* Added emulation for MindLink controller using the mouse; the 'Bionic
Breakthrough' and 'Telepathy' ROMs now work.
* Updated FA2 bankswitch scheme (Star Castle) to emulate load/save
high score functionality to the Harmony cart flash RAM.
* Added ability for ROM launcher to 'descend' into ZIP files when it
contains more than one ROM file. This means you no longer have to
unzip a multi-file archive before using each ROM. Thanks go to Roland
Schabenberger (webOS maintainer) for this idea and sample code.
* Several improvements to the debugger/disassembler:
- The 'resolvedata', 'showaddr' and 'gfxformat' commandline
arguments are renamed to start with 'dis', indicating that
they're used with the built-in disassembler.
- Zero-page code addresses no longer have their high-byte
truncated, and system equates (TIA and I/O registers) are now
properly marked as such.
- The Distella '-r' option (Relocate calls out of address range)
is no longer the default, resulting in output more consistent
with normal usage of Distella. Related to this, added the
'-dis.relocate' commandline argument (and associated UI item)
to toggle this dynamically.
* Fixed bug in EFSC bankswitch scheme state saving; the Superchip RAM
wasn't actually being loaded and saved to state files.
* Improved speed of loading and saving state files, as well as slightly
reducing their size. Because of this, old state files will not work
with this release.
* Replaced commandline argument 'uselauncher' with 'exitlauncher'. The
new option specifies the behaviour of the ROM launcher when exiting
a ROM (always exit to launcher, or only when the launcher was actually
used). This setting can now be changed in the GUI.
* Several updates to the internal properties database:
- 'Juno First' ROMs now use an AtariVox/SaveKey when possible
- 'Astroblast' ROMs now use the paddles by default
- 'Star Castle 2600' ROMs added
* Changed key-combo for enabling TIA objects and collisions to be
toggled on and off with the Alt-period and Shift-Alt-period
respectively (instead of having two separate keys to turn them on
and off).
* When working on the commandline, relative filenames are now
correctly handled (current working directory is used).
* The Windows 98/ME/2000 builds have been discontinued, due to code and
features that are only available on Windows XP/SP3 and later.
* Updated included PNG library to latest stable version.
3.6 to 3.6.1: (March 30, 2012)
* Extended FA2 bankswitch scheme to handle 28K ROMs (in addition to
the previously supported 24K ROMs).
3.5.5 to 3.6: (March 16, 2012)
* Added support for 2600-daptor II device, including native support
for 7800 controllers, BoosterGrip and Keypad controllers. Special
thanks go to Tom Hafner for a complimentary test sample of this
device, and also for donating a BoosterGrip controller.
* Added ability to dynamically swap the port order of Stelladaptor/
2600-daptor devices with the 'Control-1' key combo (useful if you
have only one 2600-daptor and want to use it as a left port
normally, but as a right port for Star Raiders, etc).
* Added CompuMate bankswitching/controller support to the emulation
core; the Spectravideo CompuMate ROMs (NTSC and PAL) now work.
Frequently used keys on the CompuMate are directly mapped to your
keyboard (ie, Func-Space for backspace is mapped to Backspace, etc).
Loading/saving from the cassette player is not yet supported, and
will come in a future release.
* Fixed bug in BoosterGrip controller emulation; the functionality
of the booster and trigger buttons was reversed. Related to this,
renamed these actions in the Event Mapping dialog to be more clear.
* Reverted to SDL 1.2.14 for the Windows 98/2k release, since SDL
1.2.15 isn't supported in that environment.
* Updated included PNG library to latest stable version.
3.5 to 3.5.5: (February 4, 2012)
* Due to changes in the debugger, old state files will not work with
this release.
* Fixed bug in sound restructuring introduced in the last release; in
some cases, there could be some sound 'crackling' when starting a
ROM after at least one ROM had already been loaded.
* Several significant improvements to the debugger I/O tab:
- added controller input widgets for many of the built-in
controllers, allowing to control joysticks, paddles, etc
from within the debugger.
- added ability to modify the SWCHB/SWBCNT port B registers.
- added ability to view TIA INPTx and VBLANK latch/dump bits.
* Reworked 'mcontrol' argument, and added ability to map the mouse
axes separately for paddles 0-3 or driving controllers 0-1. In
such modes, the left mouse button is tied to the x-axis, and the
right button is tied to the y-axis.
* Mouse 'specific-axis' mode is now saved per-ROM, meaning that each
ROM can have separate settings. For example, this allows one ROM to
use paddles 0 and 1, while another can use paddles 0 and 2, etc.
* The key-combo for switching the mouse between controller modes is now
'Control-0' (Control-1,2,3 have been removed). This switches
between all possible modes for the current virtual controllers.
* Fixed bug in 'Fixed Debug Colors' mode; under certain circumstances,
playfield graphics could be coloured as being player graphics.
* Fixed bug in PAL color-loss setting in Video Settings; changing the
settings wouldn't take effect until the ROM was reloaded.
* Fixed bugs with cheatcode handling; loading a ROM with a cheat
disabled would sometimes trash the emulation. More work is
required in this area, including the ability to create more
advanced types of cheats.
* Updated ROM properties database for all Sega Genesis controller
compatible ROMs. Also, the mouse can now emulate a Genesis
controller, with the left/right buttons mapped to buttons B and C,
respectively.
* Added 'FA2' bankswitch scheme, thanks to code from Chris D.
Walton. This scheme will be used in an upcoming 'Star Castle' ROM.
* Updated internal ROM properties database to ROM-Hunter version 7
(thanks go to RomHunter for his tireless research in this area).
* Added several PERL tools to help in automation of analyzing RomHunter
ROM set releases.
* Fixed compile issues in Irix when using the default compiler
instead of gcc. Thanks go to Rainer M. Canavan for this code.
* Updated included PNG library to latest stable version.
3.4.1 to 3.5: (December 29, 2011)
* Stella is now DonationWare! Please see the DonationWare link on the
main webpage for more information.
* Added several improvements to the joystick management code. Joystick
event mapping is now saved per device, meaning that if you map events
to a certain joystick device, remove the device and then later insert
it again, Stella will remember the original mapping.
* The total number of joysticks present and their associated properties
(number of axes, buttons and hats) is now dynamic. That is, there's
no longer a hard-coded limit on the number of joysticks that Stella
can use, or the number of buttons, etc that it contains. This fixes
a serious bug with PS3 controllers with 27 buttons, whereby adding a
mapping for joystick 0 would inadvertantly change settings for
joystick 1, and could potentially lead to a program crash.
* Added 'mcontrol' commandline argument, which can specify to use each
mouse axis as a separate paddle. The old (and default) behaviour can
be activated by setting this argument to 'auto'. Related to this,
removed redundant 'usemouse' argument.
* Huge restructuring of the OpenGL code, making it compatible with
OpenGL 2.x+ features (such as vertex buffer objects), while at the
same time keeping compatibility with OpenGL 1.5 / OpenGL ES.
Because of the required changes, TV effects were removed (they will
be added again for the next release).
* Improvements to audio handling, particularly for certain cases of
Windows, ATI video cards, and OpenGL mode. The sound device is now
opened only once when Stella starts, and is paused between loading
different ROMs. This fixes a problem whereby sound could possibly
not be functional after loading the first ROM. Related to this,
removed the 'audiofirst' commandline argument as it's now redundant.
* Fixed bug with displaying the ROM launcher in Windows XP; the initial
load was sometimes taking up to 30 seconds to complete.
* Added logging facility, whereby the output of the application is
available within Stella itself. This can still be printed to the
console, or also saved to a file. Add the 'loglevel' and
'logtoconsole' commandline arguments which control these settings,
and removed the 'showinfo' argument as it's now redundant.
* Updated DPC+ bankswitching scheme to latest code provided by
SpiceWare.
* Added MAMCR handling to the Thumb ARM emulation code. Note that
MAMCR isn't actually emulated, it is just ignored for now. This
fixes a bug whereby accessing MAMCR would crash the ARM emulation.
* Added 'thumb.trapfatal' commandline argument, which causes the
Thumb ARM emulation to either trap on a fatal error (throw an
exception to the debugger and exit emulation) or simply log the
error and continue. This should normally always be enabled, but
can be disabled by developers for testing reasons.
* Updated default snapshot directory to be much saner and easier to
find. For most systems, it now defaults to the users 'Desktop'.
Note that the commandline argument has changed to 'snapdir'.
* The debugger 'print' command now indicates "special" addresses if
they are read-only (R), write-only (W) or read-write (R/W).
* Fixed a bug where scrolling the mouse-wheel in certain debugger UI
items would cause the program to crash; scrolling now works as
expected.
* Fixed minor display issue in the debugger RAM area; some addresses
were being displayed as '...'.
* Fixed compile issues in the latest versions of Ubuntu and Debian, and
fixed UNIX desktop file so that Stella will launch with a ROM when
selected from its icon. Thanks go to Stephen Kitt for this code.
* Updated included PNG library to latest stable version.
* Updated the credits list in the documentation, listing people that
have donated hardware to the Stella team.
3.4 to 3.4.1: (June 11, 2011)
* Re-enabled 'grabmouse' commandline argument and associated
functionality with the following changes:
- it is changed in the "Input Settings' UI, not in 'Video Settings'
- it only has meaning while in emulation mode
- it is enabled by default
* Fixed bug with emulation of paddles using the mouse most evident in
Warlords; movement was being filtered out if the mouse was moved too
fast. There's still more work required in this area, however.
* Fixed bug with analog axes on gamepad devices, whereby jittering in
these axes would override input from digital axis, hat or keyboard
input.
* Fixed bug when switching to the debugger and back again would
sometimes cause an extra mouse motion event (which would cause the
emulation to think the mouse was moved and move the player
accordingly).
* Tweaked bankswitch autodetection code for 4A50 bankswitching; several
more test ROMs are automatically detected.
* The 'saverom' debugger command now saves ROMs in your home
directory by default if you don't specify a valid path. This fixes
a bug whereby ROMs were saved in strange locations and couldn't later
be found.
* Fixed bug in automatically executing the debugger 'autoexec.stella'
file; any commands it contained weren't actually being executed.
* Zero-byte ROMs are no longer loaded and mis-detected as Supercharger
images.
3.3 to 3.4: (May. 29, 2011)
* Many improvements to input handling, particularly with the mouse and
paddles:
- The mouse can now be used to emulate a joystick, booster-grip or
driving controller.
- The mouse now controls only one device at a time (1 of 4 paddles,
1 of 2 joysticks, etc), instead of devices from both virtual ports.
- The sensitivity for digital and mouse input (for paddles) can now
be set separately with the 'dsense' and 'msense' commandline
arguments, and from within the Input Settings UI.
* Added support for the 2600-daptor device (2600-daptor.com), which is
similar to a Stelladaptor but improves handling of paddles. Thanks
go to Tom Hafner for a complimentary test sample of this device.
* Added new controller types 'Paddles_IAxis', 'Paddles_IDir', and
'Paddles_IAxDr', which invert the paddle axis, direction, and
axis+direction, respectively. These are used for certain ROMs
that have the axis or direction inverted from normal (for example,
using the paddles causes on onscreen object to move up and down vs.
left and right). All applicable ROMs in the internal database
have been updated.
* Added preliminary support for emulating ARM code to the DPC+
bankswitching scheme (thanks to Batari). Related to this, fatal
errors in the DPC+ ARM code are now caught and shown in the debugger.
* Updated internal ROM properties database to ROM-Hunter version 6
(thanks go to RomHunter for his tireless research in this area).
* The ROM audit dialog now automatically selects the current
directory in the ROM launcher, and reloads the directory after
the audit is complete.
* Removed the 'grabmouse' functionality; the mouse is now always
grabbed while playing a game, and released otherwise.
* Updated built-in version of the PNG library to the latest version.
3.2.2 to 3.3: (November 12, 2010)
* Added the following Distella 'directives', which are used to override
and specifically tell the debugger how to treat address space (CODE,
GFX, PGFX, DATA, ROW). See the debugger documentation for more
information.
* Disassembly from the debugger is now tracked by the emulation core,
and accented by the built-in Distella code. Basically, the emulation
core knows when an address is referenced as code, making for very
accurate disassembled output. Related to this, the emulation core now
tracks accesses to GRPx and PFx registers, automatically marking the
addresses as GFX or PGFX sections. This will be improved in future
releases, as there are many ways to store data in the graphics
registers.
* Improved output of graphics output in the disassembler, by marking
such addresses with a bitmap of the data they represent. This
allows player graphics (GFX directive) and playfield graphics (PGFX
directive) to really stand out in the disassembly. Related to this,
added ability to edit such graphics in either binary or hexidecimal.
* Added preliminary support for Distella configuration files. Much
more work is required in this area, since Stella now contains
directives that don't yet exist in the standalone Distella program.
Configuration files are automatically loaded, and debugger commands
now exist to load and save configuration directives directly from
the debugger.
* Added the following commands to the debugger prompt:
- clearconfig, listconfig, loadconfig, saveconfig
(used for Distella configuration files)
- code, data, gfx, pgfx, row
(directives used to override automatic disassembly types)
- jump (jumps to a specific address in the disassembly)
- type (gives detailed info for disassembly type of an address)
* The debugger prompt commands 'trap', 'trapread' and 'trapwrite' now
accept a range of addresses as well as a single address.
* Added 'data source' address output for the CPU SP/A/X/Y registers.
This is useful for quickly seeing what an operand address resolves
into with various load commands.
* Many commands in the debugger prompt are now case-insensitive;
further improvements will be made in future releases.
* Many improvements to the built-in Distella disassembler. When passing
a relative branch or jump, data is now disassembled as code only if
the emulation core hasn't detected it as data. Such 'preliminary'
code is marked with a '*' in the disassembler, indicating that it is
tentative code, and hasn't actually been executed yet. This allows to
quickly see possible code paths, and at the same time eliminate
disassembly of addresses that are never used as code sections.
* Program counter/instruction addresses can now be toggled in the
disassembly.
* Disassembled instructions involving relative branches now show only
one byte for the operand, not two bytes.
* Fixed bug in several text input fields, whereby binary data couldn't
be input (a '\' was required, but the character was blocked).
* Fixed issues with PAL ROMs on screenmodes smaller than a PAL ROM
would require. In this case, the image is centered and clipped to
the screen resolution. This prevents the message "PAL ROM not
supported" from appearing.
* Fixed bug in fullscreen OpenGL mode when using ATI video cards;
the desktop background was 'bleeding through', resulting in a very
annoying flickering.
* Fixed crashes when opening windows larger than the desktop resolution
in fullscreen mode; this is now allowed only in windowed mode.
* Application window centering now also works when switching between
video modes, not just when starting the application.
* Added support for building a Windows version compatible with Windows
98 and 2000 (compiled with Visual Studio 2005). Testing is very
limited, since I no longer have access to these systems.
* Fixed build issues for Innosetup in Windows XP.
* Fixed bug in OSX version where the name of the application wasn't
being shown in Activity Monitor.
* State files from older versions will no longer work in this release,
because of the extensive changes to the debugger and disassembler.
3.2.1 to 3.2.2: (September 17, 2010)
* Fixed bug with window centering; if enabled and the the window was
larger than the desktop, the window would be moved offscreen.
3.2 to 3.2.1: (August 25, 2010)
* Improved behaviour of joystick 'hat' movement. This should fix bugs
most visible in Yars' Revenge.
* Fixed bug in debugger rewind states; bankswitching wasn't being
performed during the rewind. Related to this, fixed a similar issue
with the debugger 'loadstate' and 'savestate' commands.
* Added game properties info and snapshot for the newly released
'Halo 2600' ROM.
3.1.2 to 3.2: (August 20, 2010)
* NOTE: because of the many event-related changes in this release, all
event mapping should be reset to defaults after starting Stella for
the first time. As well, because of other internal changes, older
save-state files are no longer valid.
* Many improvements to joystick handling code, particularly for analog
axes. Navigating the UI should be much smoother now, and remapping
events to analog axes should be less 'twitchy'.
* Added ability to assign and remap 'combo' events in emulation mode.
Combo events are basically a sequence of normal events (up to 8)
that are generated from a single event (ie, one button on a joystick
could generate up to 8 events). Updated Input Settings UI to
access and modify these events.
* Default mappings are now available in UI and emulation mode for the
first 'hat' detected on a joystick/gamepad. Related to this, a hat
now works exactly like an axis in UI mode (holding down a direction
continues that direction until the hat is released/centered).
* Several major improvements to the debugger:
- the disassembler can now process multiple entry points, and
caches entry points as they're encountered (ie, the disassembly
isn't 'reset' each time a bank change occurs or you exit and
re-enter the debugger)
- preliminary support for disassembling from zero-page RAM
- re-added ability to change banks with the 'bank' debugger
prompt command and within the ROM disassembly UI
- user labels in disassembly are now supported again
- 'runto' command is now case-insensitive, and shows a progressbar
while searching through the disassembly
- the debugger window can be resized between ROM loads (previously,
the app had to be restarted)
- fixed bug in Distella disassembler output, where it sometimes
generated addresses above $FFFF
- a vertical line separates the disassembly from the raw bytes
* Fixed behaviour of SWCHB and SWBCNT; pins set to output now remember
the values previously written. Some ROMs use this functionality for
extra storage. Special thanks to Omegamatrix of AtariAge for advice
and test ROMs in this area.
* Fixed bug when reading from illegal TIA addresses; a Space Invaders
hack was showing pink enemies instead of white ones. Again, special
thanks to to Omegamatrix of AtariAge for advice and test ROMs in this
area.
* Fixed bug in handling INPT4/INPT5 latches from VBLANK; a least one
ROM was working in Stella when it didn't on real hardware.
* Added 'ramrandom' commandline argument, which is used to randomize
all RAM in the system; otherwise, the RAM is zeroed.
* Added 'finishing touches' to some of the UI descriptions, giving a
better explanation of the functions. Related to this, certain
options now show a message box explaining the option in further
detail (particularly the ROM Audit mode). As well, when starting
Stella for the first time, a prompt appears to select a ROM
directory.
* Fixed bugs in the ROM launcher when viewing certain PNG images not
created by Stella. Related to this, the official PNG library is now
included in the Stella codebase (version 1.4.3). Also added composite
snapshots for those ROMs which consist of several games. Thanks go
to Buzbard of AtariAge for these images.
* Added several fixes for crashes on 'small' systems (those systems
where the maximum resolution is less than 640x480).
* Tweaked bankswitch autodetection for 0840, DPC+, E7 and UA schemes.
* Improved F8 bankswitch autodetection for Yars Revenge in 8in1 ROM.
* Updated DPC+ bankswitch scheme to latest specifications.
* Snapshots taken in continuous snapshot mode are now timestamped, so
older files are never overwritten.
* Fixed a TIA segfault that could occur with certain ROMs.
* The 'center' application window functionality can now be changed
without having to restart the application. Related to this, mouse
positioning bugs when using the Linux version in OpenGL mode with
SDL 1.2.14 have been fixed.
* Reworked the manual, dividing it into 'Getting Started' and
'Advanced Configuration' sections. It still contains the same info
as before, but hopefully in a better organized way.
* Updated Help dialog; it was showing incorrect info for some OSX
shortcuts.
* Updated OSX build script to not crash when a previous build is
detected, and to properly handle filenames with spaces.
* Updated included ZLib to latest release version (1.2.5).
3.1.1 to 3.1.2: (May 3, 2010)
* Modified 'showinfo' command to accept levels of output, where
increasingly larger numbers provide more debug output. Related to
this, added UI item to modify 'showinfo'.
* Updated DPC+ bankswitch scheme to latest specifications, including
support for 32K ROMs with ARM code (the ARM code is ignored for now).
* Fixed bug in saving patched ROMs using DPC and DPC+ bankswitch
schemes; the saved image didn't actually include any changes made by
the user.
* Removed 'uselauncher' from the UI, since disabling it will remove
the ROM launcher on all future runs, and not allow one to enable it
again. It's still available from the commandline, for those that
have a need for it.
3.1 to 3.1.1: (April 26, 2010)
* Fixed program crash when using RIOT addresses and labels in the
debugger console prompt.
* Updated DPC+ bankswitch scheme to latest specifications.
3.0 to 3.1: (April 22, 2010)
* Fixed a major bug with text drawing in software rendering mode.
Switching between windowed and fullscreen mode while text was being
shown could result in garbled text or even a program crash.
* Fixed issues when using 'sleep' timing, whereby a lockup could occur
when changing video modes, and/or Stella would consume more CPU time
than was necessary.
* Integrated Distella disassembler, completely replacing the previous
disassembler. The entire infrastructure has not been completely
ported yet. As a result, labels defined by the user or from a
DASM symbol file aren't actually used in the disassembly, and almost
all distella config options are disabled. These will be addressed in
a future release.
* Completely reworked the debugger cartridge interface, so that
the disassembly is dynamic (ie, the debugger tracks when cart address
space has changed, and automatically performs a re-disassembly).
* All carts with extended RAM that differentiate between read and write
ports now behave correctly when a read from the write port occurs.
* Added more complete support for the more esoteric bankswitch
schemes in the debugger. These schemes now support accurate
disassembly and ROM patch functionality. Related to this, fixed a
bug in disassembler view when a failure to patch a ROM still showed
the (incorrect) patched results.
* Added ability to disable TIA object collisions, independent of
enabling/disabling the objects. Previously, one had to completely
disable an object to avoid collisions, but now an object can be
enabled (and seen) but still have its collisions disabled. These
actions are tied to the same keys as the enable ones, except the
'Shift' key is also used.
* Added preliminary support for 'DPC+' bankswitching scheme, thanks to
Darrell Spice Jr and Fred Quimby.
* Added '16in1' bankswitching scheme, which works with various
ROMs labeled '128-in-1 ...' (the database has been updated for
these). Related to this, switching between multicart ROMs for 2in1,
4in1, 8in1, 16in1 and 32in1 now shows a UI message indicating which
ROM is active.
* Reverted some of the TIA improvements with respect to 'starfield
effect' as seen in "Cosmic Ark" and "Stay Frosty". The emulation is
now more accurate as compared to the majority of consoles in use.
* Added debugger pseudo-register '_rwport', which traps on a read from
the write port. This differentiates from reads that are normally
part of a write cycle (ie, it traps only on inadvertent reads).
* Added 'resolvedata' commandline argument and associated UI item, used
to set the "resolve data sections" config option in Distella
(vs. treating all address space as code).
* Added 'runtopc' debugger command, used to step until encountering the
given program counter. This is also available in the ROM disassembly
UI from the right-click context menu.
* Added 'listfunctions' and 'delfunction' debugger commands to
access/remove user-defined functions. Related to this, fixed a bug
in 'function' command that could cause a program crash.
* Added 'cls' debugger command, used to erase the text and history
from the debugger prompt.
* Removed the 'listwatches' and 'poke' debugger commands, as they
were redundant.
* Removed the 'loadlst' debugger command and the ability to use a
DASM .lst file. This code was incomplete, and no longer fits with
the recent disassembler improvements. Support for this may return
in a future release.
* Modified 'disasm' debugger command to accept a second argument
indicating the number of lines to disassemble.
* Improved tab-completion in the debugger prompt; it now completes
on functions and pseudo-registers.
* Added emulation of the "Sega Genesis" controller, with two buttons
that are directly supported on a real system.
* The ZLib library is now included in the core code, so Windows
developers no longer have to track down the ZLIBWAPI archive.
* Many changes to the MacOS X port, bringing it more in line with
other systems:
The application is now known as 'Stella' (instead of StellaOSX).
Two versions are available: the first is a 32-bit Universal Binary
for OSX 10.4 - 10.6, and the second is 32/64-bit Intel-only for
OSX 10.6 (aka Snow Leopard). The Intel version is compiled with the
very latest compiler (LLVM/Clang), resulting in better performance.
The keyboard handling is changed to match other systems in terms of
where the keys actually are on the keyboard (ie, the OSX Command key
corresponds to Alt, and the OSX Control key corresponds to Control).
The application menu has been cleaned up and simplified, and it
now shows the correct shortcuts for menu items.
The settings file is now (according to Apple standards)
'~/Library/Preferences/net.sourceforge.Stella.plist'.
The base directory (where all other Stella stuff is located) is now
'~/Library/Application Support/Stella'.
Because of these changes, all your settings will have to be entered
again.
* Added 'ctrlcombo' commandline argument, which toggles the use of the
control key as a modifier key. This is useful if you want to press
'Control' and 'R' in a two player game, and not have the combination
treated as 'Control-R' (which will issue a ROM reload).
* Added 'usemouse' commandline argument and associated UI item. This
toggles the use of the mouse as a controller of any type.
* Added 'uimessages' commandline argument and associated UI item.
This toggles showing of UI messages overlaid on the screen.
Critical messages are still shown, though.
* Added ability to take multiple snapshots in a given interval every
x seconds. This is currently tied to the 'Alt-s' key and is not
remappable (for now). The interval can be set with the 'ssinterval'
commandline argument and within the UI, and defaults to 2.
* Many changes to the FrameBuffer and UI code for 'smaller' systems.
Stella will now scale correctly to small screens, down to 320x240
(which is the absolute lower limit supported). Related to this,
added 'maxres' commandline argument, which is useful for developers
testing on such systems.
* The About dialog now shows the version of SDL in use, and the type
of CPU the application is running on (i386, x86_64, etc).
* Improved 'listrominfo' commandline argument to list all information
from Stella's internal ROM database, including a heading. This
output can be imported into a spreadsheet or database program.
* Renamed 'tiafloat' commandline argument to 'tiadriven'. The
emulation of the behaviour of floating TIA pins is also much more
accurate.
* Reworked state files so that they're associated with the cartridge
type used, not the MD5sum of the ROM. This is useful for developers,
since the same state file can now be loaded from different ROMs,
as long as the cart type stays the same. This also fixes a bug
where loading from a non-existent state file could cause Stella
to crash. Because of these changes, old state files will no longer
work.
* Fixed bug in certain editable text fields, where pressing Return/Enter
would disable any further input.
2.8.4 to 3.0: (September 11, 2009)
* Huge updates to the TIA emulation system. Illegal HMOVEs are now
handled correctly, resulting in improvements to many ROMs (thanks
to Wilbert Pol for many ideas and code for these improvements). All
HMOVE emulation 'cheats' were removed; the emulation is now cycle-exact
in this area.
* Improved emulation of the Cosmic Ark 'starfield effect', also used in
Stay Frosty; the emulation now looks very accurate.
* Many improvements to the normal TIA rendering code, fixing problems
when disabling certain graphical objects (certain objects were
being misdrawn when others were enabled/disabled).
* Improved TIA collision handling in the non-displayable area of the
screen; this fixes problems in RAMRacer ROM.
* Improved TIA redraw problems/graphical garbage when ROMs generate
many more scanlines than a real TV would allow; this fixes problems
in Q-Bert and the recent Playaround demo.
* Added 'Fixed Debug Colors' option similar to the no$26k emulator.
This allows each graphical object to be drawn in a fixed color,
more clearly showing how the objects interact. HMOVE blanks are
also shown in a different color. The TIA now emulates a 7-color
register model, allowing even shared objects to show different
colors. This is toggled with the 'Alt Comma' key.
* Related to 'Fixed Debug Colors', HMOVE blanks can now toggled during
TIA display with the 'Alt-m' key.
* Added rewind functionality to the debugger, where states are saved
after each step/trace/scanline/frame advance. Pressing 'Alt-r' or
clicking the new rewind button will undo up to 100 previous
operations.
* Added 'electron beam indicator' to the debugger TIA output. Basically,
this is a visual pointer indicating the position of the electron gun
when scanning the display.
* Added ability to completely disable fullscreen mode, which fixes
problems for some people where fullscreen mode was being entered
even if it wasn't enabled.
* Added '-joyallow4' commandline argument and associated UI item to
allow all 4 directions to be pressed simultaneously on a joystick.
* Improvements made to the ROM launcher: the backspace key now goes
to the parent directory (this key can be remapped), and previously
selected directories are now automatically selected.
* Added support for 2IN1 bankswitching scheme, where two ROMs are
present in one binary. Currently supported are 2, 4, 8, and 16K
ROMs.
* Added bankswitch support for the 6K version of Starpath/Supercharger
ROMS. This allows the 6K version of Cubis to run.
* Updated bankswitching schemes FASC and MB; they are now known as
FA and F0, respectively. This naming brings Stella in line with
other emulators and programming utilities.
* Fixed editing of cheats in the Cheat Dialog; the old cheat wasn't
being removed.
2.8.3 to 2.8.4: (July 4, 2009)
* Fixed bug where Stella could lock up after running for ~71 minutes.
Special thanks to Robert Tuccitto for bugtesting and feedback on this
issue.
* Updated UA bankswitch autodetection for Gingerbread Man ROM.
* The smallest ROM that Stella can support is 64 bytes; this lower
limit is now tested when loading Sub2K ROMs.
2.8.2 to 2.8.3: (June 25, 2009)
* Fixed OpenGL bug which caused an immediate program crash if the
available OpenGL version was less than 2.0.
2.8.1 to 2.8.2: (June 23, 2009)
* Fixed OpenGL detection bug which could disable OpenGL support entirely
if TV effects are not available (version < 2.0), when in fact only the
effects should have been disabled.
* The '\' character can now be entered in UI text fields again.
Related to this, strings containing '\' are now properly loaded and
saved to various config files.
2.8 to 2.8.1: (June 19, 2009)
* NOTE: Windows users will have to reset their options or manually move
their config folder in this release, since the location of the config
files has changed.
* Fixed OpenGL issue for some Windows users whereby the OpenGL TV
effects weren't available, even if the available version of OpenGL
was sufficient. Related to this, the OpenGL version found by
Stella is now reported in the TV effects dialog.
* Added fallback to software rendering when OpenGL rendering has been
requested, but for whatever reason fails to initialize.
* Added native support for 4in1, 8in1 and 32in1 multicart bankswitching
schemes. When using these schemes, the 'Reload ROM' action
(by default, Control-r) will switch between each game in the ROM.
* Added bankswitch support for ROMs smaller than 2K in size. These
will be treated as 2K ROMs natively, without having to manually
'pad' them to 2048 bytes.
* Added preliminary suppport for autodetection of X07 bankswitching.
* Tweaked PAL autodetection; it was marking some PAL ROMs as NTSC.
* Changed default location for Stella config files in Windows to
the users' APPDATA folder (for XP and Vista, this is
'~/Application Data/Stella'). The '~' symbol now represents the
users PROFILE/home directory, matching its usage in Linux and OSX.
The ability to override this with 'basedir.txt' is still
available, but not advised.
* Changed '-exitlauncher' commandline argument to '-uselauncher'.
This works as before except the launcher is never used at all if
the option is set to false.
* Fixed crash when launching Stella from the commandline and giving
a directory name instead of a rom filename.
2.7.7 to 2.8: (June 9, 2009)
* Added CRT simulation effects as described in the AtariAge posting
'CRT emulation for Stella'. For now, this requires OpenGL 2.0 or
greater with support for GLSL (GL Shading Language). This code
will be expanded on and optimized in future releases.
* Adding editing of extended RAM in the debugger RAM UI. The RAM
'spreadsheet' now shows the entire address space of RAM in the
system, in 128 byte increments. The first bank shown is zero-page,
with the others following in consecutive order. The UI takes care
of read vs. write port differences, so you don't have to worry
about the offsets. For now, all SuperChip based ROMs (EFSC, F4SC,
F6SC, F8SC) as well as 3E, CV, E7 and FASC are supported.
* All ROMs which include SC extended RAM will now have memory erased if
you attempt to read from the write port. Related to this,
entering/exiting the debugger will no longer erase the extended RAM.
* Patching of ROM for bankswitch types 0840, SB, UA and X07 is now
implemented, but hasn't been extensively tested.
* Visual improvements to the CPU register UI in the debugger; the
SP/A/X/Y registers now have separate decimal and binary views.
* Tweaked paddle control so that all positions are reachable in game
4 of Activision Casino in both NTSC and PAL versions.
* SuperCharger/AR ROMs now start with a random value in the CPU
accumulator. This should fix issues with Dragonstomper always
starting in exactly the same state.
* Auto-detection for '3F' bankswitching improved; several ROMs
previously detected as 'F8' now work correctly.
* Updated internal ROM properties database to ROM-Hunter version 5
(thanks go to RomHunter for his tireless research in this area).
* Added '-exitlauncher' commandline argument and associated UI item,
to specify what happens when you exit a ROM. Normally, exiting a
ROM brings up the ROM launcher, but this can be disabled for those
using an external frontend (in which case exiting a ROM also exits
from Stella).
* Re-added '-fastscbios' commandline argument, and added an associated
UI item. When enabled, the SuperCharger load bars are now completely
removed (and not just sped up as in previous releases).
* The '-listrominfo' commandline argument now shows all ROM
information built in to the internal database, taking into account
any information in 'personal' stella.pro files.
2.7.6 to 2.7.7: (May 1, 2009)
* Corrected emulation of CPU opcodes involving 'decimal' mode (ADC/RRA
and SBC/ISB). Special thanks to SeaGtGruff and others on the Stella
mailing list for in-depth discussion and creation of test ROMs.
* Fixed bug in F4SC bankswitching mode; writes to bankswitch addresses
weren't triggering a bank switch.
* Changed internal sound frequency of Pitfall 2 from 15.75KHz to 20KHz,
as this sounds much more authentic when compared to a real cartridge.
2.7.5 to 2.7.6: (April 14, 2009)
* Added support for 'EF' bankswitching (Paul Slocum Homestar Runner),
as well as auto-detection of this format.
* Added support for 'EFSC' bankswitching, as well as auto-detection of
this format. This is similar to the 'EF' scheme, but also includes
128 bytes SuperChip RAM.
* Added autodetection for '0840' and 'SB' bankswitching formats.
* Improved autodetection for 'UA' bankswitching format.
* Fixed bug in selecting video modes larger than the current screen;
the resulting video mode will now be the largest one available
(previously it selected the smallest one available).
* The currently selected CPU register now displays its value in
decimal and binary (in addition to hex) in the debugger.
2.7.3 to 2.7.5: (Mar. 27, 2009)
* After about 2 years, finally fixed the infamous 'red screen' issue when
using ATI video cards in OpenGL mode in Windows. In the end, it was
determined to be a bug in the ATI drivers. Special thanks go to
Ant (http://aqfl.net) for bugtesting and constant feedback wrt this bug.
* Fixed bug in TIA SCORE mode emulation when the Priority bit is also
set. This fixes a very noticable graphical glitch in 'Swordquest
Waterworld', as well as minor glitches in several other ROMs such
as 'Space Shuttle'.
* Treat spaces as normal characters in the ROM launcher. This means
that ROMs with spaces can be located with quick selection (ie,
typing characters will automatically jump to a ROM with that name,
and typing 'space' won't cause the launcher to jump back to the top
of the list).
* The debugger window can now have a minimum height of 620 lines
(previously the minimum was 690), but you lose access to the TIA 'RAM'
bytes when using this resolution. This should allow it to work
better on devices with small displays.
2.7.2 to 2.7.3: (Feb. 9, 2009)
* Fixed rendering issues in software mode when using 24-bit colour depth.
This isn't as fast as 16 or 32-bit modes, so you're recommended to use
one of those whenever possible.
* For the Win32 port: re-added ability to change the default location
for storing Stella config files. To use this, simply create a file
named 'basedir.txt' in the application directory containing the full
path where all Stella-related items should be stored.
* Tweaked the TIA info statistics overlay to be smaller while still
including all relevant information.
2.7.1 to 2.7.2: (Jan. 27, 2009)
* Fixed major bug in ROM Audit functionality; renaming ROMs would create
files without an extension.
2.7 to 2.7.1: (Jan. 26, 2009)
* Partial workaround for sound not working in OpenGL video mode in
Windows with ATI video hardware. Sound will now work for the first ROM
selected, but not for subsequent ones (you will have to quit and
restart Stella for sound to work again). Related to this, added
'-audiofirst' commandline argument, which initializes audio before video
when emulating a ROM. Further work is required to completely fix
this bug.
* Fixed bug where volume wasn't being saved in 'Audio Settings' when
started from the ROM launcher.
* Fixed crash which sometimes occurred when viewing snapshots in the
ROM Info viewer.
* Allow setting window sizes for the ROM launcher and debugger to be larger
than your desktop resolution. Be careful with this feature, as switching
to fullscreen mode may cause problems in such cases.
* Made the ROM launcher filename filtering be case-insensitive. This fixes
a bug whereby ROMs with uppercase extensions were marked as invalid.
* Added a pattern matching textbox to the ROM launcher, used to
further filter the files shown in the listing. For now, this filters
files only (directories are not filtered, and are always shown).
* The location of EEPROM files used for AtariVox/Savekey emulation can
now be changed with the '-eepromdir' commandline argument as well as
in the UI.
* Added '-gl_aspectn' and '-gl_aspectp' commandline arguments (and
associated UI items), which replace the previous '-gl_aspect' setting.
The aspect modes can now be set separately for NTSC and PAL mode.
Related to this, the range of values is now 80 - 120.
* Fixed bug with hold-select/reset/button0 when overriding ROM properties;
the checkboxes in the UI weren't actually doing anything.
* The 'grabmouse' option is now configurable from the UI; previously
it was only accessible from the commandline or its shortcut key.
* Removed 'Emulation_HmoveBlanks' ROM property and associated UI item.
You can no longer optionally turn off HMOVE blanking; it is always
enabled when necessary.
2.6.1 to 2.7: (Jan. 19, 2009)
* Totally reworked the built-in UI to be font-sensitive and use higher-
resolution fonts. Stella now requires a minimum screen size of 640x480.
If used in a resolution smaller than that, the fonts will be reduced
accordingly. Related to this, switching between software and OpenGL
rendering now requires an application restart.
* Added three different sized fonts (small, medium, large) which can be
used in the ROM launcher.
* Added ability to temporarily override ROM properties from the UI. This
is tied to a right mouse button context menu in the ROM launcher, and
is very useful when you want to use a set of properties for all
subsequent ROMs without having to manually change each one.
* Added ability to filter the files shown in the ROM launcher. Currently,
the choices are 'all files', 'all roms', or 'roms ending with a certain
extension'. This functionality is tied to a right mouse button context
menu in the ROM launcher. Extensions can also be set with the
'-launcherexts' commandline argument.
* Added ability to reload the listing in the ROM launcher, either from
a right mouse button context menu or pressing the Control/Cmd-R key.
* Made the ROM info viewer in the ROM launcher configurable to show
snapshots in 1x or 2x mode.
* Made the delay between consecutive keys being recognized as one word
configurable in the ROM launcher. This is useful if you find that you
have to press keys too quickly to jump to a specific ROM. This can be
set in the UI or using the '-listdelay' commandline argument.
* Updated internal ROM properties database to ROM-Hunter version 4
(thanks go to RomHunter for his tireless research in this area).
* Expanded the statistics overlay for the TIA image to also show
Display Format and Bankswitch type information.
* Added '-ss1x' commandline argument and associated UI item, used to
generate snapshots in 1x mode, independent of the filtering/scaling
currently in use.
* Various path textboxes in the UI now recognize './' (or '.\') to mean
the current directory and '~/' (or '~\') to mean your home directory
(for Windows, home directory will be your 'My Documents' folder).
* Large speedup in loading directories with many files in the ROM launcher.
* Fixed reset issue in 3E, 4A50, AR, CV, E7, F4SC, F6SC, F8SC, FASC and MC
ROMs; the internal RAM wasn't being randomized after the initial reset.
* M6532/RIOT RAM is now randomized at every reset, not just when the
emulation starts.
* Fixed bug in _diff pseudo-registers in the debugger; they were actually
defined backwards.
* Added fix for 'Challenge/Surfers Delight' ROM; the startup bank was
incorrect. Combined with the new 'Override Properties' functionality,
you can now play both games directly from the UI (no need to use the
commandline).
* Fixed paddle issue with Activision Casino ROM; the last card in game 4
can now be reached.
* Added new pseudo-registers to the debugger, useful for conditional
breakpoints (_fcount, _cclocks, _vsync, _vblank).
* Added 'timing' commandline argument functionality to the UI, so you no
longer need to use the commandline to set it.
* Size restrictions on the TIA image are now strictly enforced. The
maximum height of a 1x TIA image is now 256 lines.
* Added a new setting to the 'fullres' option named 'auto'. Using
'auto' will let Stella decide the best videomode to use in fullscreen.
* Changed 'gl_fsmax' option to mean 'scale TIA image in fullscreen'. It
will have no effect on UI modes.
* Changed 'gl_aspect' option to range 80-100 (previously, it was 50-100).
* Removed 'ui_zoom' and 'tia_zoom' options, replacing them with
'tia_filter' (which can be zoom1x, zoom2x, etc). There is no equivalent
for ui_zoom, since the UI can no longer be scaled.
* Added experimental 64-bit version for Vista64 (may also work on WinXP64).
This hasn't been extensively tested, and is probably quite a bit slower
than the 32-bit version.
* OSX port now requires at least 10.3 and XCode 3.0 to compile. Sorry,
but I no longer have access to older systems to compile for 10.2.
* Huge updates to the documentation, particularly concerning the debugger.
Many features that have been in Stella for a while are now documented for
the first time.
2.6 to 2.6.1: (May 22, 2008)
* Introduced more accurate timing for NTSC vs. PAL modes, where the
framerate is based on the number of scanlines per frame. This should
eliminate 'clicking' sounds when emulating ROMs that don't follow
the exact NTSC or PAL scanline specs.
* Added ability to see the current number of scanlines and corresponding
framerate to the TIA emulation. This can be set with the '-stats'
commandline argument, or dynamically turned on and off with the
'Alt-l' key combo.
* Modified '-framerate' commandline argument, where a non-zero value
overrides the automatic framerate calculation (based on number of
scanlines). Setting 'framerate' to zero re-enables auto-frame
calculation. Also, re-enabled changing the framerate from within the
UI.
* Added '-timing' commandline argument, which sets the type of waiting
between processing frames. Setting it to 'sleep' emulates the
previous behaviour in Stella; setting it to 'busy' emulates z26,
and can in some cases eliminate screen tearing (at the expense of
using all available CPU time).
* Fixed issue with debugger disassembly and mirrored $40 TIA write
addresses. They were actually defined at $30, and generating incorrect
labels.
* Fixed issue in AtariVox and SaveKey controllers where accessing the
EEPROM sometimes failed after the first write.
* Changed AtariVox and SaveKey EEPROM emulation to default to $FF for
a blank EEPROM.
* Fixed regression in cart auto-detection logic; some F6 ROMs were being
misdetected as E7.
* Fixed issue with M6532/RIOT timer initialization; it was causing some
ROMs to hang (most notably Summer Games). Related to this, reworked
the built-in random number generator to generate 'more' random numbers.
* Fixed bug in CommandMenu where console buttons (Select, Reset, etc)
weren't doing anything.
2.5.1 to 2.6: (May 16, 2008)
* Added AtariVox support using a real AtariVox device, where Stella
sends data directly to the AtariVox. For now, this is supported in
Linux/UNIX, OSX, and Win32 only. You'll obviously need a real
AtariVox, and a serial<->USB adaptor to connect it to your system.
Added '-avoxport' commandline argument used to set the serial port
to which the AtariVox is connected. Special thanks to Al Yarusso
and Richard H. for providing sample hardware.
* Added AtariVox and SaveKey EEPROM emulation. This reads/writes data
to a 32KB file, not to the actual hardware. Very useful for testing
EEPROM support without actually wearing out the real device. Special
thanks to J. Payson for providing the EEPROM emulation code, and A.
Herbert for answering many driver-related questions.
* Added support for CX-22, CX-80, and AmigaMouse trackball controllers.
* Improved debugger symfile handling so that addresses accessed as
read-only won't use write-only labels (and vice-versa). More work
is still needed in this area.
* Added M6532/RIOT tab to the debugger. This will be expanded on in a
future release.
* Added TIA emulation fixes for graphical glitches in Escape from the
Mindmaster, Mission Survive, Solaris, and SWOOPS!
* Fixed bug where fullscreen OpenGL scaling wasn't working on 4:3 monitors.
* Further improvements to the M6532/RIOT emulation, which unfortunately
have broken old state files (again).
* Added deadzone setting, for adjusting the deadzone amount for
analog joysticks. This can be set using the commandline argument
'-joydeadzone' or dynamically within the UI.
* Make ROM disassembly in debugger take advantage of a wide window.
* Fixed bug in 6507 BCD handling introduced in the last release.
* For the Win32 port; Win9x should be fully supported again.
2.5 to 2.5.1: (April 9, 2008)
* Fixed M6532 RIOT timer emulation. More testing is needed, but the
changes so far have fixed several ROMs that didn't work before.
* Fixed issue with weird characters in the debugger disassembly when
loading .lst files.
* Fixed bug where entering the debugger for 4A50 and E0 carts caused
the ROM to be frozen afterwords.
* Removed logic whereby starting a ROM from something other than the
built-in launcher wouldn't allow the user to go back to the ROM launcher.
* Fixed bug (hopefully) with the app icon not showing on the Stella window.
Further testing is needed, since I can't duplicate the error myself.
* Fixed default snapshot folder issues; the folder will now be
automatically created in the same place as state folders, ini files,
etc (whereever that may be for your platform).
* Re-added 'lastrom' functionality, where Stella will remember and
auto-select the last ROM that was successfully launched in the ROM
launcher.
* For Stella developers, fixed SpeakJet emulation so it compiles again.
No improvements have been made to the emulation itself, though.
2.4.2 to 2.5: (March 28, 2008)
* Added RomInfo widget to the ROM launcher, which shows properties
information and a snapshot of the currently selected ROM. Updated the UI
and added '-romviewer' commandline argument to activate this setting.
Note that the ROM launcher will have to be sized at least 640x480 for this
to be used. Also note that the snapshots must be in 1x mode with a
maximum size of 320x260. This will be expanded on in a future release.
* Added ROM audit functionality, whereby ROMs can be physically renamed
according to their properties' name.
* Added bankswitching support for 0840, SB, X07 and 4A50. A special thanks
to Eckhard Stolberg for much help in this area.
* Removed "non-browse" functionality from the ROM launcher; it now always
uses browse/filesystem mode. The previous 'pretty' names can now be
seen by renaming all your ROMs with the new ROM audit feature.
* Huge overhaul of controller handling and Stelladaptor support, making it
much easier to add new controller types in a future release.
* Fixed paddle issues in Night Driver; paddle emulation speed should be
much better.
* Fixed several 6507 emulation bugs related to BCD handling.
* Updated ROM properties based on info from RomHunter.
* ROM properties can now be edited from the ROM launcher; you no longer
have to start a ROM to do so.
* Added support for configurable font to ROM launcher (currently only
'small' and 'large'). Updated the UI and added -launcherfont' commandline
argument to change this setting.
* Added SECAM, NTSC50, PAL60 and SECAM60 to the list of formats that can
be used. Also, switching between these modes with 'Ctrl-f' now switches
the palette only; the number of scanlines won't change.
* Fixed crash when switching between software and OpenGL mode with a
Stelladaptor plugged in.
* Added '-tiafloat' commandline argument, which determines whether or not
the TIA pins are in a 'floating' state. This is useful for testing on
certain CMOS EPROM chips where the unused TIA pins on a read are not
floating but pulled high.
* Fixed issue in debugger where once a .sym file was loaded, it was used
in all ROMs loaded after that.
* Fixed issue in debugger where equate names weren't showing up in the RAM
and CPU widgets. Note that this still isn't perfect, and needs support
from DASM for proper functionality.
* Updated state file format, creating smaller files (and in preparation
for state rewinding in a future release). Old state saves will no longer
work.
* Added '-bs' commandline argument, which is an alias for '-type' (which
is still present).
* Removed -pXspeed' commandline arguments, and replaced them with a
single '-pspeed'.
* Removed '-paddle' commandline argument. The paddle currently emulated
by the mouse can still be changed with Ctrl-0..3 or within the UI, but
the setting is no longer saved.
* Reworked UI for specifying that the console ports have been swapped,
hopefully making it easier to understand.
* Added 'Ctrl-c' & 'Ctrl-v' to EditTextWidgets, allowing to copy and paste
the text widget contents. More work in this area is coming in a future
release.
* Added 'Ctrl-leftarrow' and 'Ctrl-rightarrow' to EditTextWidgets, to move
to the first character of previous and next words (respectively).
* For the Win32 port: fixed OpenGL crashes in Vista. Graphical updates
are still slower in Vista compared to XP, though.
* For the Win32 port: default folder for Stella config files is now
'My Documents\Stella'; this can be disabled if necessary. This should
fix issues with losing settings when launching Stella from an IDE,
and the creation of stella.ini and 'state' directories in many
different places.
* For the Win32 port: several fixes to the Visual Studio project files,
allowing building in debug or release mode, for both i386 and x86_64.
The project files have been upgraded to Visual Studio 2008, and Stella
can now be built and distributed without the VS runtime libraries.
* Updated configure script for cross-compiling Win32 version in Linux.
2.4.1 to 2.4.2: (September 17, 2007)
* Made usage of 'GL_TEXTURE_RECTANGLE_ARB' extension configurable, and
have it default to off. This should take care of the black/white
screen many people were experiencing with ATI video hardware. This
is accessible using the 'gl_texrect' commandline argument). Set it to
'true' or 'false' to enable/disable the extension.
2.4 to 2.4.1: (August 27, 2007)
* Re-added OpenGL aspect ratio setting ('gl_aspect' commandline argument).
* Re-added non-browser mode to the ROM launcher.
* For the Linux/UNIX port; fixed OpenGL vsync issue with Nvidia video cards.
2.3.5 to 2.4: (August 20, 2007)
* Added new video sub-system where fullscreen and windowed modes are treated
differently. Windowed modes now use '-zoom_tia' and '-zoom_ui' arguments,
while fullscreen modes can be specified by resolution using the new
'-fullres' argument.
* Widescreen video modes are now supported; Stella will simply center the
image with surrounding black borders.
* Many UI-related changes, including resizable ROM launcher and debugger
windows, and a new UI palette (the previous 'classic' palette is still
available). This is still a work in progress.
* The locations of all major config files (statedir, palette file,
cheat file, properties file, etc) are now configurable from the
commandline and within the UI.
* Updates to TIA palette support. Added SECAM support, and removed the
built-in 'original' palette. Standard, z26, and user are still
available.
* Various bugfixes to some debugger commands. The 'run' command no
longer causes a crash, and several others have better error-checking.
* Added more complete cartridge auto-detection for Commavid (CV), 3E,
3F and Activision (FE) formats.
* Removed XStart and Width ROM properties, since the forthcoming TIA
rework won't be using them.
* Reworked internal storage of ROM properties to be faster and take up
less space.
* Added several different ways of stretching the OpenGL image to the
'-gl_fsmax' argument, for more flexibility.
* Removed OpenGL aspect ratio setting favour of the previously mentioned
video changes. We'll see how this goes.
* Removed dirty-rect support from software rendering, since it was actually
sub-optimal in Windows and OSX and defaulted to off in previous versions.
* Added support for gzipped ROMs.
* Re-added pause support.
* Re-added support for Windows 98.
* Removed support for 'STELLA_BASEDIR' environment variable, since each
config file can be now configured separately.
* Removed '-fastscbios' argument, since it must always be turned on.
* Removed PSP support, since it hasn't been updated in over a year, and
someone else is maintaining another port elsewhere.
* For the Unix/Linux port; fixed 'make install' issues, and changed icon to
PNG format.
2.3 to 2.3.5: (January 17, 2007)
* Greatly improved cartridge bankswitch type auto-detection. Stella
can now (mostly) autodetect cartridge types 'E0', 'E7', '3E', '3F' and
Superchip carts. Obviously, this autodetection is not infallible, but
relies on patterns in the ROM data, and how it was compiled. Because
of the auto-detection types already supported, almost all bankswitch
info was removed from internal ROM properties. Set the ROM property
"Cartridge.Type" to "Auto-detect" for this to take effect.
* Added auto-detection of display type (NTSC or PAL). Currently, PAL60
ROMs will be detected as NTSC. This is almost 100% accurate, and fails
in very few cases (for those that are mislabeled, the ROM properties
can be set specifically). Set the ROM property "Display.Format" to
"Auto-detect" for this to take effect.
* Improved emulation timing when exiting one ROM and starting another.
Previously, this could result in the second ROM having its sound start
later than it should have.
* Removed pause functionality from the core, since it's been superceded
by the other event states. You can now enter one of the menus for a
similar effect (options, command, debugger, etc).
* Added toggle for PAL color-loss emulation, which defaults to off.
Previous versions of Stella always used color-loss emulation.
Related to this, added 'colorloss' commandline argument.
* Added rudimentary support for configuring the UI palette ('uipalette'
commandline argument) and ability to change the size of the launcher window
('launchersize' commandline argument). This will be expanded on in future
releases.
* Reworked options menu so it's now accessible from the ROM launcher as
well as while playing a ROM.
* Re-added ability to change the width and height of a Console. Related to
this, changing XStart/YStart/Width/Height dynamically no longer resets
the ROM.
* Removed 'tiadefaults' commandline argument, since Stella will now default
to using accurate positioning, and not use 'tweaks'.
* Joystick code now allows all 4 directions; 'Bumper Bash' now works
correctly.
* Improved Keypad emulation; 'Alpha Beam with Ernie', 'Oscars Trash Race'
and 'Magicard' now work correctly.
* Reworked GUI code, so that all dialog boxes are automatically centered.
* Added 'rominfo' commandline argument, which prints some detailed info for
a ROM.
* For the OSX port; fixed crashes in OpenGL mode.
* For the GP2X port; some improvements to the sound code.
* For the GP2X port; added vertical centering of the TIA image (when possible).
2.2 to 2.3: (December 22, 2006)
* NOTE: Because of the many changes in this release, all settings
will be reset to defaults. If this doesn't happen for you, it will be
necessary to manually delete your previous settings.
* Potentially huge speedups in software rendering mode, both in emulation
and UI modes. Deactivating 'dirty rects' uses these new modes, which
can be 2-3 times faster for many configurations.
* For UI navigation, changed from using 'joymouse' to the more familiar
'tabbing' functionality, where you move from object to object by use of
some tab key. As a result, completely removed the 'joymouse' commandline
argument and all associated functionality.
* Added event remapping for UI events, separate from events while in
emulation mode.
* Added support for PAL60 ROMs, which use the PAL palette and resolution
but run at NTSC timing (60Hz). Added ROM property for this, and updated
the internal properties database for many PAL60 ROMs.
* Added support for user-definable palettes. For now, only one extra palette
is supported, but in the future we may have them specified per-ROM.
* Fixed bug in PAL colour-loss emulation, which wasn't actually being done
for the original Stella and z26 palettes.
* Fixed several TIA-related emulation bugs as reported on AtariAge. More
fixes will come with the TIA rewrite, due in the next release.
* Added new scaler infrastructure, replacing the '-zoom' commandline argument
with '-scale_ui' and '-scale_tia'. This means the UI and emulation can now
be scaled independently.
* Added '-gl_vsync' commandline argument and associated UI elements, which
uses synchronization to vertical blank interrupt in OpenGL on supported
systems. This eliminates tearing in OpenGL rendering.
* Changed naming of snapshots and state files. These files are now
named based on the names given in the properties database, and no longer
use the 'md5sum' name. As a result, state files from previous versions
will no longer work unless they're manually renamed. Related to this,
removed the '-ssname' commandline argument.
* Fixed bug where 'Snapshot saved' appeared when taking snapshots in
succession.
* Added a 'Previous directory' entry to the top of each listing while
in ROM Browse mode, which is equivalent to the 'Go Up' button. This makes
it easier to navigate the filesystem, since you never have to 'tab out'
of the ROM listing.
* Added all sound related commandline options to the UI, so you no
longer have to use the commandline to set those options.
* Added new property to ROM properties specifying whether to swap paddles
plugged into a virtual port. This eliminates the need to manually set the
paddle mode for those ROMs that don't use paddle zero by default.
* Added a 'Defaults' button to the Game Properties dialog, which resets
the ROM properties to the internal defaults, deleting that ROMs properties
from the external properties file.
* Fixed bug whereby modified ROM properties weren't being reloaded when
restarting a ROM.
* Made 'phosphor' and 'phosphor blend' a ROM property, meaning it can be
set per-ROM.
* Added support for relocating the base Stella directory, by setting the
environment variable 'STELLA_BASEDIR'. This must be done each time before
Stella starts.
* Added '-fastscbios' commandline argument, which speeds up loading of
vertical bars in Supercharger ROMs, and made it the default.
* Added '-autoslot' commandline argument, which automatically switches
to the next available slot after saving a state. This defaults to off,
and must be set from the commandline.
* Fixed bug in debugger command 'runto', which could enter an infinite
loop under some conditions.
* Updated configure/build toolchain so patching is no longer required for
Debian packages.
* Removed dependency on PNG library (PNG snapshots are still present, but the
actual library is no longer required).
* For the OSX port, improved OpenGL performance on Mac Mini using Intel
GMA950 video hardware.
* For the GP2X port, added support for PAL ROMs, and updated SDL to use
hardware scaling.
2.1 to 2.2: (April 7, 2006)
* Added new ROM browser option which works like a normal filesystem
browser, allowing navigation throughout the filesystem.
The old mode of browsing is still present, and can be toggled at
runtime. Related to this, fixed bug whereby sorting in the ROM
launcher sometimes didn't work.
* Integrated stella.pro properties into the application, resulting in
faster startup time. Now Stella can be redistributed as a single
binary; no external files are needed, but they will still be used
if present.
* Reworked ROM properties files once again. The 'user.pro' file has
been removed, and all user-defined properties are stored in
'stella.pro' instead. You should delete all properties files when
upgrading to this version, to take advantage of the speed increases.
* Reworked settings files once again. Removed all references to a
global settings file. Each user now gets a user-specific settings
file only. If that file doesn't exist, the built-in defaults are
used.
* Added 'conditional saving' of the cheatcode and settings files, so
that these files are only written to disk when absolutely
necessary. This doesn't really affect desktop systems, but is very
useful for systems with flashram-based storage (GP2X, WinCE, etc).
* Reworked Settings class, hopefully fixing a bug whereby settings
weren't being saved in certain cases (most evident in the OSX port).
* Added 'tiadefaults' commandline option, which can also be toggled
from within the GUI. This option disables all TIA positioning
'tweaks' that typically make a game look better, and present the
image exactly as it would appear on a real 2600.
* Added jitter-detection code for the paddle emulation, which should
eliminate an annoying 'jittering' effect when using paddles with
a Stelladaptor.
* Related to jitter-detection, added '-pthresh' commandline option
and GUI entry, which sets a bound below which the emulation detects
jitter.
* Fixed crash when adding one-shot cheats.
* Fixed bug in RAM comparative searches in the debugger.
* Fixed bug with setting snapshot naming type from the GUI (it was
always being set to 'romname').
* Re-added low compatibility CPU emulation mode, since it benefits
some slower systems. This is activated with the commandline argument
'-cpu low'.
* For the OSX port, added Universal binary support.
* For the OSX port, reworked the menu handling, so that certain menu
options are only enabled when it makes sense to do so.
* For the GP2X port, fixed joystick deadzone issues and scroll bug in
ROM launcher.
* For the GP2X port, fixed issue with PAL ROMs causing a crash because of
screen size. A message is now shown indicating that PAL ROMs are not
yet supported.
2.0.1 to 2.1: (January 29, 2006)
* Added phosphor effect, similar to z26. Useful on ROMs which alternate
sprites from one frame to another, resulting in an annoying flicker.
When using phosphor mode, a pixels colour is mixed with its previous value,
resulting in a blended image that doesn't flicker, emulating the
phosphoresence effect on a real television.
* Added 'pp' developer commandline argument to set the "Display.Phosphor"
property, and 'ppblend' to set the amount to blend pixels in phosphor
mode. Also added 'Alt p' key to enable/disable phosphor effect while
ROM is emulated. By default, phosphor mode is only used when necessary,
as specified in the stella.pro file.
* Renamed 'cheetah' commandline argument to 'cheat'.
* Added per-frame cheatcodes (4 characters long), which are evaluated
each frame.
* Added cheatcode GUI, where cheats can be named, edited, saved, etc.
* Cheat codes are now saved to stella.cht file and are automatically
reloaded when Stella starts.
* Improved 'joymouse' functionality. While in GUI mode, any axis will
simulate mouse movement, and any button will simulate a mouse click.
So the GUI can be completely navigated without a mouse.
* Improved CommandDialog and LauncherDialog wrt joymouse functionality.
These dialogs are used more than any other on devices without a mouse,
so joystick axis movement switches between GUI objects, rather than
simulating the mouse. This leads to much faster selection of objects.
* Added mapping of multiple SDL joystick axis to Event Mapping.
* Added joystick hat support, and mapping of multiple hats to Event Mapping.
* Added remapping of paddle emulation to the keyboard or joystick axis
(the mouse is still used by default for paddles). Related to this,
use more precise analog values when analog axis are mapped to
analog-type events (such as paddles).
* Treat joystick events as other types of controllers based on the virtual
port entry in stella.pro. This means that mappings for a joystick will
emulate other devices when necessary.
* Added 'sp' developer commandline argument, which sets the
"Console.SwapPorts" property and swaps the arrangement of the virtual
ports. Useful for games like "Raiders of the Lost Ark", where the
joysticks are normally swapped.
* Added ability to set which Stelladaptor device emulates which virtual
joystick port ('sa1' and 'sa2' commandline arguments, which accept
'left' or 'right').
* Fixed issues with jittering joysticks/mice causing weird events when
starting Stella.
* Added 'freq', 'tiafreq' and 'clipvol' commandline arguments, which
affect the sound subsystem (see manual for further info).
* Made state files completely cross-platform, both in terms of endianness
as well as CPU size (32 vs. 64 bit).
* Fixed crash with using 'cheat' and 'break' from the commandline.
* Implemented dynamic loading of OpenGL library.
2.0 to 2.0.1: (October 24, 2005)
* Added 'dirtyrects' support, which speeds up rendering for some Windows users.
* Fixed bug where taking snapshots would fail if the snapshot directory
wasn't specified.
* Made ROM launcher case-insensitive, so upper and lowercase names are now
mixed in the correct order.
* Fixed ZIP ROM support to search the archive for ROMs ending with either
.bin or .a26 (case insensitive).
* ROMs which don't have an associated properties entry are no longer named
'Untitled' in the Stella window or when taking snapshots. The actual
ROM name is now used.
* Changed minimum height of debugger to be 27 lines in the prompt, or approx.
700 pixels high. This should make using the debugger easier for users
with lower resolution monitors. Related to this, the RomWidget now uses
all possible vertical space when changing the debugger height.
* Fixed bug related to upgrading Stella and event mappings being incorrect.
Stella now detects this, and uses the default mappings. So upgrading
to version 2.0.1 means your event mappings will be reset.
* Fixed bug in loading debugger symbol files generated on different
operating systems.
* For the Windows port; added exe installer based on InnoSetup.
* For the Windows port; compiled icon into Stella, so it now looks like
a real Win32 application.
* For the OSX port, reverted window resize key combos back to 'Cmd =' and
'Cmd -' to match the 1.4.2 release.
1.4.2 to 2.0: (October 16, 2005)
* Added integrated GUI. Stella is now a fully graphical application, and all
settings can be changed dynamically while the application is running. That
means the commandline is no longer required (but support is still there
for those who want to use it).
* Added ROM launcher. You can now exit a game and start playing another one
from directly within Stella (you no longer have to quit Stella and
restart it).
* Because of the integrated GUI and ROM launcher, StellaX and KStella
(the Windows and Linux frontends) have been discontinued. The OSX
port now uses the launcher as well.
* Added an integrated debugger for game developers. This is currently
the first version of a debugger in Stella, but it's already quite
usable.
* Added new sound subsystem, which is much faster and more accurate.
Related to this, added stereo sound output (used by some homebrew games).
* Added ZIP support. Stella can now open ROM's compressed in zip
format.
* Added cartridge 'frying', thanks to Fred "batari" Quimby. This
emulates the action of turning the power button on and off on a
real Atari, often resulting in some strange effects.
* Added ability to edit current ROM properties from directly within
Stella, which can then be saved directly into the 'user.pro' file.
So creating a properties entry for a new ROM can be done without
any external tools.
* Added initial support for using Stella in an 'arcade-box'
environment without a keyboard. This consists of an in-game
menu for choosing common actions in Stella, as well as using the
joystick navigate the mouse pointer.
* Reworked properties system to use both a system-wide 'stella.pro' and
a per-user 'user.pro' properties files. Changes made by the user
and stored in 'user.pro' are no longer erased when upgrading Stella.
* Added support for cartridges with 3E bankswitching format.
* Added preliminary Cheat support.
* Added 'Alt/Shift-Cmd' z, x, c, v, b, n keys to enable/disable the
P0, P1, M0, M1, BL, PL bits in the TIA, respectively.
* Added 'Alt/Shift-Cmd .' key to disable all bits in the TIA.
* Added 'Alt/Shift-Cmd /' key to enable all bits in the TIA.
* Added 'Alt/Shift-Cmd g' key to switch dynamically switch between
software and OpenGL modes while Stella is running.
* Added 'Ctrl/Cmd r' key to reload the ROM currently being emulated.
* Added 'Alt/Shift-Cmd s' key to merge the current game properties
into the properties file.
* Added 'help' commandline argument. Launching Stella from the
commandline with no options now starts Stella in ROM launcher mode,
instead of showing help (as in previous versions).
* Added the following commandline arguments for developers:
"pro, type, ld, rd, tv, lc, rc, bc, format, xstart, ystart, width
height, cpu, hmove". Developers can consult the manual for
further details.
* Removed 'mergeprops' commandline argument, since there are now
dedicated keys to either save or merge game properties.
* Removed 'hidecursor' commandline argument. Stella will now
automatically decide when to use this setting.
* Fixed framerate when switching between NTSC and PAL modes. Stella
now uses the correct framerate based on the format of the ROM,
in terms of both video and audio.
* Added 'configure' support to the build process for both Linux and
Win32 (using MinGW). Developers can now use the familiar 'configure;
make; make install' commands to compile Stella.
* Further consolidation and integration of SDL. This should lead to
faster operation and a more consistent look for all ports.
* Fixed some 64-bit issues. Stella now compiles and runs correctly
on AMD64 and PPC64 Linux systems.
* Updated the Stella manual with pictures of the new integrated GUI.
1.4.2a to 1.4.2b: MacOSX version only (February 27, 2005)
* Added fix to mute sound while user is loading a new cartridge, or using
the Preferences window.
1.4.2 to 1.4.2a: MacOSX version only (February 21, 2005)
* Fixed problem in timing loop which was causing crashes after 15-30
minutes.
* Turned optimization on in compiler settings, which had somehow gotten
turned off.
1.4.1 to 1.4.2: (February 19, 2005)
* Updated the sound system. All popping and cracking sounds that previously
occurred at program start/stop and when entering/exiting menu or pause
mode have been eliminated.
* Fixed the gl_fsmax argument to mean "switch to desktop resolution on
fullscreen OpenGL", instead of to the maximum possible resolution (the two
are not always the same).
* Added Alt [ and Alt ] keys to dynamically adjust the sound volume during
emulation.
* Added Control 0, Control 1, Control 2, Control 3 keys to dynamically change
which paddle the mouse should emulate.
* Added video_driver argument. This accepts the different options that can be
specified for SDL_VIDEODRIVER (see SDL homepage for more information).
Basically, it eliminates the need to set the SDL_VIDEODRIVER environment
variable.
* Made sure screen is refreshed before taking a snapshot. This eliminates
the problem with new snapshots containing the text "Snapshot saved".
* For the Windows port; added windib and directx as options for
'video_driver' when using software rendering. The 'windib' option is now
the default, and in many cases it's up to 10 times faster than using
'directx'.
* For the OSX port; added 'Cmd-R' key to reload the currently loaded ROM.
1.4 to 1.4.1: (August 15, 2004)
* Fixed PAL sound issues. PAL games now should sound correct (no distortion
or missing sounds), but some games may still run too fast. This is still
a work-in-progress, and will be fixed in Stella 1.5.
* Cleaned up the SDL event gathering loop. This should hopefully fix the
problems with "double-pumping events" reported by some Windows users.
Event gathering and dispatching is now much faster as well.
* Fixed a bug where the Control or Alt keys could be assigned to some event,
but they could never be used. Control/Alt can now be used for any event.
* Updated stella.pro file to work with the latest Good2600 ROMset release
(Thanks go to Voch for helping to maintain the stella.pro file).
* For the Windows port; removed requirement for ROM files to be named *.bin
in the StellaX frontend. The ROM's can now have any name, but ZIP-files are
not yet supported.
* For the Windows port; fixed the problems with the included modified SDL
library and Windows 98 users. Stella should now run in Windows 98.
* For the OSX port; added preference to allow user to select the directory
in which ROM images are stored. This sets the default directory to start
the browsing for a ROM in, and doesn't preclude the user from selecting a
file outside that directory.
* For the OSX port; fixed preferences bug where Preferences changed before
a game was opened were not being saved.
* For the OSX port; fixed an issue which would prevent the program from
working with OSX 10.1.
1.3 to 1.4: (July 17, 2004)
* Codebase ported to SDL. The DOS and X11 ports have been discontinued.
* Sound code ported to SDL. For the Linux versions, ALSA and OSS sound
support has been discontinued.
* The Linux, MacOSX and Windows ports are now based on the same codebase
and are actively maintained. That means simultaneous (and hopefully more
frequent) releases.
* A new Windows port has been created, with the GUI based on StellaX.
This is the first new release for Windows since Stella 1.2.
(software mode is not yet optimized; OpenGL mode works much better)
* A new Mac OSX port has been created by Mark Grebe. This is the first new
release for Mac OSX since Stella 1.2.
* Added OpenGL rendering support.
* Added more refined in-game GUI.
* Added event remapping. Emulation keys can now be remapped to the keyboard
or up to 4 joysticks.
* Added native Stelladaptor support. Joysticks, paddles, and driving
controllers have been tested.
* Digital sound support (used in games like Quadrun and Pitfall2) has been
greatly improved. Sound generation is now more tightly synchronized with
video updates.
* Added support for switchable palettes. Currently you can switch between
the current Stella palette, original Stella palette (pre-1.2 versions),
and the z26 palette.
* Added support for UA Limited style bankswitching (Funky Fish and Pleiades).
* Switched to using high compatibility M6502 mode by default. This means
old state saves from previous Stella versions will no longer work.
* The meaning of the "-sound" command line option has been changed. This
option now accepts either 'true' or 'false (1 or 0) to enable/disable
sound.
* Changed sound mixer functionality. The system volume/mixer settings will
never be changed; volume changes in Stella will only affect the
emulation itself.
* Added "-video" command line option. This option accepts either 'soft' or
'gl', to use software/OpenGL rendering.
* Added "-gl_filter" command line option. This option accepts either
'nearest' or 'linear', to use GL_NEAREST or GL_LINEAR filtering.
* Added "-gl_aspect" command line option. This option accepts a decimal
value specifying how much to scale the width of the emulation image
(useful for giving an authentic 'square-looking' 4:3 mode).
* Added "-gl_fsmax" command line option. This option accepts either
'true' or 'false, and specifies to use the maximum possible resolution
when in fullscreen OpenGL mode (useful for Linux and for Windows on
laptops).
* Added "-fragsize" command line option. This option accepts the size to
use for sound fragments. Linux/MacOSX works well with 512, Windows seems
to need 2048. This value must be a power of two.
* Modified "-volume" command line option. If you specify '-1', Stella will
use the system volume.
* Renamed the "-pro" command line option to "-altpro".
* Renamed the "-fps" command line option to "-framerate".
* Removed the "-center" command line option. Stella now automatically
centers the window when possible.
* Removed the "-paddle real" command line option, since it never really
worked correctly (and Stelladaptor support adds that functionality
anyway).
* Removed all command line options relating to the X11 port
(owncmap, display).
1.2 to 1.3: (February 17, 2003)
* Improved TIA sound system so that games with digitized audio work
* Added saving and loading of game state to the core; X11, SDL, and DOS
versions current support saving and loading game state
* Added support for F4 bankswitching method
* Pitfall II DPC sound emulation completed
* Fixed a bug which caused the difficulty switches to operate backwards
* Changed DPC auto-detection to use file size so that Pitfall II mods work
* Modified RIOT timer emulation so that startup values are random
* Added 3F bankswitching auto-detection routine so that homebrews and
demos work without a stella.pro entry
* Updated the TIA message boxes so they look a little nicer
* Latest stella.pro file included in distribution
* Added some developer options to the core, and the ability to change game
width, height, xstart, ystart, and others while the emulation is running.
Added ability to switch between NTSC and PAL at runtime, and the ability
to save the current properties to a file or to merge the changes into the
stella.pro file; X11 and SDL versions supported for now (compile option)
* External sound server for the X11 and SDL versions no longer required, as
all sound code is now integrated into the core
* Changed locations of the user's config files for the X11 and SDL versions;
the user's stellarc file is now located in $HOME/.stella/stellarc, state
files are located in $HOME/.stella/state/ and the stella.pro file is
located in $HOME/.stella/stella.pro
* Changed the way options are supplied on the commandline for the X11 and
SDL versions. Now all commandline options take exactly the same arguments
as in the INI file.
* Added "-accurate" command line option to choose between accurate
(CPU-intensive) timing or less accurate (CPU-friendly) timing to X11
and SDL versions. This is the final version of what was considered
experimental timing code in Stella 1.2.
* Added "-sound" command line option to choose which sound backend to
use (alsa, oss, sdl) with the X11 and SDL versions.
* Added the developer command line options to the X11 and SDL versions,
which are only activated in developer builds: -Dformat, -Dwidth,
-Dheight, -Dxstart, -Dystart, -Dmerge
* Fixed window resize bug in the X11 port
* Added "-nosound" command line option to the DOS port to disable audio
* DOS port supports a "-vsync" option to synchronize emulation with the
video blank of the video card
* Changed VGA code in the DOS port to use a 60Hz 320x200 and a 60Hz
320x240 graphics mode
* DOS port has been updated to run better under Windows NT, 2000, and XP.
There are still issues with the sound, however, it is usable.
* DOS port is using a new Sound Blaster driver created by Matt Conte which
supports auto-detection of sound cards.
* DOS port supports a STELLA_HOME environment variable that defines
the location of config files.
* In the DOS port the stella.pro file is searched for first in the
current working director and then in the $STELLA_HOME directory
* In the DOS port the ROM image is searched for first using the
specified path, then in $STELLA_HOME/ROMS, and finally in $STELLA_HOME
Cyberstella 1.2.1 (May 16, 2002)
* Removed the built-in games until some legal stuff is sorted out
Cyberstella 1.2 (May 10, 2002)
* Initial release of a new WIN 32 port of Stella
DOS 1.2 to DOS 1.2.1: (April 28, 2002)
* Fixed a bug with control keys being confused with the pause key
* Fixed a bug with the pause key causing the application to lockup
1.1 to 1.2: (April 21, 2002)
* Improved illegal CPU instruction support. Thrust and Qb will now operate
correctly.
* Improved emulation of undefined TIA reads. The ball in Video Pinball
finally bounces off of the paddles!
* More accurate NTSC and PAL palettes. These palettes should be much more
like the colors displayed on a real TV.
* PAL color loss is now emulated. If a PAL game displays an odd number
of scanlines then the next frame will be displayed in black & white.
* TIA emulation improved to fix some problems with Pole Position,
Fatal Run, Dolphin, Decathlon, Robot Tank, and Hole Hunter.
* Support for Pitfall II has been added, however, the enhanced sound
provided by the DPC chip found in the Pitfall II cartridge isn't
currently emulated.
* Support added for the Commavid (CV) bankswitching method.
* Support added for the Megaboy cartridge.
* Improved Supercharger emulation including a new BIOS that shows the
vertical blue progress bars like the real thing.
* Code for the emulation core has been updated to work with newer C++
compilers compliant with the C++ standard.
* Basic message support added to the TIA emulation. This allows a short
message to overlay the TIA frame. Currently, it's used when switching
color modes and difficulty settings.
* The internal data structure for the stella.pro file was changed from
a resizable array to a binary search tree. This results in quicker
startup times.
* An SDL port of Stella is available (requires SDL 1.2.0 or greater)
* Added option to not load in the whole stella.pro file when starting
Stella. This option is enabled on the X11, SDL, and DOS versions. Win32
version is left alone since it's needed for loading multiple games from
the UI. Saves on memory usage.
* Added INI file option to the X11 and SDL versions. Options can be
specified in this file instead of entering them on the commandline. Any
options entered on the commandline override options in the INI file.
File is called stellarc. For the X11 and SDL versions, it can be in
either $HOME (as $HOME/.stellarc) or in /etc (as /etc/stellarc). The
one in $HOME has higher priority than the one in /etc.
* Added snapshot support to the X11 and SDL versions. Pressing F12 saves
the current screen in PNG format. Requires PNG library.
* Removed stella.pro file from the binary, resulting in large space
savings. The stella.pro file is no longer optional. For the X11 and
SDL versions, it can be in either $HOME (as $HOME/.stella.pro) or in
/etc (as /etc/stella.pro). The one in $HOME has higher priority than
the one in /etc. For DOS and Win32 versions, the stella.pro file must
be in the same directory as the executable.
* Added pause functionality to the core. Implemented in DOS, X11, and
SDL versions for now.
1.0 to 1.1: (February 26, 1999)
* DOS and Linux versions support real Atari 2600 paddles using a
special PC game port adaptor
* Linux version uses the new 1.2.x joystick driver API
* Added support for the "-display" option to the X Window version
* Added support for private colormaps to the X Window version
* Fixed a few bugs in the Supercharger emulation
- A major bug in the ROM loading routine was fixed
- Multi-loading in "Escape from the Mindmaster" works correctly
- All Supercharger games load and execute at this point
* Added a small hack to the TIA code to fix a display problem in "Escape
from the Mindmaster"
* Improved TIA emulation to support the RESPx multi-sprite trick
1.0b1 to 1.0: (October 7, 1998)
* DOS version supports 320x200 and 320x240 graphics modes
* Several portability issues have been resolved
* Preliminary support for Chris Wilkson's Megacart bank-switching scheme
* BSDI target included in makefile
* Improved Users Manual in several "popular" formats
0.7 to 1.0b1: (July 25, 1998)
* Supports the following controllers:
Joysticks, Paddles, Booster-Grip, Keyboard and Driving
* Supports the following bank switching methods:
2K, 3F, 4K, AR, E0, E7, F4SC, F6, F8, F8SC, FASC, FE
* Properties are associated with games using their MD5 checksum
calculated on the entire ROM image
* Uses the new 'stella.pro' file format for game properties
* Includes Erik's latest stella.pro properties file
* New frame rate throttle code for X windows GUI
* Based on the new and improved M6502 CPU emulation
* Improvements to TIA emulation
- Support HMOVE blanks
- Improved Cosmic Ark star field effect
- Some support for the RESPx multiple sprite trick
- Support NTSC and PAL palettes
* Improvements to PIA emulation (timing)
* Improved Supercharger emulation
0.6 to 0.7: (June 7, 1997)
* Improved emulation speed of TIA and 6507
* Added Starpath Supercharger support
* Added Tigervision bank-switching support (3F bank-switching)
* Added pause game feature for Unix and DOS
* VCS files combined into a single builtin property file
* Added TIA HMOVE "feature" to support Cosmic Ark stars
* Improved TIA VSYNC code so that it works more like the real
thing (0.6 VSYNC code caused the graphics of some games to
be off such as Alien and Battle Zone)
* Added two 6507 emulators: one is designed to act more like
the real thing, while the other is designed to be as fast as
possible (required for Supercharger support)
* Changed TIA peeking so lower nibble of byte read is the same
as the TIA address being accessed (Warlords now works)
0.5 to 0.6: (January 18, 1997)
* Fixed collision detection problem (Freeway works)
* Changed PIA timing code to fix screen jitters
* Added new bank-switching methods: F4SC (Fatal Run), E7 (Burgertime)
* Fixed some code in the TIA emulation that caused SEGFAULTS
* Improved frame rate throttling code to work better on fast machines
* Improved TIA emulation (missle graphics are fully emulated now)
* Included Bob Colbert's "Okie Dokie" game
* Uses version 1.1 of the TIA Sound library by Ron Fries
0.4 to 0.5: (November 17, 1996)
* Added sound support
* Added new bank-switching methods: F8SC (Defender II), FASC (CBS RAM+)
* Changed TIA so peeking $E and $F return $F not $0 for Haunted House
* Changed PIA timing code to fix screen jitters in Frogger
* Addressing scheme rewritten
* Optimized 6507 memory accesses
* Randomized memory in PIA upon startup
* Removed auto-disabling of objects at the start of a frame
so you can't walk through walls in Adventure
* Changed the X windows terminal update method to make it faster and
easier to understand
0.3 to 0.4 (August 28, 1996):
* TIA code has been optimized some
* Some games can be played with just a ROM image
* New search method for ROM images (no more STELLA_PATH)
* Delta screen update supported
* Better error handling added to the "core"
0.2 to 0.3 (July 12, 1996):
* Keyboard joystick support is much better (Daniel Marks)
* Paddles are now supported via the mouse (Bradford Mott)
* Many portability issues have been resolved (Keith Wilkins)
* Fixed a problem with the 6507 ADC and SBC instructions that caused
some games (Enduro) not to work correctly (Bradford Mott)
* Power Macintosh port (Aaron Giles)
* Windows 95 & NT port (Jeff Miller)
|