Arquivos .CAS para TRS-80

Enfim, consegui colocar as mãos na Multicore 2 e rapidamente fui testá-la. Para tal, escolhi o core do TRS-80, já que o CP500 foi o primeiro computador que usei na vida, no meu primeiro curso de informática, lá pelos idos de 1986.

Pois bem, ao baixar o core do TRS-80 descobri que a MC2 ainda não tem suporte a discos para esse core. Assim, só restou a opção de carregar jogos e programas usando a porta auxiliar da MC2, o que significa ler arquivos .CAS (cassette) usando um gravador com fitas (método raiz) ou usar algum player no PC (método nutella).

Como não dispunha de um gravador funcional à mão nem queria esperar muito para rodar jogos no TRS-80, fui pelo caminho nutella mesmo e comecei a pesquisar utilitários que me pudessem ajudar na tarefa. A boa notícia é que há uma oferta satisfatória de programas e sites que me permitiram, após aprender alguns macetes, a rapidamente conseguir rodar um joguinho para TRS-80 na minha Multicore 2.

#### O Player

Primeiramente, vamos precisar de um player apto a reproduzir os arquivos no formato cassette do TRS-80. Dessa forma, o PC funcionará como gravador, bastando conectar um cabo P2-P2 estéreo na saída de fone de ouvido do computador e na entrada AUX da MC2.

O programa recomendado para essa finalidade é o PlayCAS, que você pode baixar diretamente aqui. A interface não é sofisticada, mas ele dá conta do recado.

O PlayCAS reproduz arquivos .CAS no formato SYSTEM e BASIC, entre outros. O primeiro formato normalmente é usado para programas em código de máquina e deve ser carregado através do comando SYSTEM (mais detalhes adiante). Arquivos BASIC normalmente são carregados pelo comando CLOAD.

Na figura abaixo, vemos a interface do PlayCAS.

Observem a área destacada em vermelho. Nela tem informações importantes, como a velocidade (highspeed), formato (SYSTEM), nome da fita ('CATR1S'), duração e status do conteúdo do arquivo (ok!).

Para carregar um arquivo .CAS, basta clicar em Open new e para reproduzi-lo, obviamente, é só clicar em Play. Também é possível salvar o arquivo no formato .WAV, caso se deseje gravar o arquivo em fita K7 e seguir o método raiz.

#### Carregando .CAS na Multicore 2

Vamos carregar o jogo SEA DRAGON, cujo arquivo .CAS você pode baixar aqui. Abra-o no PlayCAS e conecte o cabo P2 na saída de áudio do PC e na entrada AUX da MC2 (conector vizinho ao slot SD).

Carregue o core do TRS-80 na Multicore. Ao concluir a inicialização do core, aparecerá a tela abaixo. Observe que a MC2 utiliza a ROM do CP-300 da Prológica.

Aperte a tecla S na pergunta "BASIC (S ou N)?". Na pergunta "Cass?", o TRS-80 quer saber qual velocidade usar no carregamento de fita, se baixa (200/500 baud) ou alta (1500 baud). Assim, é preciso saber de antemão qual a velocidade do arquivo .CAS que você deseja carregar, o que pode ser obtido abrindo-se o arquivo no PlayCAS. Se o arquivo .CAS for de baixa velocidade, você aperta a tecla B nessa pergunta, ou a tecla A se for de alta.

Para simplificar, sugerimos sempre digitar <enter> na pergunta "Cass?", que seleciona a alta velocidade na leitura de cassette, e converter qualquer arquivo .CAS de baixa velocidade para 1500 baud (ver item sobre conversão mais adiante).

Depois, basta apertar <enter> na perguntas seguinte. No prompt do BASIC, digite SYSTEM <enter>.

Irá aparecer o prompt:

```
 *?

```

O computador está aguardando que você insira o nome da fita a ser lida. Basta digitar a primeira letra do nome. No nosso exemplo, digite a letra S seguida de <enter>. O TRS-80, então, passa a escutar a entrada AUX. Ative a reprodução no PlayCAS. Nesse momento devem aparecer dois asteriscos no canto superior direito da tela, um fixo e outro piscando. Esses asteriscos indicam que a leitura está ocorrendo (nessa hora senti saudades do TK90X).

Ao final do processo de carga do arquivo .CAS na memória, o prompt \*? é exibido novamente. Basta digitar / <enter> para rodar o programa carregado.

#### Obtendo arquivos .CAS

Não fiz uma busca extensa de arquivos .CAS na internet, tendo me limitado aos seguintes sites:

* https://www.classic-computers.org.nz/system-80/software\_cassette\_archive.htm (seleção pequena, mas muito boa, de jogos. Arquivos precisam de conversão de velocidade)
* http://willus.com/trs80 (Lista extensa de jogos, programas diversos, utilitários, compiladores etc. Arquivos em .BAS, .CMD e .DMK precisam ser convertidos para .CAS)

####

#### Convertendo a velocidade de arquivos .CAS

Caso o arquivo .CAS esteja em 200/500 baud, é recomendado convertê-lo para 1500 baud (highspeed), pois diminui significantemente o tempo de carga do arquivo.  Em caso de dúvida, abra o arquivo no PlayCAS e veja a informação da velocidade na área de status.

Para tal tarefa, vamos utilizar o programa Highlow Cassette Converter, que pode ser baixado aqui. Esse é um programa de linha de comando de fácil utilização. Basta chamá-lo, passando o nome do arquivo .CAS que deseja converter, que ele automaticamente identifica a velocidade do arquivo e converte para a velocidade oposta (de 200/500 baud para highspeed e vice-versa).

```
>highlow seadrag.cas

```

Nesse exemplo, considerando que o arquivo original é de baixa velocidade, esse comando gerará um novo arquivo chamado seadrag.hi.cas.

#### Convertendo arquivos .BAS e .CMD para .CAS

A maioria dos programas para TRS-80 está disponível em formatos .CMD ou .BAS, sendo necessário convertê-los para .CAS. Para isso, vamos lançar mão de um excelente utilitário de linha de comando chamado trld, que pode ser baixado aqui. Ele permite converter arquivos TRS-80 entre diversos formatos.

Supondo que tenhamos um arquivo no formato .CMD, para convertê-lo basta digitar o comando:

```
>trld CATR1SS2.CMD catr1ss2.cas

```

Será gerado um arquivo .CAS em highspeed, pronto para ser usado no PlayCAS.

Para arquivos .BAS, o procedimento de conversão é o mesmo. Porém, o arquivo .CAS gerado será do tipo SYSTEM e não BASIC. Portanto, a carga do arquivo deverá ser feita através do comando SYSTEM no TRS-80 (e não pelo comando CLOAD). Uma vez carregado na memória, ao se digitar / <enter>, se retornará para o prompt do BASIC. Aí só precisa digitar RUN <enter> para executar o programa.

#### Extraindo arquivos de discos virtuais (.DMK/.DSK)

Caso você encontre algum programa disponível somente no formato .DMK ou .DSK, que é um formato de discos virtuais do TRS-80 para PC, é possível extrair arquivos .CMD/.BAS contidos no disco virtual. Dessa forma, será possível convertê-los para cassette e carregá-los na sua MC2.

Vamos utilizar o programa VDisk, do brasileiro Miguel Dutra, para ler e extrair o conteúdo de arquivos .DMK. Baixe o VDisk aqui.

Para ler o conteúdo de um disco virtual do TRS-80, digite o comando:

```
>vdisk -l disco.dmk

```

Para extrair um arquivo:

```
>vdisk -r disco.dmk PROG.CMD

```

Para mais informações sobre o VDisk, consulte o arquivo de help que acompanha o programa.

AVISO: Se for baixar algum arquivo .DMK do site http://willus.com/trs80, baixe pelo link Debug1, pois os demais links são de arquivos com formato não compatível com o VDisk.

#### Conclusão

O ideal seria poder utilizar discos virtuais diretamente na Multicore 2 carregados no cartão SD. Enquanto isso não é possível, a opção de carregar arquivos .CAS via entrada AUX é viável e interessante.

Uma alternativa ao uso do PlayCAS a ser testada é utilizar o CASduino. Assim, não precisaria de um PC para carregar os programas.

No mais, bom revival dos jogos e programas do TRS-80 e não esqueçam de ligar uma caixinha de som na Multicore para aproveitar melhor os joguinhos!