Seu primeiro programa CSX
Vamos escrever, do zero, um programa que mostra uma mensagem na tela do MSX1.
Apague tudo o que estiver no editor (Ctrl+A, depois Delete) e digite exatamente o que está abaixo. Não copie e cole — digitar é parte do aprendizado, porque seus dedos vão começar a memorizar a sintaxe.
DIGITE E VEJA
Programa 2.1 — Olá, mundo!
Digite no editor (aba Script (CSX)) e clique em ■ Run.
USES SCREEN 1
SCREEN 1
CLS
PRINT "OLA, MUNDO!"
PRINT "EU ESTOU PROGRAMANDO EM CSX."
TELA ESPERADA
O que deve aparecer
Uma tela azul (modo SCREEN 1 do MSX1) com a mensagem OLA, MUNDO! EU ESTOU PROGRAMANDO EM CSX.
Lendo o programa, linha por linha
Cinco linhas curtas, mas cada uma faz uma coisa importante. Vamos por partes:
USES SCREEN 1
A primeira linha de todo programa CSX é o USES. Ela declara os módulos do runtime que o programa vai utilizar — aqui, só precisamos do modo SCREEN 1. O compilador usa essa lista para embarcar apenas o que é necessário (economizando bytes na ROM) e para avisar se você esqueceu de habilitar algo.
Se você tentasse rodar o programa sem o USES, o compilador reclamaria: "programa usa 'SCREEN' mas não tem diretiva 'USES'".
SCREEN 1
O comando SCREEN escolhe o modo de vídeo do MSX. O modo 1 é o mais usado: tela de 32 colunas por 24 linhas, com caracteres em quadrículas de 8×8 pixels e cores por bloco. É o modo padrão para a maioria dos jogos MSX.
CLS
Abreviação de CLear Screen — limpa a tela. Sempre que você muda de SCREEN, é boa prática chamar CLS em seguida, para garantir que não sobrou lixo da tela anterior.
Mostra texto na tela. Tudo que estiver entre aspas é impresso literalmente. Cada PRINT pula para a próxima linha automaticamente.
DICA
Palavras-chave em qualquer caixa
As palavras-chave da linguagem (SCREEN, CLS, PRINT, DIM, IF, FOR, etc.) podem ser escritas em MAIÚSCULAS ou minúsculas — o compilador trata as duas formas como iguais. Use o estilo que achar mais legível; neste manual adotamos MAIÚSCULAS por tradição do BASIC clássico.
Brincando com o programa
EXPERIMENTE
Variações sugeridas
- Troque o texto entre aspas pelo seu nome.
- Adicione mais linhas de PRINT.
- Tente PRINT 42 (sem aspas, só o número). Em cada caso, clique em ■ Run e observe.
ATENÇÃO
Erros não são derrotas
Quando o compilador acusa erro, ele sublinha em vermelho a linha problemática no editor e mostra a mensagem no console. Cada erro é uma oportunidade de entender melhor a linguagem. Programadores experientes convivem com erros o dia inteiro — a diferença é que eles aprenderam a decifrá-los rápido.
Por baixo do capô: o ASM gerado
Depois de compilar, clique na aba Assembly (Z80) no topo do editor. Você vai ver dezenas de linhas em assembly — é o que seu CSX virou para o processador Z80 entender. Não precisa entender nada disso ainda; só dê uma olhada para perceber que cada PRINT do seu programa virou várias instruções de máquina.
1 ; Trecho do ASM gerado para PRINT "OLA":
2 LD HL, _str_1 ; ponteiro para a string
3 CALL RFB_PRINT_STR ; chama rotina da runtime
4 ; ...
5 _str_1: DB "OLA, MUNDO!", 0
CURIOSIDADE
O caminho que seu código percorre
CSX (você escreve) → compilador (analisa e gera código) → ASM Z80 (texto legível) → assembler (vira bytes) → ROM (arquivo binário) → emulador MSX1 (executa). Tudo isso acontece em frações de segundo cada vez que você clica em ■ Run.
Resumo do capítulo
- Todo programa CSX começa com
USES, seguido deSCREENeCLS. PRINTcom aspas mostra texto literal; sem aspas, mostra valores.- Erros aparecem sublinhados no editor e detalhados no console.
- Você pode espiar o ASM gerado na segunda aba do editor.