Nesse mês o meu emulador BrMSX faz 20 anos! (sim, estamos velhos)
Para comemorar, eu coloquei no github todos os fontes. Por todos eu quero dizer *todos mesmo*, eu fui nos backups, recuperei os fontes de todas as versões, e criei um repositório onde cada versão é um commit. Consegui salvar também as descrições originais; e até a data e hora de cada release.
Curiosidades:
- O primeiro commit é de 29 Aug 1997, o último é de 10 May 2000, foram quase 4 anos de desenvolvimento contínuo.
- A maioria dos commits é de sábado e domingo (eu estudava durante a semana), mas aparentemente eu programava bastante de terça à tarde também.
- O desenvolvimento da versão MSX2 começou em 11 Jul 1999 com release em 29 Jul 1999 (claramente eu esperei as férias para fazer uma mudança tão grande).
- As primeiras linhas que eu escrevi não mudaram do começo ao fim! É a função readmem no brmsx.asm, se você der um git blame dá para ver que ela é a mesma desde o primeiro commit. Ela também é o caminho crítico, a função que mais é executada no emulador:
readmem:
mov esi,ecx
mov ebx,ecx
shr esi,13
and ebx,01fffh
mov esi,[offset mem+esi*4]
mov al,byte ptr [esi+ebx]
ret
Para quem quiser se divertir, o link é o abaixo.
https://github.com/ricbit/brmsx/commits/master
(Deu um trabalhão do inferno reconstruir o repositório, espero que alguém mais goste haha)
Para comemorar, eu coloquei no github todos os fontes. Por todos eu quero dizer *todos mesmo*, eu fui nos backups, recuperei os fontes de todas as versões, e criei um repositório onde cada versão é um commit. Consegui salvar também as descrições originais; e até a data e hora de cada release.
Curiosidades:
- O primeiro commit é de 29 Aug 1997, o último é de 10 May 2000, foram quase 4 anos de desenvolvimento contínuo.
- A maioria dos commits é de sábado e domingo (eu estudava durante a semana), mas aparentemente eu programava bastante de terça à tarde também.
- O desenvolvimento da versão MSX2 começou em 11 Jul 1999 com release em 29 Jul 1999 (claramente eu esperei as férias para fazer uma mudança tão grande).
- As primeiras linhas que eu escrevi não mudaram do começo ao fim! É a função readmem no brmsx.asm, se você der um git blame dá para ver que ela é a mesma desde o primeiro commit. Ela também é o caminho crítico, a função que mais é executada no emulador:
readmem:
mov esi,ecx
mov ebx,ecx
shr esi,13
and ebx,01fffh
mov esi,[offset mem+esi*4]
mov al,byte ptr [esi+ebx]
ret
Para quem quiser se divertir, o link é o abaixo.
https://github.com/ricbit/brmsx/commits/master
(Deu um trabalhão do inferno reconstruir o repositório, espero que alguém mais goste haha)
Opa Ricardo!
ResponderExcluirÉ uma grande satisfação para mim poder está falando agora com você! Usei bastante o seu emulador a muitos anos atrás!
E foi seguindo o seu exemplo e de outros que também fiz o meu de Master System (SMS) baseado no Z80 também e em assembly assim como o seu.
O fonte do meu emulador também está no github:
https://github.com/cidoca/alis
Vou me divertir bastante olhando o fonte do seu emulador, e espero que você também se divirta olhando o meu.
Abraço,
Cidorvan Leite
Não conhecia, bacana!
ResponderExcluirVocê vai gostar de ver o fonte do BrSMS, mas esse eu só tenho a versão final no github, ainda não reconstruí do backup:
https://github.com/ricbit/Oldies/tree/master/1998-04-brsms
Usei muito o BrSMS no final dos anos 90, cheguei a fazer uma interface grafica para ele...
Excluirmuito legal ter acesso aos fontes.
Maravilha, já fiz um alvoroço danado postei no Facebook e tudo mais, quando disse que já tinha 20 anos, agora vejo que tem os fontes isso é uma preciosidade.
ResponderExcluirSó temos a agradecer tudo que fez.