Eletrônica
Fuse e z80asm
Com a emulação ficou fácil programar para o TK90X. Nada melhor do que usar as ferramentas de computador PC moderno, com a vantagem de ter um teclado muito melhor do que do tipo "chiclete", e a possibilidade de salvar o trabalho no disco rígido. Eu uso Linux, portanto estarei apresentado as ferramentas para este sistema operacional.
Para criar um programa em assembly Z80, basta digitar as instruções num editor de texto qualquer e gravar no disco rígido. Abaixo, como exemplo, há um pequeno programa assembly que será salvo e depois montado:
O programa montador (assembler) que costumo usar é o z80asm, cujo site oficial encontra- neste link. Este é um programa para o shell, isto é, para o console de texto, como é comum no Linux e pode desgostar aqueles que preferem trabalhar em ambiente gráfico. Seu uso mais comum é:
z80asm -o [arquivo de saída] [arquivo de entrada]
onde
arquivo de entrada é o nome do arquivo contendo o código fonte
assembly e
arquivo de saida é onde será salvo o código de máquina. Se a opção
-o for omitida, o código será salvo no arquivo
a.bin.
Prosseguindo no exemplo, o arquivo editado e salvo como
Out254Loop2.asm será montado para produzir o arquivo
Out254Loop2.bin:
A opção
-v foi acrescentada para que o z80asm mostre mensagens durante o processamento.
Agora falta colocar o código binário no emulador. Eu uso o
Fuse que cheguei a comentar em postagem passada. Para isto, basta usar a opção do menu
File > Load binary data...:
Aparecerá uma janela para escolher o arquivo a inserir que, no caso deste exemplo, será
Out254Loop2.bin. Em seguida será pedido para digitar o endereço inicial da RAM para carregar o código de máquina:
No exemplo acima foi digitado o endereço inicial (
Start) 60000. O comprimento (
legth) já é automaticamente determinado pelo comprimento do arquivo a inserir. A propósito, dependendo do endereço, pode ser necessário reservar espaço de RAM ajustando a RAMTOP com o comando BASIC
CLEAR.
Para rodar o programa em linguagem de máquina, basta usar o comando
RAND USR [endereço]. O programa
assembly dado como exemplo é bastante simples, ao ser rodado produz o seguinte resultado:
porém acaba ficando travado e obriga a fazer um
reset (tecla F5) no emulador.
O programa assim produzido pode ser gravado em arquivos imagens de fitas ou discos e, eventualmente, transferido para o TK90X real. Espero que estas informações incentivem na elaboração de programas
assembly.
loading...
-
Fzx Length
Uma dificuldade de fontes proporcionais como FZX é o fato de não ser fácil calcular o tamanho que um string irá ocupar quando impresso na tela. No BASIC do TK90X, existe a função LEN que permite calcular o tamanho de um string. Como os caracteres...
-
Fuse-utils
O emulador Fuse é acompanhado por um conjunto de utilitários conhecido como fuse-utils. Estes utilitários são uma mão na roda para quem usa o TK90X ou somente o emulador no Linux, pois é notório que há bem menos programas dessa natureza...
-
Programa '48kbmode'
Alguns programas para 48KB são incompatíveis com o modo 128KB e não rodarão na TKMEM-128, a não ser que o chaveamento da RAM seja desativado. Os jogos da Ultimate como Knight Lore, Alien 8 e Pentagram têm este problema. Para solucionar isto, os...
-
Tzx Show
Na série sobre adaptação de programas de fita para disco Beta 48, foram discutida as vantagens de usar o emulador no PC. Dentre os formatos empregados para representar o conteúdo de fita cassete no PC, TZX é o preferido por ser o mais completo e...
-
Gyroscope E Lerm Code Compressor 1
Adaptei o jogo Gyroscope do TK90X para a interface Beta 48, que está disponível aqui neste link. Aproveitando esta ocasião, apresento o ótimo Lerm Code Compressor 1 que tanto tem me ajudado nas adaptações dos programas para a Beta 48. O programa...
Eletrônica