|
|
@@ -1,6 +1,6 @@ |
|
|
|
#!/usr/bin/env bash |
|
|
|
|
|
|
|
# Calls tools/emul/zasm/zasm in a convenient manner by wrapping specified |
|
|
|
# Calls emul/zasm/zasm in a convenient manner by wrapping specified |
|
|
|
# paths to include in a single CFS file and then pass that file to zasm. |
|
|
|
# Additionally, it takes a "-o" argument to set the initial ".org" of the |
|
|
|
# binary. For example, "zasm.sh -o 4f < foo.asm" assembles foo.asm as if it |
|
|
@@ -12,7 +12,7 @@ |
|
|
|
# so, if we can't get readlink -f to work, try python with a realpath implementation |
|
|
|
ABS_PATH=$(readlink -f "$0" || python -c "import os; print(os.path.realpath('$0'))") |
|
|
|
DIR=$(dirname "${ABS_PATH}") |
|
|
|
ZASMBIN="${DIR}/emul/zasm/zasm" |
|
|
|
ZASMBIN="${DIR}/zasm/zasm" |
|
|
|
|
|
|
|
usage() { echo "Usage: $0 [-a] [-o <hexorg>] <paths-to-include>..." 1>&2; exit 1; } |
|
|
|
|
|
|
@@ -20,7 +20,7 @@ org='00' |
|
|
|
while getopts ":ao:" opt; do |
|
|
|
case "${opt}" in |
|
|
|
a) |
|
|
|
ZASMBIN="${DIR}/emul/zasm/avra" |
|
|
|
ZASMBIN="${DIR}/zasm/avra" |
|
|
|
;; |
|
|
|
o) |
|
|
|
org=${OPTARG} |
|
|
@@ -32,8 +32,8 @@ while getopts ":ao:" opt; do |
|
|
|
done |
|
|
|
shift $((OPTIND-1)) |
|
|
|
|
|
|
|
# wrapper around ./emul/zasm/zasm that prepares includes CFS prior to call |
|
|
|
CFSPACK="${DIR}/cfspack/cfspack" |
|
|
|
# wrapper around ./zasm/zasm that prepares includes CFS prior to call |
|
|
|
CFSPACK="${DIR}/../tools/cfspack/cfspack" |
|
|
|
INCCFS=$(mktemp) |
|
|
|
|
|
|
|
"${CFSPACK}" -p "*.h" -p "*.asm" -p "*.bin" "$@" > "${INCCFS}" |