#!/usr/bin/env python
# -*- coding: utf8 -*-

import sys

inname = sys.argv[1]
outname = sys.argv[2]

toword = lambda a: a[0] + (a[1] << 8)
toarray = lambda w: [ w & 0xFF, w >> 8]

counter = 10
infile = open(inname, 'rb')
try:
	outfile = open(outname, 'wb')
	try:
		header = infile.read(0x168)
		outfile.write(header)
		
		while True:
			a = bytearray(infile.read(2))
			line = toword([ a[0], a[1] ])
			length = ord(infile.read(1))
			if line >= 0x8000:
				count = length - 3
				newline = 0x8000 + counter
			else:
				count = (length & 0x1F) - 3
				newline = counter
			data = infile.read(count)
			if len(data) < count:
				break
			outfile.write(bytearray(toarray(newline)))
			outfile.write(chr(length))
			outfile.write(data)
			counter += 10
	finally:
		outfile.write(bytearray([0x00, 0x80, 0x20, 0x20, 0x20]))
		outfile.close()
finally:
	infile.close()

