class Cr6502::CPU

Included Modules

Defined in:

cpu.cr

Constructors

Instance Method Summary

Instance methods inherited from module Cr6502::Instructions

exec_adc(addr : UInt16) exec_adc, exec_and(addr : UInt16) exec_and, exec_asl(addr : UInt16)
exec_asl
exec_asl
, exec_bcc(mem : UInt16) exec_bcc, exec_bcs(mem : UInt16) exec_bcs, exec_beq(mem : UInt16) exec_beq, exec_bit(addr : UInt16) exec_bit, exec_bmi(mem : UInt16) exec_bmi, exec_bne(mem) exec_bne, exec_bpl(mem) exec_bpl, exec_brk exec_brk, exec_bvc(mem) exec_bvc, exec_bvs(mem) exec_bvs, exec_clc exec_clc, exec_cld exec_cld, exec_cli exec_cli, exec_clv exec_clv, exec_cmp(addr : UInt16) exec_cmp, exec_cpx(addr : UInt16) exec_cpx, exec_cpy(addr : UInt16) exec_cpy, exec_dec(addr : UInt16) exec_dec, exec_dex exec_dex, exec_dey exec_dey, exec_eor(addr : UInt16) exec_eor, exec_inc(addr : UInt16) exec_inc, exec_inx exec_inx, exec_iny exec_iny, exec_jmp(addr : UInt16) exec_jmp, exec_jsr(addr : UInt16) exec_jsr, exec_lda(addr : UInt16) exec_lda, exec_ldx(addr : UInt16) exec_ldx, exec_ldy(addr : UInt16) exec_ldy, exec_lsr(addr : UInt16)
exec_lsr
exec_lsr
, exec_nop exec_nop, exec_ora(addr : UInt16) exec_ora, exec_pha exec_pha, exec_php exec_php, exec_pla exec_pla, exec_plp exec_plp, exec_rol(addr : UInt16)
exec_rol
exec_rol
, exec_ror(addr : UInt16)
exec_ror
exec_ror
, exec_rti exec_rti, exec_rts exec_rts, exec_sbc(addr : UInt16) exec_sbc, exec_sec exec_sec, exec_sed exec_sed, exec_sta(addr : UInt16) exec_sta, exec_stx(addr : UInt16) exec_stx, exec_sty(addr : UInt16) exec_sty, exec_tax exec_tax, exec_tay exec_tay, exec_tsx exec_tsx, exec_txa exec_txa, exec_txs exec_txs, exec_tya exec_tya

Instance methods inherited from module Cr6502::MemoryUtils

memread(addr : UInt16) memread, memwrite(addr : UInt16, value : UInt8) : Nil memwrite, pop_pc : UInt16 pop_pc, push_flags : Nil push_flags, push_pc : Nil push_pc, read_addr_for(mode) : UInt16 read_addr_for, stack_inspect stack_inspect, stack_peek stack_peek, stack_pop : UInt8 stack_pop, stack_push(value : UInt8) : Nil stack_push

Instance methods inherited from module Cr6502::FlagsUtils

brk_flag brk_flag, brk_flag? brk_flag?, carry_flag carry_flag, carry_flag? carry_flag?, decimal_flag decimal_flag, decimal_flag? decimal_flag?, interrupt_flag interrupt_flag, interrupt_flag? interrupt_flag?, negative_flag negative_flag, negative_flag? negative_flag?, overflow_flag overflow_flag, overflow_flag? overflow_flag?, set_adc_overflow(old_acc, acc, mem) : Nil set_adc_overflow, set_carry_u16(tmp : UInt16) : Nil set_carry_u16, set_carry_u8(tmp : UInt8) : Nil set_carry_u8, set_negative(tmp) : Nil set_negative, set_zero(tmp) : Nil set_zero, zero_flag zero_flag, zero_flag? zero_flag?

Constructor Detail

def self.new(memory : Array(UInt8), start : UInt16) #

[View source]

Instance Method Detail

def accumulator : UInt8 #

[View source]
def accumulator=(accumulator : UInt8) #

[View source]
def cycle! #

[View source]
def exec(opcode) #

[View source]
def registers : Hash(Symbol, UInt8) #

[View source]
def running? #

[View source]