jabyengine/include/PSX/GPU/gpu.hpp

40 lines
1.2 KiB
C++

#ifndef __JABYENGINE_GPU_HPP__
#define __JABYENGINE_GPU_HPP__
#include "../System/IOPorts/gpu_io.hpp"
#if !defined(JABYENGINE_NTSC) && !defined(JABYENGINE_PAL)
#error "JABYENGINE_NTSC or JABYENGINE_PAL must be defined"
#else
#if defined(JABYENGINE_NTSC) && defined(JABYENGINE_PAL)
#error "Please define only JABYENGINE_NTSC or JABYENGINE_PAL"
#endif
#endif
namespace JabyEngine {
namespace GPU {
struct Display {
#ifdef JABYENGINE_PAL
static constexpr size_t Width = 320;
static constexpr size_t Height = 256;
#else
static constexpr size_t Width = 320;
static constexpr size_t Height = 240;
#endif
static uint8_t current_id;
static void enable() {
GPU_IO::GP1 = GPU_IO::Command::SetDisplayState(GPU_IO::DisplayState::On);
}
static void disable() {
GPU_IO::GP1 = GPU_IO::Command::SetDisplayState(GPU_IO::DisplayState::Off);
}
static void set_offset(uint16_t x, uint16_t y);
};
uint8_t swap_buffers_vsync(uint8_t syncs);
}
}
#endif //!__JABYENGINE_GPU_HPP__