#!/usr/bin/perl
use Data::Dumper;
use strict;

open (FH, ">rec.out");

my ($record, $count, $address, $type, $data, $checksum, $i, $val, $csum_total);
while(defined($record = <STDIN>)) {
	chomp $record;
	### Every line starts with :
	if ($record !~ m/:/) {
		print "Not a valid Intel Hex-Record\n";
		exit;
	}
	$count = hex(substr($record, 1,2));
	$address = substr($record, 3, 4);
	$type = substr($record, 7, 2);
	$data = substr($record, 9, $count);
	$checksum = hex(substr($record, 2 * $count + 9, 2));
	$csum_total = 0;
	for($i=0; $i<$count; $i++) {
		$val = hex(substr($data, $i, 2)),"\n";
		$csum_total = $csum_total + $val;
		syswrite FH, pack("C",$val), 1, 0;
	}


}
