19class FinalIII final :
public Cartridge {
21 CartridgeTraits traits = {
23 .type = CRT_FINAL_III,
24 .title =
"Final Cartridge III",
31 virtual const CartridgeTraits &getCartridgeTraits()
const override {
return traits; }
34 bool freeezeButtonIsPressed =
false;
50 using Cartridge::Cartridge;
51 void resetCartConfig()
override;
60 void _dump(Category category, std::ostream& os)
const override;
69 FinalIII& operator= (
const FinalIII& other) {
71 Cartridge::operator=(other);
74 CLONE(freeezeButtonIsPressed)
78 virtual void clone(
const Cartridge &other)
override { *
this = (
const FinalIII &)other; }
81 void serialize(T& worker)
87 if (isResetter(worker))
return;
91 << freeezeButtonIsPressed;
93 } CARTRIDGE_SERIALIZERS(serialize);
95 void _reset(
bool hard)
override;
104 u8 peekIO1(u16 addr)
override;
105 u8 spypeekIO1(u16 addr)
const override;
106 u8 peekIO2(u16 addr)
override;
107 u8 spypeekIO2(u16 addr)
const override;
108 void pokeIO2(u16 addr, u8 value)
override;
109 void nmiDidTrigger()
override;
118 void setControlReg(u8 value);
119 bool hidden()
const {
return (control & 0x80) != 0; }
120 bool nmi()
const {
return (control & 0x40) != 0; }
121 bool game()
const {
return (control & 0x20) != 0; }
122 bool exrom()
const {
return (control & 0x10) != 0; }
123 u8 bank()
const {
return (control & 0x03); }
128 bool writeEnabled()
const;
145 isize numButtons()
const override {
return 2; }
146 const char *getButtonTitle(isize nr)
const override;
147 void pressButton(isize nr)
override;
148 void releaseButton(isize nr)
override;
VirtualC64 project namespace.
Definition CmdQueue.cpp:16