mirror of https://github.com/mgba-emu/mgba.git
Writing for Window registers
This commit is contained in:
parent
3f122dcf14
commit
27f5468e01
|
@ -246,6 +246,24 @@ static uint16_t GBAVideoSoftwareRendererWriteVideoRegister(struct GBAVideoRender
|
||||||
}
|
}
|
||||||
_updatePalettes(softwareRenderer);
|
_updatePalettes(softwareRenderer);
|
||||||
break;
|
break;
|
||||||
|
case REG_WIN0H:
|
||||||
|
softwareRenderer->win0H.packed = value;
|
||||||
|
break;
|
||||||
|
case REG_WIN1H:
|
||||||
|
softwareRenderer->win1H.packed = value;
|
||||||
|
break;
|
||||||
|
case REG_WIN0V:
|
||||||
|
softwareRenderer->win0V.packed = value;
|
||||||
|
break;
|
||||||
|
case REG_WIN1V:
|
||||||
|
softwareRenderer->win1V.packed = value;
|
||||||
|
break;
|
||||||
|
case REG_WININ:
|
||||||
|
softwareRenderer->winin.packed = value;
|
||||||
|
break;
|
||||||
|
case REG_WINOUT:
|
||||||
|
softwareRenderer->winout.packed = value;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
GBALog(GBA_LOG_STUB, "Stub video register write: %03x", address);
|
GBALog(GBA_LOG_STUB, "Stub video register write: %03x", address);
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,6 +50,34 @@ enum PixelFlags {
|
||||||
FLAG_TARGET_2 = 0x02000000
|
FLAG_TARGET_2 = 0x02000000
|
||||||
};
|
};
|
||||||
|
|
||||||
|
union Window {
|
||||||
|
struct {
|
||||||
|
uint8_t end;
|
||||||
|
uint8_t start;
|
||||||
|
};
|
||||||
|
uint16_t packed;
|
||||||
|
};
|
||||||
|
|
||||||
|
union WindowControl {
|
||||||
|
struct {
|
||||||
|
unsigned bg0EnableLo : 1;
|
||||||
|
unsigned bg1EnableLo : 1;
|
||||||
|
unsigned bg2EnableLo : 1;
|
||||||
|
unsigned bg3EnableLo : 1;
|
||||||
|
unsigned objEnableLo : 1;
|
||||||
|
unsigned blendEnableLo : 1;
|
||||||
|
unsigned : 2;
|
||||||
|
unsigned bg0EnableHi : 1;
|
||||||
|
unsigned bg1EnableHi : 1;
|
||||||
|
unsigned bg2EnableHi : 1;
|
||||||
|
unsigned bg3EnableHi : 1;
|
||||||
|
unsigned objEnableHi : 1;
|
||||||
|
unsigned blendEnableHi : 1;
|
||||||
|
unsigned : 2;
|
||||||
|
};
|
||||||
|
uint16_t packed;
|
||||||
|
};
|
||||||
|
|
||||||
struct GBAVideoSoftwareRenderer {
|
struct GBAVideoSoftwareRenderer {
|
||||||
struct GBAVideoRenderer d;
|
struct GBAVideoRenderer d;
|
||||||
|
|
||||||
|
@ -73,6 +101,14 @@ struct GBAVideoSoftwareRenderer {
|
||||||
uint16_t bldb;
|
uint16_t bldb;
|
||||||
uint16_t bldy;
|
uint16_t bldy;
|
||||||
|
|
||||||
|
union Window win0H;
|
||||||
|
union Window win0V;
|
||||||
|
union Window win1H;
|
||||||
|
union Window win1V;
|
||||||
|
|
||||||
|
union WindowControl winin;
|
||||||
|
union WindowControl winout;
|
||||||
|
|
||||||
struct GBAVideoSoftwareBackground bg[4];
|
struct GBAVideoSoftwareBackground bg[4];
|
||||||
|
|
||||||
uint32_t* row;
|
uint32_t* row;
|
||||||
|
|
Loading…
Reference in New Issue