class GB::CPU
- GB::CPU
- Reference
- Object
Defined in:
crab/gb/cpu.crConstant Summary
-
CLOCK_SPEED =
4194304
Constructors
Instance Method Summary
- #a : UInt8
- #a=(value : UInt8) : UInt8
- #af : UInt16
- #af=(value : UInt16) : UInt16
- #af=(value : UInt8) : UInt16
- #b : UInt8
- #b=(value : UInt8) : UInt8
- #bc : UInt16
- #bc=(value : UInt16) : UInt16
- #bc=(value : UInt8) : UInt16
- #c : UInt8
- #c=(value : UInt8) : UInt8
- #d : UInt8
- #d=(value : UInt8) : UInt8
- #de : UInt16
- #de=(value : UInt16) : UInt16
- #de=(value : UInt8) : UInt16
- #e : UInt8
- #e=(value : UInt8) : UInt8
- #f : UInt8
- #f=(value : UInt8) : UInt8
- #f_c : Bool
- #f_c=(on : Int | Bool)
- #f_h : Bool
- #f_h=(on : Int | Bool)
- #f_n : Bool
- #f_n=(on : Int | Bool)
- #f_nc : Bool
- #f_nh : Bool
- #f_nn : Bool
- #f_nz : Bool
- #f_z : Bool
- #f_z=(on : Int | Bool)
- #h : UInt8
- #h=(value : UInt8) : UInt8
-
#halt : Nil
Handle regular and obscure halting behavior
-
#handle_interrupts
service all interrupts
- #hl : UInt16
- #hl=(value : UInt16) : UInt16
- #hl=(value : UInt8) : UInt16
- #ime : Bool
- #ime=(ime : Bool)
-
#inc_pc : Nil
Increment PC unless the halt bug should cause it to fail to increment
- #l : UInt8
- #l=(value : UInt8) : UInt8
- #memory : Memory
- #memory=(memory : Memory)
- #memory_at_hl : UInt8
- #memory_at_hl=(val : UInt8) : Nil
- #pc : UInt16
- #pc=(pc : UInt16)
- #print_state(op : String | Nil = nil) : Nil
- #scheduler : Scheduler
- #scheduler=(scheduler : Scheduler)
- #skip_boot : Nil
- #sp : UInt16
- #sp=(sp : UInt16)
-
#tick : Nil
Runs for the specified number of machine cycles.
Macro Summary
Constructor Detail
Instance Method Detail
def tick : Nil
#
Runs for the specified number of machine cycles. If no argument provided, runs only one instruction. Handles interrupts after the instruction is executed.