A cada ano centenas, milhares ou até milhões de páginas na internet são criadas, removidas, atualizadas ou abandonadas até que sejam naturalmente esquecidas, dependendo apenas dos snapshots providenciados pela Wayback Machine da Internet Archive.
Com isso muito material é agregado ao ecossistema da web e também muitos deles são perdidos para sempre, que para mim é um ciclo natural na rede.
Entretanto muita informação jamais deveria desaparecer da internet, principalmente aquelas sobre tecnologias antigas que na maioria das vezes nos mostram a criatividade e as técnicas utilizadas no passado pelos pioneiros da tecnologia.
Infelizmente o site MSX Info Pages do Hans Otten, fechou as portas no dia 02 de abril de 2019 e com isso perdemos muito material importante não só para a comunidade de MSX, bem como para a comunidade de retrocomputação em geral, uma vez que o mesmo continha muita informação técnica agregada em uma única fonte.
É nesse contexto que apresento àqueles que não conheciam, o site Nemesis Lonestar que costumava estar nesse link aqui, mas que agora infelizmente está quebrado desde o dia 16 de janeiro de 2019, segundo o último snapshot gerado pelo Internet Archive.
O Nemesis Lonestar tinha muita informação técnica principalmente sobre programação Z80, dentre as quais uma tabela muito bem feita contendo todo o Instruction Set dos processadores 8080-Z80, muito bem organizado em colunas e que podia ser encontrado aqui nesse link que também deve estar quebrado.
Toda vez que eu programava em ASM e procurava por uma referência rápida do Z80, eu consultava essa página que está nos meus favoritos até agora, apesar de não mais existir no endereço original.
Felizmente temos a WayBack Machine, que pode ser sempre consultada para se obter o último snapshot dessa página que contém essa tabela de mnemônicos do Z80, entretanto apesar da Internet Archive manter esse snapshot, tomei a liberdade de baixá-lo (apenas dessa tabela de mnemônicos do Z80) e criar uma seção em meu blog para futuras consultas a quem interessar e também para agregar, gradativamente, ao material de referência de ASM e Z80 no blog.
Apesar de todas as mensagens de Copyright (c) do autor original da página e principalmente do mesmo citar que é expressamente proibida a reprodução de qualquer material do Nemesis Lonestar, acredito que a essa altura do campeonato ele não irá reclamar essa página, ou se reclamar no futuro, aí conversamos e tentamos resolver, mas no momento eu quero é ajudar na manutenção desse conteúdo.
Por isso deixo abaixo o endereço dessa tabela do instruction set do 8080-Z80, que costumava estar no site do Nemesis Lonestar mas que agora pode ser consultado aqui no meu blog nos endereços abaixo:
Acredito que toda, ou grande parte da comunidade MSX conheça o excelente emulador OpenMSX, principalmente os usuários de Linux e MacOSX.
Bom, confesso que depois de voltar a ativa no mundo MSX, eu utilizo uma máquina real em 100% do meu tempo desenvolvendo coisas, até porque não jogo no MSX há anos. Entretanto desde o último ano, não tenho conseguido tempo para estar à frente da minha máquina de desenvolvimento preferida, que é o meu MSX TurboR A1ST com 1MB de RAM, IDETecnobytes com 8GB de Compact Flash, Expansor de slots ACVS, placa de rede ObsonetTecnobytes, dentre outras coisas que estão conectadas nessa máquina.
Desde o início dos anos 2000, senão me engano lá por 2002 ou 2003, quando a “batalha de emuladores” era mais intensa entre os RuMSX, ParaMSX, fMSX e seus mais diversos sabores, duas opções “definitivas” começaram a se fundamentar no meio da comunidade MSX mundial e hoje reinam absolutas em sua preferência.
Usei muito o BlueMSX, principalmente quando jogava no emulador, mas como desenvolvedor, percebi desde cedo que o OpenMSX se tratava de um projeto mais aberto e poderoso no que diz respeito a sua utilização no desenvolvimento de novos projetos, sejam de hardware ou de software, além do fato de seu projeto ser extremamente bem feito, com um código muito bem escrito e documentado, além de ser multiplataforma.
OpenMSX logo
OpenMSX como plataforma de desenvolvimento.
Além de já ter sido vastamente utilizado como plataforma para desenvolvimento de hardware, em projetos como o MSXARM, o OpenMSX é uma excelente plataforma de desenvolvimento de software, principalmente pelo fato do mesmo emular quase todos (ou todos) os dispositivos que podem ser conectados a um MSX real, como os famosos LaserDiscs, por exemplo.
Por esse motivo e também incentivado pela série que vem sendo escrita no site de Javier Lavanderia, sobre programação para MSX utilizando MSX C, eu decidi que era hora de testar o nível de compatibilidade do OpenMSX, bem como todas as capacidades desse emulador, no desenvolvimento de novos projetos para MSX.
OpenMSX console
O OpenMSX possui um console embutido, que você ativa toda vez que pressiona F10 e a partir daí, em paralelo com a emulação, é possível interagir com a máquina utilizando um conjunto extenso de comandos disponíveis no emulador, conforme pode ser visto nesse link aqui.
Inclusive, via comandos Tcl, você pode controlar o emulador utilizando uma interface através de alguns meios de comunicação disponíveis no emulador, como pipes, named pipes, a saída padrão (stdio), TCP Sockets e UNIX domain sockets, ou seja, é um emulador modular ao extremo, permitindo até que você escreva seu próprio launcher, caso não esteja satisfeito com o OpenMSX Catapult, que para mim poderia ter sua interface tão poderosa e até mais do que a do emulador BlueMSX por exemplo.
Abaixo segue um excelente vídeo demonstrando essa integração do OpenMSX com Tcl/Tk, através do console de Tcl embutido nesse emulador.
Integrando OpenMSX com Tcl
Preparando seu disco.
Apresentado o console do OpenMSX, agora vale a pena citar um comando muito especial e poderoso, o diskmanipulator.
Resumidamente, o diskmanipulator é capaz de criar imagens de disco bem como gerenciar seu conteúdo. As imagens criadas são compatíveis com FAT12 e FAT16 e poderão ser utilizadas no OpenMSX como floppy disks comuns e também como hard disksIDE.
OpenMSX console
A página de instruções do diskmanipulator contém diversas explicações de como criar imagens para discos flexíveis de 720Kb, discos rígidos com partições de FAT12 e FAT16, bem como instruções de como importar dados para esses discos a partir do disco local da máquina host em que o OpenMSX está sendo executado.
Como o objetivo desse post é justamente apresentar o OpenMSX como uma plataforma real para desenvolvimento de softwares para MSX, então preparei um disco com duas partições, sendo a primeira FAT12 e outra FAT16, com diversos softwares específicos para o desenvolvimento de software no MSX. Segue abaixo a lista do que atualmente está contido no disco criado e pronto para usar:
DRIVE A: (FAT12)
MSXDOS2 operating system compatible
[DEV] (Editors, compilers, assemblers and general purpose development tools)
—|———[M80] (Microsoft/ASCII – Z80 Assembler)
—|———[DEVPAC80] (HiSoft Z80 Assembler)
—|———[TP33] (MSX Computer club Turbo Pascal 3.3 compiler)
—|———[TP3] (Borland Turbo Pascal 3.00A compiler)
—|———[TED] (MSX2.0 and higher Text Editor)
—|———[APED] (MSX2.0 and higher Text Editor)
—|———[TOR] (MSX1&2 text editor)
Lembrando que essa é apenas uma configuração de disco inicial em que ainda estou trabalhando, portanto no futuro certamente serão adicionados a esse hard disk, os pacotes do MSXC (1 e 2), HiSoftC, dentre outras excelentes ferramentas destinadas ao desenvolvimento de software para o MSX.
Baixando e usando o hard disk
O harddisk citado acima, pode ser encontrado nessa URL aqui, e de fato é um compartilhamento de minha pasta do DropBox que deixo disponível à comunidade. Os arquivos dessa URL serão atualizados com o tempo, visando a adição de novos compiladores e ferramentas de desenvolvimento para a plataforma MSX.
Nesse mesmo link você encontrará dois arquivos, os quais descrevo abaixo:
dev_hd.dsk -A imagem de 64MB com as duas partições (A: FAT12 e B:FAT16) pronta para uso no OpenMSX;
dev_hd.tcl –ScriptTcl utilizado para dar boot no OpenMSX, usando a imagem de disco acima;
Passos para utilização do disco no OpenMSX:
Baixe esses dois arquivos em qualquer diretório de sua máquina. O único ponto de atenção a ser tomado é que esses dois arquivos devem estar no mesmo diretório pois o script TCL <dev_hd.tcl>, busca pela imagem do hard disk no mesmo diretório em que o script está sendo executado;
Abra o OpenMSX utilizando a sua configuração de máquina preferida;
Com o OpenMSX rodando, pressione a tecla F10, para invocar o console Tcl do OpenMSX;
Já na tela do console, digite o comando abaixo:
source <caminho_onde_você_baixou_a_imagem_de_disco_e_o_arquivo_tcl/dev_hd.tcl>
Pressione <ENTER>
Divirta-se 🙂
Pronto, o seu OpenMSX irá reiniciar já fazendo boot com a imagem de hard disk que você baixou no link acima.
Isso é apenas uma pequenina amostra do potencial desse que, para mim, é o melhor e mais completo emulador da plataforma MSX, na atualidade.
Fiquem antenados nos novos updates da imagem de disco, que disponibilizei no link do Dropbox.