#!/bin/sh if [ "$#" -ne 3 ] || ! [ -f "$1" ]; then echo =========================== echo "Script to modify sidedeck references to a new DLL name" echo =========================== echo "Usage: $0 originalsidedeck modifiedsidedeck newdllreference" >&2 exit 1 fi originalsidedeck=$1 outputsidedeck=$2 newdllname=$3 SCRIPT_DIR=$(dirname "$0") ID=`date +%C%y%m%d_%H%M%S` TMP="/tmp/sidedeck-$(basename "$0").$ID.tmp" TMP2="/tmp/sidedeck-$(basename "$0").$ID.tmp.2" # Remove on exit/interrupt trap '/bin/rm -rf "$TMP" "$TMP2" && exit' EXIT INT TERM QUIT HUP set -x dd conv=unblock cbs=80 if="$originalsidedeck" of="$TMP" chtag -tc 1047 "$TMP" "$SCRIPT_DIR"/sdwrap.py -u -i "$TMP" -o "$TMP2" chtag -tc 819 "$TMP2" sed -e "s/\(^ IMPORT \(DATA\|CODE\)64,\)'[^']*'/\1'$newdllname'/g" "$TMP2" > "$TMP" "$SCRIPT_DIR"/sdwrap.py -i "$TMP" -o "$TMP2" # Reformat sidedeck to be USS compatible iconv -f ISO8859-1 -t IBM-1047 "$TMP2" > "$TMP" dd conv=block cbs=80 if="$TMP" of="$outputsidedeck"