|
|
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.