diff --git a/Machines/CRTMachine.hpp b/Machines/CRTMachine.hpp index 9cc2f869f..0a192a3c7 100644 --- a/Machines/CRTMachine.hpp +++ b/Machines/CRTMachine.hpp @@ -23,12 +23,25 @@ class Machine { public: Machine() : clock_is_unlimited_(false) {} + /*! + Causes the machine to set up its CRT and, if it has one, speaker. The caller guarantees + that an OpenGL context is bound. + */ virtual void setup_output(float aspect_ratio) = 0; + + /*! + Gives the machine a chance to release all owned resources. The caller guarantees that the + OpenGL context is bound. + */ virtual void close_output() = 0; + /// @returns The CRT this machine is drawing to. Should not be @c nullptr. virtual std::shared_ptr get_crt() = 0; + + /// @returns The speaker that receives this machine's output, or @c nullptr if this machine is mute. virtual std::shared_ptr get_speaker() = 0; + /// Runs the machine for @c number_of_cycle cycles. virtual void run_for_cycles(int number_of_cycles) = 0; // TODO: sever the clock-rate stuff.