43 lines
1001 B
Bash
43 lines
1001 B
Bash
|
|
#!/bin/bash
|
|
|
|
BOOTLOADER=../bios/bootloader.bin
|
|
FILE=fs.fat
|
|
|
|
TMPMOUNT=/tmp/lo
|
|
FSDIR=../fsdir
|
|
|
|
V=-v
|
|
|
|
# Smallest number of blocks where mkfs doesn't complain
|
|
BLOCKS=33296
|
|
|
|
rm $FILE
|
|
|
|
echo "$(tput bold setaf 11)Creating Filesystem$(tput sgr 0)"
|
|
mkfs.vfat $V -I -F32 -C $FILE -n SUPER6502 $BLOCKS
|
|
echo
|
|
|
|
echo "$(tput bold setaf 11)Modifying Boot Sector$(tput sgr 0)"
|
|
dd if=$BOOTLOADER of=$FILE bs=1 conv=notrunc count=11 $STATUS
|
|
dd if=$BOOTLOADER of=$FILE bs=1 conv=notrunc count=380 seek=71 skip=71 $STATUS
|
|
|
|
echo "$(tput bold setaf 11)Mounting Device$(tput sgr 0)"
|
|
mkdir $V -p $TMPMOUNT
|
|
sudo mount $FILE $TMPMOUNT
|
|
echo
|
|
|
|
echo "$(tput bold setaf 11)Copying Files$(tput sgr 0)"
|
|
sudo cp $V -r $FSDIR/* $TMPMOUNT
|
|
echo
|
|
|
|
echo "$(tput bold setaf 11)Unmounting Device$(tput sgr 0)"
|
|
sudo umount $V $FILE
|
|
rmdir $V $TMPMOUNT
|
|
echo
|
|
|
|
echo "$(tput bold setaf 11)Converting Image to Verilog$(tput sgr 0)"
|
|
objcopy --input-target=binary --output-target=verilog $FILE $FILE.hex
|
|
echo "$(tput bold setaf 10)Done!$(tput sgr 0)"
|
|
|