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