mirror of
https://github.com/Pecusx/libretro-atari800.git
synced 2026-05-20 22:33:22 +02:00
999 lines
51 KiB
Plaintext
999 lines
51 KiB
Plaintext
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 | 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 | 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) | |
|
|
+----+-----------+------+-----------------------------------------------+---+
|
|
|
|
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: 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.
|
|
|
|
+---------------------------------------------------------------------------+
|
|
| 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 |
|
|
+---------------------------------------------------------------------------+
|
|
|
|
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.
|
|
|
|
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
|