Expert 3 com Nextor no openMSX em Raspberry pi

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.romddx_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):

cd /usr/share/openmsx/extensions
cp ide.xml nextor.xml
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 ATA-IDE</name>
<manufacturer>Nextor</manufacturer>
<code/>
<release_year>1995</release_year>
<description>Nextor ATA-IDE 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>IDEHD</type>
<filename>hd.dsk</filename>
<size>256</size>
</master>
<slave>
<type>IDECDROM</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:

openmsx -machine CIEL_Expert-Turbo -exta DDX_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. Extraia o conteúdo desse arquivo em algum diretório. Eu usei o diretório /home/pi/tools. Digite o comando:

openmsx -machine CIEL_Expert-Turbo -exta DDX_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:

BASIC
CALL FDISK

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:

COPY A:NEXTOR.SYS C:
COPY A:COMMAND2.COM C:
MKDIR C:\TOOLS
COPY A:. 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 CIEL_Expert-Turbo -exta DDX_3.0 -extb nextor -hda /home/pi/hd.dsk

Você vai bootar sua expert 3 com Nextor em um HD. Aproveite!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *