class Metasm::GameBoyRom

GameBoy ROM file format

Attributes

header[RW]

Public Class Methods

new(cpu=nil) click to toggle source
Calls superclass method Metasm::ExeFormat.new
# File metasm/exe_format/gb.rb, line 38
def initialize(cpu=nil)
        @endianness = (cpu ? cpu.endianness : :little)
        super(cpu)
end

Public Instance Methods

cpu_from_headers() click to toggle source
# File metasm/exe_format/gb.rb, line 53
def cpu_from_headers
        Z80.new('gb')
end
decode() click to toggle source
# File metasm/exe_format/gb.rb, line 48
def decode
        decode_header
        @encoded.add_export('entrypoint', 0x100)
end
decode_byte(edata = @encoded) click to toggle source
# File metasm/exe_format/gb.rb, line 32
def decode_byte(edata = @encoded) edata.decode_imm(:u8,  @endianness) end
decode_header() click to toggle source
# File metasm/exe_format/gb.rb, line 43
def decode_header
        @encoded.ptr = 0x104
        @header = Header.decode(self)
end
each_section() { |encoded, 0| ... } click to toggle source
# File metasm/exe_format/gb.rb, line 57
def each_section
        yield @encoded, 0
end
encode_byte(val) click to toggle source
# File metasm/exe_format/gb.rb, line 31
def encode_byte(val) Expression[val].encode(:u8,  @endianness) end
get_default_entrypoints() click to toggle source
# File metasm/exe_format/gb.rb, line 61
def get_default_entrypoints
        ['entrypoint']
end
sizeof_byte() click to toggle source
# File metasm/exe_format/gb.rb, line 33
def sizeof_byte ; 1 ; end