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-2021 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 23 class CheetahCheat : public Cheat 24 { 25 public: 26 CheetahCheat(OSystem& os, const string& name, const string& code); 27 ~CheetahCheat() override = 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{0}; 36 uInt8 value{0}; 37 uInt8 count{0}; 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