ComSquare::PPU::PPU Class Reference

The struct containing all the registers the PPU. More...

`#include <PPU.hpp>`

Inheritance diagram for ComSquare::PPU::PPU:
Collaboration diagram for ComSquare::PPU::PPU:

## Public Member Functions

| PPU ()=default
uint8_t | read (uint24_t addr) override
| Read data from the component. More...
void | write (uint24_t addr, uint8_t data) override
| Write data to this component. More...
void | update (int cycles)
| Update the PPU of n cycles. More...
Public Member Functions inherited from ComSquare::Memory::IMemory
void | setMemoryRegion (uint24_t start, uint24_t end)
| Change starting and ending points of this mapped memory. More...
virtual bool | hasMemoryAt (uint24_t addr)
| Return true if this component has mapped the address. More...
virtual uint24_t | getStart ()
| Get the first address mapped to this component. More...

## Private Attributes

union {
struct {
bool fblank: 1
bool _: 3
uint8_t brightness: 4
} |
uint8_t raw
} | inidisp
| INIDISP Register (F-blank and Brightness) More...
union {
struct {
uint8_t objectSize: 3
bool nameSelect: 2
uint8_t baseSelect: 3
} |
uint8_t raw
} | obsel
| OBSEL Register (Object Size and Character Address) More...
union {
struct {
bool objPriorityActivationBit: 1
uint8_t _: 6
uint32_t oamAddress: 9
} |
struct {
uint8_t oamaddh
uint8_t oamaddl
} |
uint32_t raw
} | oamadd
| OAMADD Register (OAM Address and Obj Priority) More...
uint8_t | oamdata
| OAMDATA Register (Data for OAM write) More...
union {
struct {
bool characterSizeBg4: 1
bool characterSizeBg3: 1
bool characterSizeBg2: 1
bool characterSizeBg1: 1
bool mode1Bg3PriorityBit: 1
uint8_t bgMode: 3
} |
uint8_t raw
} | bgmode
| BGMODE Register (OAM Address and Obj Priority) More...
union {
struct {
uint8_t pixelSize: 4
bool affectBg4: 1
bool affectBg3: 1
bool affectBg2: 1
bool affectBg1: 1
} |
uint8_t raw
} | mosaic
| MOSAIC Register (Screen Pixelation) More...
union {
struct {
uint8_t tilemapAddress: 6
bool tilemapHorizontalMirroring: 1
bool tilemapVerticalMirroring: 1
} |
uint8_t raw
} | bg1sc
| BG1SC Register (BG1 Tilemap Address and Size) More...
union {
struct {
uint8_t tilemapAddress: 6
bool tilemapHorizontalMirroring: 1
bool tilemapVerticalMirroring: 1
} |
uint8_t raw
} | bg2sc
| BG2SC Register (BG2 Tilemap Address and Size) More...
union {
struct {
uint8_t tilemapAddress: 6
bool tilemapHorizontalMirroring: 1
bool tilemapVerticalMirroring: 1
} |
uint8_t raw
} | bg3sc
| BG3SC Register (BG3 Tilemap Address and Size) More...
union {
struct {
uint8_t tilemapAddress: 6
bool tilemapHorizontalMirroring: 1
bool tilemapVerticalMirroring: 1
} |
uint8_t raw
} | bg4sc
| BG4SC Register (BG4 Tilemap Address and Size) More...
union {
struct {
uint8_t baseAddressBg2a4: 4
uint8_t baseAddressBg1a3: 4
} |
uint8_t raw
} | bg12nba
| BG12NBA Register (BG1 and 2 Chr Address) More...
union {
struct {
uint8_t baseAddressBg2a4: 4
uint8_t baseAddressBg1a3: 4
} |
uint8_t raw
} | bg34nba
| BG34NBA Register (BG3 and 4 Chr Address) More...
union {
struct {
uint8_t _: 6
uint32_t offsetBg: 10
} |
uint16_t raw
} | bg1ofs
| BG1HOFS Register (BG1 Horizontal Scroll) More...
union {
struct {
uint8_t _: 3
uint32_t offsetBg: 13
} |
uint8_t raw
} | m7ofs
| M7HOFS Register (Mode 7 _BG Horizontal Scroll) More...
union {
struct {
uint8_t _: 6
uint32_t offsetBg: 10
} |
uint8_t raw
} | bg2ofs
| BG2HOFS Register (BG2 Horizontal Scroll) More...
union {
struct {
uint8_t _: 6
uint32_t offsetBg: 10
} |
uint8_t raw
} | bg3ofs
| BG3HOFS Register (BG3 Horizontal Scroll) More...
union {
struct {
uint8_t _: 3
uint32_t offsetBg: 10
} |
uint8_t raw
} | bg4ofs
| BG4HOFS Register (BG4 Horizontal Scroll) More...
union {
struct {
bool address: 1
uint8_t _: 3
uint8_t addressRemapping: 2
uint8_t incrementCount: 2
} |
uint8_t raw
} | vmain
| VMAIN Register (Video Port Control) More...
union {
struct {
uint8_t vmaddh
uint8_t vmaddl
} |
uint32_t vmadd
} | vmadd
| VMADD Register (VRAM Address) More...
union {
struct {
uint8_t vmdatah
uint8_t vmdatal
} |
uint32_t vmdata
} | vmdata
| VMDATA Register (VRAM Data Write) More...
union {
struct {
bool playingFieldSize: 1
bool emptySpaceFill: 1
uint8_t _: 4
bool horizontalMirroring: 1
bool verticalMirroring: 1
} |
uint8_t raw
} | m7sel
| M7SEL Register (Mode 7 Settings) More...
union {
struct {
uint8_t _: 3
uint8_t value
} |
uint32_t center
} | m7x
| M7X Register (Mode 7 Center X) More...
union {
struct {
uint8_t _: 3
uint8_t value
} |
uint32_t center
} | m7y
| M7Y Register (Mode 7 Center Y) More...
uint8_t | cgadd
| CGADD Register (CGRAM Address) More...
union {
struct {
bool _: 1
uint8_t blue: 5
uint8_t green: 5
uint8_t red: 5
} |
uint16_t raw
} | cgdata
| CGDATA Register (CGRAM Data write) More...
union {
struct {
bool enableWindow2ForBg2Bg4Color: 1
bool window2InversionForBg2Bg4Color: 1
bool enableWindow1ForBg2Bg4Color: 1
bool window1InversionForBg2Bg4Color: 1
bool enableWindow2ForBg1Bg3Obj: 1
bool window2InversionForBg1Bg3Obj: 1
bool enableWindow1ForBg1Bg2Obj: 1
bool window1InversionForBg1Bg2Obj: 1
} |
uint8_t raw
} | wsel
| W12SEL - W34SEL Registers (Window Mask Settings for BGs) and WOBJSEL Register (Window Mask Settings for OBJ and Color Window) More...
uint8_t | wh0
| WH0 Register (CWindow 1 Left Position) More...
uint8_t | wh1
| WH1 Register (CWindow 1 Right Position) More...
uint8_t | wh2
| WH2 Register (CWindow 2 Left Position) More...
uint8_t | wh3
| WH3 Register (CWindow 2 Right Position) More...
union {
struct {
uint8_t maskLogicBg1: 2
uint8_t maskLogicBg2: 2
uint8_t maskLogicBg3: 2
uint8_t maskLogicBg4: 2
} |
uint8_t raw
} | wbglog
| WBGLOG Register (Window mask logic for BGs) More...
union {
struct {
uint8_t _: 4
uint8_t maskLogicObj: 2
uint8_t maskLogicColor: 2
} |
uint8_t raw
} | wobjlog
| WOBJLOG Register (Window mask logic for OBJs and Color Window) More...
union {
struct {
uint8_t _: 3
bool enableWindowDisplayObj: 1
bool enableWindowDisplayBg4: 1
bool enableWindowDisplayBg3: 1
bool enableWindowDisplayBg2: 1
bool enableWindowDisplayBg1: 1
} |
uint8_t raw
} | tm
| TM Register (Main Screen Designation) More...
union {
struct {
uint8_t _: 3
bool enableWindowDisplayObj: 1
bool enableWindowDisplayBg4: 1
bool enableWindowDisplayBg3: 1
bool enableWindowDisplayBg2: 1
bool enableWindowDisplayBg1: 1
} |
uint8_t raw
} | ts
| TS Register (Sub Screen Designation) More...
union {
struct {
uint8_t _: 3
bool enableWindowMaskingObj: 1
bool enableWindowMaskingBg4: 1
bool enableWindowMaskingBg3: 1
bool enableWindowMaskingBg2: 1
bool enableWindowMaskingBg1: 1
} |
uint8_t raw
} | tmw
| TMW Register (Window Mask Designation for the Main Screen) More...
union {
struct {
uint8_t _: 3
bool enableWindowMaskingObj: 1
bool enableWindowMaskingBg4: 1
bool enableWindowMaskingBg3: 1
bool enableWindowMaskingBg2: 1
bool enableWindowMaskingBg1: 1
} |
uint8_t raw
} | tsw
| TSW Register (Window Mask Designation for the Sub Screen) More...
union {
struct {
uint8_t clipColorToBlackBeforeMath: 2
uint8_t preventColorMath: 2
uint8_t _: 2
bool addSubscreen: 1
bool directColorMode: 1
} |
uint8_t raw
} | cgwsel
| CGWSEL Register (Color Addition Select) More...
union {
struct {
bool addSubtractSelect: 1
bool halfColorMath: 1
bool enableColorMathBackdrop: 1
bool enableColorMathObj: 1
bool enableColorMathBg4: 1
bool enableColorMathBg3: 1
bool enableColorMathBg2: 1
bool enableColorMathBg1: 1
} |
uint8_t raw
} | cgadsub
| CGADSUB Register (Color Math designation) More...
union {
struct {
bool blue: 1
bool green: 1
bool red: 1
uint8_t colorIntensity: 5
} |
uint8_t raw
} | coldata
| COLDATA Register (Fixed Color Data) More...
union {
struct {
bool externalSync: 1
bool mode7ExtBg: 1
uint8_t _: 2
bool enablePseudoHiresMode: 1
bool overscanMode: 1
bool objInterlace: 1
bool screenInterlace: 1
} |
uint8_t raw
} | setini
| SETINI Register (Screen Mode/Video Select) More...
union {
struct {
uint8_t mpyl
uint8_t mpym
uint8_t mpyh
} |
uint32_t mpy
} | mpy
| MPYL - MPYM - MPYH Registers (Multiplication Result) More...

## Detailed Description

The struct containing all the registers the PPU.

## Constructor & Destructor Documentation

## PPU()

ComSquare::PPU::PPU::PPU | ( |  | ) |

explicitdefault

## Member Function Documentation

## read()

uint8_t ComSquare::PPU::PPU::read | ( | uint24_t | addr | ) |

overridevirtual

Read data from the component.

Parameters

  addr | The local address to read from (0x0 should refer to the first byte of this component).

Exceptions

  This | function should thrown an InvalidAddress for address that are not mapped to the component.

Returns
  Return the data at the address given as parameter.

Implements ComSquare::Memory::IMemory.

## update()

void ComSquare::PPU::PPU::update | ( | int | cycles | ) |

Update the PPU of n cycles.

Parameters

  The | number of cycles to update.

## write()

void ComSquare::PPU::PPU::write | ( | uint24_t | addr,
|  | uint8_t | data
| ) |  |

overridevirtual

Write data to this component.

Parameters

  addr | The local address to write data (0x0 should refer to the first byte of this component).
  data | The new data to write.

Exceptions

  This | function should thrown an InvalidAddress for address that are not mapped to the component.

Implements ComSquare::Memory::IMemory.

## Member Data Documentation

## _ [1/2]

bool ComSquare::PPU::PPU::_

## _ [2/2]

uint8_t ComSquare::PPU::PPU::_

## address

bool ComSquare::PPU::PPU::address

## addressRemapping

uint8_t ComSquare::PPU::PPU::addressRemapping

## addSubscreen

bool ComSquare::PPU::PPU::addSubscreen

## addSubtractSelect

bool ComSquare::PPU::PPU::addSubtractSelect

## affectBg1

bool ComSquare::PPU::PPU::affectBg1

## affectBg2

bool ComSquare::PPU::PPU::affectBg2

## affectBg3

bool ComSquare::PPU::PPU::affectBg3

## affectBg4

bool ComSquare::PPU::PPU::affectBg4

## baseAddressBg1a3

uint8_t ComSquare::PPU::PPU::baseAddressBg1a3

## baseAddressBg2a4

uint8_t ComSquare::PPU::PPU::baseAddressBg2a4

## baseSelect

uint8_t ComSquare::PPU::PPU::baseSelect

## bg12nba

union { ... } ComSquare::PPU::PPU::bg12nba

BG12NBA Register (BG1 and 2 Chr Address)

## bg1ofs

union { ... } ComSquare::PPU::PPU::bg1ofs

BG1HOFS Register (BG1 Horizontal Scroll)

BG1VOFS Register (BG1 Vertical Scroll)

## bg1sc

union { ... } ComSquare::PPU::PPU::bg1sc

BG1SC Register (BG1 Tilemap Address and Size)

## bg2ofs

union { ... } ComSquare::PPU::PPU::bg2ofs

BG2HOFS Register (BG2 Horizontal Scroll)

BG2VOFS Register (BG2 Vertical Scroll)

## bg2sc

union { ... } ComSquare::PPU::PPU::bg2sc

BG2SC Register (BG2 Tilemap Address and Size)

## bg34nba

union { ... } ComSquare::PPU::PPU::bg34nba

BG34NBA Register (BG3 and 4 Chr Address)

## bg3ofs

union { ... } ComSquare::PPU::PPU::bg3ofs

BG3HOFS Register (BG3 Horizontal Scroll)

BG3VOFS Register (BG3 Vertical Scroll)

## bg3sc

union { ... } ComSquare::PPU::PPU::bg3sc

BG3SC Register (BG3 Tilemap Address and Size)

## bg4ofs

union { ... } ComSquare::PPU::PPU::bg4ofs

BG4HOFS Register (BG4 Horizontal Scroll)

BG4VOFS Register (BG4 Vertical Scroll)

## bg4sc

union { ... } ComSquare::PPU::PPU::bg4sc

BG4SC Register (BG4 Tilemap Address and Size)

## bgMode

uint8_t ComSquare::PPU::PPU::bgMode

## bgmode

union { ... } ComSquare::PPU::PPU::bgmode

BGMODE Register (OAM Address and Obj Priority)

## blue [1/2]

uint8_t ComSquare::PPU::PPU::blue

## blue [2/2]

bool ComSquare::PPU::PPU::blue

## brightness

uint8_t ComSquare::PPU::PPU::brightness

## center

uint32_t ComSquare::PPU::PPU::center

## cgadd

uint8_t ComSquare::PPU::PPU::cgadd

private

CGADD Register (CGRAM Address)

## cgadsub

union { ... } ComSquare::PPU::PPU::cgadsub

CGADSUB Register (Color Math designation)

## cgdata

union { ... } ComSquare::PPU::PPU::cgdata

CGDATA Register (CGRAM Data write)

## cgwsel

union { ... } ComSquare::PPU::PPU::cgwsel

CGWSEL Register (Color Addition Select)

## characterSizeBg1

bool ComSquare::PPU::PPU::characterSizeBg1

## characterSizeBg2

bool ComSquare::PPU::PPU::characterSizeBg2

## characterSizeBg3

bool ComSquare::PPU::PPU::characterSizeBg3

## characterSizeBg4

bool ComSquare::PPU::PPU::characterSizeBg4

## clipColorToBlackBeforeMath

uint8_t ComSquare::PPU::PPU::clipColorToBlackBeforeMath

## coldata

union { ... } ComSquare::PPU::PPU::coldata

COLDATA Register (Fixed Color Data)

## colorIntensity

uint8_t ComSquare::PPU::PPU::colorIntensity

## directColorMode

bool ComSquare::PPU::PPU::directColorMode

## emptySpaceFill

bool ComSquare::PPU::PPU::emptySpaceFill

## enableColorMathBackdrop

bool ComSquare::PPU::PPU::enableColorMathBackdrop

## enableColorMathBg1

bool ComSquare::PPU::PPU::enableColorMathBg1

## enableColorMathBg2

bool ComSquare::PPU::PPU::enableColorMathBg2

## enableColorMathBg3

bool ComSquare::PPU::PPU::enableColorMathBg3

## enableColorMathBg4

bool ComSquare::PPU::PPU::enableColorMathBg4

## enableColorMathObj

bool ComSquare::PPU::PPU::enableColorMathObj

## enablePseudoHiresMode

bool ComSquare::PPU::PPU::enablePseudoHiresMode

## enableWindow1ForBg1Bg2Obj

bool ComSquare::PPU::PPU::enableWindow1ForBg1Bg2Obj

## enableWindow1ForBg2Bg4Color

bool ComSquare::PPU::PPU::enableWindow1ForBg2Bg4Color

## enableWindow2ForBg1Bg3Obj

bool ComSquare::PPU::PPU::enableWindow2ForBg1Bg3Obj

## enableWindow2ForBg2Bg4Color

bool ComSquare::PPU::PPU::enableWindow2ForBg2Bg4Color

## enableWindowDisplayBg1

bool ComSquare::PPU::PPU::enableWindowDisplayBg1

## enableWindowDisplayBg2

bool ComSquare::PPU::PPU::enableWindowDisplayBg2

## enableWindowDisplayBg3

bool ComSquare::PPU::PPU::enableWindowDisplayBg3

## enableWindowDisplayBg4

bool ComSquare::PPU::PPU::enableWindowDisplayBg4

## enableWindowDisplayObj

bool ComSquare::PPU::PPU::enableWindowDisplayObj

## enableWindowMaskingBg1

bool ComSquare::PPU::PPU::enableWindowMaskingBg1

## enableWindowMaskingBg2

bool ComSquare::PPU::PPU::enableWindowMaskingBg2

## enableWindowMaskingBg3

bool ComSquare::PPU::PPU::enableWindowMaskingBg3

## enableWindowMaskingBg4

bool ComSquare::PPU::PPU::enableWindowMaskingBg4

## enableWindowMaskingObj

bool ComSquare::PPU::PPU::enableWindowMaskingObj

## externalSync

bool ComSquare::PPU::PPU::externalSync

## fblank

bool ComSquare::PPU::PPU::fblank

## green [1/2]

uint8_t ComSquare::PPU::PPU::green

## green [2/2]

bool ComSquare::PPU::PPU::green

## halfColorMath

bool ComSquare::PPU::PPU::halfColorMath

## horizontalMirroring

bool ComSquare::PPU::PPU::horizontalMirroring

## incrementCount

uint8_t ComSquare::PPU::PPU::incrementCount

## inidisp

union { ... } ComSquare::PPU::PPU::inidisp

INIDISP Register (F-blank and Brightness)

## m7ofs

union { ... } ComSquare::PPU::PPU::m7ofs

M7HOFS Register (Mode 7 _BG Horizontal Scroll)

M7VOFS Register (Mode 7 _BG Vertical Scroll)

## m7sel

union { ... } ComSquare::PPU::PPU::m7sel

M7SEL Register (Mode 7 Settings)

## m7x

union { ... } ComSquare::PPU::PPU::m7x

M7X Register (Mode 7 Center X)

M7A M7B M7C M7D i didn't understand how they works so they will be added later.

## m7y

union { ... } ComSquare::PPU::PPU::m7y

M7Y Register (Mode 7 Center Y)

## maskLogicBg1

uint8_t ComSquare::PPU::PPU::maskLogicBg1

## maskLogicBg2

uint8_t ComSquare::PPU::PPU::maskLogicBg2

## maskLogicBg3

uint8_t ComSquare::PPU::PPU::maskLogicBg3

## maskLogicBg4

uint8_t ComSquare::PPU::PPU::maskLogicBg4

## maskLogicColor

uint8_t ComSquare::PPU::PPU::maskLogicColor

## maskLogicObj

uint8_t ComSquare::PPU::PPU::maskLogicObj

## mode1Bg3PriorityBit

bool ComSquare::PPU::PPU::mode1Bg3PriorityBit

## mode7ExtBg

bool ComSquare::PPU::PPU::mode7ExtBg

## mosaic

union { ... } ComSquare::PPU::PPU::mosaic

MOSAIC Register (Screen Pixelation)

## mpy [1/2]

uint32_t ComSquare::PPU::PPU::mpy

## mpy [2/2]

union { ... } ComSquare::PPU::PPU::mpy

MPYL - MPYM - MPYH Registers (Multiplication Result)

## mpyh

uint8_t ComSquare::PPU::PPU::mpyh

## mpyl

uint8_t ComSquare::PPU::PPU::mpyl

## mpym

uint8_t ComSquare::PPU::PPU::mpym

## nameSelect

bool ComSquare::PPU::PPU::nameSelect

## oamadd

union { ... } ComSquare::PPU::PPU::oamadd

OAMADD Register (OAM Address and Obj Priority)

## oamaddh

uint8_t ComSquare::PPU::PPU::oamaddh

## oamaddl

uint8_t ComSquare::PPU::PPU::oamaddl

## oamAddress

uint32_t ComSquare::PPU::PPU::oamAddress

## oamdata

uint8_t ComSquare::PPU::PPU::oamdata

private

OAMDATA Register (Data for OAM write)

## objectSize

uint8_t ComSquare::PPU::PPU::objectSize

## objInterlace

bool ComSquare::PPU::PPU::objInterlace

## objPriorityActivationBit

bool ComSquare::PPU::PPU::objPriorityActivationBit

## obsel

union { ... } ComSquare::PPU::PPU::obsel

OBSEL Register (Object Size and Character Address)

## offsetBg

uint32_t ComSquare::PPU::PPU::offsetBg

## overscanMode

bool ComSquare::PPU::PPU::overscanMode

## pixelSize

uint8_t ComSquare::PPU::PPU::pixelSize

## playingFieldSize

bool ComSquare::PPU::PPU::playingFieldSize

## preventColorMath

uint8_t ComSquare::PPU::PPU::preventColorMath

## raw [1/3]

uint8_t ComSquare::PPU::PPU::raw

## raw [2/3]

uint32_t ComSquare::PPU::PPU::raw

## raw [3/3]

uint16_t ComSquare::PPU::PPU::raw

## red [1/2]

uint8_t ComSquare::PPU::PPU::red

## red [2/2]

bool ComSquare::PPU::PPU::red

## screenInterlace

bool ComSquare::PPU::PPU::screenInterlace

## setini

union { ... } ComSquare::PPU::PPU::setini

SETINI Register (Screen Mode/Video Select)

## tilemapAddress

uint8_t ComSquare::PPU::PPU::tilemapAddress

## tilemapHorizontalMirroring

bool ComSquare::PPU::PPU::tilemapHorizontalMirroring

## tilemapVerticalMirroring

bool ComSquare::PPU::PPU::tilemapVerticalMirroring

## tm

union { ... } ComSquare::PPU::PPU::tm

TM Register (Main Screen Designation)

## tmw

union { ... } ComSquare::PPU::PPU::tmw

TMW Register (Window Mask Designation for the Main Screen)

## ts

union { ... } ComSquare::PPU::PPU::ts

TS Register (Sub Screen Designation)

## tsw

union { ... } ComSquare::PPU::PPU::tsw

TSW Register (Window Mask Designation for the Sub Screen)

## value

uint8_t ComSquare::PPU::PPU::value

## verticalMirroring

bool ComSquare::PPU::PPU::verticalMirroring

## vmadd [1/2]

uint32_t ComSquare::PPU::PPU::vmadd

## vmadd [2/2]

union { ... } ComSquare::PPU::PPU::vmadd

VMADD Register (VRAM Address)

## vmaddh

uint8_t ComSquare::PPU::PPU::vmaddh

## vmaddl

uint8_t ComSquare::PPU::PPU::vmaddl

## vmain

union { ... } ComSquare::PPU::PPU::vmain

VMAIN Register (Video Port Control)

## vmdata [1/2]

uint32_t ComSquare::PPU::PPU::vmdata

## vmdata [2/2]

union { ... } ComSquare::PPU::PPU::vmdata

VMDATA Register (VRAM Data Write)

## vmdatah

uint8_t ComSquare::PPU::PPU::vmdatah

## vmdatal

uint8_t ComSquare::PPU::PPU::vmdatal

## wbglog

union { ... } ComSquare::PPU::PPU::wbglog

WBGLOG Register (Window mask logic for BGs)

## wh0

uint8_t ComSquare::PPU::PPU::wh0

private

WH0 Register (CWindow 1 Left Position)

## wh1

uint8_t ComSquare::PPU::PPU::wh1

private

WH1 Register (CWindow 1 Right Position)

## wh2

uint8_t ComSquare::PPU::PPU::wh2

private

WH2 Register (CWindow 2 Left Position)

## wh3

uint8_t ComSquare::PPU::PPU::wh3

private

WH3 Register (CWindow 2 Right Position)

## window1InversionForBg1Bg2Obj

bool ComSquare::PPU::PPU::window1InversionForBg1Bg2Obj

## window1InversionForBg2Bg4Color

bool ComSquare::PPU::PPU::window1InversionForBg2Bg4Color

## window2InversionForBg1Bg3Obj

bool ComSquare::PPU::PPU::window2InversionForBg1Bg3Obj

## window2InversionForBg2Bg4Color

bool ComSquare::PPU::PPU::window2InversionForBg2Bg4Color

## wobjlog

union { ... } ComSquare::PPU::PPU::wobjlog

WOBJLOG Register (Window mask logic for OBJs and Color Window)

## wsel

union { ... } ComSquare::PPU::PPU::wsel

W12SEL - W34SEL Registers (Window Mask Settings for BGs) and WOBJSEL Register (Window Mask Settings for OBJ and Color Window)

The documentation for this class was generated from the following files:

- sources/PPU/PPU.hpp
- sources/PPU/PPU.cpp