Class: Mos6510::Cpu

Inherits:
Object
  • Object
show all
Defined in:
lib/mos6510/cpu.rb

Instance Method Summary collapse

Constructor Details

#initialize(sid: nil) ⇒ Cpu

Returns a new instance of Cpu.



3
4
5
6
# File 'lib/mos6510/cpu.rb', line 3

def initialize(sid: nil)
  @memory = [0] * 65536
  @sid = sid
end

Instance Method Details

#jsr(address, accumulator_value = 0) ⇒ Object



18
19
20
# File 'lib/mos6510/cpu.rb', line 18

def jsr(address, accumulator_value=0)
  @cpu.jsr(address, accumulator_value)
end

#load(bytes, from: 0) ⇒ Object



8
9
10
11
12
# File 'lib/mos6510/cpu.rb', line 8

def load(bytes, from: 0)
  bytes.each_with_index do |byte, index|
    @memory[from + index] = byte
  end
end

#pcObject



26
27
28
# File 'lib/mos6510/cpu.rb', line 26

def pc
  @cpu.pc
end

#pc=(new_pc) ⇒ Object



30
31
32
# File 'lib/mos6510/cpu.rb', line 30

def pc=(new_pc)
  @cpu.pc = new_pc
end

#peek(address) ⇒ Object



34
35
36
# File 'lib/mos6510/cpu.rb', line 34

def peek(address)
  @cpu.getmem(address)
end

#startObject



14
15
16
# File 'lib/mos6510/cpu.rb', line 14

def start
  @cpu = Mos6510.new(@memory, sid: @sid)
end

#stepObject



22
23
24
# File 'lib/mos6510/cpu.rb', line 22

def step
  @cpu.step
end