class

GBA::CPU

Inherits GBA::Waitloop < GBA::THUMB < GBA::ARM < Reference < Object

Constants

CLOCK_SPEED = 2 ** 24

Constructors

new(gba : GBA)
Source

Instance methods

adc(operand_1 : UInt32, operand_2 : UInt32, set_conditions : Bool) : UInt32

Add two values with carry

Source
add(operand_1 : UInt32, operand_2 : UInt32, set_conditions : Bool) : UInt32

Add two values

Source
asr(word : UInt32, bits : Int::Unsigned, immediate : Bool, carry_out : Pointer(Bool)) : UInt32

Arithmetic shift right

Source
check_cond(cond : UInt32) : Bool
Source
clear_pipeline
Source
count_cycles
Source
count_cycles=(count_cycles : Int32)
Source
cpsr
Source
fill_pipeline
Source
halted
Source
halted=(halted : Bool)
Source
lsl(word : UInt32, bits : Int::Unsigned, carry_out : Pointer(Bool)) : UInt32

Logical shift left

Source
lsr(word : UInt32, bits : Int::Unsigned, immediate : Bool, carry_out : Pointer(Bool)) : UInt32

Logical shift right

Source
pipeline
Source
read_instr
Source
ror(word : UInt32, bits : Int::Unsigned, immediate : Bool, carry_out : Pointer(Bool)) : UInt32

Rotate right

Source
sbc(operand_1 : UInt32, operand_2 : UInt32, set_conditions : Bool) : UInt32

Subtract two values with carry

Source
set_neg_and_zero_flags(value : UInt32) : Nil
Source
set_reg(reg : Int, value : UInt32) : UInt32
Source
skip_bios
Source
step_arm
Source
step_thumb
Source
sub(operand_1 : UInt32, operand_2 : UInt32, set_conditions : Bool) : UInt32

Subtract two values

Source
switch_mode(new_mode : Mode) : Nil
Source
thumb_lut
Source
tick
Source

Nested types