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 CHEETAH_CHEAT_HXX
19#define CHEETAH_CHEAT_HXX
20
21#include "Cheat.hxx"
22
23class CheetahCheat : public Cheat
24{
25 public:
26 CheetahCheat(OSystem& os, const string& name, const string& code);
27 virtual ~CheetahCheat() = default;
28
29 bool enable() override;
30 bool disable() override;
31 void evaluate() override;
32
33 private:
34 std::array<uInt8, 16> savedRom;
35 uInt16 address;
36 uInt8 value;
37 uInt8 count;
38
39 private:
40 // Following constructors and assignment operators not supported
41 CheetahCheat() = delete;
42 CheetahCheat(const CheetahCheat&) = delete;
43 CheetahCheat(CheetahCheat&&) = delete;
44 CheetahCheat& operator=(const CheetahCheat&) = delete;
45 CheetahCheat& operator=(CheetahCheat&&) = delete;
46};
47
48#endif
49