1#!/bin/sh 2 3if [ "$#" -ne 3 ] || ! [ -f "$1" ]; then 4 echo =========================== 5 echo "Script to modify sidedeck references to a new DLL name" 6 echo =========================== 7 echo "Usage: $0 originalsidedeck modifiedsidedeck newdllreference" >&2 8 exit 1 9fi 10 11originalsidedeck=$1 12outputsidedeck=$2 13newdllname=$3 14 15SCRIPT_DIR=$(dirname "$0") 16ID=`date +%C%y%m%d_%H%M%S` 17TMP="/tmp/sidedeck-$(basename "$0").$ID.tmp" 18TMP2="/tmp/sidedeck-$(basename "$0").$ID.tmp.2" 19 20# Remove on exit/interrupt 21trap '/bin/rm -rf "$TMP" "$TMP2" && exit' EXIT INT TERM QUIT HUP 22 23set -x 24dd conv=unblock cbs=80 if="$originalsidedeck" of="$TMP" 25chtag -tc 1047 "$TMP" 26"$SCRIPT_DIR"/sdwrap.py -u -i "$TMP" -o "$TMP2" 27chtag -tc 819 "$TMP2" 28sed -e "s/\(^ IMPORT \(DATA\|CODE\)64,\)'[^']*'/\1'$newdllname'/g" "$TMP2" > "$TMP" 29"$SCRIPT_DIR"/sdwrap.py -i "$TMP" -o "$TMP2" 30 31# Reformat sidedeck to be USS compatible 32iconv -f ISO8859-1 -t IBM-1047 "$TMP2" > "$TMP" 33dd conv=block cbs=80 if="$TMP" of="$outputsidedeck" 34