#!/bin/sh

# Create a big tape suitable to be read on an empty machine.

# It starts with track 0, basichelp3, and rebuilds Help-3 for a single drum machine with buffer. The free and help3 programs are stored on disk.

# Track 0 is read by the three cell loader. Press space after SUM. Write r< after basichelp3 is read.

# MK 2011-08-15

# Remove last occurence of _s by reversing the file and remove the first _s, and reverse again

flx2a <"Main help (5) 8.08.68.flx" | tac | sed '0,/_s/{//d;}' | tac | sed -e '/_iredefine/{ N; s/_s/d3=1,d52=1,d4=1006,d46=0,d5=0,d53=600,d41=1,d32=0,d33=39,d34=255/g }' >BUILDbufferdisk.asc
flx2a <"inithelp (4) 13.01.69.flx" | tac | sed '0,/_s/{//d;}' | tac >>BUILDbufferdisk.asc
flx2a <"exit (2) 7.06.68.flx" | tac | sed '0,/_s/{//d;}' | tac >>BUILDbufferdisk.asc
flx2a <"binin (1) 22.07.67.flx" | tac | sed '0,/_s/{//d;}' | tac >>BUILDbufferdisk.asc
flx2a <"start (3) 21.09.70.flx" | tac | sed '0,/_s/{//d;}' | tac >>BUILDbufferdisk.asc
flx2a <"clear ... (10) 8.08.67.flx" | tac | sed '0,/_s/{//d;}' | tac >>BUILDbufferdisk.asc
flx2a <"run (2) 10.08.67.flx" | tac | sed '0,/_s/{//d;}' | tac >>BUILDbufferdisk.asc
flx2a <"check ... (12) 1.07.70.flx" | tac | sed '0,/_s/{//d;}' | tac >>BUILDbufferdisk.asc
# The rest of the programs are placed on disk
echo "d36=1,d35=1" >>BUILDbufferdisk.asc 
flx2a <"algol (2) 8.08.67.flx" | tac | sed '0,/_s/{//d;}' | tac >>BUILDbufferdisk.asc
flx2a <"binout, ... (2) 9.08.67.flx" | tac | sed '0,/_s/{//d;}' | tac >>BUILDbufferdisk.asc
flx2a <"edit (9) 8.07.70.flx" | tac | sed '0,/_s/{//d;}' | tac >>BUILDbufferdisk.asc
flx2a <"move (5) 15.12.68.flx" | tac | sed '0,/_s/{//d;}' | tac >>BUILDbufferdisk.asc
flx2a <"slip (4) 14.01.69.flx" | tac | sed '0,/_s/{//d;}' | tac >>BUILDbufferdisk.asc
flx2a <"print ... (12) 23.01.69.flx" | tac | sed '0,/_s/{//d;}' | tac >>BUILDbufferdisk.asc
echo "_e10" >>BUILDbufferdisk.asc
# Build tape with track 0 and basichelp3
cat "basic track 0 20.08.67.flx" ../help3bin/basichelp3.flx > BUILDbufferdisk.flx
# Remove checksums and append
sed 's/#061#...//g' BUILDbufferdisk.asc|sed 's/#061.//g'|a2flx >>BUILDbufferdisk.flx
#rm -f BUILDbufferdisk.asc
