From 2542a209841cea0165a83c140c4641b757f70b4d Mon Sep 17 00:00:00 2001 From: Joshua Bell Date: Mon, 4 Sep 2017 13:51:51 -0700 Subject: [PATCH] Rework files, add Makefile --- desk.acc/.gitignore | 10 ++++++++ desk.acc/Makefile | 22 ++++++++++++++++++ desk.acc/README.md | 10 ++++---- desk.acc/go.sh | 34 ++++++---------------------- desk.acc/{dhr.s => show_dhr_file.s} | 0 desk.acc/stf | Bin 2543 -> 0 bytes 6 files changed, 45 insertions(+), 31 deletions(-) create mode 100644 desk.acc/Makefile rename desk.acc/{dhr.s => show_dhr_file.s} (100%) delete mode 100644 desk.acc/stf diff --git a/desk.acc/.gitignore b/desk.acc/.gitignore index cb59be2..3c793f5 100644 --- a/desk.acc/.gitignore +++ b/desk.acc/.gitignore @@ -1,2 +1,12 @@ + +# Object files (assembler output, pre-linking) *.o + +# Listing files (to review offsets) *.list + +# Output files (ProDOS file type F1) +*.F1 + +# Directory mounted in Virtual ][ as a ProDOS volume +mount diff --git a/desk.acc/Makefile b/desk.acc/Makefile new file mode 100644 index 0000000..f223661 --- /dev/null +++ b/desk.acc/Makefile @@ -0,0 +1,22 @@ + +CC65 = ~/dev/cc65/bin +CAFLAGS = --target apple2enh --list-bytes 0 +CCFLAGS = --config apple2-asm.cfg + +# ProDOS file type is $F1 ($ is pesky) +TARGETS = show_text_file.F1 show_dhr_file.F1 + +.PHONY: clean all +all: $(TARGETS) + +HEADERS = $(wildcard ../*.h) + +clean: + rm -f *.o + rm -f $(TARGETS) + +%.o: %.s $(HEADERS) + $(CC65)/ca65 $(CAFLAGS) --listing $(basename $@).list -o $@ $< + +%.F1: %.o + $(CC65)/ld65 $(CCFLAGS) -o $@ $< diff --git a/desk.acc/README.md b/desk.acc/README.md index 71a2fc7..602ff63 100644 --- a/desk.acc/README.md +++ b/desk.acc/README.md @@ -6,18 +6,20 @@ Disassembly of the desk accessories: * [Show Text File](show_text_file.s) - in progress! * Sort Directory - _not started_ +New desk accessories: +* [Show DHR File](show_dhr_file.s) - in progress! + ## Desk Accessory Details * Loaded at $800 through (at least) $14FF * Copy themselves from Main into Aux memory (same location) * Can call into ProDOS MLI and A2D entry points ($4000, etc) -## Process +## Files -* `go.sh` - bash script used to drive the initial disassembly - (now commented out) and building +* `Makefile` - cleans/builds targets +* `go.sh` - bash script to build, verify, and copy files * `*.bin` - original binary (type $F1, start $800) * `*.info` - da65 "info" file - used to inform disassembly * `*.s` - source (originally generated using da65, now modified) -* `*` - linked target - byte-for-byte identical with original diff --git a/desk.acc/go.sh b/desk.acc/go.sh index c28ae45..8ca0429 100755 --- a/desk.acc/go.sh +++ b/desk.acc/go.sh @@ -2,36 +2,16 @@ set -e -CC65=~/dev/cc65/bin - -original=show_text_file.bin -disasm=show_text_file.d - -src=show_text_file.s -obj=show_text_file.o -list=show_text_file.list -out=show_text_file - -# Origin of STF -#echo ' .org $800' > $disasm - -# Disassemble original source -#$CC65/da65 $original --info show_text_file.info >> $disasm - -#cp $disasm $src - -# Assemble -$CC65/ca65 --target apple2enh --listing $list --list-bytes 0 -o $obj $src - -# Link -$CC65/ld65 --config apple2-asm.cfg -o $out $obj +make clean +make all # Verify original and output match -diff $original $out +diff show_text_file.bin show_text_file.F1 \ + && echo "Files match" -$CC65/ca65 --target apple2enh --listing dhr.list --list-bytes 0 -o dhr.o dhr.s -$CC65/ld65 --config apple2-asm.cfg -o dhr dhr.o +cat show_dhr_file.F1 > mount/SHOW.DHR.FILE.\$F1 \ + && echo "Updated mounted file" # Show output for review #less $list -less dhr.list +#less dhr.list diff --git a/desk.acc/dhr.s b/desk.acc/show_dhr_file.s similarity index 100% rename from desk.acc/dhr.s rename to desk.acc/show_dhr_file.s diff --git a/desk.acc/stf b/desk.acc/stf deleted file mode 100644 index 79c30bc5262dc2797f935fb881b2eab24047b114..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2543 zcmb_eUu;`f9X`Hx?DIKx>}xjUP8&M#ur2VgQC>W>by2Id$*|B=cxspIwoRhAt(!Jw zqael#%I(}g$0W@*(x!nZB2sR}3C@~s6fGjaORt5aTf`eGDH2r4M9gIovJ{mwbghB*6GG00`Z{5ZSD_yxub-W?g5uO@gkrNt`6-G{ut(ntp9 zCz5l|^0!1ec{iKo(wHZpU`bk_WlQ`S67%Y;{?*r}gZ!c;e#<2%*srgDz-e9lk$)m8 z`wxh2+96WWo6-d#zvyEXG2NrC5M5 zgHfw>H2J@_^^L~XK1Flar>0NsPJ_)I*bx0u=c#cv z#H%6P=ClI!g+?eg_*)vgXZirte&1LUjBk68#bHc$Q7yB?BC{Q)$jKbJ@vP?W|m=_1Q`UjW) z2W6YvS>$f33PLd0bQMn4Q!C{qIlpdp4X5kp}Dl%#oEBhczP*<_CA94n2 z1k?L)i+Qo>{kUa#4bAtmXB!caBgi<6z;@U%2x>>fVp6`L^_CwAUb3%o5MU)gb&w)sG-gLwqkTR^pU5 zwF^F1?eK!)u_jB6!T+onh-GN7as(xVVj=MH*x=u4YmJ%Zz=pur0(Z@Sgy3l!<_R8h z|1)SfYa58g4Mbx)x4Efm-8U?D$J1UQW2pm}U`v_ht?t&+-Qp3Vg7Lqxm=w$N6w3~Z zLRj6eBz$N^e3<} zU8m?`@#4dAH3~PX`Amac;OThfBK+te*RUtz1R90tjMtTs+n#5sV~}T|`XSFj9fy>< zL@%6yX2k{p4U3eKgLE3m!@6TNKkKe(#=ir31=FYDr_$;j)R4x@4qUYMv>ZPQAdI*9daD;SBH*Dn#Z2i{y-y^NezN5NV(ousQ59@n~a@Efa#iNn=Avb{|LrbR5&DoLLc zlpP=kN%wZLg>;@&UP_RAV+r*VDq{&RtoEWpqHuK>*`&6* z2Wm9ouKU`oqI9)_mdIAkj0->H#wmzlq%FGF$@@LT>Pv|{<);H`ERm-eI_bE~Ehj3S zl*hTHM5O~IEG^w?@>AJgCP+X?S|(WbRNW$dcd~Qr4=f$%4E!wcK|r;^Pf~vUMykM; zA)TdmSn537l%LlB13q(srLKE-7APS@no8%1O0^1$ZArDt-4yw_$}ROFm%Ft-IJR+B@v$?B_GW{9P~IwOK!)W84L+c2AZd z_toyn8OZ%~b-s%gIv@u?1KADr9%PR$V=rV5ss~;~b)X1a+DyY;6e|o#EHLD zbI4vxS`(pkPoyVY_U=xGE#fM(BP4n}{CI>!mh`g7(@`^c;m|MWu6w1jv8af5*zt_uSW&i*H