|
|
@ -3,9 +3,6 @@ |
|
|
# fail on any error |
|
|
# fail on any error |
|
|
set -e |
|
|
set -e |
|
|
|
|
|
|
|
|
CPMCP=../../Tools/`uname`/cpmcp |
|
|
|
|
|
CPMCH=../../Tools/`uname`/cpmchattr |
|
|
|
|
|
|
|
|
|
|
|
timestamp=$(date +%Y-%m-%d) |
|
|
timestamp=$(date +%Y-%m-%d) |
|
|
#timestamp="2020-02-24" |
|
|
#timestamp="2020-02-24" |
|
|
|
|
|
|
|
|
@ -60,22 +57,8 @@ else |
|
|
BIOS=wbw |
|
|
BIOS=wbw |
|
|
fi |
|
|
fi |
|
|
|
|
|
|
|
|
Apps=(assign mode rtc syscopy xm) |
|
|
|
|
|
if [ $romsize -gt 256 ] ; then |
|
|
|
|
|
Apps+=(fdu format survey sysgen talk timer inttest) |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
blankfile=Blank${romsize}KB.dat |
|
|
|
|
|
romdiskfile=RomDisk.tmp |
|
|
|
|
|
romfmt=wbw_rom${romsize} |
|
|
|
|
|
outdir=../../Binary |
|
|
outdir=../../Binary |
|
|
|
|
|
|
|
|
echo "creating empty rom disk of size $romsize in $blankfile" |
|
|
|
|
|
#LANG=en_US.US-ASCII tr '\000' '\345' </dev/zero | dd of=$blankfile bs=1024 count=`expr $romsize - 128` 2>/dev/null |
|
|
|
|
|
#LC_CTYPE=en_US.US-ASCII tr '\000' '\345' </dev/zero | dd of=$blankfile bs=1024 count=`expr $romsize - 128` 2>/dev/null |
|
|
|
|
|
LC_ALL=en_US.US-ASCII tr '\000' '\345' </dev/zero | dd of=$blankfile bs=1024 count=`expr $romsize - 128` |
|
|
|
|
|
hexdump $blankfile |
|
|
|
|
|
|
|
|
|
|
|
cat <<- EOF > build.inc |
|
|
cat <<- EOF > build.inc |
|
|
; RomWBW Configured for $platform $config $timestamp |
|
|
; RomWBW Configured for $platform $config $timestamp |
|
|
; |
|
|
; |
|
|
@ -87,19 +70,9 @@ ROMSIZE .EQU $romsize |
|
|
; |
|
|
; |
|
|
EOF |
|
|
EOF |
|
|
|
|
|
|
|
|
echo "checking prerequisites" |
|
|
|
|
|
for need in ../CPM22/cpm_$BIOS.bin ../ZSDOS/zsys_$BIOS.bin \ |
|
|
|
|
|
../Forth/camel80.bin font8x11c.asm font8x11u.asm font8x16c.asm \ |
|
|
|
|
|
font8x16u.asm font8x8c.asm font8x8u.asm ; do |
|
|
|
|
|
if [ ! -f $need ] ; then |
|
|
|
|
|
echo $need missing |
|
|
|
|
|
exit 2 |
|
|
|
|
|
fi |
|
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
|
|
cp ../Forth/camel80.bin . |
|
|
|
|
|
|
|
|
make prereq |
|
|
|
|
|
|
|
|
make dbgmon.bin romldr.bin imgpad2.bin |
|
|
|
|
|
|
|
|
make dbgmon.bin romldr.bin |
|
|
|
|
|
|
|
|
if [ $platform != UNA ] ; then |
|
|
if [ $platform != UNA ] ; then |
|
|
make nascom.bin tastybasic.bin game.bin eastaegg.bin updater.bin usrrom.bin imgpad2.bin |
|
|
make nascom.bin tastybasic.bin game.bin eastaegg.bin updater.bin usrrom.bin imgpad2.bin |
|
|
@ -116,53 +89,12 @@ if [ $platform != UNA ] ; then |
|
|
cat imgpad2.bin >osimg2.bin |
|
|
cat imgpad2.bin >osimg2.bin |
|
|
fi |
|
|
fi |
|
|
|
|
|
|
|
|
echo "Building ${romsize}KB $romname ROM disk data file..." |
|
|
|
|
|
|
|
|
|
|
|
cp $blankfile $romdiskfile |
|
|
|
|
|
|
|
|
|
|
|
if [ $romsize -gt 128 ] ; then |
|
|
|
|
|
|
|
|
|
|
|
echo placing files into $romdiskfile |
|
|
|
|
|
|
|
|
|
|
|
for file in $(ls -1 ../RomDsk/ROM_${romsize}KB/* | sort -V) ; do |
|
|
|
|
|
echo " " $file |
|
|
|
|
|
$CPMCP -f $romfmt $romdiskfile $file 0: |
|
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
|
|
if [ -d ../RomDsk/$platform ] ; then |
|
|
|
|
|
for file in ../RomDsk/$platform/* ; do |
|
|
|
|
|
echo " " $file |
|
|
|
|
|
$CPMCP -f $romfmt $romdiskfile $file 0: |
|
|
|
|
|
done |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
echo "adding apps to $romdiskfile" |
|
|
|
|
|
for i in ${Apps[@]} ; do |
|
|
|
|
|
set +e |
|
|
|
|
|
f=$(../../Tools/unix/casefn.sh ../../Binary/Apps/$i.com) |
|
|
|
|
|
set -e |
|
|
|
|
|
if [ -z "$f" ] ; then |
|
|
|
|
|
echo " " $i "not found" |
|
|
|
|
|
else |
|
|
|
|
|
echo " " $f |
|
|
|
|
|
$CPMCP -f $romfmt $romdiskfile $f 0: |
|
|
|
|
|
fi |
|
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
|
|
echo "copying systems to $romdiskfile" |
|
|
|
|
|
$CPMCP -f $romfmt $romdiskfile ../CPM22/cpm_$BIOS.sys 0:cpm.sys |
|
|
|
|
|
$CPMCP -f $romfmt $romdiskfile ../ZSDOS/zsys_$BIOS.sys 0:zsys.sys |
|
|
|
|
|
|
|
|
|
|
|
echo "setting files in the ROM disk image to read only" |
|
|
|
|
|
$CPMCH -f $romfmt $romdiskfile r 0:*.* |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
if [ $platform = UNA ] ; then |
|
|
if [ $platform = UNA ] ; then |
|
|
cp osimg.bin $outdir/UNA_WBW_SYS.bin |
|
|
cp osimg.bin $outdir/UNA_WBW_SYS.bin |
|
|
cp $romdiskfile $outdir/UNA_WBW_ROM$romsize.bin |
|
|
|
|
|
cat ../UBIOS/UNA-BIOS.BIN osimg.bin ../UBIOS/FSFAT.BIN $romdiskfile >$romname.rom |
|
|
|
|
|
|
|
|
cp ../RomDsk/rom${romsize}_una.dat $outdir/UNA_WBW_ROM$romsize.bin |
|
|
|
|
|
cat ../UBIOS/UNA-BIOS.BIN osimg.bin ../UBIOS/FSFAT.BIN ../RomDsk/rom${romsize}_una.dat >$romname.rom |
|
|
else |
|
|
else |
|
|
cat hbios_rom.bin osimg.bin osimg1.bin osimg2.bin $romdiskfile >$romname.rom |
|
|
|
|
|
|
|
|
cat hbios_rom.bin osimg.bin osimg1.bin osimg2.bin ../RomDsk/rom${romsize}_wbw.dat >$romname.rom |
|
|
cat hbios_rom.bin osimg.bin osimg1.bin osimg2.bin >$romname.upd |
|
|
cat hbios_rom.bin osimg.bin osimg1.bin osimg2.bin >$romname.upd |
|
|
cat hbios_app.bin osimg_small.bin > $romname.com |
|
|
cat hbios_app.bin osimg_small.bin > $romname.com |
|
|
fi |
|
|
fi |
|
|
|