diff --git a/Changes.txt b/Changes.txt
index 61989ecd9..20ed3e411 100644
--- a/Changes.txt
+++ b/Changes.txt
@@ -32,6 +32,8 @@
* Restored 'cfg' directory for Distella config files.
+ * Added 3EX bank switching type.
+
* Removed unused CV+ and DASH bank switching types.
-Have fun!
diff --git a/docs/index.html b/docs/index.html
index c7185ebe1..6f9fb85a9 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -3790,8 +3790,9 @@ Ms Pac-Man (Stella extended codes):
32IN1 ¹ | 64-128K Multicart (32 games) | .32N, .32N1 |
64IN1 ¹ | 64/128K Multicart | .64N, .64N1 |
128IN1 ¹ | 256/512K Multicart | .128, .128N1 |
- 2K | 32-2048 byte Atari | .2K |
- 3E | 32K Tigervision | .3E |
+ 2K | 32-2048 bytes Atari | .2K |
+ 3E | 512K Tigervision + 32K RAM | .3E |
+ 3EX | 512K Tigervision + 256K RAM | .3EX |
3E+ | 3E+ (TJ modified 3E) | .3EP, .3E+ |
3F | 512K Tigervision | .3F |
4A50 ² | 64K 4A50 + RAM | .4A5, .4A50 |
@@ -3826,7 +3827,7 @@ Ms Pac-Man (Stella extended codes):
FC | Amiga Power Play Aracde 16/32K | .FC |
FE | 8K Decathlon | .FE |
MDM | Menu Driven Megacart | .MDM |
- SB | 128-256k SUPERbanking | .SB |
+ SB | 128-256K SUPERbanking | .SB |
UA | 8K UA Ltd. | .UA |
UASW | 8K UA Ltd. (swapped banks) | .UASW |
WD | Wickstead Design (Pink Panther) | .WD |
diff --git a/src/emucore/Cart3EX.cxx b/src/emucore/Cart3EX.cxx
index 4f9c7ac45..889935a07 100644
--- a/src/emucore/Cart3EX.cxx
+++ b/src/emucore/Cart3EX.cxx
@@ -23,5 +23,6 @@ Cartridge3EX::Cartridge3EX(const ByteBuffer& image, size_t size,
: Cartridge3E(image, size, md5, settings)
{
myRamSize = RAM_SIZE;
- myRamBankCount = RAM_BANKS;
+ // 0xFFFA contains RAM bank count - 1;
+ myRamBankCount = image[size - 6] + 1;
}
diff --git a/src/emucore/Cart3EX.hxx b/src/emucore/Cart3EX.hxx
index 99181cffd..e7ba2ecfd 100644
--- a/src/emucore/Cart3EX.hxx
+++ b/src/emucore/Cart3EX.hxx
@@ -69,9 +69,6 @@ public:
#endif
private:
- // The number of RAM banks
- static constexpr uInt16 RAM_BANKS = 256;
-
// RAM size
static constexpr size_t RAM_SIZE = RAM_BANKS << (BANK_SHIFT - 1); // = 256K = 0x40000;