#! /bin/sh
#
# Fix assembler output from the freeware HiTech 6811 C compiler
# so it goes through the freeware assembler as11.
# Builds file.asm, deleting file.as
#
# Changes syntax in bset, bclr, brset, brclr instructions
# Comments out all global, opt, psect and signat pseudo-ops
# Changes commenting convention from ; to *
# Deletes the extra RTI generated bi vectors.c (if used)
# Removes all control-M's (you might not want this on DOS)
# Truncates commented source lines to 120 bytes or as11 chokes
#
# Strings get org'd at $F000 - change this below if you want.
#

if [ -s $1.as ]
then
	sed '
		s/brset[ 	]*\([^,]*\),\([^,]*\),\([^,]*\),\([^,]*\)/brset	\1,\2 \3 \4/
		s/brclr[ 	]*\([^,]*\),\([^,]*\),\([^,]*\),\([^,]*\)/brclr	\1,\2 \3 \4/
		s/bset[ 	]*\([^,]*\),\([^,]*\),\([^,]*\)/bset	\1,\2 \3/
		s/bclr[ 	]*\([^,]*\),\([^,]*\),\([^,]*\)/bclr	\1,\2 \3 \4/
		s/.*psect.bss,class=DATA.*/	ORG 0	******** Data *******/
		/^	global/d
		/^	opt/d
		/^	psect/d
		/^	signat/d
		/^[ 	]*org/i\
*****************************************************************************
		/^_/i\
*****************************************************************************
		s/ ;#
$//
		s/;/\*/
		s/^\(\*.......................................................................................................................\).*/\1/
		s/^#/*/
		s/^[ 	]* [ 	]*/	/
#		/vectors.c.*org.0/,/rti/d
		s/
//g' < $1.as > $1.asm
else
	echo Usage: $0 file
fi
