| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | 
							- #!/bin/sh
 
- prg=$(basename "$0")
 
- # parse arguments
 
- while getopts f:h optname
 
- do
 
-   case $optname in
 
-   f)    port="$OPTARG" ;;
 
-   *)    help=1 ;;
 
-   esac
 
- done
 
- shift `expr $OPTIND - 1`
 
- old="$1"
 
- new="$2"
 
- if [ -z "$old" -o "$help" = "-h" -o "$#" -gt 2 ]
 
- then
 
-   echo "usage: $0 [-f <port>] <old dump> [<new dump>]" >&2
 
-   echo "Convert <old dump> to instructions to update instructions." >&2
 
-   echo "With <new dump>, generate instructions to update EEPROM changes only." >&2
 
-   echo "Optionally write such changes directly if <port> if given." >&2
 
-   exit 1
 
- fi
 
- set -e
 
- instr=$(mktemp)
 
- trap "rm -f \"$instr\"" EXIT
 
- convert()
 
- {
 
-     sed -ne 's/^\([0-9a-f]\{4\}\) \([0-9a-f ]*\)$/D3 Ax\1 C16 X\2/p' "$@"
 
- }
 
- if [ -z "$new" ]; then
 
-     # convert the instructions to updates
 
-     convert "$old" > "$instr"
 
- else
 
-     tmp1=$(mktemp)
 
-     tmp2=$(mktemp)
 
-     trap "rm -f \"$tmp1\" \"$tmp2\"" EXIT
 
-     convert "$old" > "$tmp1"
 
-     convert "$new" > "$tmp2"
 
-     comm -13 "$tmp1" "$tmp2" > "$instr"
 
- fi
 
- # write the instructions if requested
 
- if [ -z "$port" ]; then
 
-     cat "$instr"
 
- else
 
-     printcore -v "$port" "$instr"
 
- fi
 
 
  |