Embora o sistema operacional CP/M estivesse disponível para uma grande variedade de microcomputadores, sua implementação específica para os computadores Apple II e Apple IIe merece destaque especial pela engenhosidade.
Como o microprocessador dos computadores pessoais Apple II (o 6502), fosse incompatível com o sistema operacional CP/M, era necessária uma combinação de hardware e software.
Hardware: o micro recebia uma placa de expansão (denominada Softcard) dotada de um microprocessadorZilog Z80 apto a executar o sistema operacional CP/M e todos os programas desenvolvidos para o mesmo (como o interpretador MBASIC e o editor de textos WordStar). Outro acréscimo comum era uma placa de vídeo apta a exibir 80 caracteres por linha da tela (o Apple II só exibia 40 caracteres por linha).
Software: a implementação do CP/M para o Apple II assumia o controle de ambos os microprocessdores (6502 e Zilog Z80), ativando ora um, ora outro. A cooperação entre ambos era obtida através de um protocolo de troca de dados bastante rígido, onde cada processador trabalhava separadamente, a cada tempo, não havando por conseguinte o processamento paralelo. O Z80 assumia o papel de microprocessador principal do computador. O 6502 entrava em ação apenas para realizar operações de Entrada e Saída.
Uma vez que o CP/M concentra todas as operações de entrada e saída num módulo chamado BIOS, a existência do 6502 ficava, para efeitos práticos, oculta de usuários e programdadores do CP/M. (Todavia, não era impossível que programadores com sólido conhecimento da arquitetura do Apple II e das linguagens de máquina dos dois processadores tirassem proveito de ambos.)
Com essa arquitetura obteve-se a coexistência pacífica de processadores diferentes em um único console e um único sistema operacional, aproveitando o melhor em cada processador, a saber, a grande variedade de software do CP/M (Z-80) com o firmware de entrada/saída do Apple (6502).
Computador rodando o CP/M |