quarta-feira, 8 de fevereiro de 2023

zmakebas

Notei que não fiz um artigo sobre zmakebas ainda e, como usei esse programa no All Opcodes, creio ser uma boa hora para falar a seu respeito.

Não há motivos hoje, exceto pela nostalgia, programar para o TK90X  com o editor nativo do seu monitor BASIC. Escrever um programa num PC ou notebook moderno, com um editor bem mais poderoso e com a ajuda de recursos de um SO moderno como o Linux... são facilidades que dificilmente sonharíamos em 1985. A única coisa que fica faltando é um meio de transferir o programa para o TK90X ou um emulador. Aí que entra o zmakebas, um utilitário para Linux/Unix que converte um programa digitado como texto ASCII puro em arquivo .tap. Para rodá-lo, deve-se digitar o comando no shell, como no exemplo a seguir:

zmakebas -l -i 10 -o output_file.tap input_file

O input_file seria o arquivo texto com o BASIC e o output_file é o nome do arquivo a ser gerado (se omitido, será out.tap). Um dos recursos interessantes é o modo em que o usuário não necessita digitar os números de linhas, ativado pela opção -l (label). Pode-se referenciar as linhas para GOTO ou GOSUB por meio de rótulos (que devem começar com @), que serão substituídos pelos números de linhas gerados automaticamente pelo zmakebas. A opção -i (increment) estabelece o valor de incremento do número de linhas, o default é 2 mas eu gosto de usar 10. Existem vários recursos além desses, não vou me alongar pois basta ler a página man do utilitário.

Nem tudo é perfeito, notei um bug no zmakebas quando lida com o comando DEF FN que não funciona quando se carrega o arquivo .tap. Parece que o bug foi resolvido na versão 1.2b, porém a versão disponível no Debian (e no Ubuntu) parece estar ainda com o problema. Pode-se contornar carregando o arquivo .tap no TK90X/emulador, fazer um LIST na linha com DEF FN, pressionar EDIT (Caps-shift + 1) e depois ENTER. O próprio monitor BASIC repara a linha problemática.

Um comentário:

  1. Flávio, você conhece o BasinC (para Windows)?
    Você programa e faz tudo nele, inclusive o .TAP. Um verdadeiro "canivete suíço" dos emuladores.

    https://arda.kisafilm.org/blog/?cat=13&fbclid=IwAR1jz_a_qNhSLTyPG2xxd-7qbPmvWbLYtssQt1P6rnG9Pb-_daP4t2x3hyU&lang=en

    ResponderExcluir

Seu comentário é bem vindo, mas peço que use este espaço adequadamente.