File: Changes.txt

package info (click to toggle)
stella 6.0-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 11,016 kB
  • sloc: cpp: 58,538; ansic: 33,474; sh: 3,613; perl: 471; objc: 366; asm: 163; makefile: 148; yacc: 83
file content (3644 lines) | stat: -rw-r--r-- 153,866 bytes parent folder | download
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)