| A | |
| addrWidth, dma_data | |
| AfterTransferChecks, dma_data | |
| alreadyStarted | |
| ASICRegisters | |
| attributes, OAMSprite | |
| B | |
| bios, Memory | |
| Breakpoint | |
| breakpointHitID, BreakpointsEvaluator | |
| breakpoints, BreakpointsEvaluator | |
| BreakpointsEvaluator | |
| buffer_bg0, PPU | |
| buffer_bg1, PPU | |
| buffer_bg2, PPU | |
| buffer_bg3, PPU | |
| buffer_nul, PPU | |
| buffer_obj, PPU | |
| buffer_obj_priority, PPU | |
| C | |
| cart_ram, Memory | |
| cartridgeStoNAccess, Memory | |
| CheckIOAccess, Memory | |
| CheckVMatch, PPU | |
| ClearHBlank, PPU | |
| ClearVBlank, PPU | |
| ComputeWaitStates, Memory | |
| ComputeWaitStatesAB, Memory | |
| control | |
| count | |
| CpsrGetCarry, CPU | |
| CpsrGetFIQDisable, CPU | |
| CpsrGetIRQDisable, CPU | |
| CpsrGetMode, CPU | |
| CpsrGetOverflow, CPU | |
| CpsrGetSign, CPU | |
| CpsrGetThumbMode, CPU | |
| CpsrGetZero, CPU | |
| CpsrSetCarry, CPU | |
| CpsrSetCarryByAddVals, CPU | |
| CpsrSetFIQDisable, CPU | |
| CpsrSetIRQDisable, CPU | |
| CpsrSetMode, CPU | |
| CpsrSetOverflow, CPU | |
| CpsrSetOverflowByVals, CPU | |
| CpsrSetSign, CPU | |
| CpsrSetSignByVal, CPU | |
| CpsrSetThumbMode, CPU | |
| CpsrSetZero, CPU | |
| CpsrSetZeroByVal, CPU | |
| cpu | |
| CPU | |
| cyclesCounter, timer_data |
Keeps track of the word length in the transfer (so that you don’t always have to do those shifts and ands to load it)
int addrWidth
Computes if, after a transfer, a dma has finished its transfer, if it shall be re-enabled, if there’re addresses that have to be reloaded..
inline void AfterTransferChecks( int chan )
True if the transfer is on the way.
bool alreadyStarted
If true, the timer is running.
bool alreadyStarted
This struct holds 0x804 bytes of data.
struct ASICRegisters
The actual sprite data.
uint16_t attributes[3]
The bios memory.
int8_t bios [0x4000 ]
Represents a Break Rule data.
struct Breakpoint
If some rule causes a break, its ID will be stored here.
int breakpointHitID
The list of breakpoints (break rules) currently active.
std::vector<Breakpoint> breakpoints
Holds and evaluates break conditions
struct BreakpointsEvaluator
Background 0 buffer.
uint16_t buffer_bg0[38400]
Background 1 buffer.
uint16_t buffer_bg1[38400]
Background 2 buffer.
uint16_t buffer_bg2[38400]
Background 3 buffer.
uint16_t buffer_bg3[38400]
Backdrop buffer.
uint16_t buffer_nul[38400]
Sprites layer buffer.
uint16_t buffer_obj[38400]
Sprites priorities buffer.
uint8_t buffer_obj_priority[38400]
Cartridge RAM.
int8_t cart_ram[0x10000]
Cartridge ROM has sequential and non-sequential accesses.
bool cartridgeStoNAccess
Does all the operations needed after an IO access.
inline void CheckIOAccess()
Generates an interrupt if VCOUNT is equal to LYC.
inline void CheckVMatch()
Clears HBLANK Flag.
inline void ClearHBlank()
Clears VBlank Flag.
inline void ClearVBlank()
Computes the wait states of the last memory access.
inline int ComputeWaitStates( int cyclesS, int cyclesN, int accessWidth = 2 )
Computes the WaitStates given an address.
inline int ComputeWaitStatesAB( uint32_t addr, int cyclesS, int cyclesN, int accessWidth = 2 )
Pointer to the control register
uint16_t* control
Pointer to the Timer control register.
uint16_t* control
Pointer to the word count register.
uint16_t* count
Pointer to the Timer count register.
uint16_t* count
Getter for the Carry Flag.
inline bool CpsrGetCarry()
Getter for the Fast Interrupt Disable Flag.
inline bool CpsrGetFIQDisable()
Getter for the Interrupt Disable Flag.
inline bool CpsrGetIRQDisable()
Getter for the CPU Mode.
inline int CpsrGetMode()
Getter for the Overflow Flag.
inline bool CpsrGetOverflow()
Getter for the Sign Flag.
inline bool CpsrGetSign()
Getter for the Thumb Mode Flag.
inline bool CpsrGetThumbMode()
Getter for the Zero Flag.
inline bool CpsrGetZero()
Setter for the Carry Flag.
inline void CpsrSetCarry( bool value )
Sets the carry flag looking at the operands of an addition.
inline void CpsrSetCarryByAddVals( int op1, int op2, int res )
Setter for the F Flag.
inline void CpsrSetFIQDisable( bool value )
Setter for the I Flag.
inline void CpsrSetIRQDisable( bool value )
Setter for the Mode field of the CPSR.
inline void CpsrSetMode( int value )
Setter for the Overflow Flag.
inline void CpsrSetOverflow( bool value )
Sets the overflow flag looking at the operands.
inline void CpsrSetOverflowByVals( int op1, int op2, int res )
Setter for the Sign Flag.
inline void CpsrSetSign( bool value )
Sets the sign flag according to a value.
inline void CpsrSetSignByVal( int val )
Setter for the T Flag.
inline void CpsrSetThumbMode( bool value )
Setter for the Zero Flag.
inline void CpsrSetZero( bool value )
Sets the zero flag according to a value.
inline void CpsrSetZeroByVal( int val )
A pointer to the cpu of the GBA.
CPU* cpu
The core of the device.
CPU cpu
This class represents an ARM7TDMI CPU running at 16.78MHZ with 32 bit registers and two execution modes (ARM32bit, THUMB16bit).
class CPU
Initializes the CPU.
CPU( Memory * mem )
Internal counter of cycles.
int cyclesCounter