Carregando arquivos .CAS para TRS-80 na Multicore 2
August 25, 2018
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!