• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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