Update more converted IO

This commit is contained in:
2024-09-29 16:05:52 +02:00
parent 9620b0ec41
commit 5bafe78ab5
7 changed files with 36 additions and 42 deletions

View File

@@ -3,8 +3,6 @@
namespace JabyEngine {
namespace GPU_IO {
using namespace GPU_IO_Values;
struct GP0IO : public IOPort<GPU_IO_Values::GP0> {
void clear_cache() {
this->write(GPU_IO_Values::GP0::ClearCache());

View File

@@ -3,23 +3,21 @@
namespace JabyEngine {
namespace Periphery_IO {
namespace Value = Periphery_IO_Values;
struct JOY_STAT_IO : public IOPort<Value::JOY_STAT> {
struct JOY_STAT_IO : public IOPort<Periphery_IO_Values::JOY_STAT> {
inline bool has_response() const {
return this->read().is_set(Value::JOY_STAT::RXFifoNonEmpty);
return this->read().is_set(Periphery_IO_Values::JOY_STAT::RXFifoNonEmpty);
}
inline bool is_ready_transfer() const {
return this->read().is_set(Value::JOY_STAT::TXReadyFinished);
return this->read().is_set(Periphery_IO_Values::JOY_STAT::TXReadyFinished);
}
};
using JOY_BAUD_IO = IOPort<Value::JOY_BAUD>;
using JOY_CTRL_IO = IOPort<Value::JOY_CTRL>;
using JOY_MODE_IO = IOPort<Value::JOY_MODE>;
using JOY_RX_DATA_IO = IOPort<Value::JOY_RX_DATA>;
using JOY_TX_DATA_IO = IOPort<Value::JOY_TX_DATA>;
using JOY_BAUD_IO = IOPort<Periphery_IO_Values::JOY_BAUD>;
using JOY_CTRL_IO = IOPort<Periphery_IO_Values::JOY_CTRL>;
using JOY_MODE_IO = IOPort<Periphery_IO_Values::JOY_MODE>;
using JOY_RX_DATA_IO = IOPort<Periphery_IO_Values::JOY_RX_DATA>;
using JOY_TX_DATA_IO = IOPort<Periphery_IO_Values::JOY_TX_DATA>;
static auto& JOY_TX_DATA = __new_declare_io_port(JOY_TX_DATA_IO, 0x1F801040);
static const auto& JOY_RX_DATA = __new_declare_io_port(JOY_RX_DATA_IO, 0x1F801040);

View File

@@ -4,12 +4,10 @@
namespace JabyEngine {
namespace SPU_IO {
namespace Value = SPU_IO_Values;
static constexpr size_t VoiceCount = 24;
static constexpr size_t ReverbCount = 1;
struct ControlRegisterIO : public IOPort<Value::ControlRegister> {
struct ControlRegisterIO : public IOPort<SPU_IO_Values::ControlRegister> {
using TransferMode = Value::RAMTransferMode;
void set_transfer_mode(TransferMode mode) {
@@ -18,20 +16,20 @@ namespace JabyEngine {
}
};
using ADIO = IOPort<Value::AD>;
using DataTransferControlIO = IOPort<Value::DataTransferControl>;
using EchoIO = IOPort32<Value::Echo>;
using KeyOffIO = IOPort32<Value::KeyOff>;
using KeyOnIO = IOPort32<Value::KeyOn>;
using KeyStatusIO = IOPort32<Value::KeyStatus>;
using NoiseIO = IOPort<Value::Noise>;
using PitchModulationIO = IOPort32<Value::PitchModulation>;
using SampleRateIO = IOPort<Value::SampleRate>;
using SimpleVolumeIO = IOPort<Value::SimpleVolume>;
using StatusRegisterIO = IOPort<Value::StatusRegister>;
using SRIO = IOPort<Value::SR>;
using SRAMAdrIO = IOPort<Value::SRAMAdr>;
using SweepVolumeIO = IOPort<Value::SweepVolume>;
using ADIO = IOPort<SPU_IO_Values::AD>;
using DataTransferControlIO = IOPort<SPU_IO_Values::DataTransferControl>;
using EchoIO = IOPort32<SPU_IO_Values::Echo>;
using KeyOffIO = IOPort32<SPU_IO_Values::KeyOff>;
using KeyOnIO = IOPort32<SPU_IO_Values::KeyOn>;
using KeyStatusIO = IOPort32<SPU_IO_Values::KeyStatus>;
using NoiseIO = IOPort<SPU_IO_Values::Noise>;
using PitchModulationIO = IOPort32<SPU_IO_Values::PitchModulation>;
using SampleRateIO = IOPort<SPU_IO_Values::SampleRate>;
using SimpleVolumeIO = IOPort<SPU_IO_Values::SimpleVolume>;
using StatusRegisterIO = IOPort<SPU_IO_Values::StatusRegister>;
using SRIO = IOPort<SPU_IO_Values::SR>;
using SRAMAdrIO = IOPort<SPU_IO_Values::SRAMAdr>;
using SweepVolumeIO = IOPort<SPU_IO_Values::SweepVolume>;
#pragma pack(push, 1)
struct Voice {