Improve readability of code slightly

This commit is contained in:
2023-03-21 21:51:56 +01:00
parent 8e883ad1d1
commit 550d657478
11 changed files with 127 additions and 117 deletions

View File

@@ -14,12 +14,12 @@ namespace JabyEngine {
#ifdef JABYENGINE_PAL
static constexpr uint16_t FirstVisiblePixelV = 0xA3;
GPU_IO::GP1 = *GPU_IO::Command::DisplayMode(GPU_IO::DisplayMode_t::PAL());
GPU_IO::GP1 = GPU_IO::Command::DisplayMode(GPU_IO::DisplayMode_t::PAL());
GPU::Screen::set_offset(0, 0);
#else
static constexpr uint16_t FirstVisiblePixelV = 0x88;
GPU_IO::GP1 = *GPU_IO::Command::DisplayMode(GPU_IO::DisplayMode_t::NTSC());
GPU_IO::GP1 = GPU_IO::Command::DisplayMode(GPU_IO::DisplayMode_t::NTSC());
GPU::Screen::set_offset(0, 5); //< Random values
#endif
}
@@ -28,18 +28,18 @@ namespace JabyEngine {
};
static void set_draw_area(uint16_t x, uint16_t y) {
GPU_IO::GP0 = *GPU_IO::Command::DrawAreaTopLeft(x, y);
GPU_IO::GP0 = *GPU_IO::Command::DrawAreaBottomRight((x + Display::Width), (y + Display::Height));
GPU_IO::GP0 = GPU_IO::Command::DrawAreaTopLeft(x, y);
GPU_IO::GP0 = GPU_IO::Command::DrawAreaBottomRight((x + Display::Width), (y + Display::Height));
}
static void quick_fill_fast(const Color24& color, const PositionU16& pos, const SizeU16& size) {
GPU_IO::GP0 = *GPU_IO::Command::QuickFill(color);
GPU_IO::GP0 = *GPU_IO::Command::TopLeftPosition(pos.x, pos.y);
GPU_IO::GP0 = *GPU_IO::Command::WidthHeight(size.width, size.height);
GPU_IO::GP0 = GPU_IO::Command::QuickFill(color);
GPU_IO::GP0 = GPU_IO::Command::TopLeftPosition(pos.x, pos.y);
GPU_IO::GP0 = GPU_IO::Command::WidthHeight(size.width, size.height);
}
static void reset_cmd_buffer() {
GPU_IO::GP1 = *GPU_IO::Command::ResetCMDBufer();
GPU_IO::GP1 = GPU_IO::Command::ResetCMDBufer();
}
static void wait_ready_for_CMD() {
@@ -57,7 +57,7 @@ namespace JabyEngine {
namespace Receive {
static void prepare() {
GPU_IO::GP1 = *GPU_IO::Command::DMADirection(GPU_IO::DMADirection::CPU2GPU);
GPU_IO::GP1 = GPU_IO::Command::DMADirection(GPU_IO::DMADirection::CPU2GPU);
reset_cmd_buffer();
}
@@ -67,16 +67,16 @@ namespace JabyEngine {
static void set_dst(const PositionU16& position, const SizeU16& size) {
wait_ready_for_CMD();
GPU_IO::GP0 = *GPU_IO::Command::CPU2VRAM_Blitting();
GPU_IO::GP0 = *GPU_IO::Command::TopLeftPosition(position.x, position.y);
GPU_IO::GP0 = *GPU_IO::Command::WidthHeight(size.width, size.height);
GPU_IO::GP0 = GPU_IO::Command::CPU2VRAM_Blitting();
GPU_IO::GP0 = GPU_IO::Command::TopLeftPosition(position.x, position.y);
GPU_IO::GP0 = GPU_IO::Command::WidthHeight(size.width, size.height);
}
static void start(uint16_t blockCount, uint16_t wordsPerBlock = 0x10) {
typedef DMA_IO::BCR_t::SyncMode1 SyncMode1;
DMA_IO::GPU.block_ctrl = *DMA_IO::BCR_t::from(SyncMode1::BlockSize.with(wordsPerBlock), SyncMode1::BlockAmount.with(blockCount));
DMA_IO::GPU.channel_ctrl = *DMA_IO::CHCHR_t::StartGPUReceive();
DMA_IO::GPU.block_ctrl = DMA_IO::BCR_t::from(SyncMode1::BlockSize.with(wordsPerBlock), SyncMode1::BlockAmount.with(blockCount));
DMA_IO::GPU.channel_ctrl = DMA_IO::CHCHR_t::StartGPUReceive();
}
}
}

View File

@@ -49,7 +49,7 @@ namespace JabyEngine {
}
void setup() {
GPU_IO::GP1 = *GPU_IO::Command::Reset();
GPU_IO::GP1 = GPU_IO::Command::Reset();
internal::Screen::configurate();
internal::Screen::exchange_buffer_and_display();

View File

@@ -11,8 +11,8 @@ namespace JabyEngine {
static void clear_main_volume() {
static constexpr auto StartVol = SweepVolume_t::from(SweepVolume_t::VolumeEnable, SweepVolume_t::Volume.with(static_cast<int16_t>(I16_MAX >> 2)));
MainVolume::Left = *StartVol;
MainVolume::Right = *StartVol;
MainVolume::Left = StartVol;
MainVolume::Right = StartVol;
}
static void clear_cd_and_ext_audio_volume() {
@@ -29,11 +29,11 @@ namespace JabyEngine {
static void clear_voice() {
for(auto& voice : SPU_IO::Voice) {
voice.volumeLeft = *SweepVolume_t();
voice.volumeRight = *SweepVolume_t();
voice.sampleRate = *SampleRate_t();
voice.ad = *AD_t();
voice.sr = *SR_t();
voice.volumeLeft = SweepVolume_t();
voice.volumeRight = SweepVolume_t();
voice.sampleRate = SampleRate_t();
voice.ad = AD_t();
voice.sr = SR_t();
voice.currentVolume = 0;
voice.adr = 0x200;
@@ -42,12 +42,12 @@ namespace JabyEngine {
}
static void clear_pmon() {
SPU_IO::PMON = *PMON_t();
SPU_IO::PMON = PMON_t();
}
static void clear_noise_and_echo() {
SPU_IO::NON = *NON_t();
SPU_IO::EON = *EON_t();
SPU_IO::NON = NON_t();
SPU_IO::EON = EON_t();
}
static void clear_reverb() {
@@ -59,7 +59,7 @@ namespace JabyEngine {
static void setup_control_register() {
static constexpr auto SetupValue = ControlRegister_t::from(ControlRegister_t::Enable, ControlRegister_t::Unmute, ControlRegister_t::CDAudioEnable);
SPU_IO::ControlRegister = *SetupValue;
SPU_IO::ControlRegister = SetupValue;
}
static void setup_data_transfer_control() {

View File

@@ -9,8 +9,8 @@ namespace JabyEngine {
namespace boot {
namespace Start {
static void enable_DMA() {
const auto dpcr = DMA_IO::DPCR_t(*DMA_IO::DPCR).set(DMA_IO::DPCR_t::SPUEnable).set(DMA_IO::DPCR_t::GPUEnable);
DMA_IO::DPCR = *dpcr;
const auto dpcr = DMA_IO::DPCR_t(DMA_IO::DPCR).set(DMA_IO::DPCR_t::SPUEnable).set(DMA_IO::DPCR_t::GPUEnable);
DMA_IO::DPCR = dpcr;
}
JabyEngine::NextRoutine setup() {

View File

@@ -31,7 +31,7 @@ namespace JabyEngine {
};
if(Interrupt::is_irq(Interrupt::CDROM)) {
const uint8_t old_idx = (*CD_IO::IndexStatus & 0x3);
const uint8_t old_idx = (CD_IO::IndexStatus & 0x3);
CD_IO::PortIndex1::change_to();
const auto cur_irq = CD_IO::Interrupt::get_type(CD_IO::PortIndex1::InterruptFlag);

View File

@@ -16,7 +16,7 @@ namespace JabyEngine {
void Screen :: exchange_buffer_and_display() {
GPU::internal::set_draw_area(0, (Display::Height*PublicScreenClass::CurrentDisplayAreaID));
PublicScreenClass::CurrentDisplayAreaID ^= 1;
GPU_IO::GP1 = *GPU_IO::Command::DisplayArea(0, (Display::Height*PublicScreenClass::CurrentDisplayAreaID));
GPU_IO::GP1 = GPU_IO::Command::DisplayArea(0, (Display::Height*PublicScreenClass::CurrentDisplayAreaID));
}
}
@@ -25,13 +25,13 @@ namespace JabyEngine {
x += 78;
y += 43;
GPU_IO::GP1 = *GPU_IO::Command::HorizontalDisplayRange((x << 3), (x + Display::Width) << 3);
GPU_IO::GP1 = *GPU_IO::Command::VerticalDisplayRange(y, y + Display::Height);
GPU_IO::GP1 = GPU_IO::Command::HorizontalDisplayRange((x << 3), (x + Display::Width) << 3);
GPU_IO::GP1 = GPU_IO::Command::VerticalDisplayRange(y, y + Display::Height);
}
#else
void Screen :: set_offset(uint16_t x, uint16_t y) {
GPU_IO::GP1 = *GPU_IO::Command::HorizontalDisplayRange(x, (x + Display::Width*8));
GPU_IO::GP1 = *GPU_IO::Command::VerticalDisplayRange(y - (ScanlinesV/2), y + (ScanlinesV/2));
GPU_IO::GP1 = GPU_IO::Command::HorizontalDisplayRange(x, (x + Display::Width*8));
GPU_IO::GP1 = GPU_IO::Command::VerticalDisplayRange(y - (ScanlinesV/2), y + (ScanlinesV/2));
}
#endif //USE_NO$PSX
}