Class: C64Prg

Inherits:
CbmFile show all
Defined in:
lib/native_file_types/c64/C64Prg.rb

Direct Known Subclasses

C64BasicPrg, C64PrgText

Instance Attribute Summary

Attributes inherited from NativeFileType

#aux_code, #contents, #file_system_image, #file_type, #filename, #meta_data

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from CbmFile

#type_description

Methods inherited from NativeFileType

#<=>, #==, all_native_file_types, best_fit, code_for_tests, compatability_score, #data_without_header, file_type_matches?, #full_filename, #initialize, is_valid_file_if, load_address, matching_score, native_file_types_possible_on_file_system, non_matching_score, #to_hex_dump, #to_info_dump, #type_description

Methods included from SubclassTracking

extended

Constructor Details

This class inherits a constructor from NativeFileType

Class Method Details

.file_system_file_typesObject



11
12
13
14
15
# File 'lib/native_file_types/c64/C64Prg.rb', line 11

def self.file_system_file_types
  {
    CbmDos=>:prg
  }
end

Instance Method Details

#header_lengthObject



17
18
19
# File 'lib/native_file_types/c64/C64Prg.rb', line 17

def header_length
  2
end

#load_addressObject

PRG files have the load address stored in first two bytes of the file, in LO, HI order



22
23
24
25
# File 'lib/native_file_types/c64/C64Prg.rb', line 22

def load_address
  return 0 if contents.length<2
  contents[0]+contents[1]*256
end

#to_disassemblyObject



27
28
29
30
31
# File 'lib/native_file_types/c64/C64Prg.rb', line 27

def to_disassembly
    
  return C64.disassemble(data_without_header,load_address)     

end