#pragma once #include "../ioport.hpp" namespace JabyEngine { namespace SPU_IO_Values { __declare_io_value(ControlRegister, uint16_t) { enum RAMTransferMode { Stop = 0, ManualWrite = 1, DMAWrite = 2, DMARead = 3 }; static constexpr auto Enable = Bit(15); static constexpr auto Unmute = Bit(14); static constexpr auto NoiseFrequcenyShift = BitRange::from_to(10, 13); static constexpr auto NoiseFrequcenyStep = BitRange::from_to(8, 9); static constexpr auto ReverbMasterEnable = Bit(7); static constexpr auto IRQ9Enable = Bit(6); static constexpr auto TransferMode = BitRange::from_to(4, 5); static constexpr auto ExternalAudioReverb = Bit(3); static constexpr auto CDAudioReverb = Bit(2); static constexpr auto ExternalAudioEnable = Bit(1); static constexpr auto CDAudioEnable = Bit(0); }; __declare_io_value(SRAM_Adr, uint16_t) {}; } }