|
|
1.1 ! root 1: // ! 2: // nono ! 3: // Copyright (C) 2021 nono project ! 4: // Licensed under nono-license.txt ! 5: // ! 6: ! 7: // ! 8: // ABORT/INTERRUPT スイッチによる NMI 機構デバイス ! 9: // ! 10: ! 11: #pragma once ! 12: ! 13: #include "device.h" ! 14: #include "message.h" ! 15: #include "event.h" ! 16: ! 17: class NMIDevice : public Device ! 18: { ! 19: using inherited = Device; ! 20: public: ! 21: NMIDevice(); ! 22: ~NMIDevice() override; ! 23: ! 24: bool Init() override; ! 25: ! 26: // NMI ボタンを押す ! 27: void PressNMI(); ! 28: ! 29: // NMI 信号線をアサートする ! 30: void AssertNMI(); ! 31: ! 32: // NMI 信号線をネゲートする ! 33: void NegateNMI(); ! 34: ! 35: private: ! 36: void AssertCallback(MessageID, uint32); ! 37: void NegateCallback(Event& ev); ! 38: ! 39: Event event { this }; ! 40: }; ! 41: ! 42: extern NMIDevice *gNMI;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.