|
|
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
|