Class: Rnes::DmaController

Inherits:
Object
  • Object
show all
Defined in:
lib/rnes/dma_controller.rb

Constant Summary collapse

TRANSFER_BYTESIZE =
2**8

Instance Method Summary collapse

Constructor Details

#initialize(ppu:, working_ram:) ⇒ DmaController

Returns a new instance of DmaController.

Parameters:



7
8
9
10
11
# File 'lib/rnes/dma_controller.rb', line 7

def initialize(ppu:, working_ram:)
  @ppu = ppu
  @requested = false
  @working_ram = working_ram
end

Instance Method Details

#request_transfer(address_hint:) ⇒ Object

Parameters:

  • address_hint (Integer)


20
21
22
23
# File 'lib/rnes/dma_controller.rb', line 20

def request_transfer(address_hint:)
  @requested = true
  @working_ram_address = address_hint << 8
end

#transfer_if_requestedObject



13
14
15
16
17
# File 'lib/rnes/dma_controller.rb', line 13

def transfer_if_requested
  if @requested
    transfer
  end
end