ComSquare
Public Member Functions | Private Attributes | List of all members
ComSquare::PPU::PPU Class Reference

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

#include <PPU.hpp>

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

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
addrThe local address to read from (0x0 should refer to the first byte of this component).
Exceptions
Thisfunction 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
Thenumber of cycles to update.

◆ write()

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

Write data to this component.

Parameters
addrThe local address to write data (0x0 should refer to the first byte of this component).
dataThe new data to write.
Exceptions
Thisfunction 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: