Encontrei durante as minhas pesquisas um projecto activo para um emulador de um sistema operativo de 8-bit (!) que teve sucesso na transição da década de 1970 para a de 1980: o CP/M da Digital Research
Tratou-se do primeiro sistema operativo genérico para a maioria dos computadores pessoais de 8-bit, até que o padrão IBM-PC (de 16-bit) tomou o mercado, e o sistema acabou por se extingir após 1983, embora até 1985 ainda eram lançados softwares para ele.
O Digital Research acabaria por criar uma versão de 16-bit do CP/M (designado CP/M-86) que não teve grande sucesso, mas acabaria por se tornar a base do DR-DOS que era mais ou menos compatível com o MS-DOS original.
Além disso só funcionava com o processador Intel 8080 ou 8085, mas também com o Zilog Z80 (o mesmo que o ZX Spectrum ou o TK 85), ou com o Nec V20 e V30.
O CP/M e o MS-DOS possuem características comuns, como a designação de drives por letras, o padrão 8.3 para os nomes e extensões dos ficheiros, e o sistema operativo ser constituído por três módulos: o módulo do kernel (BIOS, similar ao msdos.sys), o módulo I/O (BDOS, similar ao io.sys) e o interpretador de comandos (CPM, similar ao command.com).
O emulador pode ser obtido através deste site:
https://github.com/MockbaTheBorg/RunCPME deve ter pelo menos instalado o compilador gcc e o pacote base de bibliotecas (o CP/M por si só não suportava gráficos, e somente exige a biblioteca ncurses em sistemas POSIX como o Linux ou o Mac OS X)
Portanto basta clonar o git:
$ git clone
https://github.com/MockbaTheBorg/RunCPM.git$ cd RunCPM\RunCPM
E compilar:
$ makefile -f Makefile.posix
Agora crie uma pasta para o CPM (mkdir ~/cpm)
Depois crie uma pasta dentro do cpm com o nome A (mkdir A), e depois dentro da pasta A, crie uma com o nome 0 (mkdir 0).
Isto cria um drive A virtual com o selector USER 0 (uma das características bizarras deste sistema operativo era criar sub-partições (até 16) para cada uma dos 16 drivers possíveis (de A a P)
Agora copia o novo executável RunCPM para a directoria "cpm", e depois o conteúdo da pasta ./RunCPM/CCP para a mesma directoria do executável (é a implementação de terceiros da shell de comandos do CP/M 2.2).
Por fim, copie o ficheiro A.zip de ./RunCPM/DISK para a pasta ~/cpm/A/0 e depois descompacte aí (pode apagar o zipfile depois).
Para operar o programa abra a janela de Terminal, navege para a pasta ~/cpm e digite:
$ ./RunCPM
Se tudo correr bem, é iniciado um emulador Zilog Z80 e mostra a prompt de comando:
A>
Digite dir, e deve mostar algo do género:
CP/M 2.2 Emulator v2.7 by Marcelo Dantas
Build Sep 22 2016 - 23:14:16
-----------------------------------------
CCP: CCP-DR.BIN Loaded at 0xf400
RunCPM Version 2.7 (CP/M 2.2 64K)
A>dir
A: 1STREAD ME : ASM COM : BDOS ASM : BDOS SUB
A: BDOSEQU LIB : CCP-DR BIN : CCP-ZCPR BIN : CCP ASM
A: CCP SUB : CLEAN SUB : DDT COM : DISKDEF LIB
A: DISPLAY LIB : DUMP ASM : ED COM : EXIT ASM
A: EXIT COM : EXIT SUB : EXIT Z80 : LOAD COM
A: LU COM : MAC COM : MBASIC COM : MLOAD ASM
A: MLOAD COM : MLOAD DOC : MOVCPM COM : OPCODES TXT
A: PIP COM : RSTAT COM : RSTAT SUB : RSTAT Z80
A: STAT COM : SUBMIT COM : SYSGEN COM : TE COM
A: UNARC COM : UNCR COM : USQ COM : XSUB COM
A: Z80ASM COM : Z80ASM PDF : ZCPR ASM : ZCPR SUB
A: ZCPRHDR LIB : ZEXALL COM : ZEXDOC COM : ZSID COM
A: ZTRAN COM
A>
Em seguida invoque "exit"
A>exit
Para retornar ao bash.
E com isso pode correr os programas dignos da arqueologia informática como o MBASIC ou o SuperCalc (!). Evidentemente, que se quer aceder a disquetes de 8 polegadas no Linux, isso já é outro problema totalmente diferente.