Class: Mos6510::Cpu
- Inherits:
-
Object
- Object
- Mos6510::Cpu
- Defined in:
- lib/mos6510/cpu.rb
Instance Method Summary collapse
-
#initialize(sid: nil) ⇒ Cpu
constructor
A new instance of Cpu.
- #jsr(address, accumulator_value = 0) ⇒ Object
- #load(bytes, from: 0) ⇒ Object
- #pc ⇒ Object
- #pc=(new_pc) ⇒ Object
- #peek(address) ⇒ Object
- #start ⇒ Object
- #step ⇒ Object
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 |
#pc ⇒ Object
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 |
#start ⇒ Object
14 15 16 |
# File 'lib/mos6510/cpu.rb', line 14 def start @cpu = Mos6510.new(@memory, sid: @sid) end |
#step ⇒ Object
22 23 24 |
# File 'lib/mos6510/cpu.rb', line 22 def step @cpu.step end |