#!/bin/bash

# Script for send FUZIX via RS232

FILE="$1"

if [[ -z "$FILE" ]]; then
	printf "\nScript for send FUZIX via RS232.\n"
	printf "Usage: send_fuzix fuzix.bin\n\n"
	exit 1
fi

PORT="/dev/ttyUSB0"
SPEED=57600
stty -F $PORT $SPEED raw -crtscts

# $1 - file
SIZE=
function getfsize(){
	siz0=`du -b "$1"`
	siz1=( $siz0 )
	SIZE=${siz1[0]}
}

# $1 -number $2-file
function bin_out_word(){
	let "L= $SIZE & 0xFF"
	let "H= $SIZE >> 8  & 0xFF"
	printf "\x`printf "%x" $L`" >> "$2"
	printf "\x`printf "%x" $H`" >> "$2"
}

getfsize "$FILE"

echo $SIZE
printf "Size: %u %x\n" $SIZE $SIZE

bin_out_word $SIZE $PORT
sleep 2

dd if="$FILE" bs=16384 skip=0 count=1 >> $PORT
printf "page 0\n"
sleep 2
dd if="$FILE" bs=16384 skip=1 count=1 >> $PORT
printf "page 1\n"
sleep 2
dd if="$FILE" bs=16384 skip=2 count=1 >> $PORT
printf "page 2\n"
sleep 2
dd if="$FILE" bs=16384 skip=3 count=1 >> $PORT
printf "page 3\n"
