Ficha Técnica do ITT 2020



Apple II
ITT 2020



O ITT 2020 era um clone Apple II fabricado pela ITT sob licença da Apple Computer (o primeiro clone licenciado), especificamente para o mercado europeu. Em Benelux, foi distribuído pela empresa Bell Telephone mfg. No Reino Unido, foi distribuído pela empresa Microsense Computer Limited.

A principal diferença, e a razão pela qual a ITT acreditava que este computador pessoal seria um sucesso, era que o sinal de vídeo colorido estava de acordo com o padrão PAL europeu, ao invés do padrão americano NTSC. Isto significava que os gráficos a cores podiam ser vistos usando um monitor ou aparelho de TV europeu padrão, ao invés de ter que importar um monitor NTSC da América ou do Japão como era o caso com o Apple II. A ITT vendeu este computador a partir de 1979 durante alguns anos. Quando a Apple Computer começou a enviar o Apple II Europlus, a ITT retirou-se do mercado, apesar de o Europlus não suportar a cor.

A outra mudança mais significativa foi a resolução gráfica de alta resolução. ITT aumentou a resolução horizontal dos 280 pixels que a Apple II usou, para 360 pixels. A resolução vertical no entanto, permaneceu a mesma.

Isto tornou muitos programas da Apple II incompatíveis com este computador.

A maior resolução foi uma consequência necessária da maior frequência da subportadora de cor PAL. Para fornecer bits suficientes para o registro de deslocamento de vídeo para gerar a maior freqüência de subportadora PAL, eram necessários 9 bits por posição de memória, em vez dos 7 bits que a Apple II usava.

Para conseguir isso, um chip de memória extra de 16Kx1 foi adicionado à placa-mãe, que adicionou um 9º bit às páginas de memória Hires (0x2000 a 0x5FFF).

Isto tornou necessário modificar as rotinas de gráficos no Applesoft Basic da Apple na ROM. Para enfatizar esta diferença, a ITT chamou o Basic de "PALSOFT".

Para criar espaço para as rotinas de gráficos mais longas (manipulação do 9º bit requerido código extra), a instrução HPLOT foi limitada a um único parâmetro, em vez de uma seqüência de parâmetros.

A ITT também forneceu uma unidade de disquete que era idêntica à unidade de disco Apple II com 13 sectores e DOS 3.2. Eles nunca forneceram a atualização para 16 setores e DOS 3.3.


Outras alterações

- Uma fonte de alimentação de 220V 50 Hz fabricada pela própria ITT

- O gabinete foi pintado com spray de uma cor prateada, e o teclado era preto.

- O ITT 2020 usou uma freqüência de clock maior, necessária para o sinal PAL. Utilizou-se um cristal de 17,73 MHz (quatro
   vezes a frequência da subportadora PAL de 4,433 MHz), enquanto o Apple II utilizou um cristal 14,318 - quatro vezes a
   frequência da subportadora NTSC de 3,58 MHz. No ITT 2020, a frequência do cristal foi dividida por 17 para dar ao
   microprocessador uma frequência de relógio de 1,042 MHz. No Apple II, a freqüência foi dividida por 14 para dar uma
   freqüência de clock de microprocessador de 1,023 MHz.

- As ranhuras na parte de trás do gabinete eram menores, tornando extremamente difícil a instalação de algumas placas
   de expansão.

- O interruptor de reset só funcionava em combinação com a tecla de Control. Isso foi feito para evitar muitos resetes
   acidentais que os usuários Apple II reclamavam.

- A saída do 4º anunciador não foi suportada. Os endereços de E/S (0xC05E e 0xC05F) utilizados pela Apple para esta saída
   foram utilizados pela ITT para utilizar o chip de RAM extra.

- O terceiro botão no conector do jogo não era suportado, pois o ITT usou o endereço de E/S dessa entrada (0xC063) para ler
   a RAM extra.

- O bug na rotina ONERR GOTO no Apple II que exigia que os usuários carregassem um patch com BLOAD, foi resolvido apenas
   no ITT 2020.

- Alguns usuários relataram um Bug na rotina XDRAW, fazendo com que formas estranhas apareçam em determinadas
   circunstâncias.

- O DOS ITT fornecido com o 2020 foi Appledos 3.2. No entanto, uma listagem no catálogo mostrava programas Basic como
   tipo 'P' (para PALSoft) em vez de tipo 'A' (para Applesoft)


Consequências

Qualquer programa do Apple II usando gráficos teve problemas no ITT 2020.

Apenas programas escritos especificamente para o ITT 2020 poderiam fazer uso adequado dos gráficos de alta resolução.

Estes poderiam usar coordenadas horizontais de até 359 pontos, em vez do máximo de 279 pontos do Apple II:
- Se o programa usou os comandos gráficos do Applesoft Basic na ROM, a imagem apareceria achatada - círculos apareceriam
   como elipses e quadrados como retângulos.

- Se o programa acessasse a memória de vídeo diretamente (e muitos fizeram), 40 linhas verticais brancas ou pretas
   apareceriam através da imagem como resultado do bit 9 não sendo definido.

- Os programas que usam o comando HPLOT com vários parâmetros não funcionaram corretamente.

- As cores eram diferentes das utilizadas no Apple II, não só no modo de alta resolução, mas também no modo lo-res. No
   modo lo-res, algumas cores não estavam disponíveis.

- Os programas que utilizam a saída do anunciador ausente ou a entrada do comutador ausente não funcionaram.

- Devido à diferença na freqüência de clock, programas na ITT 2020 (sem gráficos) funcionou 2% mais rápido (Benchmarks
   confirmaram isso).

- Programas que carregaram automaticamente o patch para o bug ONERR GOTO falhavam e apresentavam erro, porque este
   bug já estava corrigido.

- Programas que fazem chamadas ao sistema (chamadas para subrotinas em ROM) às vezes falham porque alguns pontos de
   entrada foram alterados.

- BSAVE e BLOAD de imagens gráficas não funcionaram, porque o 9º bit não foi incluído no arquivo.

- As rotinas de alta resolução no Programmers Aid da Apple não funcionaram.

- Os diferentes sinais de temporização fizeram com que alguns periféricos e cartões de expansão não funcionassem.

A ITT finalmente lançou uma nota técnica com um programa de linguagem de máquina que permitia aos usuários carregar e salvar imagens de alta resolução.


Gráficos

Diferenças com o Apple II

A diferença mais significativa entre o ITT 2020 e o Apple II é a Hi-res gráficos de alta resolução. A ITT aumentou a resolução horizontal dos 280 pixels que a Apple II usou, para 360 pixels. A resolução vertical no entanto, permaneceu a mesma. Isto tornou muitos programas da Apple II incompatíveis com este computador.

A maior resolução foi uma consequência necessária da maior frequência da subportadora de cor PAL. Para fornecer bits suficientes para o registro de deslocamento de vídeo para gerar a maior freqüência de subportadora PAL, eram necessários 9 bits por posição de memória, em vez dos 7 bits que o Apple II usava. Para conseguir isso, um chip de memória extra de 16Kx1 foi adicionado à placa-mãe, que adicionou um 9º bit às páginas de memória Hires (0x2000 a 0x5FFF). Com isso, tornou-se necessário modificar as rotinas de gráficos no Applesoft Basic da Apple na ROM. Para enfatizar esta diferença, ITT chamou este "PALSOFT".

Para criar espaço para as rotinas de gráficos mais longas (manipulação do 9º bit precisava de código extra), o comando HPLOT foi limitado a um único parâmetro, em vez de uma seqüência de parâmetros.

Acessando o 9º Bit

O chip de RAM extra era basicamente uma memória somente de gravação: os dados foram gravados no chip por software, mas lidos pelo hardware de geração de vídeo. A entrada de dados do chip foi ligada à entrada de dados do 8º bit (MSB) da memória de vídeo principal e foi, portanto, igual a este 8º bit durante uma operação de escrita. Ao habilitar o chip extra, os mesmos dados seriam salvos no bit 9, como no bit 8.

Por exemplo, para setar a palavra da localização de memória 'HiresLoc' para 0b110100101, a seguinte rotina é necessária:
                         LDA $C05E         ; enable the extra RAM chip
                         LDA #$80          ; set MSB to 1
                         STA HiresLoc      ; save data to both bit 8 and bit 9
                         LDA $C05F         ; disable extra RAM chip
                         LDA #11010010     ; load the remainder of the data
                         STA HiresLoc      ; save to main memory, but 9th bit remains set.


Para alterar apenas o 9º bit é necessário mais programação:
                         LDA HiresLoc  ; read bits 1-8
                         PHA           ; store on stack
                         LDA $C05E     ; enable the extra RAM chip
                         LDA #0        ; bit 9 must become 0
                         STA HiresLoc  ; but bits 1-8 are also changed
                         LDA $C05F     ; so disable extra RAM chip
                         PLA           ; retrieve data from stack
                         STA HiresLoc  ; and put the old value back in 1-8


É possível ler o 9º bit quando for necessário, por exemplo, para salvar uma imagem de Hires no disco.

Isto é conseguido da seguinte forma:
                         LDA HiresLoc ; read address
                         LDA $C063    ; MSB of this address is value of bit 9 of last address read in
                         BPL notset   ; branch if bit is zero

Placa de conversão de Hires

A compatibilidade gráfica de bitmap com o Apple II poderia ser melhorada através da instalação de uma placa de conversão
de terceiros contratados.

Quando ativada, esta placa remove os artefatos de vídeo causados por programas ignorando o 9º bit. Isso melhora significativamente a compatibilidade com o software destinado ao Apple II original na parte de manipulação de memória gráfica diretamente. No entanto, mesmo com esta placa habilitado as cores ainda diferem do original Apple II.

Ao usar comandos PALSOFT BASIC para desenho de gráficos de alta resolução, a placa de conversão Hires deve ser desativada para exibir os gráficos conforme pretendido.



#286285