1//============================================================================
2//
3// SSSS tt lll lll
4// SS SS tt ll ll
5// SS tttttt eeee ll ll aaaa
6// SSSS tt ee ee ll ll aa
7// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
8// SS SS tt ee ll ll aa aa
9// SSSS ttt eeeee llll llll aaaaa
10//
11// Copyright (c) 1995-2019 by Bradford W. Mott, Stephen Anthony
12// and the Stella Team
13//
14// See the file "License.txt" for information on usage and redistribution of
15// this file, and for a DISCLAIMER OF ALL WARRANTIES.
16//============================================================================
17
18#ifndef CARTRIDGE4KSC_WIDGET_HXX
19#define CARTRIDGE4KSC_WIDGET_HXX
20
21class Cartridge4KSC;
22
23#include "CartDebugWidget.hxx"
24
25class Cartridge4KSCWidget : public CartDebugWidget
26{
27 public:
28 Cartridge4KSCWidget(GuiObject* boss, const GUI::Font& lfont,
29 const GUI::Font& nfont,
30 int x, int y, int w, int h,
31 Cartridge4KSC& cart);
32 virtual ~Cartridge4KSCWidget() = default;
33
34 private:
35 Cartridge4KSC& myCart;
36 struct CartState {
37 ByteArray internalram;
38 };
39 CartState myOldState;
40
41 private:
42 // No implementation for non-bankswitched ROMs
43 void loadConfig() override { }
44 void handleCommand(CommandSender* sender, int cmd, int data, int id) override { }
45
46 void saveOldState() override;
47
48 // start of functions for Cartridge RAM tab
49 uInt32 internalRamSize() override;
50 uInt32 internalRamRPort(int start) override;
51 string internalRamDescription() override;
52 const ByteArray& internalRamOld(int start, int count) override;
53 const ByteArray& internalRamCurrent(int start, int count) override;
54 void internalRamSetValue(int addr, uInt8 value) override;
55 uInt8 internalRamGetValue(int addr) override;
56 string internalRamLabel(int addr) override;
57 // end of functions for Cartridge RAM tab
58
59 // Following constructors and assignment operators not supported
60 Cartridge4KSCWidget() = delete;
61 Cartridge4KSCWidget(const Cartridge4KSCWidget&) = delete;
62 Cartridge4KSCWidget(Cartridge4KSCWidget&&) = delete;
63 Cartridge4KSCWidget& operator=(const Cartridge4KSCWidget&) = delete;
64 Cartridge4KSCWidget& operator=(Cartridge4KSCWidget&&) = delete;
65};
66
67#endif
68