--- nono/vm/pio.h 2026/04/29 17:05:10 1.1.1.9 +++ nono/vm/pio.h 2026/04/29 17:05:14 1.1.1.10 @@ -10,7 +10,7 @@ #pragma once -#include "event.h" +#include "device.h" #include "monitor.h" // Intel 82C55 の仕様書にはコントロールポートからの読み出しは明記してある。 @@ -67,6 +67,9 @@ class PPIDevice : public i8255Device PPIDevice(); virtual ~PPIDevice() override; + // ADPCM のサンプリングレートの 2bit を取得する + uint8 GetADPCMRate() const { return adpcm_rate; } + protected: // BusIO インタフェース static const uint32 NPORT = 4; @@ -76,6 +79,10 @@ class PPIDevice : public i8255Device private: void SetPC(int, int) override; + + bool pan_left {}; + bool pan_right {}; + uint adpcm_rate {}; }; class PIO0Device : public i8255Device @@ -136,13 +143,9 @@ class PIO1Device : public i8255Device private: void SetPC(int, int) override; - void PowerOffCallback(Event& ev); bool power {}; // パワーダウン (false で電源オフ指示) bool xp_intreq {}; // XP 割り込み要求。あり(true)なら %0 - - // 電源オフイベント - Event poffevent { this }; }; extern PPIDevice *gPPI;