Expert 3 com Nextor no openMSX em Raspberry pi

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Facebook
  • Google
  • Twitter

Versão para impressão, limpa

Estou montando um raspberry pi3 com vários emuladores. Um deles o MSX. Em especial, quero emular um Expert 3 rodando uma interface IDE com Nextor e interface de drive. Gostaria de criar uma partição grande o suficiente para poder guardar programas, jogos, etc. A escolha do emulador OpenMSX foi porque ele já tem um pacote que pode ser instalado no raspberry pi3 através do gerenciador de pacotes, então fica mais fácil. Acontece que a documentação desse emulador é bem confusa mas, no final, consegui.

Já vou partir do ponto que você tem o OpenMSX instalado no seu computador. A receita que vou apresentar vale para linux em geral mas, a menos de detalhe do diretório onde o OpenMSX foi instalado, deve dar para seguir os mesmos passos no Windows. Vamos lá… Você precisará estar conectado como root para poder configurar tudo…

Baixando as ROMs

O OpenMSX não vem com as ROMs das máquinas, por questão de copyright. Mas elas são fáceis de encontrar. Vou linkar os caminhos para essas ROMs mas também pretendo deixar cópias aqui. Precisamos baixar 3 conjuntos de ROMs: a ROM do Expert 3, a da interface de disquetes DDX e também a do Nextor. São elas:
  • Expert 3 – Baixamos do site msxpro.com, nesse link. Altenativamente, pode baixar uma cópia daqui.
  • Interface DDX 3.0d – Baixamos do site msxpro.com, nesse link. Alternativamente, pode baixar uma cópia daqui. Usamos a versão 3.0d porque a configuração dela no OpenMSX já está pronta. Mais a frente vamos ver como mexer nisso e dai fica fácil se você quiser atualizar para uma ROM mais recente. Mas não vejo necessidade.
  • ROM do Nextor – Baixamos a ROM do Nextor para interface Sunrise. Cuidado, eles têm uma versão para interface real e outra versão para usar em emuladores. Baixe a de emuladores. Usamos a 2.1.0, nesse link. Alternativamente, uma cópia pode ser baixada daqui.
No caso dos arquivos .zip, descomprimimos eles. Depois copiamos todas as ROMs para o diretório :
/usr/share/openmsx/systemroms/
No caso do Windows, você deve encontrar diretório semelhante no
C:\Program Files\
Copiei esses arquivos com os seguintes nomes: expert3.rom, ddx_3.0.rom e nextor.rom. Você pode usar outros nomes, mas lembre de substituí-los apropriadamente.

Criando a interface do Nextor no OpenMSX

Os arquivos de ROM no OpenMSX são identificados pela sua chave SHA1. Obtendo essas chaves. Digite:

> cd /usr/share/openmsx/systemroms/ > sha1sum expert3.rom c5bfa85f7315fb11928b27a721a908c93b7d3fbf expert3.rom > sha1sum ddx_3.0.rom a363015286341ffabcdc38ef0d890897ed51e322 ddx_3.0.rom > shasum nextor.rom 97094d5ed206088c8f455801b7609e614c243562 nextor.rom As chaves para as duas primeiras ROMs já devem estar corretas nas definições da máquina para o Expert 3 e para a interface DDX. Não precisa fazer nada. O que precisamos fazer é olhar para a ROM do Nextor e definir uma extensão para ele. As definições de máquinas e extensões no OpenMSX são feitas a partir de arquivos XML. No caso das extensões, esses arquivos estão guardados no diretório:
/usr/share/openmsx/extensions
Nesse diretório você vai encontrar definições para tudo quanto é tipo de coisa. Uma dessas definições é a da interface Sunrise, no arquivo ide.xml. Para não mexer nesse arquivo, copie-o para nextor.xml. Faça (eu uso o nano como editor de texto, pode usar o que você gostar mais): &#62; cd /usr/share/openmsx/extensions &#62; cp ide.xml nextor.xml &#62; nano nextor.xml Você vai notar nesse arquivo xml várias tags. Uma delas é o filename para a ROM (que eu mudei para nextor.rom) e outra é a chave SHA1, que eu mudei para aquela que obtive anteriormente. O meu arquivo nextor.xml ficou assim: <?xml version="1.0" ?> <!DOCTYPE msxconfig SYSTEM 'msxconfig2.dtd'> <msxconfig> <info> <name>Nextor <span class="caps">ATA</span>-<span class="caps">IDE</span></name> <manufacturer>Nextor</manufacturer> <code/> <release_year>1995</release_year> <description>Nextor <span class="caps">ATA</span>-<span class="caps">IDE</span> interface with hard disk.</description> <type>external hard disk</type> </info> <devices> <primary slot="any"> <secondary slot="any"> <sunriseide id="Sunrise IDE"> <mem base="0x0000" size="0x10000"/> <rom> <filename>nextor.rom</filename> <sha1>97094d5ed206088c8f455801b7609e614c243562</sha1> </rom> <master> <type><span class="caps">IDEHD</span></type> <filename>hd.dsk</filename> <size>256</size> </master> <slave> <type><span class="caps">IDECDROM</span></type> </slave> </sunriseide> </secondary> </primary> </devices> </msxconfig> Tem também um trecho entre as tags < master > e < /master > que definem uma imagem DSK padrão caso você inicie o OpenMSX sem especificar a imagem do HD. Ele cria essa imagem com o tamanho dado em < size > caso ela não exista. O chato é que o OpenMSX calcula a chave SHA1 desse arquivo toda vez que ele inicia, o que pode demorar um pouco se o arquivo for grande. No meu Raspberry Pi 3, 256 MB está de bom tamanho. O tamanho máximo parece ser 2GB. Escolha o seu tamanho…

Criando o arquivo hd.dsk

Agora está tudo pronto para rodar. Deixe de ser root na sua máquina, se conecte como um usuário comum. No Windows isso não é necessário. Em um terminal qualquer digite: &#62; openmsx -machine <span class="caps">CIEL</span>_Expert-Turbo -exta <span class="caps">DDX</span>_3.0 -extb nextor Isso vai fazer com que você carregue a expert 3 com as extensões DDX e Nextor. A DDX tem prioridade, como exta, em relação ao nextor, como extb. Assim, drives de diquete aparecem como a: e b: e os HD aparecem como c:. Você vai notar que a imagem hd.dsk foi criada. O diretório padrão onde essa imagem será gravada é mostrado na tela. Preste atenção e guarde esse local caso você queira mudar ela de lugar. Após a imagem ser criada, pressione F10 para entrar no console do emulador e depois digite exit para sair. Se quiser, copie-a para algum lugar que você goste mais.

Particionando o disco, copiando o MS-DOS e finalizando a instalação

Para simplificar a vida, copiei o arquivo hd.dsk para o home do usuário que estou fazendo tudo (/home/pi). Dai isso encurta os comandos. Você pode colocar tudo em outros diretórios, basta somente colocar o path correto nos comandos que virão a seguir.

Primeiramente, vamos baixar a imagem tools.dsk.zip do site do Nextor, nesse link. Alternativamente, daqui. Extraia o conteúdo desse arquivo em algum diretório. Eu usei o diretório /home/pi/tools. Digite o comando: openmsx -machine <span class="caps">CIEL</span>_Expert-Turbo -exta <span class="caps">DDX</span>_3.0 -extb nextor -diska /home/pi/tools -hda /home/pi/hd.dsk Você vai dar boot no Expert3 no drive A. Espere o Boot se completar. Agora basta rodar o FDISK, copiar os arquivos e ser feliz… No prompt da sua máquina MSX digite: A:\&#62; <span class="caps">BASIC</span> <span class="caps">CALL</span> <span class="caps">FDISK</span> Você vai entrar no particionador. Crie a partição que você quer. Eu selecionei:
  • 1. Sunrise IDE
  • 1. OPENMSX HARD DISK
  • 1. Size: 256M
  • A. Add onde 256M partition
  • W. Write particions to disk
  • Responda Yes às perguntas
Depois de criar as partições, reset o MSX (Pressione F10 e digite reset). O MSX vai rebootar. Após rebootar, quando o prompt estiver disponível, digite: A:\&#62; <span class="caps">COPY</span> A:NEXTOR.SYS C: A:\&#62; <span class="caps">COPY</span> A:COMMAND2.COM C: A:\&#62; <span class="caps">MKDIR</span> C:\TOOLS A:\&#62; <span class="caps">COPY</span> A:<strong>.</strong> C:\TOOLS\ Depois de copiado, saia do OpenMSX (F10, exit). Está tudo pronto!

Rodando o emulador com boot no HD

Para rodar o emulador bootando do HD basta não ter imagem no drive A. Ou então inverter o nextor com a DDX. Sem disco no drive A, digite: openmsx -machine <span class="caps">CIEL</span>_Expert-Turbo -exta <span class="caps">DDX</span>_3.0 -extb nextor -hda /home/pi/hd.dsk Você vai bootar sua expert 3 com Nextor em um HD. Aproveite!
Alexandre Monday 09 August 2021 at 4:21 pm | | retrocomputacao