Sha256: aa67c3d1e3105328023de3bc8063e9e2d349cc401c6f0150143c56b2c59e7c46

Contents?: true

Size: 1.74 KB

Versions: 19

Compression:

Stored size: 1.74 KB

Contents

require 'NativeFileType'


class Trs80PascalSource<NativeFileType

def self.file_system_file_types
  {
    TrsDos=>"SRC"
  }
end

#TRS80 Pascal Source files appear to start with a T and then a 2 byte length marker
is_valid_file_if  lambda {contents[0]==0x54 && (contents[1,2].unpack('v')[0])<contents.length}

def to_listing  
	s=""
	p=1
  length=contents[1,2].unpack('v')[0]
	contents[1,length].each_byte do |b|
    if (b>=0x80) then 
      s<<' '*(b-0x80)
    elsif b==0x01 then
      s<<"\n"
    else
      s<<b.chr
    end
  end     
	s	
end


end

  
# == Author
# Jonno Downes (jonno@jamtronix.com)
#
# == Copyright
# Copyright (c) 2008 Jonno Downes (jonno@jamtronix.com)
#
#Permission is hereby granted, free of charge, to any person obtaining
#a copy of this software and associated documentation files (the
#"Software"), to deal in the Software without restriction, including
#without limitation the rights to use, copy, modify, merge, publish,
#distribute, sublicense, and/or sell copies of the Software, and to
#permit persons to whom the Software is furnished to do so, subject to
#the following conditions:

# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Software.

# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
ripxplore-0.17.1 lib/native_file_types/trs80/Trs80PascalSource.rb
ripxplore-0.17.0 lib/native_file_types/trs80/Trs80PascalSource.rb
ripxplore-0.16.1 lib/native_file_types/trs80/Trs80PascalSource.rb
ripxplore-0.15.1 lib/native_file_types/trs80/Trs80PascalSource.rb
ripxplore-0.14.1 lib/native_file_types/trs80/Trs80PascalSource.rb
ripxplore-0.14.0 lib/native_file_types/trs80/Trs80PascalSource.rb
ripxplore-0.13.0 lib/native_file_types/trs80/Trs80PascalSource.rb
ripxplore-0.12.0 lib/native_file_types/trs80/Trs80PascalSource.rb
ripxplore-0.11.0 lib/native_file_types/trs80/Trs80PascalSource.rb
ripxplore-0.0.2 lib/native_file_types/trs80/Trs80PascalSource.rb
ripxplore-0.4.0 lib/native_file_types/trs80/Trs80PascalSource.rb
ripxplore-0.0.1 lib/native_file_types/trs80/Trs80PascalSource.rb
ripxplore-0.5.1 lib/native_file_types/trs80/Trs80PascalSource.rb
ripxplore-0.5.0 lib/native_file_types/trs80/Trs80PascalSource.rb
ripxplore-0.7.0 lib/native_file_types/trs80/Trs80PascalSource.rb
ripxplore-0.5.2 lib/native_file_types/trs80/Trs80PascalSource.rb
ripxplore-0.7.1 lib/native_file_types/trs80/Trs80PascalSource.rb
ripxplore-0.7.2 lib/native_file_types/trs80/Trs80PascalSource.rb
ripxplore-0.8.0 lib/native_file_types/trs80/Trs80PascalSource.rb