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.