#!/usr/bin/ruby

if ARGV.size < 1
	puts "usage: odx file"
	exit
end

def xdump ( addr, buf )
	daddr = 0x8000 + addr
	print "%08x" % daddr, " "
	space = false
	buf.each_byte { |b|
	    print "%02x" % b
	    if space
	    	print " "
		space = false
	    else
		space = true
	    end
	}
	print "  "
	buf.each_byte { |b|
	    if b >= 32 and b <= 0x7e
		print b.chr
	    else
		print " "
	    end
	}
	print "\n"
end

f = File.new( ARGV[0] )

addr = 0
while b = f.read( 16 )
	xdump(addr,b)
	addr += 16
end

f.close

