mirror of https://github.com/stella-emu/stella.git
Added JANE bankswitching (for Tarzan prototype)
This commit is contained in:
parent
2d0de2b415
commit
bd757e7d2f
|
@ -50,6 +50,10 @@
|
||||||
|
|
||||||
* Added 03E0 bankswitching for Brazilian Parker Bros ROMs.
|
* Added 03E0 bankswitching for Brazilian Parker Bros ROMs.
|
||||||
|
|
||||||
|
* Added WF8 bankswitching used by some certain Coleco white carts
|
||||||
|
|
||||||
|
* Added JANE bankswitching used by Coleco's Tarzan prototype
|
||||||
|
|
||||||
* Added BUS bankswitching support for some older demos.
|
* Added BUS bankswitching support for some older demos.
|
||||||
|
|
||||||
* Fixed broken 7800 pause key support.
|
* Fixed broken 7800 pause key support.
|
||||||
|
|
|
@ -5071,6 +5071,7 @@ Ms Pac-Man (Stella extended codes):
|
||||||
<tr><td>FC </td><td>Amiga Power Play Aracde 16/32K </td><td>.FC </td></tr>
|
<tr><td>FC </td><td>Amiga Power Play Aracde 16/32K </td><td>.FC </td></tr>
|
||||||
<tr><td>FE </td><td>8K Activision (aka SCABS)</td><td>.FE </td></tr>
|
<tr><td>FE </td><td>8K Activision (aka SCABS)</td><td>.FE </td></tr>
|
||||||
<tr><td>GL ²</td><td>4 or 6K GameLine Master Module</td><td>.GL </td></tr>
|
<tr><td>GL ²</td><td>4 or 6K GameLine Master Module</td><td>.GL </td></tr>
|
||||||
|
<tr><td>JANE </td><td>16K Coleco (Tarzan) </td><td>.JAN, .JANE </td></tr>
|
||||||
<tr><td>MDM </td><td>Menu Driven Megacart </td><td>.MDM </td></tr>
|
<tr><td>MDM </td><td>Menu Driven Megacart </td><td>.MDM </td></tr>
|
||||||
<tr><td>MVC </td><td>Movie Cart</td><td>.MVC </td></tr>
|
<tr><td>MVC </td><td>Movie Cart</td><td>.MVC </td></tr>
|
||||||
<tr><td>SB </td><td>128-256K SUPERbanking </td><td>.SB </td></tr>
|
<tr><td>SB </td><td>128-256K SUPERbanking </td><td>.SB </td></tr>
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
//============================================================================
|
||||||
|
//
|
||||||
|
// SSSS tt lll lll
|
||||||
|
// SS SS tt ll ll
|
||||||
|
// SS tttttt eeee ll ll aaaa
|
||||||
|
// SSSS tt ee ee ll ll aa
|
||||||
|
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
|
||||||
|
// SS SS tt ee ll ll aa aa
|
||||||
|
// SSSS ttt eeeee llll llll aaaaa
|
||||||
|
//
|
||||||
|
// Copyright (c) 1995-2024 by Bradford W. Mott, Stephen Anthony
|
||||||
|
// and the Stella Team
|
||||||
|
//
|
||||||
|
// See the file "License.txt" for information on usage and redistribution of
|
||||||
|
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||||
|
//============================================================================
|
||||||
|
|
||||||
|
#include "CartJANE.hxx"
|
||||||
|
#include "CartJANEWidget.hxx"
|
||||||
|
|
||||||
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
CartridgeJANEWidget::CartridgeJANEWidget(
|
||||||
|
GuiObject* boss, const GUI::Font& lfont, const GUI::Font& nfont,
|
||||||
|
int x, int y, int w, int h, CartridgeJANE& cart)
|
||||||
|
: CartridgeEnhancedWidget(boss, lfont, nfont, x, y, w, h, cart)
|
||||||
|
{
|
||||||
|
initialize();
|
||||||
|
}
|
||||||
|
|
||||||
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
string CartridgeJANEWidget::description()
|
||||||
|
{
|
||||||
|
ostringstream info;
|
||||||
|
|
||||||
|
info << "Tarzan cartridge, four 4K banks\n"
|
||||||
|
<< CartridgeEnhancedWidget::description();
|
||||||
|
|
||||||
|
return info.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
string CartridgeJANEWidget::hotspotStr(int bank, int, bool prefix)
|
||||||
|
{
|
||||||
|
ostringstream info;
|
||||||
|
const uInt16 hotspot = myCart.hotspot() | ADDR_BASE;
|
||||||
|
|
||||||
|
info << (prefix ? "(hotspot " : "(")
|
||||||
|
<< "$" << Common::Base::HEX1 << (hotspot + (bank < 2 ? bank : bank + 6))
|
||||||
|
<< (prefix ? ")" : ")");
|
||||||
|
|
||||||
|
return info.str();
|
||||||
|
}
|
|
@ -0,0 +1,50 @@
|
||||||
|
//============================================================================
|
||||||
|
//
|
||||||
|
// SSSS tt lll lll
|
||||||
|
// SS SS tt ll ll
|
||||||
|
// SS tttttt eeee ll ll aaaa
|
||||||
|
// SSSS tt ee ee ll ll aa
|
||||||
|
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
|
||||||
|
// SS SS tt ee ll ll aa aa
|
||||||
|
// SSSS ttt eeeee llll llll aaaaa
|
||||||
|
//
|
||||||
|
// Copyright (c) 1995-2024 by Bradford W. Mott, Stephen Anthony
|
||||||
|
// and the Stella Team
|
||||||
|
//
|
||||||
|
// See the file "License.txt" for information on usage and redistribution of
|
||||||
|
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||||
|
//============================================================================
|
||||||
|
|
||||||
|
#ifndef CARTRIDGEJANE_WIDGET_HXX
|
||||||
|
#define CARTRIDGEJANE_WIDGET_HXX
|
||||||
|
|
||||||
|
class CartridgeJANE;
|
||||||
|
|
||||||
|
#include "CartEnhancedWidget.hxx"
|
||||||
|
|
||||||
|
class CartridgeJANEWidget : public CartridgeEnhancedWidget
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CartridgeJANEWidget(GuiObject* boss, const GUI::Font& lfont,
|
||||||
|
const GUI::Font& nfont,
|
||||||
|
int x, int y, int w, int h,
|
||||||
|
CartridgeJANE& cart);
|
||||||
|
~CartridgeJANEWidget() override = default;
|
||||||
|
|
||||||
|
private:
|
||||||
|
string manufacturer() override { return "Coleco"; }
|
||||||
|
|
||||||
|
string description() override;
|
||||||
|
|
||||||
|
string hotspotStr(int bank, int seg = 0, bool prefix = false) override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Following constructors and assignment operators not supported
|
||||||
|
CartridgeJANEWidget() = delete;
|
||||||
|
CartridgeJANEWidget(const CartridgeJANEWidget&) = delete;
|
||||||
|
CartridgeJANEWidget(CartridgeJANEWidget&&) = delete;
|
||||||
|
CartridgeJANEWidget& operator=(const CartridgeJANEWidget&) = delete;
|
||||||
|
CartridgeJANEWidget& operator=(CartridgeJANEWidget&&) = delete;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
|
@ -48,6 +48,7 @@ MODULE_OBJS := \
|
||||||
src/debugger/gui/CartFCWidget.o \
|
src/debugger/gui/CartFCWidget.o \
|
||||||
src/debugger/gui/CartFEWidget.o \
|
src/debugger/gui/CartFEWidget.o \
|
||||||
src/debugger/gui/CartGLWidget.o \
|
src/debugger/gui/CartGLWidget.o \
|
||||||
|
src/debugger/gui/CartJANEWidget.o \
|
||||||
src/debugger/gui/CartMDMWidget.o \
|
src/debugger/gui/CartMDMWidget.o \
|
||||||
src/debugger/gui/CartRamWidget.o \
|
src/debugger/gui/CartRamWidget.o \
|
||||||
src/debugger/gui/CartSBWidget.o \
|
src/debugger/gui/CartSBWidget.o \
|
||||||
|
|
|
@ -121,6 +121,7 @@ Bankswitch::BSList = {{
|
||||||
{ "FC" , "FC (32K Amiga)" },
|
{ "FC" , "FC (32K Amiga)" },
|
||||||
{ "FE" , "FE (8K Activision)" },
|
{ "FE" , "FE (8K Activision)" },
|
||||||
{ "GL" , "GL (GameLine Master Module)" },
|
{ "GL" , "GL (GameLine Master Module)" },
|
||||||
|
{ "JANE" , "JANE (16K Tarzan prototype)" },
|
||||||
{ "MDM" , "MDM (Menu Driven Megacart)" },
|
{ "MDM" , "MDM (Menu Driven Megacart)" },
|
||||||
{ "MVC" , "MVC (Movie Cart)" },
|
{ "MVC" , "MVC (Movie Cart)" },
|
||||||
{ "SB" , "SB (128-256K SUPERbank)" },
|
{ "SB" , "SB (128-256K SUPERbank)" },
|
||||||
|
@ -186,6 +187,7 @@ Bankswitch::Sizes = {{
|
||||||
{ 32_KB, 32_KB }, // _FC
|
{ 32_KB, 32_KB }, // _FC
|
||||||
{ 8_KB, 8_KB }, // _FE
|
{ 8_KB, 8_KB }, // _FE
|
||||||
{ 4_KB, 6_KB }, // _GL
|
{ 4_KB, 6_KB }, // _GL
|
||||||
|
{ 16_KB, 16_KB }, // _JANE
|
||||||
{ 8_KB, Bankswitch::any_KB }, // _MDM
|
{ 8_KB, Bankswitch::any_KB }, // _MDM
|
||||||
{ 1024_KB, Bankswitch::any_KB }, // _MVC
|
{ 1024_KB, Bankswitch::any_KB }, // _MVC
|
||||||
{ 128_KB, 256_KB }, // _SB
|
{ 128_KB, 256_KB }, // _SB
|
||||||
|
@ -279,6 +281,8 @@ Bankswitch::ExtensionMap Bankswitch::ourExtensions = {
|
||||||
{ "FC" , Bankswitch::Type::_FC },
|
{ "FC" , Bankswitch::Type::_FC },
|
||||||
{ "FE" , Bankswitch::Type::_FE },
|
{ "FE" , Bankswitch::Type::_FE },
|
||||||
{ "GL" , Bankswitch::Type::_GL },
|
{ "GL" , Bankswitch::Type::_GL },
|
||||||
|
{ "JAN" , Bankswitch::Type::_JANE },
|
||||||
|
{ "JANE" , Bankswitch::Type::_JANE },
|
||||||
{ "MDM" , Bankswitch::Type::_MDM },
|
{ "MDM" , Bankswitch::Type::_MDM },
|
||||||
{ "MVC" , Bankswitch::Type::_MVC },
|
{ "MVC" , Bankswitch::Type::_MVC },
|
||||||
{ "SB" , Bankswitch::Type::_SB },
|
{ "SB" , Bankswitch::Type::_SB },
|
||||||
|
@ -341,6 +345,7 @@ Bankswitch::NameToTypeMap Bankswitch::ourNameToTypes = {
|
||||||
{ "FC" , Bankswitch::Type::_FC },
|
{ "FC" , Bankswitch::Type::_FC },
|
||||||
{ "FE" , Bankswitch::Type::_FE },
|
{ "FE" , Bankswitch::Type::_FE },
|
||||||
{ "GL" , Bankswitch::Type::_GL },
|
{ "GL" , Bankswitch::Type::_GL },
|
||||||
|
{ "JANE" , Bankswitch::Type::_JANE },
|
||||||
{ "MDM" , Bankswitch::Type::_MDM },
|
{ "MDM" , Bankswitch::Type::_MDM },
|
||||||
{ "MVC" , Bankswitch::Type::_MVC },
|
{ "MVC" , Bankswitch::Type::_MVC },
|
||||||
{ "SB" , Bankswitch::Type::_SB },
|
{ "SB" , Bankswitch::Type::_SB },
|
||||||
|
|
|
@ -43,9 +43,9 @@ class Bankswitch
|
||||||
_4A50, _4K, _4KSC, _AR, _BF, _BFSC, _BUS, _CDF,
|
_4A50, _4K, _4KSC, _AR, _BF, _BFSC, _BUS, _CDF,
|
||||||
_CM, _CTY, _CV, _DF, _DFSC, _DPC, _DPCP, _E0,
|
_CM, _CTY, _CV, _DF, _DFSC, _DPC, _DPCP, _E0,
|
||||||
_E7, _EF, _EFSC, _F0, _F4, _F4SC, _F6, _F6SC,
|
_E7, _EF, _EFSC, _F0, _F4, _F4SC, _F6, _F6SC,
|
||||||
_F8, _F8SC, _FA, _FA2, _FC, _FE, _GL, _MDM,
|
_F8, _F8SC, _FA, _FA2, _FC, _FE, _GL, _JANE,
|
||||||
_MVC, _SB, _TVBOY, _UA, _UASW, _WD, _WDSW, _WF8,
|
_MDM, _MVC, _SB, _TVBOY, _UA, _UASW, _WD, _WDSW,
|
||||||
_X07,
|
_WF8, _X07,
|
||||||
#ifdef CUSTOM_ARM
|
#ifdef CUSTOM_ARM
|
||||||
_CUSTOM,
|
_CUSTOM,
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -56,6 +56,7 @@
|
||||||
#include "CartFC.hxx"
|
#include "CartFC.hxx"
|
||||||
#include "CartFE.hxx"
|
#include "CartFE.hxx"
|
||||||
#include "CartGL.hxx"
|
#include "CartGL.hxx"
|
||||||
|
#include "CartJANE.hxx"
|
||||||
#include "CartMDM.hxx"
|
#include "CartMDM.hxx"
|
||||||
#include "CartMVC.hxx"
|
#include "CartMVC.hxx"
|
||||||
#include "CartSB.hxx"
|
#include "CartSB.hxx"
|
||||||
|
@ -273,6 +274,7 @@ CartCreator::createFromImage(const ByteBuffer& image, size_t size,
|
||||||
case _FC: return make_unique<CartridgeFC>(image, size, md5, settings);
|
case _FC: return make_unique<CartridgeFC>(image, size, md5, settings);
|
||||||
case _FE: return make_unique<CartridgeFE>(image, size, md5, settings, size);
|
case _FE: return make_unique<CartridgeFE>(image, size, md5, settings, size);
|
||||||
case _GL: return make_unique<CartridgeGL>(image, size, md5, settings);
|
case _GL: return make_unique<CartridgeGL>(image, size, md5, settings);
|
||||||
|
case _JANE: return make_unique<CartridgeJANE>(image, size, md5, settings);
|
||||||
case _MDM: return make_unique<CartridgeMDM>(image, size, md5, settings);
|
case _MDM: return make_unique<CartridgeMDM>(image, size, md5, settings);
|
||||||
case _UA: return make_unique<CartridgeUA>(image, size, md5, settings);
|
case _UA: return make_unique<CartridgeUA>(image, size, md5, settings);
|
||||||
case _UASW: return make_unique<CartridgeUA>(image, size, md5, settings, true);
|
case _UASW: return make_unique<CartridgeUA>(image, size, md5, settings, true);
|
||||||
|
|
|
@ -124,6 +124,8 @@ Bankswitch::Type CartDetector::autodetectType(const ByteBuffer& image, size_t si
|
||||||
else if(isProbably3F(image, size))
|
else if(isProbably3F(image, size))
|
||||||
type = Bankswitch::Type::_3F;
|
type = Bankswitch::Type::_3F;
|
||||||
*/
|
*/
|
||||||
|
else if (isProbablyJANE(image, size))
|
||||||
|
type = Bankswitch::Type::_JANE;
|
||||||
else
|
else
|
||||||
type = Bankswitch::Type::_F6;
|
type = Bankswitch::Type::_F6;
|
||||||
}
|
}
|
||||||
|
@ -724,6 +726,14 @@ bool CartDetector::isProbablyFE(const ByteBuffer& image, size_t size)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
bool CartDetector::isProbablyJANE(const ByteBuffer& image, size_t size)
|
||||||
|
{
|
||||||
|
static constexpr uInt8 signature[] = { 0xad, 0xf1, 0xff, 0x60 }; // LDA $0CB8
|
||||||
|
|
||||||
|
return searchForBytes(image, size, signature, sizeof(signature));
|
||||||
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
bool CartDetector::isProbablyGL(const ByteBuffer& image, size_t size)
|
bool CartDetector::isProbablyGL(const ByteBuffer& image, size_t size)
|
||||||
{
|
{
|
||||||
|
|
|
@ -206,6 +206,11 @@ class CartDetector
|
||||||
*/
|
*/
|
||||||
static bool isProbablyFE(const ByteBuffer& image, size_t size);
|
static bool isProbablyFE(const ByteBuffer& image, size_t size);
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns true if the image is probably a JANE cartridge (Tarzan)
|
||||||
|
*/
|
||||||
|
static bool isProbablyJANE(const ByteBuffer& image, size_t size);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Returns true if the image is probably a GameLine cartridge
|
Returns true if the image is probably a GameLine cartridge
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
//============================================================================
|
||||||
|
//
|
||||||
|
// SSSS tt lll lll
|
||||||
|
// SS SS tt ll ll
|
||||||
|
// SS tttttt eeee ll ll aaaa
|
||||||
|
// SSSS tt ee ee ll ll aa
|
||||||
|
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
|
||||||
|
// SS SS tt ee ll ll aa aa
|
||||||
|
// SSSS ttt eeeee llll llll aaaaa
|
||||||
|
//
|
||||||
|
// Copyright (c) 1995-2024 by Bradford W. Mott, Stephen Anthony
|
||||||
|
// and the Stella Team
|
||||||
|
//
|
||||||
|
// See the file "License.txt" for information on usage and redistribution of
|
||||||
|
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||||
|
//============================================================================
|
||||||
|
|
||||||
|
#include "CartJANE.hxx"
|
||||||
|
|
||||||
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
CartridgeJANE::CartridgeJANE(const ByteBuffer& image, size_t size,
|
||||||
|
string_view md5, const Settings& settings,
|
||||||
|
size_t bsSize)
|
||||||
|
: CartridgeEnhanced(image, size, md5, settings, bsSize)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
bool CartridgeJANE::checkSwitchBank(uInt16 address, uInt8)
|
||||||
|
{
|
||||||
|
// Switch banks if necessary
|
||||||
|
switch (address)
|
||||||
|
{
|
||||||
|
case 0x1FF0:
|
||||||
|
// Set the current bank to the 1st 4k bank
|
||||||
|
bank(0);
|
||||||
|
return true;
|
||||||
|
|
||||||
|
case 0x1FF1:
|
||||||
|
// Set the current bank to the 2nd 4k bank
|
||||||
|
bank(1);
|
||||||
|
return true;
|
||||||
|
|
||||||
|
case 0x1FF8:
|
||||||
|
// Set the current bank to the 3rd 4k bank
|
||||||
|
bank(2);
|
||||||
|
return true;
|
||||||
|
|
||||||
|
case 0x1FF9:
|
||||||
|
// Set the current bank to the 4th 4k bank
|
||||||
|
bank(3);
|
||||||
|
return true;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
|
@ -0,0 +1,86 @@
|
||||||
|
//============================================================================
|
||||||
|
//
|
||||||
|
// SSSS tt lll lll
|
||||||
|
// SS SS tt ll ll
|
||||||
|
// SS tttttt eeee ll ll aaaa
|
||||||
|
// SSSS tt ee ee ll ll aa
|
||||||
|
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
|
||||||
|
// SS SS tt ee ll ll aa aa
|
||||||
|
// SSSS ttt eeeee llll llll aaaaa
|
||||||
|
//
|
||||||
|
// Copyright (c) 1995-2024 by Bradford W. Mott, Stephen Anthony
|
||||||
|
// and the Stella Team
|
||||||
|
//
|
||||||
|
// See the file "License.txt" for information on usage and redistribution of
|
||||||
|
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||||
|
//============================================================================
|
||||||
|
|
||||||
|
#ifndef CARTRIDGEJANE_HXX
|
||||||
|
#define CARTRIDGEJANE_HXX
|
||||||
|
|
||||||
|
#include "CartEnhanced.hxx"
|
||||||
|
#ifdef DEBUGGER_SUPPORT
|
||||||
|
#include "CartJANEWidget.hxx"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
Cartridge class used for the Tarzan prototype. There are four 4K banks,
|
||||||
|
accessible by read at $1FF0/1/8/9.
|
||||||
|
|
||||||
|
@author Thomas Jentzsch
|
||||||
|
*/
|
||||||
|
class CartridgeJANE : public CartridgeEnhanced
|
||||||
|
{
|
||||||
|
friend class CartridgeJANEWidget;
|
||||||
|
|
||||||
|
public:
|
||||||
|
/**
|
||||||
|
Create a new cartridge using the specified image
|
||||||
|
|
||||||
|
@param image Pointer to the ROM image
|
||||||
|
@param size The size of the ROM image
|
||||||
|
@param md5 The md5sum of the ROM image
|
||||||
|
@param settings A reference to the various settings (read-only)
|
||||||
|
@param bsSize The size specified by the bankswitching scheme
|
||||||
|
*/
|
||||||
|
CartridgeJANE(const ByteBuffer& image, size_t size, string_view md5,
|
||||||
|
const Settings& settings, size_t bsSize = 16_KB);
|
||||||
|
~CartridgeJANE() override = default;
|
||||||
|
|
||||||
|
public:
|
||||||
|
/**
|
||||||
|
Get a descriptor for the device name (used in error checking).
|
||||||
|
|
||||||
|
@return The name of the object
|
||||||
|
*/
|
||||||
|
string name() const override { return "CartridgeJANE"; }
|
||||||
|
|
||||||
|
#ifdef DEBUGGER_SUPPORT
|
||||||
|
/**
|
||||||
|
Get debugger widget responsible for accessing the inner workings
|
||||||
|
of the cart.
|
||||||
|
*/
|
||||||
|
CartDebugWidget* debugWidget(GuiObject* boss, const GUI::Font& lfont,
|
||||||
|
const GUI::Font& nfont, int x, int y, int w, int h) override
|
||||||
|
{
|
||||||
|
return new CartridgeJANEWidget(boss, lfont, nfont, x, y, w, h, *this);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
private:
|
||||||
|
bool checkSwitchBank(uInt16 address, uInt8 value) override;
|
||||||
|
|
||||||
|
uInt16 hotspot() const override { return 0x1FF0; }
|
||||||
|
|
||||||
|
uInt16 getStartBank() const override { return 1; }
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Following constructors and assignment operators not supported
|
||||||
|
CartridgeJANE() = delete;
|
||||||
|
CartridgeJANE(const CartridgeJANE&) = delete;
|
||||||
|
CartridgeJANE(CartridgeJANE&&) = delete;
|
||||||
|
CartridgeJANE& operator=(const CartridgeJANE&) = delete;
|
||||||
|
CartridgeJANE& operator=(CartridgeJANE&&) = delete;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
|
@ -48,6 +48,7 @@ MODULE_OBJS := \
|
||||||
src/emucore/CartFC.o \
|
src/emucore/CartFC.o \
|
||||||
src/emucore/CartFE.o \
|
src/emucore/CartFE.o \
|
||||||
src/emucore/CartGL.o \
|
src/emucore/CartGL.o \
|
||||||
|
src/emucore/CartJANE.o \
|
||||||
src/emucore/CartMDM.o \
|
src/emucore/CartMDM.o \
|
||||||
src/emucore/CartMVC.o \
|
src/emucore/CartMVC.o \
|
||||||
src/emucore/CartSB.o \
|
src/emucore/CartSB.o \
|
||||||
|
|
|
@ -586,6 +586,7 @@
|
||||||
<ClCompile Include="..\..\debugger\gui\CartGLWidget.cxx">
|
<ClCompile Include="..\..\debugger\gui\CartGLWidget.cxx">
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-NoDebugger|x64'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-NoDebugger|x64'">true</ExcludedFromBuild>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\debugger\gui\CartJANEWidget.cxx" />
|
||||||
<ClCompile Include="..\..\debugger\gui\CartMDMWidget.cxx">
|
<ClCompile Include="..\..\debugger\gui\CartMDMWidget.cxx">
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-NoDebugger|x64'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-NoDebugger|x64'">true</ExcludedFromBuild>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
@ -681,6 +682,7 @@
|
||||||
<ClCompile Include="..\..\emucore\CartFA2.cxx" />
|
<ClCompile Include="..\..\emucore\CartFA2.cxx" />
|
||||||
<ClCompile Include="..\..\emucore\CartFC.cxx" />
|
<ClCompile Include="..\..\emucore\CartFC.cxx" />
|
||||||
<ClCompile Include="..\..\emucore\CartGL.cxx" />
|
<ClCompile Include="..\..\emucore\CartGL.cxx" />
|
||||||
|
<ClCompile Include="..\..\emucore\CartJANE.cxx" />
|
||||||
<ClCompile Include="..\..\emucore\CartMDM.cxx" />
|
<ClCompile Include="..\..\emucore\CartMDM.cxx" />
|
||||||
<ClCompile Include="..\..\emucore\CartMVC.cxx" />
|
<ClCompile Include="..\..\emucore\CartMVC.cxx" />
|
||||||
<ClCompile Include="..\..\emucore\CartTVBoy.cxx" />
|
<ClCompile Include="..\..\emucore\CartTVBoy.cxx" />
|
||||||
|
@ -1546,6 +1548,7 @@
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-NoDebugger|x64'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-NoDebugger|x64'">true</ExcludedFromBuild>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\..\debugger\gui\CartGLWidget.hxx" />
|
<ClInclude Include="..\..\debugger\gui\CartGLWidget.hxx" />
|
||||||
|
<ClInclude Include="..\..\debugger\gui\CartJANEWidget.hxx" />
|
||||||
<ClInclude Include="..\..\debugger\gui\CartMDMWidget.hxx">
|
<ClInclude Include="..\..\debugger\gui\CartMDMWidget.hxx">
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-NoDebugger|x64'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-NoDebugger|x64'">true</ExcludedFromBuild>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
@ -1645,6 +1648,7 @@
|
||||||
<ClInclude Include="..\..\emucore\CartFA2.hxx" />
|
<ClInclude Include="..\..\emucore\CartFA2.hxx" />
|
||||||
<ClInclude Include="..\..\emucore\CartFC.hxx" />
|
<ClInclude Include="..\..\emucore\CartFC.hxx" />
|
||||||
<ClInclude Include="..\..\emucore\CartGL.hxx" />
|
<ClInclude Include="..\..\emucore\CartGL.hxx" />
|
||||||
|
<ClInclude Include="..\..\emucore\CartJANE.hxx" />
|
||||||
<ClInclude Include="..\..\emucore\CartMDM.hxx" />
|
<ClInclude Include="..\..\emucore\CartMDM.hxx" />
|
||||||
<ClInclude Include="..\..\emucore\CartMVC.hxx" />
|
<ClInclude Include="..\..\emucore\CartMVC.hxx" />
|
||||||
<ClInclude Include="..\..\emucore\CartTVBoy.hxx" />
|
<ClInclude Include="..\..\emucore\CartTVBoy.hxx" />
|
||||||
|
|
|
@ -1230,6 +1230,12 @@
|
||||||
<ClCompile Include="..\..\debugger\gui\CartWF8Widget.cxx">
|
<ClCompile Include="..\..\debugger\gui\CartWF8Widget.cxx">
|
||||||
<Filter>Source Files\debugger\gui</Filter>
|
<Filter>Source Files\debugger\gui</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\emucore\CartJANE.cxx">
|
||||||
|
<Filter>Source Files\emucore</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\debugger\gui\CartJANEWidget.cxx">
|
||||||
|
<Filter>Source Files\debugger\gui</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\emucore\AtariVox.hxx">
|
<ClInclude Include="..\..\emucore\AtariVox.hxx">
|
||||||
|
@ -2489,15 +2495,18 @@
|
||||||
<ClInclude Include="Windows.hxx">
|
<ClInclude Include="Windows.hxx">
|
||||||
<Filter>Header Files\os</Filter>
|
<Filter>Header Files\os</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\..\common\md5type.hxx">
|
|
||||||
<Filter>Header Files\common</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\..\emucore\CartWF8.hxx">
|
<ClInclude Include="..\..\emucore\CartWF8.hxx">
|
||||||
<Filter>Header Files\emucore</Filter>
|
<Filter>Header Files\emucore</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\..\debugger\gui\CartWF8Widget.hxx">
|
<ClInclude Include="..\..\debugger\gui\CartWF8Widget.hxx">
|
||||||
<Filter>Header Files\debugger\gui</Filter>
|
<Filter>Header Files\debugger\gui</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\emucore\CartJANE.hxx">
|
||||||
|
<Filter>Header Files\emucore</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\debugger\gui\CartJANEWidget.hxx">
|
||||||
|
<Filter>Header Files\debugger\gui</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="stella.ico">
|
<None Include="stella.ico">
|
||||||
|
|
Loading…
Reference in New Issue