Skip to content

Instantly share code, notes, and snippets.

@LightningStalker
Last active August 20, 2026 10:23
Show Gist options
  • Select an option

  • Save LightningStalker/1f8d3198da90e670eef4bcd3aa84de8b to your computer and use it in GitHub Desktop.

Select an option

Save LightningStalker/1f8d3198da90e670eef4bcd3aa84de8b to your computer and use it in GitHub Desktop.
vasm make script
#/bin/bash
# assemble, image, emulate
NAME=mysource_basename
ASMFILE=${NAME}.s
LISTING=list
BINPREFIX=${NAME}#060
DSKIMG="/usr/myhome/mydir/work.dsk"
EMUSTATE=$(realpath SaveState.aws.yaml)
GREP=grep
SED=sed
GROPTS="-i org"
SEDOPTS=-re
EXPR=-e
SED1='s/^.+\$//'
SED2='s/ .+$//'
ORG=$(${GREP} ${GROPTS} "${ASMFILE}" |
${SED} ${SEDOPTS} "${SED1}" ${EXPR} "${SED2}")
BINFILE=${BINPREFIX}${ORG}
ASM=vasm6502_oldstyle
DSKIMGPROG=cp2
EMU=sa2
ECHO="echo -e"
READ=read
ASMOPTS="-Fbin -L ${LISTING} -o"
DSKIMGOPTS="a --overwrite"
EMUOPTS=-s
READOPTS="-n 1 -s -t 5 -p"
TEEOPTS=/dev/tty
PROMPT="Emulate? enter = no, other = yes: "
#ANSI color
ABRED="\\e[1;38;5;9m" # bold bright red
AVIO="\\e[1;38;5;207m" # bold violet
ACLR="\\e[0m" # reset all attributes
${ECHO} "${ABRED}Assemble...${ACLR}"
${ASM} ${ASMOPTS} "${BINFILE}" "${ASMFILE}" &&
${ECHO} "listing saved to: '${LISTING}'\n"
${ECHO} "${ABRED}Copy binary to disk image...${ACLR}"
${DSKIMGPROG} ${DSKIMGOPTS} "${DSKIMG}" "${BINFILE}"
${ECHO} ${AVIO}
${READ} ${READOPTS} "${PROMPT}" KEY
${ECHO} ${ACLR}
if test -n "${KEY}"
then
${EMU} ${EMUOPTS} "${EMUSTATE}"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment