48 lines
954 B
C++
48 lines
954 B
C++
struct Screen {
|
|
auto scanline() -> void;
|
|
auto run() -> void;
|
|
auto power() -> void;
|
|
|
|
auto below(bool hires) -> uint16;
|
|
auto above() -> uint16;
|
|
|
|
auto blend(uint x, uint y) const -> uint15;
|
|
alwaysinline auto paletteColor(uint8 palette) const -> uint15;
|
|
alwaysinline auto directColor(uint8 palette, uint3 paletteGroup) const -> uint15;
|
|
alwaysinline auto fixedColor() const -> uint15;
|
|
|
|
auto serialize(serializer&) -> void;
|
|
|
|
uint16* lineA;
|
|
uint16* lineB;
|
|
|
|
uint15 cgram[256];
|
|
|
|
struct IO {
|
|
uint1 blendMode;
|
|
uint1 directColor;
|
|
|
|
uint1 colorMode;
|
|
uint1 colorHalve;
|
|
struct Layer {
|
|
uint1 colorEnable;
|
|
} bg1, bg2, bg3, bg4, obj, back;
|
|
|
|
uint5 colorBlue;
|
|
uint5 colorGreen;
|
|
uint5 colorRed;
|
|
} io;
|
|
|
|
struct Math {
|
|
struct Screen {
|
|
uint15 color;
|
|
uint1 colorEnable;
|
|
} above, below;
|
|
uint1 transparent;
|
|
uint1 blendMode;
|
|
uint1 colorHalve;
|
|
} math;
|
|
|
|
friend class PPU;
|
|
};
|