Gerenciador de Disquetes Virtuais do CP-500

Visão Geral

Muitos disquetes de CP-500 têm sido preservados até os dias de hoje através de processos de criação de imagens. Uma imagem consiste em um arquivo de PC com um formato especial contendo todos os dados capturados a partir de um disquete real. Um disquete virtual pode ser usado em um emulador de CP-500 para recriar experiências fiéis de sistemas de mais de 25 anos.

No início de 2009 eu comecei a trabalhar em um programa para Windows que permite manipular facilmente imagens de disquetes de CP-500 no nível dos arquivos. Ele ainda está em desenvolvimento mas já é capaz de ler vários sistemas operacionais e formatos de arquivamento diferentes.

Como isso pode ser útil? Nos anos 1980 havia um bom número de sistemas operacionais à escolha do usuário. A maioria deles armazenava os arquivos de formas incompatíveis entre si e, em alguns casos, incompatíveis até entre diferentes versões de um mesmo sistema operacional. Mover dados entre esses discos não era tarefa simples. Além disso, há casos de pessoas que preservaram documentos de valor pessoal nesses sistemas e que teriam grande interesse em recuperá-los.

Recursos

Eis uma breve lista dos recursos do Gerenciador de Disquetes Virtuais do CP-500:

  • Importa e exporta arquivos do CP-500 para o Windows
  • Suporta arquivos de imagem nos formatos JV1, JV3 e DMK
  • Suporta vários sistemas operacionais do CP-500 (veja a matriz de suporte abaixo)
  • Disponível em Interface Gráfica do Usuário (GUI) e Interface por Linha de Comando (CLI)
  • É compatível com Windows XP/Vista/7 e não precisa ser instalado

Screenshots

Interface selection Menu options
Export dialog Disk properties
Sector viewer About

"Tecnicalidades"

Iniciei este projeto porque estava sentindo falta da emoção dos velhos tempos. Acho que isso explica algumas decisões estranhas, como escrever o software em linguagem de máquina, adotar uma abordagem orientada a objetos e tentar endereçar um problema incomum como ler disquetes de computadores antigos. Minha primeira idéia era lidar com disquetes reais do CP-500, mas então Ira Goldklang me convenceu que um software para gerenciar as imagens dos disquetes virtuais já existentes seria de mais utilidade.

Este código foi construído como uma série de módulos (ou "classes" em jarguão de orientação a objetos), tornando mais fácil extendê-los ou substituí-los no futuro. Há dois grupos desses módulos que compartilham as mesmas características: um faz a interface com o sistema operacional (Operating System Interface) e o outro faz a interface com o disquete virtual (Virtual Disk Interface). Este último é responsável por entender cada formato de arquivamento de imagem e apresentar os dados como setores padronizados para a camada superior. O primeiro entende como cada sistema operacional armazena os arquivos no disco e reorganiza as partes quando solicitado pela camada mais alta, a interface com o usuário (User Interface).

A figura abaixo ilustra o relacionamento entre os módulos especializados e as interfaces:

Blueprint

A interface com o usuário ainda é rudimentar, uma vez que tenho priorizado o desenvolvimento das rotinas centrais, mas o produto final deverá ser bem amigável. Será possível intercambiar arquivos entre discos apenas arrastando e soltando-os de uma janela para a outra; Será Já é possível abrir arquivos ".dsk" e ".dmk" apenas dando-se um duplo-clique sobre eles. Além disso, suporte para mais e mais sistemas operacionais será acrescentado conforme novas versões forem sendo liberadas.

Matriz de Suporte

A tabela a seguir lista cada sistema operacional conhecido dos TRS-80 modelos I/III/4 e identifica se a última versão do gerenciador é ou não capaz de tratá-lo:

Modelo Fabricante Sistema Operacional Versão Suportado
Model I Lifeboat Associates CP/M 1.41 No
Model I FMG CP/M 1.5 No
Model I TPM CP/M 2.1 No
Model I Percom Data Co. Inc. DBLDOS 4.2 No
Model I Percom Data Co. Inc. DBLDOS 4.23 No
Model I Percom Data Co. Inc. DBLDOS 4.24 No
Model I Micro-Systems Software Inc. DOSPLUS 3.1 Yes
Model I Micro-Systems Software Inc. DOSPLUS 3.2.1 Yes
Model I Micro-Systems Software Inc. DOSPLUS 3.3 Yes
Model I Micro-Systems Software Inc. DOSPLUS 3.4 Yes
Model I Micro-Systems Software Inc. DOSPLUS 3.50 Yes
Model I Misosys, Inc. LDOS 5.3.1 Yes
Model I Percom Data Co. Inc. MICRODOS 1.12 Yes
Model I Cosmopolitan Elec. Corp. MULTIDOS 1.0 Yes
Model I Cosmopolitan Elec. Corp. MULTIDOS 1.4D Yes
Model I Cosmopolitan Elec. Corp. MULTIDOS 1.4S Yes
Model I Cosmopolitan Elec. Corp. MULTIDOS 1.5D Yes
Model I Cosmopolitan Elec. Corp. MULTIDOS 1.5P No
Model I Cosmopolitan Elec. Corp. MULTIDOS 1.5S Yes
Model I Cosmopolitan Elec. Corp. MULTIDOS 1.5SK Yes
Model I Cosmopolitan Elec. Corp. MULTIDOS 1.6D Yes
Model I Cosmopolitan Elec. Corp. MULTIDOS 1.6S Yes
Model I Cosmopolitan Elec. Corp. MULTIDOS 1.7D Yes
Model I Cosmopolitan Elec. Corp. MULTIDOS 1.7P No
Model I Cosmopolitan Elec. Corp. MULTIDOS 4.01 Yes
Model I Cosmopolitan Elec. Corp. MULTIDOS II 1.0 Yes
Model I Apparat, Inc. NEWDOS 2.1 Yes
Model I Apparat, Inc. NEWDOS 2.2 Yes
Model I Apparat, Inc. NEWDOS 3.0 Yes
Model I Apparat, Inc. NEWDOS/80 1.0 Yes
Model I Apparat, Inc. NEWDOS/80 2.0 Yes
Model I Apparat, Inc. NEWDOS/80 2.5 Yes
Model I Tandy Corp. TRSDOS 2.0 Yes
Model I Tandy Corp. TRSDOS 2.1 Yes
Model I Tandy Corp. TRSDOS 2.1C Yes
Model I Tandy Corp. TRSDOS 2.2 Yes
Model I Tandy Corp. TRSDOS 2.3 Yes
Model I Tandy Corp. TRSDOS 2.7 Yes
Model I Tandy Corp. TRSDOS 2.8 Yes
Model I Tandy Corp. TRSDOS 3.0 Yes
Model I Level IV Products, Inc. ULTRADOS 4.2 Yes
Model I Randolph Cook VTOS 3.0 Yes
Model I Randolph Cook VTOS 4.0 Yes
Model I Randolph Cook VTOS 4.0.2 Yes
Model III Prologica DOS500 1.3 Yes
Model III Micro-Systems Software Inc. DOSPLUS 3.3 Yes
Model III Micro-Systems Software Inc. DOSPLUS 3.4 Yes
Model III Micro-Systems Software Inc. DOSPLUS 3.50 Yes
Model III Logical Systems, Inc. LDOS 5.1.0 Yes
Model III Logical Systems, Inc. LDOS 5.1.3 Yes
Model III Logical Systems, Inc. LDOS 5.1.4 Yes
Model III Misosys, Inc. LDOS 5.3.0 Yes
Model III Misosys, Inc. LDOS 5.3.1 Yes
Model III Cosmopolitan Elec. Corp. MULTIDOS 1.2 Yes
Model III Cosmopolitan Elec. Corp. MULTIDOS 1.3 Yes
Model III Cosmopolitan Elec. Corp. MULTIDOS 1.6 Yes
Model III Cosmopolitan Elec. Corp. MULTIDOS 1.6d Yes
Model III Cosmopolitan Elec. Corp. MULTIDOS 1.7 Yes
Model III Cosmopolitan Elec. Corp. MULTIDOS 4.01 Yes
Model III Apparat, Inc. NEWDOS/80 2.0 Yes
Model III Apparat, Inc. NEWDOS/80 2.5 Yes
Model III Apparat, Inc. NEWDOS/80 3.0 Yes
Model III Apparat, Inc. NEWDOS/86 2.0 Yes
Model III Apparat, Inc. NEWDOS/90 2.0 Yes
Model III Percom Data Co. Inc. OS/80 III 2.02 No
Model III Percom Data Co. Inc. OS/80 III 2.10 No
Model III Rapidynamic Software, Inc. RAPIDOS 1.3 Yes
Model III Tandy Corp. TRSDOS 1.03.03 Yes
Model III Tandy Corp. TRSDOS 1.1 Yes
Model III Tandy Corp. TRSDOS 1.2 Yes
Model III Tandy Corp. TRSDOS 1.3 Yes
Model 4 Digital Research, Inc. / Montezuma Micro CP/M 2.2 1.32 No
Model 4 Digital Research, Inc. / Montezuma Micro CP/M 2.2 1.42 No
Model 4 Digital Research, Inc. / Montezuma Micro CP/M 2.2 1.44 No
Model 4 Digital Research, Inc. / Montezuma Micro CP/M 2.2 2.20 No
Model 4 Digital Research, Inc. / Montezuma Micro CP/M 2.2 2.21 No
Model 4 Digital Research, Inc. / Montezuma Micro CP/M 2.2 2.22 No
Model 4 Digital Research, Inc. / Montezuma Micro CP/M 2.2 2.31 No
Model 4 Digital Research, Inc. / Montezuma Micro CP/M 2.2 2.32 No
Model 4 Tandy Corp. CP/M Plus 1.0 No
Model 4 Micro-Systems Software Inc. DOSPLUS IV 1.0 Yes
Model 4 Misosys, Inc. LS-DOS 6.3.1 Yes
Model 4 Cosmopolitan Elec. Corp. MULTIDOS 1.71 Yes
Model 4 Cosmopolitan Elec. Corp. MULTIDOS 2.10 Yes
Model 4 V. B. Hester MULTIDOS 5.11 Yes
Model 4 Apparat, Inc. NEWDOS/80 2.0 Yes
Model 4 Rapidynamic Software, Inc. RAPIDOS 1.3 Yes
Model 4 Rapidynamic Software, Inc. RAPIDOS 1.5 Yes
Model 4 Rapidynamic Software, Inc. RAPIDOS 2.0 Yes
Model 4 Logical Systems, Inc. TRSDOS 6.1.2 Yes
Model 4 Logical Systems, Inc. TRSDOS 6.2.0 Yes
Model 4 Logical Systems, Inc. TRSDOS 6.2.1 Yes

Downloads

Este software é fornecido "AS IS", gratuitamente e sem garantias de qualquer tipo. Se você aceita estes termos, vá em frente e baixe-o! Seu feedback será bastante apreciado.

Há duas interfaces em desenvolvimento para o mesmo núcleo: a interface gráfica (GUI) e a por linha de comando (CLI). Elas não são atualizadas com a mesma frequência, assim escolha a que achar mais apropriada. Eu indico sempre a última versão, uma vez que vários bugs tem sido encontrados e corrigidos neste estágio.

Ir para a página de downloads.