38 lines
884 B
Bash
38 lines
884 B
Bash
if [ ! -d tmp ]; then
|
|
mkdir tmp
|
|
fi
|
|
|
|
for i in cbmbasic1 cbmbasic2 kbdbasic osi kb9 applesoft microtan aim65 sym1 gigatron; do
|
|
|
|
echo $i
|
|
ca65 -D $i msbasic.s -o tmp/$i.o -l tmp/$i.lst &&
|
|
ld65 -C $i.cfg tmp/$i.o -o tmp/$i.bin -Ln tmp/$i.lbl
|
|
|
|
done
|
|
|
|
# Create Gigatron ../include.gcl file
|
|
(
|
|
# COLD_START and STOP addresses
|
|
awk '
|
|
BEGIN {printf"{ Generated by: cd asm && ./make.sh }\n"}
|
|
/\.COLD_START$/{printf"_COLD_START=$%4s\n",$2}
|
|
/\.STOP$/ {printf"_STOP=$%4s\n",$2}
|
|
/\.LIST$/ {printf"_LIST=$%4s\n",$2}
|
|
/\.DIMFLG$/ {printf"_TMPZP=$%4s\n",$2}
|
|
/\.INPUTFLG$/ {printf"_INPUTFLG=$%4s\n",$2}
|
|
' tmp/gigatron.lbl
|
|
|
|
# Hex dump
|
|
od -v -A n -t x1 tmp/gigatron.bin |
|
|
fmt -1 |
|
|
awk -v A=536 '
|
|
BEGIN {printf"\n*=$%x\n",A}
|
|
NF>0 {
|
|
if(A%16==0)print""
|
|
if(A%256==0)printf"\n*=$%x\n",A
|
|
printf " #$%-2s",$1
|
|
A++}
|
|
END {print}
|
|
'
|
|
) > ../include.gcl
|