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