ANSI CP/M Emulator and disk image tool
http://github.com/jhallen/cpm
Данная утилита имеет встроенную виртуальную машину, способную "на лету" выполнять машинный код, созданный во времена операционной системы CP/M. Фактически программа органично интегрируется в существующую консоль (к примеру, под Linux) и расширяет её функциональность путём возможности запуска старого софта.
$ apt-get install cpmtools && apt-get clean
#!/usr/bin/env bash
#####
# This script tries to define
# the CP/M on-disk format of
# a diskette's image.
#####
declare -a vFormats
declare -i cnt=-1
declare -r lstFile="./list.log"
declare -l mimeType
if [[ -z $1 || ! -f $1 ]]; then
echo "You should define the file with a diskette's image that exists."
echo $0 image_file
else
rm -f ./*.log
for vFormat in $(cat $(dpkg -L cpmtools | grep 'diskdefs') | grep 'diskdef' | cut -c9-)
do
cnt=$((cnt+1))
vFormats[$cnt]=$vFormat
done
echo "Known CP/M on-disk formats: ${#vFormats[@]} items."
cnt=0
for j in ${vFormats[@]}
do
cpmls -f $j $1>$lstFile
mimeType=$(file --mime-type $lstFile | cut -c13-)
if [ $mimeType == "text/plain" ]; then
cnt=$((cnt+1))
echo "$j -> $mimeType" && cp $lstFile "./$j.log" && sleep 0.3
fi
done
echo "Found: $cnt items."
rm $lstFile
ls -1 ./*.log
fi