Agora é oficial: SDLTRS >= 1.2.17 emula CP-300/500

80 views
Skip to first unread message

Leonardo Brondani Schenkel

unread,
Jun 28, 2021, 2:25:00 AM6/28/21
to CP500
Esta seria uma continuação da thread
mas estou postando como uma nova thread para maior visibilidade.

As modificações que Jens Guenther fez no SDLTRS foram finalmente lançadas: a partir da versão 1.2.17 de abril de 2021, o emulador suporta as ROMs originais do CP-300 e CP-500. Não é mais necessário compilar o emulador dos fontes.

A princípio todo o software vai funcionar perfeitamente, com a notável exceção do SO-08 (CP/M), que necessita da emulação de um hardware adicional que o CP-500 M80 tem para o modo de 80 colunas. Ainda estamos no processo de engenharia reversa do SO-08 para descobrir como ele é ativado via software para conseguir emulá-lo.

Divirtam-se!
// Leonardo.

Felipe Sanches

unread,
Jun 28, 2021, 3:41:37 PM6/28/21
to cp-...@googlegroups.com
Olá pessoal!
Fico muito feliz com a notícia. Mas me incomoda um pouco o fato de que toda vez que se fala desse código aqui na lista, é dado crédito apenas ao gringo, sendo que o código que ele incorporou no SDLTRS fui eu que escrevi 4 anos atrás com base em análise da PCB de um CP500 aqui em casa. Inicialmente minha contribuição de código foi ao Projeto MAME, de onde o Jens depois copiou e adaptou pro SDLTRS.

Sou muito muito muito grato por ver meu código sendo usado em mais emuladores de CP500. E o próprio Jens agradeceu e deu o devido reconhecimento. Apenas ficaria um pouco mais feliz se o meu nome fosse devidamente lembrado aqui na lista quando falam desse assunto. Senão fica aquela sensação de "síndrome de vira-lata" como se brasileiro nunca fosse capaz de fazer nada e tivessemos que depender dos gringos até mesmo pra emular nossos computadores nacionais.

Pra quem quiser ver o relato de como foi descobrir as informações e implementar o emulador, eu descrevi isso em detalhes uns 4 anos atrás aqui:

Happy Hacking!
Felipe "Juca" Sanches

--
Você recebeu essa mensagem porque está inscrito no grupo "CP500" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para cp-500+un...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/cp-500/cc64a9a3-952f-49d2-a94f-57f20d9c04f9n%40googlegroups.com.

Brancorp2000

unread,
Jun 28, 2021, 5:12:51 PM6/28/21
to cp-...@googlegroups.com
Opa Felipe,

Eu sinceramente não sabia (ou não lembrava) dessa sua autoria.
Mas você deve saber o quanto eu admiro caras como você que manjam muito de "abstração", digamos assim, e são capazes de fazer emulações.
Deixo aqui então meu registro de admiração e agradecimento.

-----------
BrancoRP2000
www.oldplayers.com.br - o site dos Gamers antigos :)


Felipe Sanches

unread,
Jun 28, 2021, 7:00:11 PM6/28/21
to cp-...@googlegroups.com
Obrigado, Branco!
Gosto muito do seu trabalho também no canal OldPlayers, no YouTube ;-)

Leonardo Brondani Schenkel

unread,
Jun 29, 2021, 9:48:37 AM6/29/21
to CP500
Bom. Vou começar dizendo que não foi essa a intenção. Mea culpa.

Em minha defesa, não quis implicar que tudo foi feito pelo Jens. Essa é a natureza do desenvolvimento open source: cada um constrói em cima do que alguém outro fez antes. (O próprio SDLTRS é originalmente um fork de outro emulador.) O motivo de eu mencionar o nome dele foi porque esse post foi especificamente sobre o SDLTRS, e sobre o suporte ao CP-300/500, e foi ele que teve a iniciativa de colocar o código de suporte lá. Isso não quer dizer que foi ele que fez toda a engenharia reversa, ou descobriu como o CP-300/500 funciona, que não teve inspiração de outro lugar (no caso o MAME e seu trabalho), etc.

Além disso, outro motivo pelo qual estou dando crédito pra ele porque é notável o interesse dele, como autor "gringo", em fazer o emulador que ele mantém suportar computadores nacionais nossos de zero relevância fora do Brasil. Infelizmente não há emuladores nacionais de TRS-80 que são populares (pelo menos de meu conhecimento), e o dele é um dos mais conhecidos, então quando há esse interesse eu acho que merece crédito. Afinal, ele ou qualquer outro mantenedor poderia simplesmente negar patches e dizer: não tenho interesse em adicionar código especial para emular esse computador que não é um clone exato do TRS-80. Então a vontade de fazer acaba muitas vezes sendo tanto ou até mais importante que o código em si. Agora o pessoal menos técnico da retrocomputação vai ter a opção de baixar um emulador de TRS-80 e emular o CP-500 com a ROM original e simplesmente vai funcionar. Isso não era possível antes. Ninguém dessa nossa comunidade brazuca submeteu patches pra ele, foi ele que teve a iniciativa de expandir a gama de máquinas e ir atrás de como emular as nossas, e encontrou seu patch (o que simplificou muito a vida dele). Acho então importante reconhecer essa iniciativa.

Outro motivo: eu menciono o nome dele pra ficar explícito que não fui eu, já que sou eu que estou postando e não quero implicar por omissão que o crédito se estende para mim.

Também sei que tu estás no grupo e tem perfeita capacidade de pronunciar-te. Então peço que interpretes o crédito dado como sendo *inclusivo* e não *exclusivo*.

Mas para o registro, como o Felipe disse foi ele que submeteu patches para o MAME, que foram notados pelo Jens e que foi o que "abriu a porteira" para o Jens querer suportar o CP-300/500. Os patches do Felipe implementavam um flip-flop customizado do CP-500. Para os curiosos, o flip-flop está documentado no manual técnico do CP-500, página 44, seção "AX04". Sem esse flip-flop, a ROM original não funciona pois ela usa o flip-flop pra alternar qual metade de 2KB da EPROM4 está visível no espaço de endereçamento. A metade que não está visível por default é o monitor residente.

Mas a emulação não está completa: o CP-500 M80 tem hardware adicional pra funcionar o SO-08, e isso ainda não está emulado. Ele tem muito interesse de adicionar tal suporte, e estou tentando ajudar ele como posso (o que não é dizer muito, devido ao meu limitado tempo livre recentemente).

Espero que isso clarifique um pouco a questão.

Abraço,
Leonardo.
Reply all
Reply to author
Forward
0 new messages