summaryrefslogtreecommitdiff
path: root/src/gpu_regs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu_regs.c')
-rw-r--r--src/gpu_regs.c210
1 files changed, 105 insertions, 105 deletions
diff --git a/src/gpu_regs.c b/src/gpu_regs.c
index 805f23b48..2d48b304a 100644
--- a/src/gpu_regs.c
+++ b/src/gpu_regs.c
@@ -20,166 +20,166 @@ static void UpdateRegDispstatIntrBits(u16 regIE);
void InitGpuRegManager(void)
{
- s32 i;
+ s32 i;
- for (i = 0; i < GPU_REG_BUF_SIZE; i++)
+ for (i = 0; i < GPU_REG_BUF_SIZE; i++)
{
- sGpuRegBuffer[i] = 0;
- sGpuRegWaitingList[i] = EMPTY_SLOT;
- }
+ sGpuRegBuffer[i] = 0;
+ sGpuRegWaitingList[i] = EMPTY_SLOT;
+ }
- sGpuRegBufferLocked = FALSE;
- sShouldSyncRegIE = FALSE;
- sRegIE = 0;
+ sGpuRegBufferLocked = FALSE;
+ sShouldSyncRegIE = FALSE;
+ sRegIE = 0;
}
static void CopyBufferedValueToGpuReg(u8 regOffset)
{
- if (regOffset == REG_OFFSET_DISPSTAT)
+ if (regOffset == REG_OFFSET_DISPSTAT)
{
- REG_DISPSTAT &= ~(DISPSTAT_HBLANK_INTR | DISPSTAT_VBLANK_INTR);
- REG_DISPSTAT |= GPU_REG_BUF(REG_OFFSET_DISPSTAT);
- }
- else
+ REG_DISPSTAT &= ~(DISPSTAT_HBLANK_INTR | DISPSTAT_VBLANK_INTR);
+ REG_DISPSTAT |= GPU_REG_BUF(REG_OFFSET_DISPSTAT);
+ }
+ else
{
- GPU_REG(regOffset) = GPU_REG_BUF(regOffset);
- }
+ GPU_REG(regOffset) = GPU_REG_BUF(regOffset);
+ }
}
void CopyBufferedValuesToGpuRegs(void)
{
- if (!sGpuRegBufferLocked)
+ if (!sGpuRegBufferLocked)
{
- s32 i;
+ s32 i;
- for (i = 0; i < GPU_REG_BUF_SIZE; i++)
+ for (i = 0; i < GPU_REG_BUF_SIZE; i++)
{
- u8 regOffset = sGpuRegWaitingList[i];
- if (regOffset == EMPTY_SLOT)
- return;
- CopyBufferedValueToGpuReg(regOffset);
- sGpuRegWaitingList[i] = EMPTY_SLOT;
- }
- }
+ u8 regOffset = sGpuRegWaitingList[i];
+ if (regOffset == EMPTY_SLOT)
+ return;
+ CopyBufferedValueToGpuReg(regOffset);
+ sGpuRegWaitingList[i] = EMPTY_SLOT;
+ }
+ }
}
void SetGpuReg(u8 regOffset, u16 value)
{
- if (regOffset < GPU_REG_BUF_SIZE)
- {
- u16 vcount;
-
- GPU_REG_BUF(regOffset) = value;
- vcount = REG_VCOUNT & 0xFF;
-
- if ((vcount >= 161 && vcount <= 225)
- || (REG_DISPCNT & DISPCNT_FORCED_BLANK)) {
- CopyBufferedValueToGpuReg(regOffset);
- } else {
- s32 i;
-
- sGpuRegBufferLocked = TRUE;
-
- for (i = 0; i < GPU_REG_BUF_SIZE && sGpuRegWaitingList[i] != EMPTY_SLOT; i++) {
- if (sGpuRegWaitingList[i] == regOffset) {
- sGpuRegBufferLocked = FALSE;
- return;
- }
- }
-
- sGpuRegWaitingList[i] = regOffset;
- sGpuRegBufferLocked = FALSE;
- }
- }
+ if (regOffset < GPU_REG_BUF_SIZE)
+ {
+ u16 vcount;
+
+ GPU_REG_BUF(regOffset) = value;
+ vcount = REG_VCOUNT & 0xFF;
+
+ if ((vcount >= 161 && vcount <= 225)
+ || (REG_DISPCNT & DISPCNT_FORCED_BLANK)) {
+ CopyBufferedValueToGpuReg(regOffset);
+ } else {
+ s32 i;
+
+ sGpuRegBufferLocked = TRUE;
+
+ for (i = 0; i < GPU_REG_BUF_SIZE && sGpuRegWaitingList[i] != EMPTY_SLOT; i++) {
+ if (sGpuRegWaitingList[i] == regOffset) {
+ sGpuRegBufferLocked = FALSE;
+ return;
+ }
+ }
+
+ sGpuRegWaitingList[i] = regOffset;
+ sGpuRegBufferLocked = FALSE;
+ }
+ }
}
void SetGpuReg_ForcedBlank(u8 regOffset, u16 value)
{
- if (regOffset < GPU_REG_BUF_SIZE)
- {
- GPU_REG_BUF(regOffset) = value;
-
- if (REG_DISPCNT & DISPCNT_FORCED_BLANK) {
- CopyBufferedValueToGpuReg(regOffset);
- } else {
- s32 i;
-
- sGpuRegBufferLocked = TRUE;
-
- for (i = 0; i < GPU_REG_BUF_SIZE && sGpuRegWaitingList[i] != EMPTY_SLOT; i++) {
- if (sGpuRegWaitingList[i] == regOffset) {
- sGpuRegBufferLocked = FALSE;
- return;
- }
- }
-
- sGpuRegWaitingList[i] = regOffset;
- sGpuRegBufferLocked = FALSE;
- }
- }
+ if (regOffset < GPU_REG_BUF_SIZE)
+ {
+ GPU_REG_BUF(regOffset) = value;
+
+ if (REG_DISPCNT & DISPCNT_FORCED_BLANK) {
+ CopyBufferedValueToGpuReg(regOffset);
+ } else {
+ s32 i;
+
+ sGpuRegBufferLocked = TRUE;
+
+ for (i = 0; i < GPU_REG_BUF_SIZE && sGpuRegWaitingList[i] != EMPTY_SLOT; i++) {
+ if (sGpuRegWaitingList[i] == regOffset) {
+ sGpuRegBufferLocked = FALSE;
+ return;
+ }
+ }
+
+ sGpuRegWaitingList[i] = regOffset;
+ sGpuRegBufferLocked = FALSE;
+ }
+ }
}
u16 GetGpuReg(u8 regOffset)
{
- if (regOffset == REG_OFFSET_DISPSTAT)
- return REG_DISPSTAT;
+ if (regOffset == REG_OFFSET_DISPSTAT)
+ return REG_DISPSTAT;
- if (regOffset == REG_OFFSET_VCOUNT)
- return REG_VCOUNT;
+ if (regOffset == REG_OFFSET_VCOUNT)
+ return REG_VCOUNT;
- return GPU_REG_BUF(regOffset);
+ return GPU_REG_BUF(regOffset);
}
void SetGpuRegBits(u8 regOffset, u16 mask)
{
- u16 regValue = GPU_REG_BUF(regOffset);
- SetGpuReg(regOffset, regValue | mask);
+ u16 regValue = GPU_REG_BUF(regOffset);
+ SetGpuReg(regOffset, regValue | mask);
}
void ClearGpuRegBits(u8 regOffset, u16 mask)
{
- u16 regValue = GPU_REG_BUF(regOffset);
- SetGpuReg(regOffset, regValue & ~mask);
+ u16 regValue = GPU_REG_BUF(regOffset);
+ SetGpuReg(regOffset, regValue & ~mask);
}
static void SyncRegIE(void)
{
- if (sShouldSyncRegIE) {
- u16 temp = REG_IME;
- REG_IME = 0;
- REG_IE = sRegIE;
- REG_IME = temp;
- sShouldSyncRegIE = FALSE;
- }
+ if (sShouldSyncRegIE) {
+ u16 temp = REG_IME;
+ REG_IME = 0;
+ REG_IE = sRegIE;
+ REG_IME = temp;
+ sShouldSyncRegIE = FALSE;
+ }
}
void EnableInterrupts(u16 mask)
{
- sRegIE |= mask;
- sShouldSyncRegIE = TRUE;
- SyncRegIE();
- UpdateRegDispstatIntrBits(sRegIE);
+ sRegIE |= mask;
+ sShouldSyncRegIE = TRUE;
+ SyncRegIE();
+ UpdateRegDispstatIntrBits(sRegIE);
}
void DisableInterrupts(u16 mask)
{
- sRegIE &= ~mask;
- sShouldSyncRegIE = TRUE;
- SyncRegIE();
- UpdateRegDispstatIntrBits(sRegIE);
+ sRegIE &= ~mask;
+ sShouldSyncRegIE = TRUE;
+ SyncRegIE();
+ UpdateRegDispstatIntrBits(sRegIE);
}
static void UpdateRegDispstatIntrBits(u16 regIE)
{
- u16 oldValue = GetGpuReg(REG_OFFSET_DISPSTAT) & (DISPSTAT_HBLANK_INTR | DISPSTAT_VBLANK_INTR);
- u16 newValue = 0;
+ u16 oldValue = GetGpuReg(REG_OFFSET_DISPSTAT) & (DISPSTAT_HBLANK_INTR | DISPSTAT_VBLANK_INTR);
+ u16 newValue = 0;
- if (regIE & INTR_FLAG_VBLANK)
- newValue |= DISPSTAT_VBLANK_INTR;
+ if (regIE & INTR_FLAG_VBLANK)
+ newValue |= DISPSTAT_VBLANK_INTR;
- if (regIE & INTR_FLAG_HBLANK)
- newValue |= DISPSTAT_HBLANK_INTR;
+ if (regIE & INTR_FLAG_HBLANK)
+ newValue |= DISPSTAT_HBLANK_INTR;
- if (oldValue != newValue)
- SetGpuReg(REG_OFFSET_DISPSTAT, newValue);
+ if (oldValue != newValue)
+ SetGpuReg(REG_OFFSET_DISPSTAT, newValue);
}