PPU.hpp
Go to the documentation of this file.
//
// Created by cbihan on 1/27/20.
//
#ifndef COMSQUARE_PPU_HPP
#define COMSQUARE_PPU_HPP
#include <stdint-gcc.h>
#include "../Memory/IMemory.hpp"
namespace ComSquare::PPU
{
class PPU : public Memory::IMemory {
private:
union {
struct {
bool fblank: 1;
bool _: 3;
uint8_t brightness: 4;
};
uint8_t raw;
} inidisp;
union {
struct {
uint8_t objectSize: 3;
bool nameSelect: 2;
uint8_t baseSelect: 3;
};
uint8_t raw;
} obsel;
union {
struct {
bool objPriorityActivationBit: 1;
uint8_t _: 6;
uint32_t oamAddress: 9;
};
struct {
uint8_t oamaddh;
uint8_t oamaddl;
};
uint32_t raw;
} oamadd;
uint8_t oamdata;
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;
union {
struct {
uint8_t pixelSize: 4;
bool affectBg4: 1;
bool affectBg3: 1;
bool affectBg2: 1;
bool affectBg1: 1;
};
uint8_t raw;
} mosaic;
union {
struct {
uint8_t tilemapAddress: 6;
bool tilemapHorizontalMirroring: 1;
bool tilemapVerticalMirroring: 1;
};
uint8_t raw;
} bg1sc;
union {
struct {
uint8_t tilemapAddress: 6;
bool tilemapHorizontalMirroring: 1;
bool tilemapVerticalMirroring: 1;
};
uint8_t raw;
} bg2sc;
union {
struct {
uint8_t tilemapAddress: 6;
bool tilemapHorizontalMirroring: 1;
bool tilemapVerticalMirroring: 1;
};
uint8_t raw;
} bg3sc;
union {
struct {
uint8_t tilemapAddress: 6;
bool tilemapHorizontalMirroring: 1;
bool tilemapVerticalMirroring: 1;
};
uint8_t raw;
} bg4sc;
union {
struct {
uint8_t baseAddressBg2a4: 4;
uint8_t baseAddressBg1a3: 4;
};
uint8_t raw;
} bg12nba;
union {
struct {
uint8_t baseAddressBg2a4: 4;
uint8_t baseAddressBg1a3: 4;
};
uint8_t raw;
} bg34nba;
union {
struct {
uint8_t _ : 6;
uint32_t offsetBg: 10;
};
uint16_t raw;
} bg1ofs;
union {
struct {
uint8_t _ : 3;
uint32_t offsetBg : 13;
};
uint8_t raw;
} m7ofs;
union {
struct {
uint8_t _ : 6;
uint32_t offsetBg: 10;
};
uint8_t raw;
} bg2ofs;
union {
struct {
uint8_t _ : 6;
uint32_t offsetBg: 10;
};
uint8_t raw;
} bg3ofs;
union {
struct {
uint8_t _ : 3;
uint32_t offsetBg: 10;
};
uint8_t raw;
} bg4ofs;
union {
struct {
bool address: 1;
uint8_t _ : 3;
uint8_t addressRemapping: 2;
uint8_t incrementCount: 2;
};
uint8_t raw;
} vmain;
union {
struct {
uint8_t vmaddh;
uint8_t vmaddl;
};
uint32_t vmadd;
} vmadd;
union {
struct {
uint8_t vmdatah;
uint8_t vmdatal;
};
uint32_t vmdata;
} vmdata;
union {
struct {
bool playingFieldSize: 1;
bool emptySpaceFill: 1;
uint8_t _: 4;
bool horizontalMirroring: 1;
bool verticalMirroring: 1;
};
uint8_t raw;
} m7sel;
union {
struct {
uint8_t _: 3;
uint8_t value;
};
uint32_t center;
} m7x;
union {
struct {
uint8_t _: 3;
uint8_t value;
};
uint32_t center;
} m7y;
uint8_t cgadd;
union {
struct {
bool _: 1;
uint8_t blue: 5;
uint8_t green: 5;
uint8_t red: 5;
};
uint16_t raw;
} cgdata;
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;
uint8_t wh0;
uint8_t wh1;
uint8_t wh2;
uint8_t wh3;
union {
struct {
uint8_t maskLogicBg1: 2;
uint8_t maskLogicBg2: 2;
uint8_t maskLogicBg3: 2;
uint8_t maskLogicBg4: 2;
};
uint8_t raw;
} wbglog;
union {
struct {
uint8_t _: 4;
uint8_t maskLogicObj: 2;
uint8_t maskLogicColor: 2;
};
uint8_t raw;
} wobjlog;
union {
struct {
uint8_t _: 3;
bool enableWindowDisplayObj: 1;
bool enableWindowDisplayBg4: 1;
bool enableWindowDisplayBg3: 1;
bool enableWindowDisplayBg2: 1;
bool enableWindowDisplayBg1: 1;
};
uint8_t raw;
} tm;
union {
struct {
uint8_t _: 3;
bool enableWindowDisplayObj: 1;
bool enableWindowDisplayBg4: 1;
bool enableWindowDisplayBg3: 1;
bool enableWindowDisplayBg2: 1;
bool enableWindowDisplayBg1: 1;
};
uint8_t raw;
} ts;
union {
struct {
uint8_t _: 3;
bool enableWindowMaskingObj: 1;
bool enableWindowMaskingBg4: 1;
bool enableWindowMaskingBg3: 1;
bool enableWindowMaskingBg2: 1;
bool enableWindowMaskingBg1: 1;
};
uint8_t raw;
} tmw;
union {
struct {
uint8_t _: 3;
bool enableWindowMaskingObj: 1;
bool enableWindowMaskingBg4: 1;
bool enableWindowMaskingBg3: 1;
bool enableWindowMaskingBg2: 1;
bool enableWindowMaskingBg1: 1;
};
uint8_t raw;
} tsw;
union {
struct {
uint8_t clipColorToBlackBeforeMath: 2;
uint8_t preventColorMath: 2;
uint8_t _: 2;
bool addSubscreen: 1;
bool directColorMode: 1;
};
uint8_t raw;
} cgwsel;
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;
union {
struct {
bool blue: 1;
bool green: 1;
bool red: 1;
uint8_t colorIntensity: 5;
};
uint8_t raw;
} coldata;
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;
union {
struct {
uint8_t mpyl;
uint8_t mpym;
uint8_t mpyh;
};
uint32_t mpy;
} mpy;
public:
explicit PPU() = default;
uint8_t read(uint24_t addr) override;
void write(uint24_t addr, uint8_t data) override;
void update(int cycles);
};
}
#endif //COMSQUARE_PPU_HPP
ComSquare::PPU::PPU::enablePseudoHiresMode
bool enablePseudoHiresMode
Definition: PPU.hpp:365
ComSquare::PPU::PPU::externalSync
bool externalSync
Definition: PPU.hpp:362
ComSquare::PPU::PPU::red
uint8_t red
Definition: PPU.hpp:231
ComSquare::PPU::PPU::oamdata
uint8_t oamdata
OAMDATA Register (Data for OAM write)
Definition: PPU.hpp:48
ComSquare::PPU::PPU::wobjlog
union ComSquare::PPU::PPU::@101 wobjlog
WOBJLOG Register (Window mask logic for OBJs and Color Window)
ComSquare::PPU::PPU::ts
union ComSquare::PPU::PPU::@103 ts
TS Register (Sub Screen Designation)
ComSquare::PPU::PPU::enableWindowMaskingBg4
bool enableWindowMaskingBg4
Definition: PPU.hpp:305
ComSquare::PPU::PPU::maskLogicBg4
uint8_t maskLogicBg4
Definition: PPU.hpp:263
ComSquare::PPU::PPU::enableWindow2ForBg1Bg3Obj
bool enableWindow2ForBg1Bg3Obj
Definition: PPU.hpp:242
ComSquare::PPU::PPU::write
void write(uint24_t addr, uint8_t data) override
Write data to this component.
Definition: PPU.cpp:25
ComSquare::PPU::PPU::bg3ofs
union ComSquare::PPU::PPU::@90 bg3ofs
BG3HOFS Register (BG3 Horizontal Scroll)
ComSquare::PPU::PPU::enableWindow1ForBg1Bg2Obj
bool enableWindow1ForBg1Bg2Obj
Definition: PPU.hpp:244
ComSquare::PPU::PPU::bg4ofs
union ComSquare::PPU::PPU::@91 bg4ofs
BG4HOFS Register (BG4 Horizontal Scroll)
ComSquare::PPU::PPU::update
void update(int cycles)
Update the PPU of n cycles.
Definition: PPU.cpp:73
ComSquare::PPU::PPU::vmdatah
uint8_t vmdatah
Definition: PPU.hpp:190
ComSquare::PPU::PPU::enableWindowMaskingBg1
bool enableWindowMaskingBg1
Definition: PPU.hpp:308
ComSquare::PPU::PPU::maskLogicBg1
uint8_t maskLogicBg1
Definition: PPU.hpp:260
ComSquare::PPU::PPU::screenInterlace
bool screenInterlace
Definition: PPU.hpp:368
ComSquare::PPU::PPU::overscanMode
bool overscanMode
Definition: PPU.hpp:366
ComSquare::PPU::PPU::affectBg1
bool affectBg1
Definition: PPU.hpp:68
ComSquare::PPU::PPU::bg4sc
union ComSquare::PPU::PPU::@84 bg4sc
BG4SC Register (BG4 Tilemap Address and Size)
ComSquare::PPU::PPU::tsw
union ComSquare::PPU::PPU::@105 tsw
TSW Register (Window Mask Designation for the Sub Screen)
ComSquare::PPU::PPU::maskLogicColor
uint8_t maskLogicColor
Definition: PPU.hpp:272
ComSquare::PPU::PPU::baseAddressBg2a4
uint8_t baseAddressBg2a4
Definition: PPU.hpp:111
ComSquare::PPU::PPU::affectBg4
bool affectBg4
Definition: PPU.hpp:65
ComSquare::PPU::PPU::enableWindowMaskingBg2
bool enableWindowMaskingBg2
Definition: PPU.hpp:307
ComSquare::PPU::PPU::baseSelect
uint8_t baseSelect
Definition: PPU.hpp:30
ComSquare::PPU::PPU::enableColorMathBg3
bool enableColorMathBg3
Definition: PPU.hpp:343
ComSquare::PPU::PPU::_
uint8_t _
Definition: PPU.hpp:38
ComSquare::PPU::PPU::value
uint8_t value
Definition: PPU.hpp:211
ComSquare::PPU::PPU::setini
union ComSquare::PPU::PPU::@109 setini
SETINI Register (Screen Mode/Video Select)
ComSquare::PPU::PPU::mode7ExtBg
bool mode7ExtBg
Definition: PPU.hpp:363
ComSquare::PPU::PPU::enableWindowMaskingObj
bool enableWindowMaskingObj
Definition: PPU.hpp:304
ComSquare::PPU::PPU::addSubscreen
bool addSubscreen
Definition: PPU.hpp:330
ComSquare::PPU::PPU::wh2
uint8_t wh2
WH2 Register (CWindow 2 Left Position)
Definition: PPU.hpp:254
ComSquare::PPU::PPU::enableWindow1ForBg2Bg4Color
bool enableWindow1ForBg2Bg4Color
Definition: PPU.hpp:240
ComSquare::PPU::PPU::wsel
union ComSquare::PPU::PPU::@99 wsel
W12SEL - W34SEL Registers (Window Mask Settings for BGs) and WOBJSEL Register (Window Mask Settings f...
ComSquare::PPU::PPU::addSubtractSelect
bool addSubtractSelect
Definition: PPU.hpp:338
ComSquare::PPU::PPU::enableWindow2ForBg2Bg4Color
bool enableWindow2ForBg2Bg4Color
Definition: PPU.hpp:238
ComSquare::PPU::PPU::cgdata
union ComSquare::PPU::PPU::@98 cgdata
CGDATA Register (CGRAM Data write)
ComSquare::PPU::PPU::characterSizeBg1
bool characterSizeBg1
Definition: PPU.hpp:55
ComSquare::PPU::PPU::vmdata
uint32_t vmdata
Definition: PPU.hpp:193
ComSquare::PPU::PPU::enableColorMathObj
bool enableColorMathObj
Definition: PPU.hpp:341
ComSquare::PPU::PPU::addressRemapping
uint8_t addressRemapping
Definition: PPU.hpp:174
ComSquare::PPU::PPU::PPU
PPU()=default
ComSquare::PPU::PPU::affectBg2
bool affectBg2
Definition: PPU.hpp:67
ComSquare::PPU::PPU::window1InversionForBg2Bg4Color
bool window1InversionForBg2Bg4Color
Definition: PPU.hpp:241
ComSquare::PPU::PPU::vmaddl
uint8_t vmaddl
Definition: PPU.hpp:183
ComSquare::PPU::PPU::enableWindowMaskingBg3
bool enableWindowMaskingBg3
Definition: PPU.hpp:306
ComSquare::PPU::PPU::tilemapHorizontalMirroring
bool tilemapHorizontalMirroring
Definition: PPU.hpp:76
ComSquare::PPU::PPU::oamAddress
uint32_t oamAddress
Definition: PPU.hpp:39
ComSquare::PPU::PPU::obsel
union ComSquare::PPU::PPU::@77 obsel
OBSEL Register (Object Size and Character Address)
ComSquare::PPU::PPU::wh0
uint8_t wh0
WH0 Register (CWindow 1 Left Position)
Definition: PPU.hpp:250
ComSquare::PPU::PPU::preventColorMath
uint8_t preventColorMath
Definition: PPU.hpp:328
ComSquare::PPU::PPU::characterSizeBg2
bool characterSizeBg2
Definition: PPU.hpp:54
ComSquare::PPU
Definition: PPU.cpp:9
ComSquare::PPU::PPU::mode1Bg3PriorityBit
bool mode1Bg3PriorityBit
Definition: PPU.hpp:56
ComSquare::PPU::PPU::m7x
union ComSquare::PPU::PPU::@96 m7x
M7X Register (Mode 7 Center X)
ComSquare::PPU::PPU::oamaddl
uint8_t oamaddl
Definition: PPU.hpp:43
ComSquare::PPU::PPU::bg3sc
union ComSquare::PPU::PPU::@83 bg3sc
BG3SC Register (BG3 Tilemap Address and Size)
ComSquare::PPU::PPU::enableWindowDisplayObj
bool enableWindowDisplayObj
Definition: PPU.hpp:280
ComSquare::PPU::PPU::objPriorityActivationBit
bool objPriorityActivationBit
Definition: PPU.hpp:37
ComSquare::PPU::PPU::halfColorMath
bool halfColorMath
Definition: PPU.hpp:339
uint24_t
unsigned uint24_t
Definition: Ints.hpp:8
ComSquare::PPU::PPU::tmw
union ComSquare::PPU::PPU::@104 tmw
TMW Register (Window Mask Designation for the Main Screen)
ComSquare::PPU::PPU::maskLogicBg2
uint8_t maskLogicBg2
Definition: PPU.hpp:261
ComSquare::PPU::PPU::tilemapVerticalMirroring
bool tilemapVerticalMirroring
Definition: PPU.hpp:77
ComSquare::Memory::IMemory
Common interface implemented by all components mapping memory.
Definition: IMemory.hpp:16
ComSquare::PPU::PPU::mpy
uint32_t mpy
Definition: PPU.hpp:379
ComSquare::PPU::PPU::blue
uint8_t blue
Definition: PPU.hpp:229
ComSquare::PPU::PPU::raw
uint16_t raw
Definition: PPU.hpp:131
ComSquare::PPU::PPU::maskLogicObj
uint8_t maskLogicObj
Definition: PPU.hpp:271
ComSquare::PPU::PPU::enableColorMathBackdrop
bool enableColorMathBackdrop
Definition: PPU.hpp:340
ComSquare::PPU::PPU::bg1sc
union ComSquare::PPU::PPU::@81 bg1sc
BG1SC Register (BG1 Tilemap Address and Size)
ComSquare::PPU::PPU::offsetBg
uint32_t offsetBg
Definition: PPU.hpp:129
ComSquare::PPU::PPU::bg1ofs
union ComSquare::PPU::PPU::@87 bg1ofs
BG1HOFS Register (BG1 Horizontal Scroll)
ComSquare::PPU::PPU::colorIntensity
uint8_t colorIntensity
Definition: PPU.hpp:355
ComSquare::PPU::PPU::green
uint8_t green
Definition: PPU.hpp:230
ComSquare::PPU::PPU::horizontalMirroring
bool horizontalMirroring
Definition: PPU.hpp:201
ComSquare::PPU::PPU::nameSelect
bool nameSelect
Definition: PPU.hpp:29
ComSquare::PPU::PPU::enableWindowDisplayBg2
bool enableWindowDisplayBg2
Definition: PPU.hpp:283
ComSquare::PPU::PPU::wh3
uint8_t wh3
WH3 Register (CWindow 2 Right Position)
Definition: PPU.hpp:256
ComSquare::PPU::PPU::window2InversionForBg1Bg3Obj
bool window2InversionForBg1Bg3Obj
Definition: PPU.hpp:243
ComSquare::PPU::PPU::inidisp
union ComSquare::PPU::PPU::@76 inidisp
INIDISP Register (F-blank and Brightness)
ComSquare::PPU::PPU::m7y
union ComSquare::PPU::PPU::@97 m7y
M7Y Register (Mode 7 Center Y)
ComSquare::PPU::PPU::characterSizeBg4
bool characterSizeBg4
Definition: PPU.hpp:52
ComSquare::PPU::PPU::center
uint32_t center
Definition: PPU.hpp:213
ComSquare::PPU::PPU::tilemapAddress
uint8_t tilemapAddress
Definition: PPU.hpp:75
ComSquare::PPU::PPU::mpyh
uint8_t mpyh
Definition: PPU.hpp:377
ComSquare::PPU::PPU::mpym
uint8_t mpym
Definition: PPU.hpp:376
ComSquare::PPU::PPU::emptySpaceFill
bool emptySpaceFill
Definition: PPU.hpp:199
ComSquare::PPU::PPU::enableWindowDisplayBg4
bool enableWindowDisplayBg4
Definition: PPU.hpp:281
ComSquare::PPU::PPU::enableColorMathBg1
bool enableColorMathBg1
Definition: PPU.hpp:345
ComSquare::PPU::PPU::objectSize
uint8_t objectSize
Definition: PPU.hpp:28
ComSquare::PPU::PPU::m7ofs
union ComSquare::PPU::PPU::@88 m7ofs
M7HOFS Register (Mode 7 _BG Horizontal Scroll)
ComSquare::PPU::PPU::pixelSize
uint8_t pixelSize
Definition: PPU.hpp:64
ComSquare::PPU::PPU::affectBg3
bool affectBg3
Definition: PPU.hpp:66
ComSquare::PPU::PPU::clipColorToBlackBeforeMath
uint8_t clipColorToBlackBeforeMath
Definition: PPU.hpp:327
ComSquare::PPU::PPU::red
bool red
Definition: PPU.hpp:354
ComSquare::PPU::PPU::cgadd
uint8_t cgadd
CGADD Register (CGRAM Address)
Definition: PPU.hpp:224
ComSquare::PPU::PPU::bg34nba
union ComSquare::PPU::PPU::@86 bg34nba
BG34NBA Register (BG3 and 4 Chr Address)
ComSquare::PPU::PPU::_
bool _
Definition: PPU.hpp:20
ComSquare::PPU::PPU::mosaic
union ComSquare::PPU::PPU::@80 mosaic
MOSAIC Register (Screen Pixelation)
ComSquare::PPU::PPU::bg2sc
union ComSquare::PPU::PPU::@82 bg2sc
BG2SC Register (BG2 Tilemap Address and Size)
ComSquare::PPU::PPU::blue
bool blue
Definition: PPU.hpp:352
ComSquare::PPU::PPU::vmaddh
uint8_t vmaddh
Definition: PPU.hpp:182
ComSquare::PPU::PPU::green
bool green
Definition: PPU.hpp:353
ComSquare::PPU::PPU::bg2ofs
union ComSquare::PPU::PPU::@89 bg2ofs
BG2HOFS Register (BG2 Horizontal Scroll)
ComSquare::PPU::PPU::window2InversionForBg2Bg4Color
bool window2InversionForBg2Bg4Color
Definition: PPU.hpp:239
ComSquare::PPU::PPU::raw
uint32_t raw
Definition: PPU.hpp:45
ComSquare::PPU::PPU::bgmode
union ComSquare::PPU::PPU::@79 bgmode
BGMODE Register (OAM Address and Obj Priority)
ComSquare::PPU::PPU::wh1
uint8_t wh1
WH1 Register (CWindow 1 Right Position)
Definition: PPU.hpp:252
ComSquare::PPU::PPU::address
bool address
Definition: PPU.hpp:172
ComSquare::PPU::PPU::fblank
bool fblank
Definition: PPU.hpp:19
ComSquare::PPU::PPU::bg12nba
union ComSquare::PPU::PPU::@85 bg12nba
BG12NBA Register (BG1 and 2 Chr Address)
ComSquare::PPU::PPU::vmadd
uint32_t vmadd
Definition: PPU.hpp:185
ComSquare::PPU::PPU::directColorMode
bool directColorMode
Definition: PPU.hpp:331
ComSquare::PPU::PPU::tm
union ComSquare::PPU::PPU::@102 tm
TM Register (Main Screen Designation)
ComSquare::PPU::PPU::wbglog
union ComSquare::PPU::PPU::@100 wbglog
WBGLOG Register (Window mask logic for BGs)
ComSquare::PPU::PPU::cgadsub
union ComSquare::PPU::PPU::@107 cgadsub
CGADSUB Register (Color Math designation)
ComSquare::PPU::PPU::oamadd
union ComSquare::PPU::PPU::@78 oamadd
OAMADD Register (OAM Address and Obj Priority)
ComSquare::PPU::PPU::playingFieldSize
bool playingFieldSize
Definition: PPU.hpp:198
ComSquare::PPU::PPU::window1InversionForBg1Bg2Obj
bool window1InversionForBg1Bg2Obj
Definition: PPU.hpp:245
ComSquare::PPU::PPU::vmdatal
uint8_t vmdatal
Definition: PPU.hpp:191
ComSquare::PPU::PPU::enableColorMathBg4
bool enableColorMathBg4
Definition: PPU.hpp:342
ComSquare::PPU::PPU::vmain
union ComSquare::PPU::PPU::@92 vmain
VMAIN Register (Video Port Control)
ComSquare::PPU::PPU::incrementCount
uint8_t incrementCount
Definition: PPU.hpp:175
ComSquare::PPU::PPU::cgwsel
union ComSquare::PPU::PPU::@106 cgwsel
CGWSEL Register (Color Addition Select)
ComSquare::PPU::PPU::coldata
union ComSquare::PPU::PPU::@108 coldata
COLDATA Register (Fixed Color Data)
ComSquare::PPU::PPU::characterSizeBg3
bool characterSizeBg3
Definition: PPU.hpp:53
ComSquare::PPU::PPU::oamaddh
uint8_t oamaddh
Definition: PPU.hpp:42
ComSquare::PPU::PPU::baseAddressBg1a3
uint8_t baseAddressBg1a3
Definition: PPU.hpp:112
ComSquare::PPU::PPU::read
uint8_t read(uint24_t addr) override
Read data from the component.
Definition: PPU.cpp:11
ComSquare::PPU::PPU::bgMode
uint8_t bgMode
Definition: PPU.hpp:57
ComSquare::PPU::PPU::mpyl
uint8_t mpyl
Definition: PPU.hpp:375
ComSquare::PPU::PPU::objInterlace
bool objInterlace
Definition: PPU.hpp:367
ComSquare::PPU::PPU::verticalMirroring
bool verticalMirroring
Definition: PPU.hpp:202
ComSquare::PPU::PPU::enableWindowDisplayBg3
bool enableWindowDisplayBg3
Definition: PPU.hpp:282
ComSquare::PPU::PPU::raw
uint8_t raw
Definition: PPU.hpp:23
ComSquare::PPU::PPU::enableWindowDisplayBg1
bool enableWindowDisplayBg1
Definition: PPU.hpp:284
ComSquare::PPU::PPU::m7sel
union ComSquare::PPU::PPU::@95 m7sel
M7SEL Register (Mode 7 Settings)
ComSquare::PPU::PPU::brightness
uint8_t brightness
Definition: PPU.hpp:21
ComSquare::PPU::PPU::enableColorMathBg2
bool enableColorMathBg2
Definition: PPU.hpp:344
ComSquare::PPU::PPU::maskLogicBg3
uint8_t maskLogicBg3
Definition: PPU.hpp:262
ComSquare::PPU::PPU
The struct containing all the registers the PPU.
Definition: PPU.hpp:14