commit b3e1059298767695ac46a6afd5522e8d88aadd40 Author: Dagen Brock Date: Mon Feb 23 22:38:37 2015 -0600 build of shell p8 app straight from cadius diff --git a/make_input b/make_input new file mode 100755 index 0000000..e441c50 --- /dev/null +++ b/make_input @@ -0,0 +1,60 @@ +#!/bin/bash + +# Here's our fancy build pipeline. Output = src/mtsystem (binary file) +./Merlin32 . src/mt.s + + +# name of your disk image +DISK="MT" + +# set one of the following to true +USE_CADIUS=true +USE_APPLECOMMANDER=false + + +SRCFILES=(`ls src/*.s`) +SYSFILES=(`ls src/*system`) +CADIUS="../tools/Cadius" +P8NAME="$DISK" +IMGNAME="$DISK.po" +DISKSIZE=800KB +SRCDIR=src +BLDDIR=build/nix + +if [ ! -d $BLDDIR ] ; then + echo "Build directory for this platform doesn't exist so I will create it." + mkdir -p $BLDDIR + echo "Created: $BLDDIR" + sleep 1 +fi + +# need to autogen +cp src/_FileInformation.txt $BLDDIR + +$CADIUS createvolume $IMGNAME $P8NAME $DISKSIZE + +#SOURCE FILES +for f in ${SRCFILES[@]}; +do + FNAME=${f##*/} + echo Processing $FNAME + cp $f $BLDDIR/$FNAME + $CADIUS sethighbit $BLDDIR/$FNAME + $CADIUS addfile $IMGNAME /$P8NAME/ $BLDDIR/$FNAME -V +done + + +#SYSTEM FILES +for f in ${SYSFILES[@]}; +do + FNAME=${f##*/} + echo Processing $FNAME + cp $f $BLDDIR/$FNAME + #$CADIUS sethighbit $BLDDIR/$FNAME + $CADIUS addfile $IMGNAME /$P8NAME/ $BLDDIR/$FNAME -V +done + + + +exit + diff --git a/src/mt.s b/src/mt.s new file mode 100644 index 0000000..ee1b6b9 --- /dev/null +++ b/src/mt.s @@ -0,0 +1,29 @@ +**************************************** +* Quit8 * +* * +* Dagen Brock * +* 2013-06-24 * +**************************************** + + org $2000 ; start at $2000 (all ProDOS8 system files) + typ $ff ; set P8 type ($ff = "SYS") for output file + DSK mtsystem ; tell compiler what name for output file + +MLI equ $bf00 + + + +Quit jsr MLI ; first actual command, call ProDOS vector + dfb $65 ; with "quit" request ($65) + da QuitParm + bcs Error + brk $00 ; shouldn't ever here! + +QuitParm dfb 4 ; number of parameters + dfb 0 ; standard quit type + da $0000 ; not needed when using standard quit + dfb 0 ; not used + da $0000 ; not used + + +Error brk $00 ; shouldn't be here either