.key outfile,dir,pattern if "" eq "" set out "make.exe" else set out ".exe" endif set pcd "`cd`" if "" not eq "" cd "" endif if "" eq "" set pat "#?" else set pat "" endif echo "Making a self-extracting archive of directory *"`cd`*" to *"$out*"... " echo "Generating source" list p=$pat files lformat "(%8l) %p%n" echo >t:make.asm " move.l 4,a6*n lea d(pc),a1*n jsr -408(a6)*n move.l d0,a6*n tst.l d0*n bne.s s*n moveq #20,d0*n rts*nd dc.b 'dos.library',0*n even*ns" list >>t:make.asm p=$pat files lformat " move.l #e_%k-f_%k,d0*n lea n_%k(pc),a0*n lea f_%k(pc),a1*n jsr w*n jmp j_%k*nn_%k dc.b *"%p%n*",0*n even*nf_%k incbin *"%p%n*"*ne_%k dc.b 0*n even*nj_%k" echo >>t:make.asm "x move.l a6,a1*n move.l 4,a6*n jmp -414(a6)*nw move.l d0,d5*n move.l a1,a5*n move.l a0,d1*n move.l #1006,d2*n jsr -30(a6)*n move.l d0,d6*n bne.s c*n addq.l #4,sp*n bra.s x*nc move.l d6,d1*n move.l a5,d2*n move.l d5,d3*n jsr -48(a6)*n move.l d6,d1*n jsr -36(a6)*n rts*n end" unset pat echo "Assembling source" a68k >nil: t:make.asm -o$out.o delete >nil: t:make.asm echo "Creating executable file" blink >nil: from $out.o to $out delete >nil: $out.o echo "All done, now crunch the file *"$out*"" cd "$pcd" unset pcd unset out