File: cart.txt

package info (click to toggle)
atari800 5.2.0-2
  • links: PTS, VCS
  • area: contrib
  • in suites: forky, sid, trixie
  • size: 7,196 kB
  • sloc: ansic: 86,829; asm: 18,694; sh: 3,173; cpp: 2,798; java: 2,453; xml: 957; makefile: 727; perl: 334; pascal: 178
file content (1774 lines) | stat: -rw-r--r-- 85,667 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
This file describes types of cartridge images supported by the Atari800
emulator.

There are:
- raw images - files that contain only dump of cartridge memory
- CART files - images with additional 16-byte header, which contains type
  of the cartridge

For raw images you usually have to select the cartridge type each time
you insert an image. To make it easier, you only select from types of same
image size. If there's only one supported type that matches file's length
(currently only for 2 KB cartridges), that type is selected automatically.

The advantage of using CART files is that you don't have to select
the cartridge type, because it is stored inside the file.

The CART format has been introduced in Atari800 0.8.0, when there were
only 4 supported cartridge types. The format has not changed, only new types
have been added.

The format is:
 first 4 bytes containing 'C' 'A' 'R' 'T'.
 next 4 bytes containing cartridge type in MSB format (see the table below).
 next 4 bytes containing cartridge checksum in MSB format (ROM only).
 next 4 bytes are currently unused (zero).
 followed immediately with the ROM data: 2, 4, 8, 16, 32, 40, etc. kilobytes.

The recommended file name extension for CART files is CAR.

Currently supported cartridge types:

+----+-----------+------+-----------------------------------------------+---+
| Id |  Machine  | Size | Name                                          | E |
|----+-----------+------+-----------------------------------------------+---+
|  1 | 800/XL/XE |    8 | Standard 8 KB cartridge                       |   |
|  2 | 800/XL/XE |   16 | Standard 16 KB cartridge                      |   |
|  3 | 800/XL/XE |   16 | OSS two chip 16 KB cartridge (034M)           |   |
|  4 |   5200    |   32 | Standard 32 KB 5200 cartridge                 |   |
|  5 | 800/XL/XE |   32 | DB 32 KB cartridge                            |   |
|  6 |   5200    |   16 | Two chip 16 KB 5200 cartridge                 |   |
|  7 |   5200    |   40 | Bounty Bob Strikes Back 40 KB 5200 cartridge  |   |
|  8 | 800/XL/XE |   64 | 64 KB Williams cartridge                      |   |
|  9 | 800/XL/XE |   64 | Express 64 KB cartridge                       |   |
| 10 | 800/XL/XE |   64 | Diamond 64 KB cartridge                       |   |
| 11 | 800/XL/XE |   64 | SpartaDOS X 64 KB cartridge                   |   |
| 12 | 800/XL/XE |   32 | XEGS 32 KB cartridge                          |   |
| 13 | 800/XL/XE |   64 | XEGS 64 KB cartridge (banks 0-7)              |   |
| 14 | 800/XL/XE |  128 | XEGS 128 KB cartridge                         |   |
| 15 | 800/XL/XE |   16 | OSS one chip 16 KB cartridge                  |   |
| 16 |   5200    |   16 | One chip 16 KB 5200 cartridge                 |   |
| 17 | 800/XL/XE |  128 | Decoded Atrax 128 KB cartridge                |   |
| 18 | 800/XL/XE |   40 | Bounty Bob Strikes Back 40 KB cartridge       |   |
| 19 |   5200    |    8 | Standard 8 KB 5200 cartridge                  |   |
| 20 |   5200    |    4 | Standard 4 KB 5200 cartridge                  |   |
| 21 |    800    |    8 | Right slot 8 KB cartridge                     |   |
| 22 | 800/XL/XE |   32 | 32 KB Williams cartridge                      |   |
| 23 | 800/XL/XE |  256 | XEGS 256 KB cartridge                         |   |
| 24 | 800/XL/XE |  512 | XEGS 512 KB cartridge                         |   |
| 25 | 800/XL/XE | 1024 | XEGS 1 MB cartridge                           |   |
| 26 | 800/XL/XE |   16 | MegaCart 16 KB cartridge                      |   |
| 27 | 800/XL/XE |   32 | MegaCart 32 KB cartridge                      |   |
| 28 | 800/XL/XE |   64 | MegaCart 64 KB cartridge                      |   |
| 29 | 800/XL/XE |  128 | MegaCart 128 KB cartridge                     |   |
| 30 | 800/XL/XE |  256 | MegaCart 256 KB cartridge                     |   |
| 31 | 800/XL/XE |  512 | MegaCart 512 KB cartridge                     |   |
| 32 | 800/XL/XE | 1024 | MegaCart 1 MB cartridge                       |   |
| 33 | 800/XL/XE |   32 | Switchable XEGS 32 KB cartridge               |   |
| 34 | 800/XL/XE |   64 | Switchable XEGS 64 KB cartridge               |   |
| 35 | 800/XL/XE |  128 | Switchable XEGS 128 KB cartridge              |   |
| 36 | 800/XL/XE |  256 | Switchable XEGS 256 KB cartridge              |   |
| 37 | 800/XL/XE |  512 | Switchable XEGS 512 KB cartridge              |   |
| 38 | 800/XL/XE | 1024 | Switchable XEGS 1 MB cartridge                |   |
| 39 | 800/XL/XE |    8 | Phoenix 8 KB cartridge                        |   |
| 40 | 800/XL/XE |   16 | Blizzard 16 KB cartridge                      |   |
| 41 | 800/XL/XE |  128 | Atarimax 128 KB Flash cartridge               | p |
| 42 | 800/XL/XE | 1024 | Atarimax 1 MB Flash cartridge (old)           | p |
| 43 | 800/XL/XE |  128 | SpartaDOS X 128 KB cartridge                  |   |
| 44 | 800/XL/XE |    8 | OSS 8 KB cartridge                            |   |
| 45 | 800/XL/XE |   16 | OSS two chip 16 KB cartridge (043M)           |   |
| 46 | 800/XL/XE |    4 | Blizzard 4 KB cartridge                       |   |
| 47 | 800/XL/XE |   32 | AST 32 KB cartridge                           |   |
| 48 | 800/XL/XE |   64 | Atrax SDX 64 KB cartridge                     |   |
| 49 | 800/XL/XE |  128 | Atrax SDX 128 KB cartridge                    |   |
| 50 | 800/XL/XE |   64 | Turbosoft 64 KB cartridge                     |   |
| 51 | 800/XL/XE |  128 | Turbosoft 128 KB cartridge                    |   |
| 52 | 800/XL/XE |   32 | Ultracart 32 KB cartridge                     |   |
| 53 | 800/XL/XE |    8 | Low bank 8 KB cartridge                       |   |
| 54 | 800/XL/XE |  128 | SIC! 128 KB cartridge                         | p |
| 55 | 800/XL/XE |  256 | SIC! 256 KB cartridge                         | p |
| 56 | 800/XL/XE |  512 | SIC! 512 KB cartridge                         | p |
| 57 | 800/XL/XE |    2 | Standard 2 KB cartridge                       |   |
| 58 | 800/XL/XE |    4 | Standard 4 KB cartridge                       |   |
| 59 |    800    |    4 | Right slot 4 KB cartridge                     |   |
| 60 | 800/XL/XE |   32 | Blizzard 32 KB cartridge                      |   |
| 61 | 800/XL/XE | 2048 | MegaMax 2 MB cartridge                        |   |
| 62 | 800/XL/XE | 128M | The!Cart 128 MB cartridge                     | p |
| 63 | 800/XL/XE | 4096 | Flash MegaCart 4 MB cartridge                 | p |
| 64 | 800/XL/XE | 2048 | MegaCart 2 MB cartridge                       |   |
| 65 | 800/XL/XE |  32M | The!Cart 32 MB cartridge                      | p |
| 66 | 800/XL/XE |  64M | The!Cart 64 MB cartridge                      | p |
| 67 | 800/XL/XE |   64 | XEGS 64 KB cartridge (banks 8-15)             |   |
| 68 | 800/XL/XE |  128 | Atrax 128 KB cartridge                        |   |
| 69 | 800/XL/XE |   32 | aDawliah 32 KB cartridge                      |   |
| 70 | 800/XL/XE |   64 | aDawliah 64 KB cartridge                      |   |
| 71 |   5200    |   64 | Super Cart 64 KB 5200 cartridge (32K banks)   |   |
| 72 |   5200    |  128 | Super Cart 128 KB 5200 cartridge (32K banks)  |   |
| 73 |   5200    |  256 | Super Cart 256 KB 5200 cartridge (32K banks)  |   |
| 74 |   5200    |  512 | Super Cart 512 KB 5200 cartridge (32K banks)  |   |
| 75 | 800/XL/XE | 1024 | Atarimax 1 MB Flash cartridge (new)           | p |
| 76 | 800/XL/XE |   16 | 16 KB Williams cartridge                      | x |
| 77 | 800/XL/XE |    8 | MIO diagnostics 8KB cartridge                 | x |
| 78 | 800/XL/XE |    8 | Telelink II cartridge                         | x |
| 79 | 800/XL/XE |   16 | Pronto cartridge                              | x |
| 80 | 800/XL/XE |   64 | JRC64 cartridge (linear)                      | x |
| 81 | 800/XL/XE |   64 | MDDOS cartridge                               | x |
| 82 | 800/XL/XE |   32 | COS32 cartridge                               | x |
| 83 | 800/XL/XE | 1024 | SIC+ 1024 KB cartridge                        | x |
| 84 | 800/XL/XE | 1024 | Corina 1M+8K EEPROM                           | x |
| 85 | 800/XL/XE |  512 | Corina 512K + 512K SRAM + 8K EEPROM           | x |
| 86 | 800/XL/XE |    8 | XE Multicart (8KB)                            | x |
| 87 | 800/XL/XE |   16 | XE Multicart (16KB)                           | x |
| 88 | 800/XL/XE |   32 | XE Multicart (32KB)                           | x |
| 89 | 800/XL/XE |   64 | XE Multicart (64KB)                           | x |
| 90 | 800/XL/XE |  128 | XE Multicart (128KB)                          | x |
| 91 | 800/XL/XE |  256 | XE Multicart (256KB)                          | x |
| 92 | 800/XL/XE |  512 | XE Multicart (512KB)                          | x |
| 93 | 800/XL/XE | 1024 | XE Multicart (1024KB)                         | x |
| 94 | 800/XL/XE |   64 | Ram-Cart 64 KB cartridge                      |   |
| 95 | 800/XL/XE |  128 | Ram-Cart 128 KB cartridge                     |   |
| 96 | 800/XL/XE |  256 | Double Ram-Cart 2x128/256 KB cartridge        |   |
| 97 | 800/XL/XE |   1M | Ram-Cart 1 MB cartridge                       |   |
| 98 | 800/XL/XE |   2M | Ram-Cart 2 MB cartridge                       |   |
| 99 | 800/XL/XE |   4M | Ram-Cart 4 MB cartridge                       |   |
|100 | 800/XL/XE |   8M | Ram-Cart 8 MB cartridge                       |   |
|101 | 800/XL/XE |  16M | Ram-Cart 16 MB cartridge                      |   |
|102 | 800/XL/XE |  32M | Ram-Cart 32 MB cartridge                      |   |
|103 | 800/XL/XE |   32 | SiDiCar 32 KB cartridge                       |   |
|160 | 800/XL/XE |   64 |JRC64 cartridge (interleaved)                  | x |
+----+-----------+------+-----------------------------------------------+---+

Id is the cartridge type code stored in the CART file.

Machine indicates if the cartridge is for Atari 8-bit Home Computers
(400/800 and XL/XE) or the Atari 5200 Game System.

Size is length of image in kilobytes, unless the value ends with "M", which
means it is in megabytes.

E (for Emulation) describes state of emulation support of the cartridge in
Atari800. "p" means the cartridge is emulated partially (some features
missing), no value means emulation of all features.

Below are descriptions of all types. For bank-switched cartridges banks
are numbered in the order they appear in the image file, starting with 0.

+---------------------------------------------------------------------------+
| Type 1: Standard 8 KB cartridge                                           |
+---------------------------------------------------------------------------+

 Standard 8 KB cartridge, that occupies 8 KB of address space between $A000
 and $BFFF.

+---------------------------------------------------------------------------+
| Type 2: Standard 16 KB cartridge                                          |
+---------------------------------------------------------------------------+

 Standard 16 KB cartridge, that occupies 16 KB of address space between
 $8000 and $BFFF.

+---------------------------------------------------------------------------+
| Type 3: OSS two chip 16 KB cartridge (034M)                               |
+---------------------------------------------------------------------------+

 NOTE: This cartridge image format has been obsoleted by Type 45 because its
 order of banks is incorrect (i.e. the order in a physical cartridge's ROM
 chips is different). This format is still supported by the CART file format
 for backward compatibility.

 The cartridge occupies 8 KB of address space between $A000 and $BFFF. Its
 memory is divided into 4 banks, 4 KB each. Bank number 3 (the last one) is
 always mapped to $B000-$BFFF. Bank in $A000-$AFFF is selected by an access to
 $D500-$D5FF. Only 4 lowest bits of address are significant:
 - $D5x0 selects bank 0.
 - $D5x1 is not useful - it selects banks 0 and 1 (the bytes are binary AND of
   the corresponding bytes from banks 0 and 1).
 - $D5x3 or $D5x7 selects bank 1.
 - $D5x4 selects bank 2.
 - $D5x5 is not useful - it selects banks 1 and 2 (the bytes are binary AND of
   the corresponding bytes from banks 1 and 2).
 - $D5x2 or $D5x6 is not useful. It disables ROM (there are $FF bytes in
   $A000-$AFFF).
 - $D5x8-$D5xF disables whole cartridge (enables computer's memory in address
   space between $A000 and $BFFF).

+---------------------------------------------------------------------------+
| Type 4: Standard 32 KB 5200 cartridge                                     |
+---------------------------------------------------------------------------+

 Standard 32 KB cartridge for Atari 5200, that occupies 32 KB of address
 space between $4000 and $BFFF.

+---------------------------------------------------------------------------+
| Type 5: DB 32 KB cartridge                                                |
+---------------------------------------------------------------------------+

 A 32 KB bank-switched cartridge. There are 4 banks. Bank 3 is mapped to
 $A000-$BFFF. Bank in $8000-$9FFF is selected by an access to $D500-$D5FF.
 Two lowest bits of address select bank 0, 1, 2 or 3.

+---------------------------------------------------------------------------+
| Type 6: Two chip 16 KB 5200 cartridge                                     |
+---------------------------------------------------------------------------+

 In Atari 5200 there's 32 KB of address space reserved for the cartridge
 ($4000-$BFFF). A two chip 16 KB cartridge is mapped that way:
 - First 8 KB are mapped into lower 16 KB. Since an address line is not
   connected, $4000-$5FFF and $6000-$7FFF contain same data, which is first
   half of the cartridge image.
 - Similarly, second 8 KB are mapped into upper 16 KB.

+---------------------------------------------------------------------------+
| Type 7: Bounty Bob Strikes Back 40 KB 5200 cartridge                      |
+---------------------------------------------------------------------------+

 The cartridge with "Bounty Bob Strikes Back" game uses very strange
 bank switching method:
 - Four 4 KB banks (0,1,2,3) are mapped into $4000-$4FFF. An access to $4FF6
   selects bank 0, $4FF7 - bank 1, $4FF8 - bank 2, $4FF9 - bank 3.
 - Four 4 KB banks (4,5,6,7) are mapped into $5000-$5FFF. An access to $5FF6
   selects bank 4, $5FF7 - bank 5, $5FF8 - bank 6, $5FF9 - bank 7.
 - The remaining 8 KB is mapped to upper 16 KB of cartridge address space
   in Atari 5200. That is, $8000-$9FFF and $A000-$BFFF contain same data.

+---------------------------------------------------------------------------+
| Type 8: 64 KB Williams cartridge                                          |
+---------------------------------------------------------------------------+

 The cartridge has 8 banks mapped to $A000-$BFFF. An access to $D500 selects
 bank 0, $D501 - bank 1, etc. An access to $D508-$D50F disables
 the cartridge.

+---------------------------------------------------------------------------+
| Type 9: Express 64 KB cartridge                                           |
+---------------------------------------------------------------------------+

 The cartridge has 8 banks mapped to $A000-$BFFF. An access to $D577 selects
 bank 0, $D576 - bank 1, etc. An access to $D578-$D57F disables
 the cartridge.

+---------------------------------------------------------------------------+
| Type 10: Diamond 64 KB cartridge                                          |
+---------------------------------------------------------------------------+

 The cartridge has 8 banks mapped to $A000-$BFFF. An access to $D5D7 selects
 bank 0, $D5D6 - bank 1, etc. An access to $D5D8-$D5DF disables
 the cartridge.

+---------------------------------------------------------------------------+
| Type 11: SpartaDOS X 64 KB cartridge                                      |
+---------------------------------------------------------------------------+

 The cartridge has 8 banks mapped to $A000-$BFFF. It also contains an
 additional cartridge slot which allows to plug a second cartridge in.
 An access to $D5E7 selects bank 0, $D5E6 - bank 1, etc. down to $D5E0. An
 access to $D5E8-$D5EB disables the SDX cartridge and enables the second
 cartridge. An access to $D5EC-$D5EF disables both cartridges.
 Accesses to all addresses on page D5 always reaches the second cartridge,
 even if it is disabled by SpartaDOS or if the SpartaDOS cartridge itself is
 enabled.

+---------------------------------------------------------------------------+
| Type 12: XEGS 32 KB cartridge                                             |
+---------------------------------------------------------------------------+

 This bank-switched cartridge occupies 16 KB of address space between $8000
 and $BFFF. The cartridge memory is divided into 4 banks, 8 KB each.
 Bank 3 (the last one) is always mapped to $A000-$BFFF. Two lowest bits of
 a byte written to $D500-$D5FF select the bank mapped to $8000-$9FFF.
 The initially selected bank is random, although it seems that 0 gets chosen
 the most often. Atari800 always selects bank 0 initially.
 
 Reference:
 http://www.atarimax.com/jindroush.atari.org/acarts.html#xegs

+---------------------------------------------------------------------------+
| Type 13: XEGS 64 KB cartridge (banks 0-7)                                 |
+---------------------------------------------------------------------------+

 One of the two variants of the 64 KB XEGS cartridge, that's built on either
 a C100649 board with the W1 solder point not connected, or a C026449 board
 with pin 9 of the 74LS374 chip unconnected.
 This bank-switched cartridge occupies 16 KB of address space between $8000
 and $BFFF. The cartridge memory is divided into 8 banks, 8 KB each.
 Bank 7 (the last one) is always mapped to $A000-$BFFF. Three lowest bits of
 a byte written to $D500-$D5FF select the bank mapped to $8000-$9FFF.
 The initially selected bank is random, although it seems that 0 gets chosen
 the most often. Atari800 always selects bank 0 initially.

 Reference:
 http://www.atarimax.com/jindroush.atari.org/acarts.html#xegs

+---------------------------------------------------------------------------+
| Type 14: XEGS 128 KB cartridge                                            |
+---------------------------------------------------------------------------+

 Built on either a C100649 board with the W1 solder point connected, or a
 C026449 board.
 This bank-switched cartridge occupies 16 KB of address space between $8000
 and $BFFF. The cartridge memory is divided into 16 banks, 8 KB each.
 Bank 15 (the last one) is always mapped to $A000-$BFFF. Four lowest bits of
 a byte written to $D500-$D5FF select the bank mapped to $8000-$9FFF.
 The initially selected bank is random, although it seems that 0 gets chosen
 the most often. Atari800 always selects bank 0 initially.

 Reference:
 http://www.atarimax.com/jindroush.atari.org/acarts.html#xegs

+---------------------------------------------------------------------------+
| Type 15: OSS one chip 16 KB cartridge                                     |
+---------------------------------------------------------------------------+

 There are two types of OSS 16KB cartridges; this is the later, simpler one.
 Used by BASIC XL 1.03, Action! 3.6, MAC/65 1.1 and BASIC XE 4.1 (and possibly
 also by later versions of the above software).
 It consists of one 16 KB ROM chip.
 The cartridge occupies 8 KB of address space between $A000 and $BFFF. Its
 memory is divided into 4 banks, 4 KB each. Bank number 0 (the first one) is
 always mapped to $B000-$BFFF. Bank in $A000-$AFFF is selected by an access to
 $D500-$D5FF. Only bits 0 and 3 of address are significant:
 - A3=0, A0=0 - selects bank 1
 - A3=0, A0=1 - selects bank 3
 - A3=1, A0=0 - disables cartridge (enables computer's memory in address space
   between $A000 and $BFFF)
 - A3=1, A0=1 - selects bank 2

+---------------------------------------------------------------------------+
| Type 16: One chip 16 KB 5200 cartridge                                    |
+---------------------------------------------------------------------------+

 16 KB cartridge for Atari 5200, that occupies 16 KB of address space
 between $8000 and $BFFF.

+---------------------------------------------------------------------------+
| Type 17: Decoded Atrax 128 KB cartridge                                   |
+---------------------------------------------------------------------------+

 The Atrax cartridge has its address and data lines intermixed as a kind of
 copy protection - dumping a ROM chip directly would result in a dump that
 would need decoding before reading data. This cartridge type represents
 a decoded ROM dump, for example as a result of dumping by reading the
 cartridge using an Atari computer. The original, non-decoded dump is
 represented by Type 68: Atrax 128 KB cartridge.

 This bank-switched cartridge occupies 8 KB of address space between $A000
 and $BFFF. The cartridge memory is divided into 16 banks, 8 KB each.
 If a byte written to $D500-$D5FF has highest bit set, the cartridge is
 disabled. Otherwise four lowest bits select the bank mapped to $A000-$BFFF.

 Reference:
 http://atarionline.pl/forum/comments.php?DiscussionID=2861&page=11#CommentBody_91383

+---------------------------------------------------------------------------+
| Type 18: Bounty Bob Strikes Back 40 KB cartridge                          |
+---------------------------------------------------------------------------+

 The cartridge with "Bounty Bob Strikes Back" game uses very strange
 bank switching method:
 - Four 4 KB banks (0,1,2,3) are mapped into $8000-$8FFF. An access to $8FF6
   selects bank 0, $8FF7 - bank 1, $8FF8 - bank 2, $8FF9 - bank 3.
 - Four 4 KB banks (4,5,6,7) are mapped into $9000-$9FFF. An access to $9FF6
   selects bank 4, $9FF7 - bank 5, $9FF8 - bank 6, $9FF9 - bank 7.
 - The remaining 8 KB is mapped to $A000-$BFFF.

+---------------------------------------------------------------------------+
| Type 19: Standard 8 KB 5200 cartridge                                     |
+---------------------------------------------------------------------------+

 Standard 8 KB cartridge for Atari 5200, mapped into $8000-$9FFF
 and $A000-$BFFF.

+---------------------------------------------------------------------------+
| Type 20: Standard 4 KB 5200 cartridge                                     |
+---------------------------------------------------------------------------+

 Standard 4 KB cartridge for Atari 5200, mapped into $8000-$8FFF,
 $9000-$9FFF, $A000-$AFFF and $B000-$BFFF.

+---------------------------------------------------------------------------+
| Type 21: Right slot 8 KB cartridge                                        |
+---------------------------------------------------------------------------+

 8 KB cartridge for Atari 800, mapped into $8000-$9FFF. Atari 800 was
 the only 8-bit Atari with a Right Cartridge slot, in addition
 to the Left Cartridge slot as present on all 8-bit Ataris.

+---------------------------------------------------------------------------+
| Type 22: 32 KB Williams cartridge                                         |
+---------------------------------------------------------------------------+

 The cartridge has 4 banks mapped to $A000-$BFFF. An access to $D500 selects
 bank 0, $D501 - bank 1, etc. An access to $D508-$D50F disables
 the cartridge.

+---------------------------------------------------------------------------+
| Type 23: XEGS 256 KB cartridge                                            |
+---------------------------------------------------------------------------+

 An extension to the standard XEGS cartridge, apparently sold by Nir Dary
 in the 1990s/2000s.
 This bank-switched cartridge occupies 16 KB of address space between $8000
 and $BFFF. The cartridge memory is divided into 32 banks, 8 KB each.
 The last bank is always mapped to $A000-BFFF. Five lowest bits of
 a byte written to $D500-$D5FF select the bank mapped to $8000-$9FFF.
 The initially selected bank is currently not known, although it's probable
 that it's the same as in standard XEGS cartridges, ie. random. Atari800
 always selects bank 0 initially.

+---------------------------------------------------------------------------+
| Type 24: XEGS 512 KB cartridge                                            |
+---------------------------------------------------------------------------+

 An extension to the standard XEGS cartridge, apparently sold by Nir Dary
 in the 1990s/2000s.
 This bank-switched cartridge occupies 16 KB of address space between $8000
 and $BFFF. The cartridge memory is divided into 64 banks, 8 KB each.
 The last bank is always mapped to $A000-$BFFF. Six lowest bits of
 a byte written to $D500-$D5FF select the bank mapped to $8000-$9FFF.
 The initially selected bank is currently not known, although it's probable
 that it's the same as in standard XEGS cartridges, ie. random. Atari800
 always selects bank 0 initially.

+---------------------------------------------------------------------------+
| Type 25: XEGS 1 MB cartridge                                              |
+---------------------------------------------------------------------------+

 An extension to the standard XEGS cartridge, apparently sold by Nir Dary
 in the 1990s/2000s.
 This bank-switched cartridge occupies 16 KB of address space between $8000
 and $BFFF. The cartridge memory is divided into 128 banks, 8 KB each.
 The last bank is always mapped to $A000-$BFFF. Seven lowest bits of
 a byte written to $D500-$D5FF select the bank mapped to $8000-$9FFF.
 The initially selected bank is currently not known, although it's probable
 that it's the same as in standard XEGS cartridges, ie. random. Atari800
 always selects bank 0 initially.

+---------------------------------------------------------------------------+
| Type 26: MegaCart 16 KB cartridge                                         |
+---------------------------------------------------------------------------+

 A 16 KB cartridge, that occupies 16 KB of address space between $8000
 and $BFFF, and can be disabled by writing a byte with bit 7 set to
 $D500-$D5FF.

+---------------------------------------------------------------------------+
| Type 27: MegaCart 32 KB cartridge                                         |
+---------------------------------------------------------------------------+

 A bank-switched cartridge that occupies 16 KB of address space between
 $8000 and $BFFF. It is controlled by a byte written to $D500-$D5FF. Bit 0
 selects one of two available banks, bit 7 disables the cartridge.

+---------------------------------------------------------------------------+
| Type 28: MegaCart 64 KB cartridge                                         |
+---------------------------------------------------------------------------+

 A bank-switched cartridge that occupies 16 KB of address space between
 $8000 and $BFFF. It is controlled by a byte written to $D500-$D5FF. Bits 0-1
 select one of four available banks, bit 7 disables the cartridge.

+---------------------------------------------------------------------------+
| Type 29: MegaCart 128 KB cartridge                                        |
+---------------------------------------------------------------------------+

 A bank-switched cartridge that occupies 16 KB of address space between
 $8000 and $BFFF. It is controlled by a byte written to $D500-$D5FF. Bits 0-2
 select one of 8 available banks, bit 7 disables the cartridge.

+---------------------------------------------------------------------------+
| Type 30: MegaCart 256 KB cartridge                                        |
+---------------------------------------------------------------------------+

 A bank-switched cartridge that occupies 16 KB of address space between
 $8000 and $BFFF. It is controlled by a byte written to $D500-$D5FF. Bits 0-3
 select one of 16 available banks, bit 7 disables the cartridge.

+---------------------------------------------------------------------------+
| Type 31: MegaCart 512 KB cartridge                                        |
+---------------------------------------------------------------------------+

 A bank-switched cartridge that occupies 16 KB of address space between
 $8000 and $BFFF. It is controlled by a byte written to $D500-$D5FF. Bits 0-4
 select one of 32 available banks, bit 7 disables the cartridge.

+---------------------------------------------------------------------------+
| Type 32: MegaCart 1 MB cartridge                                          |
+---------------------------------------------------------------------------+

 A bank-switched cartridge that occupies 16 KB of address space between
 $8000 and $BFFF. It is controlled by a byte written to $D500-$D5FF. Bits 0-5
 select one of 64 available banks, bit 7 disables the cartridge.

+---------------------------------------------------------------------------+
| Type 33: Switchable XEGS 32 KB cartridge                                  |
+---------------------------------------------------------------------------+

 An extension to the standard XEGS cartridge, apparently sold by Nir Dary
 in the 1990s/2000s.
 This bank-switched cartridge occupies 16 KB of address space between $8000
 and $BFFF. The cartridge memory is divided into 4 banks, 8 KB each.
 Bank 3 (the last one) is always mapped to $A000-$BFFF. Two lowest bits of
 a byte written to $D500-$D5FF select the bank mapped to $8000-$9FFF,
 bit 7 disables the cartridge.
 The initially selected bank is currently not known, although it's probable
 that it's the same as in standard XEGS cartridges, ie. random. Atari800
 always selects bank 0 initially.

+---------------------------------------------------------------------------+
| Type 34: Switchable XEGS 64 KB cartridge                                  |
+---------------------------------------------------------------------------+

 An extension to the standard XEGS cartridge, apparently sold by Nir Dary
 in the 1990s/2000s.
 This bank-switched cartridge occupies 16 KB of address space between $8000
 and $BFFF. The cartridge memory is divided into 8 banks, 8 KB each.
 Bank 7 (the last one) is always mapped to $A000-$BFFF. Three lowest bits of
 a byte written to $D500-$D5FF select the bank mapped to $8000-$9FFF,
 bit 7 disables the cartridge.
 The initially selected bank is currently not known, although it's probable
 that it's the same as in standard XEGS cartridges, ie. random. Atari800
 always selects bank 0 initially.

+---------------------------------------------------------------------------+
| Type 35: Switchable XEGS 128 KB cartridge                                 |
+---------------------------------------------------------------------------+

 An extension to the standard XEGS cartridge, apparently sold by Nir Dary
 in the 1990s/2000s.
 This bank-switched cartridge occupies 16 KB of address space between $8000
 and $BFFF. The cartridge memory is divided into 16 banks, 8 KB each.
 Bank 15 (the last one) is always mapped to $A000-$BFFF. Four lowest bits of
 a byte written to $D500-$D5FF select the bank mapped to $8000-$9FFF,
 bit 7 disables the cartridge.
 The initially selected bank is currently not known, although it's probable
 that it's the same as in standard XEGS cartridges, ie. random. Atari800
 always selects bank 0 initially.

+---------------------------------------------------------------------------+
| Type 36: Switchable XEGS 256 KB cartridge                                 |
+---------------------------------------------------------------------------+

 An extension to the standard XEGS cartridge, apparently sold by Nir Dary
 in the 1990s/2000s.
 This bank-switched cartridge occupies 16 KB of address space between $8000
 and $BFFF. The cartridge memory is divided into 32 banks, 8 KB each.
 The last bank is always mapped to $A000-$BFFF. Five lowest bits of
 a byte written to $D500-$D5FF select the bank mapped to $8000-$9FFF,
 bit 7 disables the cartridge.
 The initially selected bank is currently not known, although it's probable
 that it's the same as in standard XEGS cartridges, ie. random. Atari800
 always selects bank 0 initially.

+---------------------------------------------------------------------------+
| Type 37: Switchable XEGS 512 KB cartridge                                 |
+---------------------------------------------------------------------------+

 An extension to the standard XEGS cartridge, apparently sold by Nir Dary
 in the 1990s/2000s.
 This bank-switched cartridge occupies 16 KB of address space between $8000
 and $BFFF. The cartridge memory is divided into 64 banks, 8 KB each.
 The last bank is always mapped to $A000-$BFFF. Six lowest bits of
 a byte written to $D500-$D5FF select the bank mapped to $8000-$9FFF,
 bit 7 disables the cartridge.
 The initially selected bank is currently not known, although it's probable
 that it's the same as in standard XEGS cartridges, ie. random. Atari800
 always selects bank 0 initially.

+---------------------------------------------------------------------------+
| Type 38: Switchable XEGS 1 MB cartridge                                   |
+---------------------------------------------------------------------------+

 An extension to the standard XEGS cartridge, apparently sold by Nir Dary
 in the 1990s/2000s.
 This bank-switched cartridge occupies 16 KB of address space between $8000
 and $BFFF. The cartridge memory is divided into 128 banks, 8 KB each.
 The last bank is always mapped to $A000-$BFFF. Seven lowest bits of
 a byte written to $D500-$D5FF select the bank mapped to $8000-$9FFF,
 bit 7 disables the cartridge.
 The initially selected bank is currently not known, although it's probable
 that it's the same as in standard XEGS cartridges, ie. random. Atari800
 always selects bank 0 initially.

+---------------------------------------------------------------------------+
| Type 39: Phoenix 8 KB cartridge                                           |
+---------------------------------------------------------------------------+

 A 8 KB cartridge, that occupies 8 KB of address space between $A000
 and $BFFF. It starts in enabled state and can be disabled by an access to
 $D500-$D5FF. Re-enabling is possible only by turning the computer off and on.
 Some units contain a RESET button that allows to enable the cartridge without
 touching the power button.

+---------------------------------------------------------------------------+
| Type 40: Blizzard 16 KB cartridge                                         |
+---------------------------------------------------------------------------+

 A 16 KB cartridge, that occupies 16 KB of address space between $8000
 and $BFFF. It starts in enabled state and can be disabled by an access to
 $D500-$D5FF. Re-enabling is possible only by turning the computer off and on.
 Some units contain a RESET button that allows to enable the cartridge without
 touching the power button.

+---------------------------------------------------------------------------+
| Type 41: Atarimax 128 KB Flash cartridge                                  |
+---------------------------------------------------------------------------+

 This bank-switched cartridge occupies 8 KB of address space between $A000
 and $BFFF. The cartridge memory is divided into 16 banks, 8 KB each.
 The 4 lowest bits of the address written to $D500-$D50F select the bank
 mapped to $A000-$BFFF. Writing to $D510-$D51F disables the cartridge
 and any write to $D520-$D5FF is ignored.

 The cartridge also supports programming of the Flash ROM - this feature is
 currently not emulated.

+---------------------------------------------------------------------------+
| Type 42: Atarimax 1 MB Flash cartridge (old)                              |
+---------------------------------------------------------------------------+

 This bank-switched cartridge occupies 8 KB of address space between $A000
 and $BFFF. The cartridge memory is divided into 128 banks, 8 KB each.
 The seven lowest bits of the address written to $D500-$D57F select the bank
 mapped to $A000-$BFFF, bit 7 disables the cartridge.

 Upon power up, bank $7F is selected. There is also another version of the
 Atarimax cartridge that selects bank 0 on power up; see Type 75 for details.

 The cartridge also supports programming of the Flash ROM - this feature is
 currently not emulated.

+---------------------------------------------------------------------------+
| Type 43: SpartaDOS X 128 KB cartridge                                     |
+---------------------------------------------------------------------------+

 The cartridge has 16 banks mapped to $A000-$BFFF. It also contains an
 additional cartridge slot which allows to plug a second cartridge in. First
 8 banks are selected by an access to $D5F7-$D5F0, the other 8 banks by an
 access to $D5E7-$D5E0. An access to $D5E8-$D5EB or $D5F8-$D5FB disables the
 SDX cartridge and enables the second cartridge. An access to $D5EC-$D5EF or
 $D5FC-$D5FF disables both cartriges.
 Accesses to all addresses on page D5 always reaches the second cartridge,
 even if it is disabled by SpartaDOS or if the SpartaDOS cartridge itself is
 enabled.

+---------------------------------------------------------------------------+
| Type 44: OSS 8 KB cartridge                                               |
+---------------------------------------------------------------------------+

 Used in The Writer's Tool cartridge, it is actually an OSS one chip cartridge
 board (see Type 15) with an 8 KB ROM chip instead of a normal 16 KB one.
 The cartridge occupies 8 KB of address space between $A000 and $BFFF. Its
 memory is divided into 2 banks, 4 KB each. Bank number 0 (the first one) is
 always mapped to $B000-$BFFF. Bank in $A000-$AFFF is selected by an access to
 $D500-$D5FF. Only bits 0 and 3 of address are significant:
 - A3=0, A0=0 or 1 - selects bank 1
 - A3=1, A0=0 - disables cartridge (enables computer's memory in address space
   between $A000 and $BFFF)
 - A3=1, A0=1 - selects bank 0

Reference: http://www.retrobits.net/atari/osshack.shtml

+---------------------------------------------------------------------------+
| Type 45: OSS two chip 16 KB cartridge (043M)                              |
+---------------------------------------------------------------------------+

 There are two types of OSS 16KB cartridges; this is the earlier, more
 complicated one. Used by BASIC XL 1.02 and earlier, Action! 3.5 and earlier,
 and MAC/65 1.0. It consists of two 8 KB ROM chips.
 The cartridge occupies 8 KB of address space between $A000 and $BFFF. Its
 memory is divided into 4 banks, 4 KB each. Bank number 3 (the last one) is
 always mapped to $B000-$BFFF. Bank in $A000-$AFFF is selected by an access to
 $D500-$D5FF. Only 4 lowest bits of address are significant:
 - $D5x0 selects bank 0.
 - $D5x1 is not useful - it selects banks 0 and 2 (the bytes are binary AND of
   the corresponding bytes from banks 0 and 2).
 - $D5x3 or $D5x7 selects bank 2.
 - $D5x4 selects bank 1.
 - $D5x5 is not useful - it selects banks 1 and 2 (the bytes are binary AND of
   the corresponding bytes from banks 1 and 2).
 - $D5x2 or $D5x6 is not useful. It disables ROM (there are $FF bytes in
   $A000-$AFFF).
 - $D5x8-$D5xF disables whole cartridge (enables computer's memory in address
   space between $A000 and $BFFF).

 Reference: http://www.retrobits.net/atari/osscarts.shtml

+---------------------------------------------------------------------------+
| Type 46: Blizzard 4 KB cartridge                                          |
+---------------------------------------------------------------------------+

 A 4 KB cartridge, that occupies 8 KB of address space between $A000
 and $BFFF. Line A12 is unconnected, so the cartridge's memory is duplicated
 in $A000-$AFFF and $B000-$BFFF. The cartridge starts in enabled state and can
 be disabled by an access to $D500-$D5FF. Re-enabling is possible only by
 turning the computer off and on. Some units contain a RESET button that
 allows to enable the cartridge without touching the power button.

 Reference: http://www.serious-dial.atari.pl/Serious/S13/A18.html

+---------------------------------------------------------------------------+
| Type 47: AST 32 KB cartridge                                              |
+---------------------------------------------------------------------------+

 This cartridge occupies 8 KB of address space between $A000 and $BFFF. The
 cartridge memory is divided into 128 banks, 256 B each. On power on, bank 0
 is visible in $A000-$BFFF (repeated 32 times) and also in $D500-$D5FF. A
 write operation to $D500-$D5FF disables the cartridge (freeing the
 $A000-$BFFF area) and selects the next 256-byte bank visible at $D500-$D5FF.
 After bank 31 the write operation selects bank 0 again.

 Reference: http://www.atari.org.pl/forum/viewtopic.php?pid=134014#p134014

+---------------------------------------------------------------------------+
| Type 48: Atrax SDX 64 KB cartridge                                        |
+---------------------------------------------------------------------------+

 A variant of Type 11: SpartaDOS X 64 KB cartridge. The banking scheme is
 identical, but the address and data lines between the cartridge port and the
 ROM chip are interleaved as follows:
   (Left - cartridge port + bank select lines, right - EPROM pins)
    A0 -  A6
    A1 -  A7
    A2 - A12
    A3 - A15
    A4 - A14
    A5 - A13
    A6 -  A8
    A7 -  A5
    A8 -  A4
    A9 -  A3
   A10 -  A0
   A11 -  A1
   A12 -  A2
   A13 -  A9  \
   A14 - A11   > bank select
   A15 - A10  /
    D0 -  Q4
    D1 -  Q0
    D2 -  Q5
    D3 -  Q1
    D4 -  Q7
    D5 -  Q6
    D6 -  Q3
    D7 -  Q2
 By deinterleaving a ROM image, one would get a normal image of type 11.
 See Type 11 for details on the banking scheme.

 Reference: http://www.dereatari.republika.pl/atarisch/sparta.zip

+---------------------------------------------------------------------------+
| Type 49: Atrax SDX 128 KB cartridge                                       |
+---------------------------------------------------------------------------+

 A variant of Type 43: SpartaDOS X 128 KB cartridge. The banking scheme is
 identical, but the address and data lines between the cartridge port and the
 ROM chip are interleaved. The interleaving is similar to that of Type 48,
 but with added A16 line, so it looks as follows:
   (Left - cartridge port + bank select lines, right - EPROM pins)
    A0 -  A6
    A1 -  A7
    A2 - A12
    A3 - A15
    A4 - A14
    A5 - A13
    A6 -  A8
    A7 -  A5
    A8 -  A4
    A9 -  A3
   A10 -  A0
   A11 -  A1
   A12 -  A2
   A13 -  A9   \
   A14 - A11    > bank select
   A15 - A10   /
   A16 - A16  /
    D0 -  Q4
    D1 -  Q0
    D2 -  Q5
    D3 -  Q1
    D4 -  Q7
    D5 -  Q6
    D6 -  Q3
    D7 -  Q2
 By deinterleaving a ROM image, one would get a normal image of type 43.
 See Type 43 for details on the banking scheme.

 Reference: http://www.dereatari.republika.pl/atarisch/sparta.zip
            http://trub.atari8.info/index.php?ref=atrax_128

+---------------------------------------------------------------------------+
| Type 50: Turbosoft 64 KB cartridge                                        |
+---------------------------------------------------------------------------+

 This bank-switched cartridge occupies 8 KB of address space between $A000
 and $BFFF. The cartridge memory is divided into 8 banks, 8 KB each. Banks
 are selected by an access to an address at $D500-$D5FF. Bits 0-2 of the
 address select the bank mapped to $A000-$BFFF. Bit 4 disables the cartridge
 and enables RAM. Bits 3 and 5-7 are ignored. The cartridge starts with bank 0
 enabled.

 Reference: http://www.retrogames.cl/turbosoft.html

+---------------------------------------------------------------------------+
| Type 51: Turbosoft 128 KB cartridge                                       |
+---------------------------------------------------------------------------+

 This bank-switched cartridge occupies 8 KB of address space between $A000
 and $BFFF. The cartridge memory is divided into 16 banks, 8 KB each. Banks
 are selected by an access to an address at $D500-D5FF. Bits 0-3 of the
 address select the bank mapped to $A000-$BFFF. Bit 4 disables the cartridge
 and enables RAM. Bits 5-7 are ignored. The cartridge starts with bank 0
 enabled.

 Reference: http://www.retrogames.cl/turbosoft.html

+---------------------------------------------------------------------------+
| Type 52: Ultracart 32 KB cartridge                                        |
+---------------------------------------------------------------------------+

 This bank-switched cartridge occupies 8 KB of address space between $A000
 and $BFFF. The cartridge memory is divided into 4 banks, 8 KB each. On power
 on, bank 0 is visible. Each access to $D500-$D5FF switches another bank in
 the sequence as follows: 0->1->2->3->cartridge disabled->0 etc.

 Reference: Altirra source code, ver. 2.10-test20
 http://www.atarimania.com/utility-atari-400-800-xl-xe-microcalc_28241.html

+---------------------------------------------------------------------------+
| Type 53: Low bank 8 KB cartridge                                          |
+---------------------------------------------------------------------------+

 This cartridge, destined for the left cartridge slot, occupies 8 KB of
 address space between $8000 and $9FFF. It achieves that by asserting the RD4
 line and not asserting the RD5 line.

 Reference: http://www.atariage.com/forums/topic/161828-hooked-on-8-bit-carts/page__view__findpost__p__2338297

+---------------------------------------------------------------------------+
| Type 54: SIC! 128 KB cartridge                                            |
+---------------------------------------------------------------------------+

 Cartridge memory is divided into 8 banks, each 16KB long and consisting of
 two 8KB subbanks. Each subbank can be mapped to Atari memory or switched
 off. The lower subbank always maps to $8000-$9FFF, while the upper one always
 maps to $A000-$BFFF.
 Control register address is $D500-$D51F mirrored, read/write (written value
 can be read at any time).
 Bit 7 = 0 - flash write-protection is on
 Bit 6 = 0 - odd 8k block (upper subbank) present in $A000-$BFFF
 Bit 5 = 0 - even 8k block (lower subbank) not present in $8000-$9FFF 
 Bits 4..3 - unused
 Bits 2..0 - 16KB bank number (0..7)
 Default value = 0 which means 0 bank upper subbank in address $A000-$BFFF
 To switch cart off - poke $40 info $D500-$D51F

 The cartridge also supports programming of the Flash ROM - this feature is
 currently not emulated.

 Reference: http://sic.pigwa.net/files/specyfikacja_pl_eng.zip

+---------------------------------------------------------------------------+
| Type 55: SIC! 256 KB cartridge                                            |
+---------------------------------------------------------------------------+

 Same as Type 54, but with cartridge memory being divided into 16 banks.
 Bit 4 is unused
 Bits 3..0 - 16KB bank number (0..15)

+---------------------------------------------------------------------------+
| Type 56: SIC! 512 KB cartridge                                            |
+---------------------------------------------------------------------------+

 Same as Type 54, but with cartridge memory being divided into 32 banks.
 Bits 4..0 - 16KB bank number (0..31)

+---------------------------------------------------------------------------+
| Type 57: Standard 2 KB cartridge                                          |
+---------------------------------------------------------------------------+

 A 2 KB cartridge, that occupies 8 KB of address space between $A000 and
 $BFFF. The ROM chip is active only when lines A11 and A12 are high. In
 effect, the cartridge's memory appears at $B800-$BFFF while the $A000-B7FF
 area is unavailable and returns $FF when read.

+---------------------------------------------------------------------------+
| Type 58: Standard 4 KB cartridge                                          |
+---------------------------------------------------------------------------+

 A 4 KB cartridge, that occupies 8 KB of address space between $A000 and
 $BFFF. The ROM chip is active only when line A12 is high. In effect, the
 cartridge's memory appears at $B000-$BFFF while the $A000-AFFF area is
 unavailable and returns $FF when read.

+---------------------------------------------------------------------------+
| Type 59: Right slot 4 KB cartridge                                        |
+---------------------------------------------------------------------------+

 A 4 KB cartridge for Atari 800, mapped into $8000-$9FFF. The ROM chip is
 active only when line A12 is high. In effect, the cartridge's memory appears
 at $9000-$9FFF while the $8000-8FFF area is unavailable and returns $FF when
 read.

+---------------------------------------------------------------------------+
| Type 60: Blizzard 32 KB cartridge                                         |
+---------------------------------------------------------------------------+

 This bank-switched cartridge occupies 8 KB of address space between $A000
 and $BFFF. The cartridge memory is divided into 4 banks, 8 KB each. On power
 on, bank 0 is visible. Each access to $D500-$D5FF switches another bank in
 the sequence as follows: 0->1->2->3->cartridge disabled. Re-enabling is
 possible only by turning the computer off and on. Some units contain a RESET
 button that allows to enable the cartridge without touching the power button.

 Reference:
 http://www.atari.org.pl/forum/viewtopic.php?id=7292

+---------------------------------------------------------------------------+
| Type 61: MegaMax 2 MB cartridge                                           |
+---------------------------------------------------------------------------+

 A variant of the MegaMax cartridge with 2MB ROM. The cartridge has a switch
 to toggle between the 1 MB Atarimax-compatible mode and the 2MB mode;
 this type describes the latter one.

 A bank-switched cartridge that occupies 16 KB of address space between
 $8000 and $BFFF. It is controlled by access to an address at $D500-$D5FF.
 Bits 0-6 of the address select one of 128 available banks, bit 7 disables the
 cartridge. The cartridge starts with bank 0 enabled.

 Reference:
 http://www.mega-hz.de/Angebote/MEGAMAX/en/MegaMAX%20Cart%20en%20V1.htm

+---------------------------------------------------------------------------+
| Type 62: The!Cart 128 MB cartridge                                        |
+---------------------------------------------------------------------------+

 Only a small subset, as described below, of this cartridge's features is
 currently emulated.

 The cartridge occupies 8 KB of address space between $A000 and $BFFF, and
 consists of 16384 banks. Byte written to $D5A2 turns the cartridge on/off:
 bit 0 = 1 enables the cartridge, 0 disables it and enables RAM. The enabled
 bank is controlled by bytes written to $D5A0 (LSB) and $D5A1 (MSB, only 6
 lowest bytes matter). Any write do $D5A0-$D5A1 also automatically enables the
 cartridge.

 The cartridge starts with bank 0 enabled.

 The $D5A0-$D5A2 registers are read/write; one can read the cartridge's current
 state from them. Unused bits are always read as 0.

 Reference:
 http://www.mega-hz.de/Angebote/THE!CART/THE!CART_EN.htm

+---------------------------------------------------------------------------+
| Type 63: Flash MegaCart 4 MB cartridge                                    |
+---------------------------------------------------------------------------+

 A bank-switched cartridge that occupies 16 KB of address space between
 $8000 and $BFFF. It is controlled by a byte written to $D500-$D51F. Values
 0-254 select one of the first 255 banks, and the value 255 disables the
 cartridge. Bank 255 is not available. The cartridge starts with bank 254
 enabled.

 A read from $D500-$D51F returns the last value written (initially 254).
 
 The cartridge also has ROM flashing functionality, which is currently not
 emulated.

 Reference:
 http://herale.org/4MB_FLASH_MEGACART

+---------------------------------------------------------------------------+
| Type 64: MegaCart 2 MB cartridge                                          |
+---------------------------------------------------------------------------+

 A bank-switched cartridge that occupies 16 KB of address space between
 $8000 and $BFFF. It is controlled by a byte written to $D500-$D5FF. Bits 0-6
 select one of 128 available banks, bit 7 disables the cartridge.

+---------------------------------------------------------------------------+
| Type 65: The!Cart 32 MB cartridge                                         |
+---------------------------------------------------------------------------+

 Only a small subset, as described below, of this cartridge's features is
 currently emulated.

 The cartridge occupies 8 KB of address space between $A000 and $BFFF, and
 consists of 4096 banks. Byte written to $D5A2 turns the cartridge on/off:
 bit 0 = 1 enables the cartridge, 0 disables it and enables RAM. The enabled
 bank is controlled by bytes written to $D5A0 (LSB) and $D5A1 (MSB, only 6
 lowest bytes are stored in the internal register, and only 4 lowest bytes
 matter in choosing the enabled bank). Any write do $D5A0-$D5A1 also
 automatically enables the cartridge.

 The cartridge starts with bank 0 enabled.

 The $D5A0-$D5A2 registers are read/write; one can read the cartridge's current
 state from them. Unused bits are always read as 0.

+---------------------------------------------------------------------------+
| Type 66: The!Cart 64 MB cartridge                                         |
+---------------------------------------------------------------------------+

 Only a small subset, as described below, of this cartridge's features is
 currently emulated.

 The cartridge occupies 8 KB of address space between $A000 and $BFFF, and
 consists of 8192 banks. Byte written to $D5A2 turns the cartridge on/off:
 bit 0 = 1 enables the cartridge, 0 disables it and enables RAM. The enabled
 bank is controlled by bytes written to $D5A0 (LSB) and $D5A1 (MSB, only 6
 lowest bytes are stored in the internal register, and only 5 lowest bytes
 matter in choosing the enabled bank). Any write do $D5A0-$D5A1 also
 automatically enables the cartridge.

 The cartridge starts with bank 0 enabled.

 The $D5A0-$D5A2 registers are read/write; one can read the cartridge's current
 state from them. Unused bits are always read as 0.

+---------------------------------------------------------------------------+
| Type 67: XEGS 64 KB cartridge (banks 8-15)                                |
+---------------------------------------------------------------------------+

 One of the two variants of the 64 KB XEGS cartridge, built on a C026449 board
 with all pins of the 74LS374 chip connected. All software designed for this
 cartridge type also works with the other variant; see Type 13.
 This bank-switched cartridge occupies 16 KB of address space between $8000
 and $BFFF. The cartridge memory is divided into 8 banks, 8 KB each.
 Bank 7 (the last one) is always mapped to $A000-$BFFF. Four lowest bits of
 a byte written to $D500-$D5FF select the bank mapped to $8000-$9FFF.
 Unsetting bit 3 unmaps the $8000-$9FFFF area and leaves it unconnected
 (floating or all $FFs); otherwise a bank selected by the three lowest bits is
 mapped.
 The initially selected bank is random, although it seems that the value of 0
 (ie. no bank mapped) gets chosen the most often. Atari800 always selects 0
 initially.

 Reference:
 http://www.atarimax.com/jindroush.atari.org/acarts.html#xegs

+---------------------------------------------------------------------------+
| Type 68: Atrax 128 KB cartridge                                           |
+---------------------------------------------------------------------------+

 The Atrax cartridge has its address and data lines intermixed as a kind of
 copy protection, as below:
   (Left - cartridge port + bank select lines, right - EPROM pins)
    A0 -  A5
    A1 -  A6
    A2 -  A7
    A3 - A12
    A4 -  A0
    A5 -  A1
    A6 -  A2
    A7 -  A3
    A8 -  A4
    A9 -  A8
   A10 - A10
   A11 - A11
   A12 -  A9
   A13 - A13   \
   A14 - A14    > bank select
   A15 - A15   /
   A16 - A16  /
    D0 -  Q5
    D1 -  Q6
    D2 -  Q2
    D3 -  Q4
    D4 -  Q0
    D5 -  Q1
    D6 -  Q7
    D7 -  Q3
 This cartridge type represents an original, non-decoded ROM dump, as read
 directly from the ROM chip. A decoded ROM dump is represented by Type 17:
 Decoded Atrax 128 KB cartridge.

 This bank-switched cartridge occupies 8 KB of address space between $A000
 and $BFFF. The cartridge memory is divided into 16 banks, 8 KB each.
 If a byte written to $D500-$D5FF has highest bit set, the cartridge is
 disabled. Otherwise four lowest bits select the bank mapped to $A000-$BFFF.

 Reference:
 http://atarionline.pl/forum/comments.php?DiscussionID=2861&page=11#CommentBody_91383

+---------------------------------------------------------------------------+
| Type 69: aDawliah 32 KB cartridge                                         |
+---------------------------------------------------------------------------+

 A bank-switched cartridge built on a board marked "A-NA0002". Two variants of
 this board are known: one that connects the EPROM's pin 1 to +5V, and another
 that connects it to an 74169 counter. The cartridge houses a 256 kbit EPROM.
 (The former board variant can also contain a 512 kbit EPROM, but the board is
 hardwired to access only the upper half of the ROM.)

 The cartridge occupies 8 KB of address space between $A000 and $BFFF. Its
 memory is divided into 4 banks, 8 KB each. On power on, bank 0 is visible. Each
 access to $D500-$D5FF increases the visible bank number, looping to 0 after the
 last bank.

 Reference:
 http://atarionline.pl/forum/comments.php?DiscussionID=4260&page=1#Item_13

+---------------------------------------------------------------------------+
| Type 70: aDawliah 64 KB cartridge                                         |
+---------------------------------------------------------------------------+

 A bank-switched cartridge built on a board marked "A-NA0002", specifically the
 variant that connects the EPROM's pin 1 to an 74169 counter. The cartridge
 houses a 512 kbit EPROM. (Note: no such cartridge has been identified as of
 yet, all known specimens house a 256 kbit EPROM.)

 The cartridge occupies 8 KB of address space between $A000 and $BFFF. Its
 memory is divided into 8 banks, 8 KB each. On power on, bank 0 is visible. Each
 access to $D500-$D5FF increases the visible bank number, looping to 0 after the
 last bank.

 Reference:
 http://atarionline.pl/forum/comments.php?DiscussionID=4260&page=1#Item_13

+---------------------------------------------------------------------------+
| Type 71: Super Cart 64 KB 5200 cartridge (32K banks)                      |
+---------------------------------------------------------------------------+

 A bank-switched cartridge built on the "512K Super Cart" board manufactured
 by Bryan Edewaard in 2005. It was used in Bryan's 5200 conversion of M.U.L.E.

 The cartridge has 2 32 KB banks mapped to $4000-$BFFF. The cartridge has a
 4-bit bank counter, whose bits 0-1 are modified by reading from $BFD0-$BFDF,
 and bits 2-3 - by reading from $BFC0-$BFCF; but only bit 0 is significant.
 Effectively, banks are selected as follows:
 - a read from $BFD0-$BFD3 or $BFD8-$BFDB selects bank 0,
 - a read from $BFD4-$BFD7 or $BFDC-$BFDF selects bank 1.
 Additionally a read from $BFE0-$BFFF selects the topmost bank (i.e. 1). The
 5200 BIOS reads data from here on power up, thus ensuring a known boot state.

 Reference:
 https://atariage.com/forums/topic/69649-5200-game-announcement-now-shipping/?do=findComment&comment=856153

+---------------------------------------------------------------------------+
| Type 72: Super Cart 128 KB 5200 cartridge (32K banks)                     |
+---------------------------------------------------------------------------+

 A bank-switched cartridge built on the "512K Super Cart" board manufactured
 by Bryan Edewaard in 2005. It was used in the 5200 conversion of Bosconian.

 The cartridge has 4 32 KB banks mapped to $4000-$BFFF. The cartridge has a
 4-bit bank counter, whose bits 0-1 are modified by reading from $BFD0-$BFDF,
 and bits 2-3 - by reading from $BFC0-$BFCF; but only bits 0-1 are
 significant. Effectively, banks are selected as follows:
 - a read from $BFD0-$BFD3 selects bank 0,
 - a read from $BFD4-$BFD7 selects bank 1,
 - a read from $BFD8-$BFDB selects bank 2,
 - a read from $BFDC-$BFDF selects bank 3.
 Additionally a read from $BFE0-$BFFF selects the topmost bank (i.e. 3). The
 5200 BIOS reads data from here on power up, thus ensuring a known boot state.

 References:
 https://atariage.com/forums/topic/69649-5200-game-announcement-now-shipping/?do=findComment&comment=856153
 https://atariage.com/forums/topic/298850-bosconian-ultimate-for-atari-5200/

+---------------------------------------------------------------------------+
| Type 73: Super Cart 256 KB 5200 cartridge (32K banks)                     |
+---------------------------------------------------------------------------+

 A bank-switched cartridge built on the "512K Super Cart" board manufactured
 by Bryan Edewaard in 2005.

 The cartridge has 8 32 KB banks mapped to $4000-$BFFF. The cartridge has a
 4-bit bank counter, whose bits 0-1 are modified by reading from $BFD0-$BFDF,
 and bits 2-3 - by reading from $BFC0-$BFCF; but only bits 0-2 are
 significant. Effectively, banks are selected as follows:
 - a read from $BFC0-$BFC3 or $BFC8-$BFCB sets bit 2 to 0,
 - a read from $BFC4-$BFC7 or $BFCC-$BFCF sets bit 2 to 1,
 - a read from $BFD0-$BFD3 sets bits 0-1 to 00,
 - a read from $BFD4-$BFD7 sets bits 0-1 to 01,
 - a read from $BFD8-$BFDB sets bits 0-1 to 10,
 - a read from $BFDC-$BFDF sets bits 0-1 to 11,
 Additionally a read from $BFE0-$BFFF selects the topmost bank (i.e. 7). The
 5200 BIOS reads data from here on power up, thus ensuring a known boot state.

 Reference:
 https://atariage.com/forums/topic/69649-5200-game-announcement-now-shipping/?do=findComment&comment=856153

+---------------------------------------------------------------------------+
| Type 74: Super Cart 512 KB 5200 cartridge (32K banks)                     |
+---------------------------------------------------------------------------+

 A bank-switched cartridge built on the "512K Super Cart" board manufactured
 by Bryan Edewaard in 2005. It was used in the 5200 conversion of Bosconian.

 The cartridge has 16 32 KB banks mapped to $4000-$BFFF. The cartridge has a
 4-bit bank counter, whose bits 0-1 are modified by reading from $BFD0-$BFDF,
 and bits 2-3 - by reading from $BFC0-$BFCF. Banks are selected as follows:
 - a read from $BFC0-$BFC3 sets bits 2-3 to 00,
 - a read from $BFC4-$BFC7 sets bits 2-3 to 01,
 - a read from $BFC8-$BFCB sets bits 2-3 to 10,
 - a read from $BFCC-$BFCF sets bits 2-3 to 11,
 - a read from $BFD0-$BFD3 sets bits 0-1 to 00,
 - a read from $BFD4-$BFD7 sets bits 0-1 to 01,
 - a read from $BFD8-$BFDB sets bits 0-1 to 10,
 - a read from $BFDC-$BFDF sets bits 0-1 to 11,
 Additionally a read from $BFE0-$BFFF selects the topmost bank (i.e. 15). The
 5200 BIOS reads data from here on power up, thus ensuring a known boot state.

 References:
 https://atariage.com/forums/topic/69649-5200-game-announcement-now-shipping/?do=findComment&comment=856153
 https://atariage.com/forums/topic/298850-bosconian-ultimate-for-atari-5200/

+---------------------------------------------------------------------------+
| Type 75: Atarimax 1 MB Flash cartridge (new)                              |
+---------------------------------------------------------------------------+

 This bank-switched cartridge occupies 8 KB of address space between $A000
 and $BFFF. The cartridge memory is divided into 128 banks, 8 KB each.
 The seven lowest bits of the address written to $D500-$D57F select the bank
 mapped to $A000-$BFFF, bit 7 disables the cartridge.

 Upon power up, bank 0 is selected. There is also another version of the
 Atarimax cartridge that selected bank $7F on power up; see Type 42 for
 details.

 The cartridge also supports programming of the Flash ROM - this feature is
 currently not emulated.

 Reference:
 https://atariage.com/forums/topic/184410-space-harrier-released/?do=findComment&comment=2331655

+---------------------------------------------------------------------------+
| Type 76: 16 KB Williams cartridge                                         |
+---------------------------------------------------------------------------+

 The cartridge has 2 banks mapped to $A000-$BFFF. An access to $D500 selects
 bank 0, $D501 - bank 1. An access to $D508-$D50F disables
 the cartridge.

+---------------------------------------------------------------------------+
| Type 77: MIO diagnostics 8KB cartridge                                    |
+---------------------------------------------------------------------------+

 The cartridge uses the same board as type 11 - Sparta Dos X, but uses only
 one 8KB bank, turned on by access to $D5E0. This is not actually a 
 bankswitching  cartridge, just re-uses existing SDX cart design, basically
 working as standard 8KB left slot cartridge.

+---------------------------------------------------------------------------+
| Type 78: Telelink II cartridge                                            |
+---------------------------------------------------------------------------+

 Cartridge uses only 8KB ROM, but occupies whole 16KB of address space. There
 is 256x4bit nvram mapped to $9000-$90FF (mirrored to whole $9000). Read mode
 is switched on by access to $D501, write mode by access to $D502. It's 
 possible that only R/W line is used for the mode switching.

+---------------------------------------------------------------------------+
| Type 79: Pronto cartridge                                                 |
+---------------------------------------------------------------------------+

 Similar to type 78, just the memory is mapped to $8F00-$8FFF. Also read from
 to $D501 turns on read mode, write to $D502 turns on write mode. It's quite
 possible that only R/W line is used for the mode switching.

+---------------------------------------------------------------------------+
| Type 80: JRC64 cartridge (linear)                                         |
+---------------------------------------------------------------------------+

 Cartridge takes 8KB of address space, contains 8 banks. By writing to
 $D500-$D57F, bank is selected by data bits D6-D4. Bit D7 turns cartridge off.
 On bootup, bank 0 is mapped in.

 Type 80 uses linear bank order in dump (0,1,2,3,4,5,6,7)
 Type 160 uses interleaved bank order in dump (7,3,5,1,6,2,4,0)

 Some cartridges contain 256KB of RAMdisk. Page is selected by writing to
 $D500-$D57F (7bits) with value with 4 upper bits set to 1 (4bits). That makes
 1<<11 = 2048 pages. Reads/writes are to region $D580-$D5FF (7bits). That
 totals to 18bits = 256KB of RAM usable by TT-Dos or BeWe DOS.

+---------------------------------------------------------------------------+
| Type 81: MDDOS cartridge                                                  |
+---------------------------------------------------------------------------+

 Same as M091 OSS scheme, adding bits 5 and 6 for selecting subpart. Totally
 4 x 16KB = 64KB.
 The only existing dump has this bank order: 
 00,01,09,0m,10,11,19,1m,20,21,29,2m,30,31,39,3m
 but the problem is that it's yet unverified if this is the true physical
 EPROM image order or not

+---------------------------------------------------------------------------+
| Type 82: COS32 cartridge                                                  |
+---------------------------------------------------------------------------+

 Cartridge contains 2 16KB banks, and takes whole 16KB of address space.
 Initially, 'the main' bank is mapped in, on any access to $D5xx,
 'the temporary' bank is mapped in, for cca 23 cycles.  Cart is turned on/off
 by hardware button on RD4/RD5.
 File order of banks is first 'the temporary', second 'the main' one.

+---------------------------------------------------------------------------+
| Type 83: SIC+ 1024 KB cartridge                                            |
+---------------------------------------------------------------------------+

 Same as Type 54, but with cartridge memory being divided into 64 banks.
 Bits 7, 4..0 - 16KB bank number (0..63). In SIC+ the control register is 
 mapped up to $D53F.

+---------------------------------------------------------------------------+
| Type 84: Corina 1M+8K EEPROM                                              |
+---------------------------------------------------------------------------+

 Takes whole 16KB of address space, bank 0 is mapped in on the bootup. The
 banking register is at $D500, and bank number is interpreted from written
 byte databits. Bit7 always turns cart off.

 This configuration interprets D0-D5 as bank, D6 turns on EEPROM, which
 mirrors across whole 16KB address space

+---------------------------------------------------------------------------+
| Type 85: Corina 512K + 512K SRAM + 8K EEPROM                              |
+---------------------------------------------------------------------------+

 Same as type 84.

 This configuration interprets D0-D4 as bank
 D5 = 0, D6 = 0 -> mapped from EPROM
 D5 = 1, D6 = 0 -> mapped from SRAM
 D5 = 0, D6 = 1 -> mapped from EEPROM

+---------------------------------------------------------------------------+
| Type 86: XE Multicart (8KB)                                               |
| Type 87: XE Multicart (16KB)                                              |
| Type 88: XE Multicart (32KB)                                              |
| Type 89: XE Multicart (64KB)                                              |
| Type 90: XE Multicart (128KB)                                             |
| Type 91: XE Multicart (256KB)                                             |
| Type 92: XE Multicart (512KB)                                             |
| Type 93: XE Multicart (1024KB)                                            |
+---------------------------------------------------------------------------+

 This cartridge is used only for running original 8KB/16KB. Allows to use
 any EPROM from 27xxx line to be used.
 On the bootup, last 8KBs are mapped to $A000-$BFFF. 
 Banks are switched by data written to $D5xx, by bits D6-D0. To select
 16KB cart, bit D7 must be on.

 Reference:
 https://blog.idorobots.org/entries/atari-xe-multicart.html

 +---------------------------------------------------------------------------+
 | Type 94: Ram-Cart 64 KB cartridge                                         |
 +---------------------------------------------------------------------------+

 A bank switched cartridge released by Unerring Masters company.
 It uses SRAM with 3V battery power supplied and operates in two different modes
 ("Read Only" and "Read/Write") turned by the user using switch on top of the case.
 Two static RAM 32Kx8 chips (D43257GU) and small logic providing control register
 to select memory bank and making it's visibility in Atari memory area is inside.

 RAM is divided into four 16K banks with their's lower half visible in $8000..$9FFF
 and upper half in $A000..$BFFF areas.
 Read/Write control register is located in $D500, but is available on the whole
 $D5 page for the sake of simplified address decoder is used.

 Control register bits meaning:

 0 - $A000..$BFFF window enable:
     * "Read Only" mode: 0-enabled, 1-disabled
     * "Read/Write" mode: 0-disabled, 1-enabled
 1 - $8000..$9FFF window enable: 0-disabled, 1-enabled
 2 - control register lock: 0-unlocked, 1-locked until power off
 3 - bank select
 4 - bank select
 5 - not connected
 6 - not connected
 7 - not connected

 Cartridge memory address bits mapping:

 %00000000 43xxxxxx xxxxxxxx
           :::::::: ::::::::
           ::++++++-++++++++-- address bus A0..A13
           ++----------------- control register bits

 Control register contains $00 on power-on.

 Reference:
 http://atariki.krap.pl/index.php/Ram-Cart#64%20KB

 +---------------------------------------------------------------------------+
 | Type 95: Ram-Cart 128 KB cartridge                                        |
 +---------------------------------------------------------------------------+

 A bank switched cartridge released by Unerring Masters company.
 It's identical to cartridge type 94 but uses four 32Kx8 RAM chips.

 Location of control register and it's bits meaning is the same, but additional
 bit 5 is used to select bank as well as bits 3 and 4.

 Control register bits meaning:

 0 - $A000..$BFFF window enable:
     * "Read Only" mode: 0-enabled, 1-disabled
     * "Read/Write" mode: 0-disabled, 1-enabled
 1 - $8000..$9FFF window enable: 0-disabled, 1-enabled
 2 - control register lock: 0-unlocked, 1-locked until power off
 3 - bank select
 4 - bank select
 5 - bank select
 6 - not connected
 7 - not connected

 Cartridge memory address bits mapping:

 %00000005 43xxxxxx xxxxxxxx
         : :::::::: ::::::::
         : ::++++++-++++++++-- address bus A0..A13
         +-++----------------- control register bits

 Reference:
 http://atariki.krap.pl/index.php/Ram-Cart#128%20KB

 +---------------------------------------------------------------------------+
 | Type 96: Double Ram-Cart 2x128/256 KB cartridge                           |
 +---------------------------------------------------------------------------+

 A bank switched cartridge released by Unerring Masters company.
 It's similar to cartridge type 95 but uses two 128Kx8 RAM chips (CXK581000P).

 Location of control register and it's bits meaning is almost the same,
 but bit 2 has different meaning depending on state of P1 and P2 switches.

 Additional P1 button on the top of case is used to choose mode of operation:
 * 2x128K - selected when P1 is in state 0
 * 256K - selected when P1 is in state 1

 Bit 2 of control register has the same meaning as in 94 cartridge type
 once 2x128K mode is chosen. Button P2 is used to choose active 128K module.

 If 256K mode is chosen then bit 2 is used to select 128K module and address
 full 256K memory area. P2 swaps 128K areas once it's 1 - if it's 0 then 128K
 modules are addressed in normal order.

 Control register bits meaning in this mode:

 0 - $A000..$BFFF window enable:
     * "Read Only" mode: 0-enabled, 1-disabled
     * "Read/Write" mode: 0-disabled, 1-enabled
 1 - $8000..$9FFF window enable: 0-disabled, 1-enabled
 2 - select 128K module:
     * 0=$0xxxx-$1xxxx, 1=$2xxxx-$3xxxx if P2=0
     * 0-$2xxxx-$3xxxx, 1=$0xxxx-$1xxxx if P2=1
 3 - bank select
 4 - bank select
 5 - bank select
 6 - not connected
 7 - not connected

 Cartridge memory address bits mapping:

 %00000025 43xxxxxx xxxxxxxx
        :: :::::::: ::::::::
        :: ::++++++-++++++++-- address bus A0..A13
        ++-++----------------- control register bits

 Reference:
 http://atariki.krap.pl/index.php/Ram-Cart#2x128%20KB%20/%20256%20KB

 +---------------------------------------------------------------------------+
 | Type 97: Ram-Cart 1 MB cartridge                                          |
 +---------------------------------------------------------------------------+

 A bank switched cartridge released by Unerring Masters company then refectored
 and republished in new form by GALTRON company.
 It's similar to cartridge type 95 but bits 2, 6 and 7 have changed function.

 Three switches A, B and C on the top of case are used to select one of eight
 128K modules. They state can be read by control register.

 Control register bits meaning:

 0 - $A000..$BFFF window enable:
     * "Read Only" mode: 0-enabled, 1-disabled
     * "Read/Write" mode: 0-disabled, 1-enabled
 1 - $8000..$9FFF window enable: 0-disabled, 1-enabled
 2 - state of A switch
 3 - bank select
 4 - bank select
 5 - bank select
 6 - state of B switch
 7 - state of C switch

 Cartridge memory address bits mapping:

 %0000CBA5 43xxxxxx xxxxxxxx
      :::: :::::::: ::::::::
      :::: ::++++++-++++++++-- address bus A0..A13
      :::+-++----------------- control register bits
      +++--------------------- switches

 Reference:
 http://atariki.krap.pl/index.php/Ram-Cart#1%20MB

 +---------------------------------------------------------------------------+
 | Type 98: Ram-Cart 2 MB cartridge                                          |
 +---------------------------------------------------------------------------+

 A bank switched cartridge released by GALTRON company.
 It's identical to cartridge type 97.

 Three switches A, B and C on the top of case are used to select one of eight
 128K modules. They state can be read by control register.
 Additional switch 1/2M is used to choose one of two 1MB module.

 Control register bits meaning:

 0 - $A000..$BFFF window enable:
     * "Read Only" mode: 0-enabled, 1-disabled
     * "Read/Write" mode: 0-disabled, 1-enabled
 1 - $8000..$9FFF window enable: 0-disabled, 1-enabled
 2 - state of A switch
 3 - bank select
 4 - bank select
 5 - bank select
 6 - state of B switch
 7 - state of C switch

 Cartridge memory address bits mapping:

 %0001CBA5 43xxxxxx xxxxxxxx
     ::::: :::::::: ::::::::
     ::::: ::++++++-++++++++-- address bus A0..A13
     ::::+-++----------------- control register bits
     ++++--------------------- switches

 Reference:
 http://atariki.krap.pl/index.php/Ram-Cart#2%20MB

 +---------------------------------------------------------------------------+
 | Type 99: Ram-Cart 4 MB cartridge                                          |
 +---------------------------------------------------------------------------+

 A bank switched cartridge released by GALTRON company.
 It's identical to cartridge type 97.

 Three switches A, B and C on the top of case are used to select one of eight
 128K modules. They state can be read by control register.
 Additional switch 1/2M is used to choose one of two 1MB module.
 Additional switch 2/4M is used to choose one of two 2MB module.

 Control register bits meaning:

 0 - $A000..$BFFF window enable:
     * "Read Only" mode: 0-enabled, 1-disabled
     * "Read/Write" mode: 0-disabled, 1-enabled
 1 - $8000..$9FFF window enable: 0-disabled, 1-enabled
 2 - state of A switch
 3 - bank select
 4 - bank select
 5 - bank select
 6 - state of B switch
 7 - state of C switch

 Cartridge memory address bits mapping:

 %0021CBA5 43xxxxxx xxxxxxxx
    :::::: :::::::: ::::::::
    :::::: ::++++++-++++++++-- address bus A0..A13
    :::::+-++----------------- control register bits
    +++++--------------------- switches

 Reference:
 http://atariki.krap.pl/index.php/Ram-Cart#4%20MB

 +---------------------------------------------------------------------------+
 | Type 100: Ram-Cart 8 MB cartridge                                         |
 +---------------------------------------------------------------------------+

 A bank switched cartridge released by GALTRON company.
 It's identical to cartridge type 97 but extended with additional control register.

 There are no switches beside R/W and RESET on the top of case, so bank is selected
 only by software.

 Control register CARTCTL ($D500) bits meaning:

 0 - $A000..$BFFF window enable:
     * "Read Only" mode: 0-enabled, 1-disabled
     * "Read/Write" mode: 0-disabled, 1-enabled
 1 - $8000..$9FFF window enable: 0-disabled, 1-enabled
 2 - bank select bit 3
 3 - bank select bit 0
 4 - bank select bit 1
 5 - bank select bit 2
 6 - bank select bit 4
 7 - bank select bit 5

 Additional register MODSEL ($D501) is using to select 1MB memory module.
 Bits meaning:

 0 - module select bit 0
 1 - module select bit 1
 2 - module select bit 2
 3 - not connected
 4 - not connected
 5 - not connected
 6 - not connected
 7 - not connected

 Cartridge memory address bits mapping:

 %02107625 43xxxxxx xxxxxxxx
   ::::::: :::::::: ::::::::
   ::::::: ::++++++-++++++++-- address bus A0..A13
   :::++++-++----------------- CARCTL register bits
   +++------------------------ MODSEL register bits

 Reference:
 http://atariki.krap.pl/index.php/Ram-Cart#8%2C%2016%20i%2032%20MB

 +---------------------------------------------------------------------------+
 | Type 101: Ram-Cart 16 MB cartridge                                        |
 +---------------------------------------------------------------------------+

 A bank switched cartridge released by GALTRON company.
 It's identical to cartridge type 97 but extended with additional control register.

 There are no switches beside R/W and RESET on the top of case, so bank is selected
 only by software.

 Control register CARTCTL ($D500) bits meaning:

 0 - $A000..$BFFF window enable:
     * "Read Only" mode: 0-enabled, 1-disabled
     * "Read/Write" mode: 0-disabled, 1-enabled
 1 - $8000..$9FFF window enable: 0-disabled, 1-enabled
 2 - bank select bit 3
 3 - bank select bit 0
 4 - bank select bit 1
 5 - bank select bit 2
 6 - bank select bit 4
 7 - bank select bit 5

 Additional register MODSEL ($D501) is using to select 1MB memory module.
 Bits meaning:

 0 - module select bit 0
 1 - module select bit 1
 2 - module select bit 2
 3 - module select bit 3
 4 - not connected
 5 - not connected
 6 - not connected
 7 - not connected

 Cartridge memory address bits mapping:

 %32107625 43xxxxxx xxxxxxxx
  ::::::: :::::::: ::::::::
  :::::::: ::++++++-++++++++-- address bus A0..A13
  ::::++++-++----------------- CARCTL register bits
  ++++------------------------ MODSEL register bits

 Reference:
 http://atariki.krap.pl/index.php/Ram-Cart#8%2C%2016%20i%2032%20MB

 +---------------------------------------------------------------------------+
 | Type 102: Ram-Cart 32 MB cartridge                                        |
 +---------------------------------------------------------------------------+

 A bank switched cartridge released by GALTRON company.
 It's identical to cartridge type 97 but extended with additional control register.

 There are no switches beside R/W and RESET on the top of case, so bank is selected
 only by software.

 Control register CARTCTL ($D500) bits meaning:

 0 - $A000..$BFFF window enable:
     * "Read Only" mode: 0-enabled, 1-disabled
     * "Read/Write" mode: 0-disabled, 1-enabled
 1 - $8000..$9FFF window enable: 0-disabled, 1-enabled
 2 - bank select bit 3
 3 - bank select bit 0
 4 - bank select bit 1
 5 - bank select bit 2
 6 - bank select bit 4
 7 - bank select bit 5

 Additional register MODSEL ($D501) is using to select 1MB memory module.
 Bits meaning:

 0 - module select bit 0
 1 - module select bit 1
 2 - module select bit 2
 3 - module select bit 3
 4 - module select bit 4
 5 - not connected
 6 - not connected
 7 - not connected

 Cartridge memory address bits mapping:

 %00000004 32107625 43xxxxxx xxxxxxxx
         : :::::::: :::::::: ::::::::
         : :::::::: ::++++++-++++++++-- address bus A0..A13
         : ::::++++-++----------------- CARCTL register bits
         +-++++------------------------ MODSEL register bits

 Reference:
 http://atariki.krap.pl/index.php/Ram-Cart#8%2C%2016%20i%2032%20MB

 +---------------------------------------------------------------------------+
 | Type 103: SiDiCar 32 KB cartridge                                         |
 +---------------------------------------------------------------------------+

 A bank switched cartridge described by "Tajemnice Atari" magazine closely
 related to polish software publisher L.K.Avalon.
 It uses CMOS static RAM 62256 chip with battery power supplied and small logic
 providing control register to select memory bank and making its visibility
 in Atari memory area.

 RAM is divided into four 8K banks visible in $8000..$9FFF area.
 Write only control register CARSET is located in $D5FF, however it's available
 on whole $D5 page because only /CCTL line is used to build simplified decoder.

 Control register bits meaning:

 0 - bank select
 1 - bank select
 2 - not connected
 3 - not connected
 4 - $8000..$9FFF window enable: 0-disabled, 1-enabled
 5 - not connected
 6 - not connected
 7 - write to control register 0-enabled, 1-disabled

 Cartridge memory address bits mapping:

 %010xxxxx xxxxxxxx
   ::::::: ::::::::
   ::+++++-++++++++-- address bus A0..A12
   ++---------------- control register bits

 Control register contains $00 on power-on.

 Reference:
 http://atariki.krap.pl/index.php/SiDiCar

+---------------------------------------------------------------------------+
| Type 160: JRC64 cartridge (interleaved)                                   |
+---------------------------------------------------------------------------+

 Cartridge takes 8KB of address space, contains 8 banks. By writing to
 $D500-$D57F, bank is selected by data bits D6-D4. Bit D7 turns cartridge off.
 On bootup, bank 0 is mapped in.

 Type 80 uses linear bank order in dump (0,1,2,3,4,5,6,7)
 Type 160 uses interleaved bank order in dump (7,3,5,1,6,2,4,0)

 Some cartridges contain 256KB of RAMdisk. Page is selected by writing to
 $D500-$D57F (7bits) with value with 4 upper bits set to 1 (4bits). That makes
 1<<11 = 2048 pages. Reads/writes are to region $D580-$D5FF (7bits). That
 totals to 18bits = 256KB of RAM usable by TT-Dos or BeWe DOS.