SensorKid.hh 683 B

123456789101112131415161718192021222324252627282930313233343536
  1. #ifndef SENSORKID_HH
  2. #define SENSORKID_HH
  3. #include "MSXDevice.hh"
  4. #include "TclCallback.hh"
  5. namespace openmsx {
  6. class SensorKid final : public MSXDevice
  7. {
  8. public:
  9. explicit SensorKid(const DeviceConfig& config);
  10. void reset(EmuTime::param time) override;
  11. void writeIO(word port, byte value, EmuTime::param time) override;
  12. byte readIO(word port, EmuTime::param time) override;
  13. template<typename Archive>
  14. void serialize(Archive& ar, unsigned version);
  15. private:
  16. void putPort(byte data, byte diff);
  17. byte getAnalog(byte chi);
  18. TclCallback portStatusCallback;
  19. TclCallback acquireCallback;
  20. byte prev;
  21. byte mb4052_ana;
  22. byte mb4052_count;
  23. };
  24. } // namespace openmsx
  25. #endif