Sistema Operacional de Disco - Apple ProDOS



Apple ProDOS
Apple ProDOS



Um pouco da história sobre o Apple ProDOS

ProDOS foi comercializado pela Apple como Sistema Operacional de Disco Profissional, e se tornou o sistema operacional mais popular para a série de computadores Apple II, 10 meses após seu lançamento em janeiro de 1983.

ProDOS é o nome de duas versões de sistemas operacionais. O ProDOS original, renomeado ProDOS 8 na versão 1.2, é o último sistema operacional oficial que pode ser executado por todos os modelos da série Apple II de 8 bits, e foi distribuído de 1983 a 1993.
O ProDOS 16 foi a outra versão do ProDOS, solução temporária no Apple IIgs de 16 bits que foi substituído pelo GS/OS em dois anos.

Lançamento

O ProDOS foi lançado para solucionar deficiências no sistema operacional anterior da Apple (chamado simplesmente DOS), que estava começando a mostrar sua idade.

O Apple DOS só tem suporte integrado para disquetes de 5,25" e requer patches para usar dispositivos periféricos, como unidades de disco rígido e unidades de disquete não-Disk-II , incluindo unidades de disquete de 3,5".
No ProDOS foi adicionado um método padrão de acesso a drivers baseados em ROM nas placas de expansão para dispositivos de disco, expande o tamanho máximo do volume de cerca de 400 KB até 32 MB, introduz suporte para subdiretórios hierárquicos (um recurso vital para organizar o espaço de armazenamento de um disco rígido) e suporta discos RAM em máquinas com 128 KB ou mais de memória.
O ProDOS resolve problemas com o tratamento de interrupções de hardware, e inclui uma interface de programação e expansão bem definida e documentada, que o Apple DOS sempre faltou. Embora o ProDOS também inclua suporte para um relógio em tempo real (RTC), esse suporte não foi amplamente utilizado até o lançamento do Apple IIgs, o primeiro da série Apple II a incluir um RTC a bordo. Relógios de terceiros estavam disponíveis para o II Plus, IIe e IIc, no entanto.

O ProDOS, ao contrário das versões anteriores do Apple DOS, tem suas raízes de desenvolvimento no SOS, o sistema operacional para o malfadado computador Apple ///, lançado em 1980. Documentação de pré-lançamento do ProDOS (incluindo edições anteriores do Beneath Apple ProDOS) documentou códigos de erro no SOS, notadamente um para discos comutados, que o próprio ProDOS nunca poderia gerar.
Seu formato de disco e interface de programação são completamente diferentes daqueles do Apple DOS, e o ProDOS não pode ler ou gravar discos DOS 3.3 exceto por meio de um utilitário de conversão; enquanto o formato track-and-sector de baixo nível dos discos DOS 3.3 foi mantido para discos de 5,25 polegadas, o arranjo de alto nível de arquivos e diretórios é completamente diferente.
Por esse motivo, a maioria dos programas em linguagem de máquina executados no Apple DOS não funcionarão no ProDOS. No entanto, a maioria dos programas BASIC funciona, embora às vezes exijam pequenas alterações. Um programa de terceiros chamado DOS.MASTER permite que os usuários tenham várias partições virtuais DOS 3.3 em um volume ProDOS maior.

Com o lançamento do ProDOS veio o fim do suporte para Integer BASIC e o modelo original Apple II, que há muito havia sido efetivamente suplantado pelo Applesoft BASIC e pelo Apple II Plus. Enquanto o DOS 3.3 sempre carrega suporte embutido para programação BASIC, no ProDOS esse trabalho é dado a um programa de sistema separado chamado BASIC.SYSTEM, que é iniciado para executar e escrever programas Applesoft BASIC.
O próprio BASIC continuou a ser incorporado nas ROMs do Apple II; BASIC.SYSTEM é meramente um aprimoramento do interpretador de comandos que permite que programas BASIC acessem o ProDOS por meio da mesma saída de texto "Control-D" que eles usaram no DOS 3.3. O BASIC.SYSTEM sozinho requer tanta memória quanto todo o DOS 3.3.
Uma vez que o próprio kernel do ProDOS fica armazenado na RAM "Language Card", a quantidade utilizável de RAM para programadores BASIC permanece a mesma no ProDOS como no DOS 3.3.

Apesar das muitas vantagens do ProDOS, muitos usuários e programadores resistiram por um tempo por causa de seu investimento em aprender os meandros do Apple DOS e em software e formatos de dados baseados em Apple-DOS.
Uma razão que contribuiu foi que o ProDOS permite apenas 15 caracteres em um nome de arquivo comparado aos 30 do Apple DOS. Os Apple IIs continuaram a ser capazes de inicializar o DOS mais antigo (mesmo o Apple IIgs pode inicializar os disquetes mais antigos do DOS), mas como os disquetes de 3,5" e discos rígidos se tornaram mais predominantes, a maioria dos usuários passou a maior parte do tempo no ProDOS.

O Apple IIe , também lançado em 1983, foi o primeiro computador Apple II a ter 64 KB de memória interna. Por um tempo, a Apple disponibilizou o DOS 3.3 e o ProDOS com novos computadores.

O ProDOS original foi renomeado ProDOS 8 quando o ProDOS 16 foi lançado para suportar o computador Apple IIgs de 16 bits, embora o ProDOS 16 (que era de 8 bits em seu núcleo) foi logo substituído pelo GS/OS.

Requisitos

Todas as edições do ProDOS requerem um computador da série Apple II ou compatível.

O ProDOS 8 requer 64 KB de memória para ser executado. O ProDOS 8 original 1.0 a 1.0.2 requer apenas 48 KB para o kernel, mas quase todos os programas, incluindo o BASIC.SYSTEM necessário para usar o Applesoft BASIC, requerem 64 KB, tornando um sistema de 48 KB inútil para o ProDOS. O suporte para máquinas de 48 KB foi removido na versão 1.1.

O ProDOS 8 versão 2.x requer uma CPU 65C02 ou posterior (65802, 65816). O ProDOS 8 2.x é executado em 64 KB, mas os programas utilitários no disco do sistema requerem 128 KB. Sistemas com CPU 6502 em vez de 65C02 devem usar versões do ProDOS 8 anteriores à versão 2.0.

O ProDOS 16 requer um Apple IIGS.

Clones não licenciados do Apple II


Com o lançamento do ProDOS versão 1.01 e superior, uma verificação foi adicionada para ver se ele estava sendo executado em um computador oficial fabricado pela Apple. Se a palavra "Apple" for encontrada no firmware da ROM do computador, o ProDOS será carregado normalmente. Se algo mais for encontrado (por exemplo, "Golden", "Franklin", "Elite") o ProDOS se recusa a ser executado, travando na tela inicial de inicialização.
Essa medida foi tomada pela Apple Computer para desencorajar o uso de clones não licenciados do Apple II. Ainda é possível executar versões mais recentes do ProDOS em clones; no entanto, os usuários precisam aplicar um pequeno patch de byte a cada versão sucessiva do ProDOS. Alguns usuários chegam a substituir seu(s) chip(s) ROM físico(s) por uma versão copiada ilegalmente da próprio ROM do Apple II; ou, na falta disso, uma ROM corrigida personalizada com "Apple" adicionado no nome.

Suporte a disco

O ProDOS 8 suporta nativamente unidades de disquete compatíveis com Disk II, uma unidade de RAM de aproximadamente 59 KB em computadores com 128 KB ou mais de RAM e dispositivos de bloco cujos controladores suportam o protocolo de firmware Pascal, um método padronizado de aceitar leituras e gravações de blocos originalmente introduzidas para uso com o UCSD p-System. Esta última categoria inclui discos rígidos e discos de 3,5". Drivers de dispositivos de blocos personalizados também podem ser conectados ao sistema operacional.

Sistema de arquivos


O ProDOS usa o mesmo sistema de arquivos do Apple SOS do Apple ///. O sistema de arquivos SOS/ProDOS é nativo do Apple SOS, ProDOS 8, ProDOS 16 e GS/OS. Algumas versões clássicas do Mac OS também vêm com um tradutor de sistema de arquivos para lidar com esse sistema de arquivos.

Um volume é alocado em blocos de 512 bytes. (Disquetes de 5,25" ainda são formatados usando setores de 256 bytes, pois esse é o formato exigido pela ROM do controlador para inicializar o disco. O ProDOS simplesmente trata pares de setores de 256 bytes como um único bloco nessas unidades).
Um volume pode ter uma capacidade de até 32 MB, e cada arquivo pode ter até 16 MB. Cada volume (disquete ou partição do disco rígido) tem um "nome do volume", um nome de arquivo que é usado como o nome do diretório base; tendo dois volumes com o mesmo nome de volume pode resultar em conflitos. Se necessário, o ProDOS pesquisa todas as unidades disponíveis para encontrar um volume nomeado. Os subdiretórios são suportados e o conceito de um "prefixo" (diretório de trabalho ou caminho atual) foi fornecido para facilitar o trabalho com subdiretórios mais fácil.

Os nomes de arquivos, diretórios e volumes podem ter de 1 a 15 caracteres, começando com uma letra e contendo mais letras, dígitos ou pontos. Cada entrada de arquivo também contém o ponteiro de 16 bits (2 bytes) para o bloco que contém o início do arquivo (ou seu índice de bloco); uma contagem de blocos de 16 bits; um tamanho de arquivo de 24 bits (3 bytes); um tipo de arquivo de 8 bits (1 byte); um tipo auxiliar de 16 bits (cujo significado depende do tipo de arquivo); timestamps de criação e modificação; e dados relacionados a como o arquivo é armazenado no volume. Arquivos esparsos são suportados, mas os arquivos nunca são "esparsificados" pela remoção de blocos preenchidos com zero. O cabeçalho do volume contém informações semelhantes relevantes para os volumes.

Os diretórios (incluindo o diretório raiz) são indexados sequencialmente, com cada bloco começando com o endereço do bloco anterior (ou zero se nenhum) e o bloco subsequente (ou zero se nenhum). O diretório raiz na maioria dos discos é inicializado em 4 blocos, permitindo 51 entradas (excluindo o cabeçalho do volume). Nunca muda de tamanho, exceto por intervenção manual com ferramentas especiais. Os subdiretórios começam em um bloco e crescem automaticamente conforme necessário.

Arquivos normais são progressivamente indexados. Arquivos de bloco único (abaixo de 513 bytes) não possuem bloco de índice; a entrada do diretório aponta diretamente para o bloco de dados do arquivo. Arquivos com entre 2 e 256 blocos (513 bytes a 128 KB) de dados possuem um único bloco de índice, para o qual aponta a entrada do diretório, que contém uma lista de até 256 endereços de blocos de dados. Arquivos maiores têm um bloco de índice mestre contendo uma lista de até 256 endereços de bloco de índice.
Quando o Apple IIgs foi lançado, um novo formato de armazenamento foi introduzido para arquivos com duas bifurcações, como era típico para arquivos de programa e sistema IIgs; a entrada do diretório aponta para um bloco informativo que informa ao computador o formato de armazenamento das duas bifurcações. Esses arquivos não podem ser lidos ou gravados nativamente pelo ProDOS 8, embora o volume em si permaneça compatível.

O volume tem um bitmap de blocos usados. Fora isso, não há uma tabela central de alocação de arquivos.

Um volume ProDOS 8 formatado pelas ferramentas da Apple tem um setor de inicialização que suporta a inicialização tanto do ProDOS quanto do SOS, dependendo do computador em que é inicializado. O bloco 0 é o bloco de inicialização do Apple II e o bloco 1 inicializa o SOS. Isso permite que um disco seja usado para inicializar em computadores Apple II ou Apple ///, colocando ambos os kernels do sistema operacional no disco: o setor de inicialização Apple II procura o arquivo PRODOS e o setor de inicialização Apple /// procura o arquivo SOS.Kernel.
Utilitários de formatação de terceiros geralmente não fornecem o bloco de inicialização SOS, e alguns até marcam o bloco 1 disponível para dados do usuário.

O ProDOS não tem suporte de kernel para outros sistemas de arquivos. Se necessário, um utilitário de conversão no disco principal do sistema é usado para transferir arquivos individualmente entre o ProDOS e discos Apple DOS 3.3 mais antigos. Como eles usam um formato de disco de baixo nível diferente do DOS 3.3 e do ProDOS, a transferência de dados de discos DOS 3.2 para o ProDOS é um processo de duas etapas usando um disco DOS 3.3 como intermediário (utilizando o utilitário DOS 3.3 MUFFIN ou similar).

ProDOS 8 2.4

A última versão do ProDOS 8 lançada oficialmente pela Apple foi o ProDOS 8 2.0.3 em 1993, que tinha suporte para os modelos IIe Enhanced, IIc/IIc+ e IIgs, por possuirem pelo menos 64KB RAM e um processador 65C02 (o 65C816 de 16 bits roda em modo compatibilidade).

Um desenvolvedor chamado John Brooks, trabalhou numa nova versão do ProDOS 8 e lançou em 15/09/2016, data que se comemorou o 30º aniversário de lançamento do Apple IIgs, uma nova versão: ProDOS 8 2.4.

Nesta nova versão foi incluído suporte para os modelos Apple II e II Plus (além dos já soportados pela versão 2.0.3), tornando-se a versão que soporta todos os modelos de Apple II.

O lançamento inclui o Bitsy Bye, um launcher de programas orientado por menus que permite a navegação por arquivos em várias unidades de disquete/disco rígido.

Atualmente está disponível o ProDOS 8 2.4.2, que corrige alguns bugs e inclui melhorias, dentre elas:

- Bugs
. Se um diretório com mais de 255 arquivos foi usado e um disco diferente foi utilizado, um Bad Dir Error $51 foi relatado.
. Bitsy Bye não era compatível com o cartão AppleTalk Workstation.
. Bitsy Bye não era compatível com a placa Mac LC Apple IIe.

- Melhorias
. O driver Thunderclock é atualizado para os anos 2018 – 2023
. ADT Pro v2.0.2
. Copy II Plus v8.4
. Adicionados utilitários estendidos do Cat Doctor

Em desenvolvimento está a versão ProDOS 2.5, que adiciona suporte para FASTChip, suporte ao modelo Apple /// entre outras melhorias.




Guia rápido do Apple ProDOS


Importante ressaltar que ao utilizar o ProDOS, apenas o Applesoft estará disponível como dialeto BASIC. Parte do ProDOS fica alocado na região de memória da Language Card (expansão). As versões Apple IIe, IIc e IIgs, já possuem ao menos 64Kb.

Assim como no Apple DOS, no ProDOS foram adicionados comandos específicos para utilizar as unidade de disco e manipular arquivos, como abertura, leitura, escrita...
Para diferenciar alguns comandos em fita K7, foi adicionado um artifício quando o comando está em execução pelo BASIC.
O artifício é utilizar o caracter de controle Control-D (chr$(4)) antes de executar cada comando dentro do BASIC.
Por exemplo, para listar os arquivos no disco, utiliza-se o comando CATALOG.

No BASIC fica:
10 PRINT CHR$(4);"CATALOG"

Comandos para arquivos binários

BRUN nomeArq
     Carrega para a memória e executa o arquivo binário "nomeArq" do disco.

BSAVE nomeArq, A$xxxx, Lyyyy
     Salva o conteúdo da memória no arquivo "nomeArq", começando no endereço A($ binário), comprimento L(bytes).

BLOAD nomeArq
     Carrega para a memória o arquivo binário "nomeArq" do disco.


Comandos para programas BASIC

-nomeArq (traço)
     Executa um arquivo em disco "nomeArq" BASIC, binario ou EXEC.

RUN nomeArq
     Carrega para a memória e executa o arquivo "nomeArq" do disco. Ajusta o dialeto Basic automanticamente.

LOAD nomeArq
     Carrega para a memória o arquivo "nomeArq" do disco. Ajusta o dialeto Basic automanticamente.

SAVE nomeArq
     Salva o programa atual na memória como "nomeArq" no disco. Ajusta o tipo de arquivo para o dialeto BASIC.

MAXFILES n
     Define o número máximo de arquivos abertos para "n".

STORE nomeArq
     Armazena todas as variáveis de memória em uso no BASIC no arquivo "nomeArq" no disco.

RESTORE nomeArq
     Restaura para o BASIC todas as variáveis gravadas no arquivo "nomeArq".


Comandos para manipular arquivos em disco

CAT
     Exibe o conteúdo do diretório do disco atual, no formato 40 colunas. Apresenta listagem reduzida.

CATALOG
     Exibe o conteúdo do diretório do disco atual, no formato 80 colunas. Apresenta mais informações.

PREFIX caminho
     Exibe o caminho atual (prefixo) ou define o novo prefixo para "caminho". Semelhando a um subdiretório.

RENAME nomeAntigo, nomeNovo
     Altera o nome de um arquivo no disco.

DELETE nomeArq
     Apaga do disco o arquivo "nomeArq".

LOCK nomeArq
     Impede que o arquivo "nomeArq" seja excluído, renomeado ou alterado.
     Na listagem de arquivos, aparece o simbolo (*) ao lado do nomeArq.

UNLOCK nomeArq
     Remove o bloqueio do arquivo "nomeArq".

VERIFY nomeArq
     Verifica se o arquivo "nomeArq" está integro e acessível no disco.


Comandos para manipular arquivos Texto

CREATE nomeArq
     Cria novo arquivo chamado "nomeArq" no disco.

OPEN nomeArq
     Abre o arquivo de texto "nomeArq" no disco.

CLOSE nomeArq
     Fecha o arquivo de texto "nomeArq" no disco.

READ nomeArq
     Define o modo para leitura de dados para "nomeArq".

WRITE nomeArq
     Define o modo para gravação de dados para "nomeArq".

APPEND nomeArq
     Define o modo para adição de dados no final do arquivo para "nomeArq".

FLUSH nomeArq
     Grava qualquer informação em memória não escrita no arquivo "nomeArq".

POSITION nomeArq,x
     Move o ponteiro de dados do arquivo "nomeArq", para a posição definida em "x".

EXEC nomeArq
     Lê o texto do arquivo "nomeArq", passando-o para o programa atual como se fosse digitado no teclado.


Comandos diversos

CHAIN nomeArq
     Permite que o programa em memória execute "nomeArq" do disco.

PR# n
     Redireciona a saída de caracteres para o slot n.
     Este comando está disponível na ROM e não necessariamente precisa do Apple ProDOS.

IN# n
     Redireciona a entrada de caracteres para o slot n.
     Este comando está disponível na ROM e não necessariamente precisa do Apple ProDOS.

FRE
     Libera as variáveis de memória alocadas no BASIC.

BYE
     Executa o gerenciador de arquivos do ProDOS.


Copyright © 2012 ~ 2022, Apple2Pro.com.br. Todos os direitos reservados.
#217250