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;