rhubarb-lip-sync/lib/flite-1.4/palm/arm_flite/make_seg_ro

60 lines
3.1 KiB
Bash

#!/bin/sh
###########################################################################
## ##
## Language Technologies Institute ##
## Carnegie Mellon University ##
## Copyright (c) 2004 ##
## All Rights Reserved. ##
## ##
## Permission is hereby granted, free of charge, to use and distribute ##
## this software and its documentation without restriction, including ##
## without limitation the rights to use, copy, modify, merge, publish, ##
## distribute, sublicense, and/or sell copies of this work, and to ##
## permit persons to whom this work is furnished to do so, subject to ##
## the following conditions: ##
## 1. The code must retain the above copyright notice, this list of ##
## conditions and the following disclaimer. ##
## 2. Any modifications must be clearly marked as such. ##
## 3. Original authors' names are not deleted. ##
## 4. The authors' names are not used to endorse or promote products ##
## derived from this software without specific prior written ##
## permission. ##
## ##
## CARNEGIE MELLON UNIVERSITY AND THE CONTRIBUTORS TO THIS WORK ##
## DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ##
## ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT ##
## SHALL CARNEGIE MELLON UNIVERSITY NOR THE CONTRIBUTORS BE LIABLE ##
## FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ##
## WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN ##
## AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ##
## ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF ##
## THIS SOFTWARE. ##
## ##
###########################################################################
#
# Build a segmented resource out of the binary data in given .bin file
#
# make_seg_ro arm.bin type id
SEGSIZE=65400
arm-palmos-objcopy -O binary $1 $1.raw
split -b $SEGSIZE $1.raw $1.raw.
NUMSEGS=`ls $1.raw.* | wc -l`
NUMBYTES=`ls -al $1.raw | awk '{print $5}'`
HEXTYPE=`printf "%04x" $3`
rm -f $2""????.bin
printf "FLITE \0" >$2""$HEXTYPE.bin
printf "%4s\0" $2 >>$2""$HEXTYPE.bin
printf "%07d\0" $3 >>$2""$HEXTYPE.bin
printf "%07d\0" $SEGSIZE >>$2""$HEXTYPE.bin
printf "%07d\0" $NUMSEGS >>$2""$HEXTYPE.bin
printf "%07d\0" $NUMBYTES >>$2""$HEXTYPE.bin
ls $1.raw.* |
awk '{printf("mv %s %s%04x.bin\n",$1,"'$2'",'$3'+NR);}' | sh -v
par r $2.ro $2 $2 CMFL $2""????.bin
rm -f $1.raw* $2""????.bin