Skip to content

DeniseInfo ​

cpp
#include <Components/Denise/DeniseTypes.h>
cpp
struct DeniseInfo

Defined in Components/Denise/DeniseTypes.h:135

State of Denise (registers and sprite state).

Public Attributes ​

ReturnNameDescription
u16bplcon0Bitplane control register 0 (BPLCON0).
u16bplcon1Bitplane control register 1 (BPLCON1, scroll).
u16bplcon2Bitplane control register 2 (BPLCON2, priorities).
u16bplcon3Bitplane control register 3 (BPLCON3, ECS/AGA).
u16bplcon4Bitplane control register 4 (BPLCON4, AGA).
i16bpuNumber of active bitplanes.
u16bpldatBitplane data registers (BPLxDAT).
u16diwstrtDisplay window start (DIWSTRT).
u16diwstopDisplay window stop (DIWSTOP).
u16diwhighDisplay window high bits (DIWHIGH, ECS).
ViewPortInfoviewportVisible area of the screen.
u16joydatJoystick/mouse data registers (JOYxDAT).
u16clxdatCollision data register (CLXDAT).
u16clxconCollision control register (CLXCON).
u16clxcon2Collision control register 2 (CLXCON2, AGA).
u16colorRegThe AGA color table is 256 entries deep (8 banks of 32, selected by BPLCON3's 3-bit BANK field), but only the first 4 banks (128 entries) are ever meaningfully addressed in practice, so that's all that's cached here – see SiAmDeniseController's Colors tab, which shows one 32-swatch box per bank.
u32colorColor palette registers.
u16colorRegPeekWhat CPU/Copper reads of COLOR00..COLOR31 (the 32 physical registers, not the full 128-entry table above) actually see right now – Denise::spypeekCOLORxx() itself returns 0 unless the chipset is AGA and RDRAM is set, since OCS/ECS never support reading these back at all. Shown on the Colors tab's own "Registers" box, separate from the swatch grid, which always shows every bank's true color regardless of whether it's currently readable.
u16sprdataRaw hardware sprite registers, one entry per sprite – distinct from sprite[] below, which holds the debugger's own latched/decoded view (armed height, hstrt/vstrt/vstop, attach, colors, pixel data) rather than these four registers as the chipset itself holds them right now. Shown on the Sprites tab's own "Registers" box.
u16sprdatbSecond sprite data registers (SPRxDATB).
u16sprposSprite position registers (SPRxPOS).
u16sprctlSprite control registers (SPRxCTL).
SpriteInfospriteState of the eight sprites.

bplcon0 ​

cpp
u16 bplcon0

Defined in Components/Denise/DeniseTypes.h:139

Bitplane control register 0 (BPLCON0).


bplcon1 ​

cpp
u16 bplcon1

Defined in Components/Denise/DeniseTypes.h:140

Bitplane control register 1 (BPLCON1, scroll).


bplcon2 ​

cpp
u16 bplcon2

Defined in Components/Denise/DeniseTypes.h:141

Bitplane control register 2 (BPLCON2, priorities).


bplcon3 ​

cpp
u16 bplcon3

Defined in Components/Denise/DeniseTypes.h:142

Bitplane control register 3 (BPLCON3, ECS/AGA).


bplcon4 ​

cpp
u16 bplcon4

Defined in Components/Denise/DeniseTypes.h:143

Bitplane control register 4 (BPLCON4, AGA).


bpu ​

cpp
i16 bpu

Defined in Components/Denise/DeniseTypes.h:144

Number of active bitplanes.


bpldat ​

cpp
u16 bpldat[8]

Defined in Components/Denise/DeniseTypes.h:145

Bitplane data registers (BPLxDAT).


diwstrt ​

cpp
u16 diwstrt

Defined in Components/Denise/DeniseTypes.h:147

Display window start (DIWSTRT).


diwstop ​

cpp
u16 diwstop

Defined in Components/Denise/DeniseTypes.h:148

Display window stop (DIWSTOP).


diwhigh ​

cpp
u16 diwhigh

Defined in Components/Denise/DeniseTypes.h:149

Display window high bits (DIWHIGH, ECS).


viewport ​

cpp
ViewPortInfo viewport

Type: ViewPortInfo

Defined in Components/Denise/DeniseTypes.h:150

Visible area of the screen.


joydat ​

cpp
u16 joydat[2]

Defined in Components/Denise/DeniseTypes.h:152

Joystick/mouse data registers (JOYxDAT).


clxdat ​

cpp
u16 clxdat

Defined in Components/Denise/DeniseTypes.h:153

Collision data register (CLXDAT).


clxcon ​

cpp
u16 clxcon

Defined in Components/Denise/DeniseTypes.h:154

Collision control register (CLXCON).


clxcon2 ​

cpp
u16 clxcon2

Defined in Components/Denise/DeniseTypes.h:155

Collision control register 2 (CLXCON2, AGA).


colorReg ​

cpp
u16 colorReg[128]

Defined in Components/Denise/DeniseTypes.h:162

The AGA color table is 256 entries deep (8 banks of 32, selected by BPLCON3's 3-bit BANK field), but only the first 4 banks (128 entries) are ever meaningfully addressed in practice, so that's all that's cached here – see SiAmDeniseController's Colors tab, which shows one 32-swatch box per bank.


color ​

cpp
u32 color[32]

Defined in Components/Denise/DeniseTypes.h:163

Color palette registers.


colorRegPeek ​

cpp
u16 colorRegPeek[32]

Defined in Components/Denise/DeniseTypes.h:172

What CPU/Copper reads of COLOR00..COLOR31 (the 32 physical registers, not the full 128-entry table above) actually see right now – Denise::spypeekCOLORxx() itself returns 0 unless the chipset is AGA and RDRAM is set, since OCS/ECS never support reading these back at all. Shown on the Colors tab's own "Registers" box, separate from the swatch grid, which always shows every bank's true color regardless of whether it's currently readable.


sprdata ​

cpp
u16 sprdata[8]

Defined in Components/Denise/DeniseTypes.h:179

Raw hardware sprite registers, one entry per sprite – distinct from sprite[] below, which holds the debugger's own latched/decoded view (armed height, hstrt/vstrt/vstop, attach, colors, pixel data) rather than these four registers as the chipset itself holds them right now. Shown on the Sprites tab's own "Registers" box.


sprdatb ​

cpp
u16 sprdatb[8]

Defined in Components/Denise/DeniseTypes.h:180

Second sprite data registers (SPRxDATB).


sprpos ​

cpp
u16 sprpos[8]

Defined in Components/Denise/DeniseTypes.h:181

Sprite position registers (SPRxPOS).


sprctl ​

cpp
u16 sprctl[8]

Defined in Components/Denise/DeniseTypes.h:182

Sprite control registers (SPRxCTL).


sprite ​

cpp
SpriteInfo sprite[8]

Defined in Components/Denise/DeniseTypes.h:184

State of the eight sprites.