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);
|
||||
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:
|
||||
GBALog(GBA_LOG_STUB, "Stub video register write: %03x", address);
|
||||
}
|
||||
|
|
|
@ -50,6 +50,34 @@ enum PixelFlags {
|
|||
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 GBAVideoRenderer d;
|
||||
|
||||
|
@ -73,6 +101,14 @@ struct GBAVideoSoftwareRenderer {
|
|||
uint16_t bldb;
|
||||
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];
|
||||
|
||||
uint32_t* row;
|
||||
|
|
Loading…
Reference in New Issue