123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- // $Id:$
- #ifndef SVIPRINTERPORT_HH
- #define SVIPRINTERPORT_HH
- #include "MSXDevice.hh"
- #include "Connector.hh"
- namespace openmsx {
- class PrinterPortDevice;
- class SVIPrinterPort final : public MSXDevice, public Connector
- {
- public:
- SVIPrinterPort(const DeviceConfig& config);
- PrinterPortDevice& getPluggedPrintDev() const;
- // MSXDevice
- void reset(EmuTime::param time) override;
- byte readIO(word port, EmuTime::param time) override;
- byte peekIO(word port, EmuTime::param time) const override;
- void writeIO(word port, byte value, EmuTime::param time) override;
- // Connector
- const std::string getDescription() const override;
- string_view getClass() const override;
- void plug(Pluggable& dev, EmuTime::param time) override;
- template<typename Archive>
- void serialize(Archive& ar, unsigned version);
- private:
- void setStrobe(bool newStrobe, EmuTime::param time);
- void writeData(byte newData, EmuTime::param time);
- bool strobe;
- byte data;
- };
- } // namespace openmsx
- #endif
|