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 RIOT_RAM_WIDGET_HXX
19#define RIOT_RAM_WIDGET_HXX
20
21class GuiObject;
22class InputTextDialog;
23class ButtonWidget;
24class DataGridWidget;
25class DataGridOpsWidget;
26class EditTextWidget;
27class StaticTextWidget;
28class CartDebug;
29
30#include "RamWidget.hxx"
31
32class RiotRamWidget : public RamWidget
33{
34 public:
35 RiotRamWidget(GuiObject* boss, const GUI::Font& lfont, const GUI::Font& nfont,
36 int x, int y, int w);
37 virtual ~RiotRamWidget() = default;
38
39 private:
40 uInt8 getValue(int addr) const override;
41 void setValue(int addr, uInt8 value) override;
42 string getLabel(int addr) const override;
43
44 void fillList(uInt32 start, uInt32 size, IntArray& alist,
45 IntArray& vlist, BoolArray& changed) const override;
46 uInt32 readPort(uInt32 start) const override;
47 const ByteArray& currentRam(uInt32 start) const override;
48
49 private:
50 CartDebug& myDbg;
51
52 private:
53 // Following constructors and assignment operators not supported
54 RiotRamWidget() = delete;
55 RiotRamWidget(const RiotRamWidget&) = delete;
56 RiotRamWidget(RiotRamWidget&&) = delete;
57 RiotRamWidget& operator=(const RiotRamWidget&) = delete;
58 RiotRamWidget& operator=(RiotRamWidget&&) = delete;
59};
60
61#endif
62