Eu
levei o emulador de interface de disco para o MSXRIO 2013. Confesso que
fiquei bastante preocupado de chegar lá e a interface não funcionar
devido a algum fio se soltar do protoboard, mas tudo funcionou
direitinho conforme podemos ver na foto acima. A recepção do pessoal foi
bastante calorosa e eu pude estabelecer alguns contatos interessantes.
Eu fiz e levei para a feira um folder que é como se fosse um manifesto
declarando o que é e como funciona a interface e chamando as pessoas a
estarem participando do projeto. Abaixo segue o link do dropbox para o
arquivo versão PDF do folder.
Eu
fiz contato com dois desenvolvedores que me informaram que estão
criando um ambiente de desenvolvimento cross para o MSX. Eles falaram
que a intenção é criar uma IDE que permita compilar jogos e programas
para MSX no PC e dentro da IDE ter uma forma de imediatamente poder
rodar o programa e debuga-lo direto no MSX. Até o momento eles tem usado
uma interface de rede mas devido a todo o overhead existente no
processo de comunicação com o MSX o tempo para a transferência do
programa tem sido longo. Como o emulador de interface de disk drive
prevê a inclusão de uma porta USB slave para uso futuro eu falei da
possibilidade de usar esta porta usb para permitir a transferência e
debug do programa no MSX. Eles demonstraram bastante interesse pela
ideia e se mostraram bastante motivados e a motivação deles me
"contaminou".
Para a versão 1.0
do firmware não pretendo inserir nenhum código no firmware do PIC
visando este fim, isto ficará para revisões futuras. Mas, eu pretendo
ligar os sinais para permitir a geração de interrupções por parte da
interface. A interface de disco CDX-2 - que eu estou emulando - não usa
interrupções e por este motivo a sinalização para a geração de
interrupções não é usada. Mas como o PIC ainda possui alguns pinos
sobrando eu achei interessante usar estes pinos reserva para permitir a
geração de interrupções no MSX em futuras revisões.
Então como funcionaria esta "segunda funcionalidade" do emulador?
Olhando
o dump da ROM do CDX-2 é possível observar que aparentemente sobraram
algumas centenas de bytes de espaço livre. Usando este espaço livre
alteraríamos a CDX-2 para criar uma ISR que aguardaria por uma
interrupção por parte da interface que sinalizaria que a IDE lá no PC
quer transferir dados para o MSX. Então a ISR, usando os endereços de IO
livre na interface (escrita - D5 até D7/leitura D4 até D6)
estabeleceria a comunicação com a interface e realizaria a transferência
dos dados, posteriormente transferindo a execução para o programa recém
carregado. Se você não é desenvolvedor e não quiser usar a interface
para este fim então tudo bem, nenhum overhead será criado.
Além
disto eu fui perguntado se a interface suporta a emulação de discos de
1.44MB e a resposta é não. Hoje a interface suporta a emulação de discos
de 360K e 720K porque eram os formatos suportados pela interface CDX-2.
Então eu perguntei se havia alguma interface de disco para MSX que
suportava discos de 1.44MB e a pessoa me apresentou uma interface, eu na
hora falei que iria tirar uma foto da interface para poder obter
maiores informações mas acabou que outra pessoa chegou perguntando
outras coisas e eu depois esqueci de tirar a foto e também esqueci o
nome da pessoa. Ou seja, eu fiz uma bagunça. Eu estou torcendo para que a pessoa que me falou sobre a interface entre em contato comigo para que eu possa aprender mais sobre ela. Eu não pretendo adicionar
o suporte para discos de 1.44MB na versão 1.0 do firmware mas é uma
coisa totalmente possível para futuras revisões.
Além
disto, eu fui perguntado sobre qual formato a placa de circuito
impresso usará, se o formato Patola ou o formato de cartucho grande
fornecido pelo Carchano. Eu já até comprei algumas caixas do Carchano
mas estas caixas são realmente muito grandes e seria muito melhor se eu
tivesse acesso as caixas da Patola. O circuito cabe tranquilamente em
uma caixa pequena. Me informaram que a Patola ainda teria a forma para
produzir caixas para cartuchos do MSX e que a Patola pode produzir se
for colocado um pedido grande de caixas. Se alguém puder me fornecer
algumas caixas patola virgens ou se alguém tiver uma previsão de quando
estas caixas patola estarão disponíveis novamente para a compra eu paro o
desenvolvimento da placa de circuito impresso para poder usar as caixas
Patola, senão eu vou usar as caixas grandes do Carchano como base para o
projeto mesmo.
Eu conversei também com o Rogério Belarmino sobre a possibilidade da Technobytes
produzir o emulador de interface de disco quando o produto estiver em um
estágio mais maduro. Afinal de contas o emulador é um projeto open
source e qualquer um pode produzir e vender o produto se quiser sem ter
que pagar nada por isto. Particularmente falando é fácil para mim
produzir as minhas próprias placas e até gosto de fazer placas como um
hobby. Mas eu sei que tem gente que gostaria de ter acesso ao emulador
mas não tem as habilidades e/ou recursos necessários para por o projeto
em prática. Então se a Technobytes ou o Carchano resolverem reproduzir o
projeto seria muito legal.
No mais, eu não
fiquei até o final do evento porque havia trabalhado no dia anterior
até as 22:00 e estava realmente cansado. O grande evento do encontro
acredito que seria um novo desenvolvimento do Oazem mas infelizmente não
consegui ficar até a apresentação ser realizada.
Um abraço,
José Paulo
Eu tenho alguns cartuchos MSX da Patola (45). Posso repassar alguns para vc pelo preco que paguei
ResponderExcluir