18 de Junho de 2005 | Autor: Extraído do Manual Técnico do TK2000 Color



Manual Técnico do

TK2000 Color

Manual do TK 2000 II

 

Microdigital TK 2000

 


Existe um certo grau de compatibilidade entre o TK-2000 COLOR e o computador APPLE ][ PLUS e similares nacionais. Neste apêndice serão destacadas as diferenças mais importantes.

 

 


a) Diferença nos comandos BASIC

 

  TK-2000 APPLE II Comandos no TK-2000 com
 o mesmo código do APPLE II
FLASH - S SOUND
IN# - S ASS
PR# - S DSK
MA S -  
MP S -  
ASS S -  
LM S -  
TK2000 S -  
MOTOR S -  
SOUND S -  
GR,HGR (Limpa só a janela) (Limpa a tela)  



b) Carregando fita de APPLE ][ no TK-2000
 
Para carregar as Fitas em APPLESOFT BASIC no TK-2000, digite o comando MP e a tela mostrará um padrão de barras similar aquele que aparece ao ligar o aparelho.
 
Nesta posição pode-se também digitar o comando HOME para limpar a tela tornando agora possível carregar um programa gerado num APPLE ][ ou compatível no TK-2000 COLOR através do comando LOADA.
 
Se o programa não executar corretamente, deve-se procurar a solução para o erro observando o mapa da memória, ou conferindo no programa se não existem chamadas de subrotinas da ROM que possuem endereços diferentes no TK-2000 e no APPLE II ou similar.
 
Caso ao executar o programa, este seja interrompido com a mensagem de ERRO DE SINTAXE, provavelmente este ocorreu devido a um comando (FLASH, IN# ou PR#) que exista no APPLE (incompatível ao TK-2000), e deverá ser removido ou substituído apropriadamente de acordo ao contexto.

 
c) Diferenças no uso da RAM ocupado pelo vídeo

 

  TK-2000 APPLE II
 TEXTO página 1 2000-3FFFH 400-7FFH
 TEXTO página 2 A000-BFFFH 800-BFFH
 BAIXA RES pág 1 2000-3FFFH 400-7FFH
 BAIXA RES pág 2 A000-BFFFH 800-BFFH
 ALTA RES pág 1 2000-3FFFH 2000-3FFFH
 ALTA RES pág 2 A000-BFFFH 4000-5FFFH



 

d) Referencia a programação em linguagem de máquina

1) uso da página zero: Idêntico uso, exceto as posições “6”, “7”, “8” e “9” que são usadas como buffer temporários no TK-2000. “21H” representa o comprimento da janela de vídeo no APPLE ][ e no TK-2000 a margem direita da janela.

2) O uso da área de texto (end $400H-7FFH): algumas partes desta área são usadas para parâmetros do sistema e periféricos. O TK-2000 não permite o display num programa em linguagem de máquina que escreva diretamente na área de memória em questão.

3) Leitura do teclado: No APPLE ][ a leitura do teclado é efetuada pela instrução LDA $C000H e no TK-2000 deve ser usado uma rotina especial para simular a função. A rotina de reconhecimento e leitura do teclado estão localizado a partir do endereço $F043H da ROM do TK-2000.


 

 

Conversão de programas em linguagem de

máquina para o TK-2000

 

Não há uma regra de ouro para converter programas em linguagem de máquina, mas as diferenças resultam, na grande, maioria dos casos no tratamento do teclado, vídeo e mapeamento de memória, além da diferenças na ROM. Cada caso deve ser analisado individualmente, mas para simplificar, aqui temos algumas dicas:


1. Teclado

Encontre a instrução LDA $C000 e substitua-a pela instrução JSR Keb, sendo que Keb é a seguinte rotina:

LDA   $26
PHA
LDA   $27
PHA
LDA   $06
PHA
LDA   $07
PHA
LDA   $08
PMA
LDA   $09
PHA
JSR   $F043
PHA
TXA
PHA
TSX
TXA
EOR  #$80
TAX
PLA
STA   $0100,X
INX
PLA
STA   $0100,X
PLA
STA   $09
PLA
STA   $08
PLA
STA   $07
PLA
STA   $06
PLA
STA   $27
PLA
STA   $26
LDA   $0100,X
PHA
DEX
LDA   $0100,X
TAX
PLA
RTS


Esta rotina deve ser colocada numa área livre da memória RAM. Uma opção mais simples é substituir LDA $C000 por JSR $F043, porém deve se saber que o conteúdo dos endereços 6, 7, 8, 9, 26 e 27 da página zero serão alterados, entretanto, na primeira opção eles são preservados.


2. Página 2 de Alta Resolução

Encontre todas as instruções que se referem à página 2 no APPLE ][ ($4000-5FFFH) e substituía-las pelo endereço correspondente no TK-2000 ($A000-BFFFH).



3. Display Modo Texto

Encontre as instruções usadas para display no modo texto no APPLE ][:

LDA   #C1
STA   $0401

e substitua-a pelo seguinte programa:

LDA   #01 ; EIXO X
STA   $24
LDA   #00 ; EIXO Y
STA   $25
LDA   #C1
JSR   $FDF0