29 de ago. de 2016

Preparando o cartão SD para usar na SD-Mapper

Esse é um passo-a-passo bem básico de configuração de um cartão SD para usar na SD-Mapper. A SD-Mapper é uma interface de armazenamento que usa (até dois) cartões SD/HC como suporte e conta com 512KB internos que podem ser usados como expansão de memória (Memory Mapper) ou MegaRAM. O projeto da SD-Mapper é do Fabio Belavenuto e a placa foi desenhada pelo Luciano Sturaro. O exemplar que eu adquiri foi fabricado pelo Luis Luca. Eu não fazia a menor ideia de como a interface funcionava, mas não é muito diferente do que uma IDE ou mesmo interface de disco. Na verdade é até mais fácil. Segui apenas as instruções do guia de instalação do Nextor e usei os mesmos arquivos (só que atualizados, claro) que já usava na IDE. Espero que ajude.

Ambiente necessário

  • PC ou notebook com leitor de cartões de memória SD/HC;
  • Microcomputador MSX de qualquer versão com um slot não-expandido disponível;
  • Interface SD-Mapper;
  • Cartão de memória SD/HC de qualquer tamanho (testei com cartões até 8GB).

Importante

Se o MSX NÃO possuir pelo menos 128K de mapper (interna ou externa), deixa a chave MR/MP da SD-Mapper na posição MP (mapper ativada).

1ª parte - Preparando o cartão no MSX

  • Insira o cartão SD em qualquer um dos slots da SD-Mapper e ligue o MSX. Observe se o cartão é reconhecido corretamente e no slot certo (no ex. abaixo foi reconhecido um cartão Verbatim no slot 1 da SD-Mapper):
SD Mapper/Megaram
Nextor driver
Versao 1.0.4
Copyright (c) 2014
Fabio Belavenuto
PCB por Luciano Sturaro
Licenced under
CERN OHL v1.1
http://ohwr.org/cernohl

Mapper ativada

Slot 1: SU04G - (39) Verbatim
Slot 2: Vazio










  • Espere cair no BASIC (ou vá lá), digite _FDISK e pressione <ENTER>.
MSX BASIC version 2.1
Copyright 1986 by Microsoft

Nextor BASIC version 2.01
Ok
_fdisk ↲

















color  auto   goto    list    run
  • Esse comando abre o utilitário de particionamento embutido no kernel do Nextor. Antes de selecionar a SD-Mapper anote o slot onde ela está instalada, pois será importante mais tarde (ex.: 3-1). Pressione “1” para continuar:
                         Nextor disk partitioning tool
--------------------------------------------------------------------------------

1. SDMapper Driver v1.0.4 on slot 3-1


ESC. Exit















--------------------------------------------------------------------------------
Select the device driver
  • Agora o utilitário mostra o cartão ou cartões instalado(s) na SD-Mapper. O número à frente do nome indica o slot em que o cartão está instalado. No exemplo abaixo o cartão reconhecido como SDV1 está instalado no slot "1". Selecione o cartão pressionando o número correspondente ao slot.
                         Nextor disk partitioning tool
--------------------------------------------------------------------------------

SDMapper Driver on slot 3-1


1. SU04G


ESC. Exit











--------------------------------------------------------------------------------
Select the device driver
Dependendo do cartão, algumas vezes o utilitário trava nessa tela sem exibir o cartão instalado. Isso aconteceu nos meus testes com cartões SDHC comprovadamente originais de marcas conhecidas (Sandisk e Kingston), então não é questão de marca. Não tive o mesmo problema com cartões SD comuns (não-HC). Nesse caso, a minha sugestão é utilizar um cartão não-HC menor (até 2GB) e depois, com esse cartão já preparado, preparar o cartão maior.
A parte interessante aqui, é que não é preciso fazer nada no cartão menor, pode-se apenas criar uma única partição nele usando todo o espaço, mesmo no Windows. O importante é que seja uma partição FAT16 (ou FAT no Windows).
  • Na próxima tela é exibida a LUN do cartão. Normalmente só existe uma com a capacidade total do cartão, então basta pressionar "1" para continuar.
                         Nextor disk partitioning tool
--------------------------------------------------------------------------------

SDMapper Driver on slot 3-1
SU04G (Id = 2)


1. Size: 3781.5M


ESC. Go back to device selection screeen











--------------------------------------------------------------------------------
Select the logical unit
Atenção! LUN não é partição e isso não indica que o cartão tem apenas uma partição.
  • A próxima tela mostra quantas partições foram encontradas (no ex. 1 found - 1 partição encontrada).
                         Nextor disk partitioning tool
--------------------------------------------------------------------------------

SDMapper Driver on slot 3-1
SU04G (Id = 2)
Logical unit 1, size: 3781.5M

Changes are not committed until W is pressed.

S. Show partitions (1 found)
D. Delete all partitions

T. Test device access









--------------------------------------------------------------------------------
Select an option or press ESC to return
  • A opção "S" exibe informações sobre as partições existentes...
                         Nextor disk partitioning tool
--------------------------------------------------------------------------------

                         One partition found on device

1: FAT32, 3780.5M
















--------------------------------------------------------------------------------
                              Press ESC to return
  • ... e a opção "T" permite testar o acesso ao cartão:
                         Nextor disk partitioning tool
--------------------------------------------------------------------------------

SDMapper Driver on slot 3-1
SU04G (Id = 2)
Logical unit 1, size: 3781.5M



Now reading device sector 000...












--------------------------------------------------------------------------------
Press any key to stop
  • Selecione a opção "D" para excluir todas as partições do cartão e "Y" para confirmar a ação.
                         Nextor disk partitioning tool
--------------------------------------------------------------------------------

SDMapper Driver on slot 3-1
SU04G (Id = 2)
Logical unit 1, size: 3781.5M

Changes are not committed until W is pressed.

S. Show partitions (1 found)
D. Delete all partitions

T. Test device access









--------------------------------------------------------------------------------
Discard all existing partitions? (y/n)
  • A tela seguinte informa o espaço não particionado (no ex. 3781.5M) e dá a opção de criar uma partição usando todo o espaço disponível (até 4GB) ou com tamanho personalizado. Não há nada que impeça a criação de uma única partição com o espaço disponível (mais uma vez, até 4GB - limite da FAT16), mas deixo a sugestão de criar pelo menos duas partições como mostro a seguir.
                         Nextor disk partitioning tool
--------------------------------------------------------------------------------

SDMapper Driver on slot 3-1
SU04G (Id = 2)
Logical unit 1, size: 3781.5M
Unpartitionned space available: 3781.5M

Changes are not committed until W is pressed.

(No partitions found or defined)
A. Add one 3781.5M partition
P. Add partition...

T. Test device access







--------------------------------------------------------------------------------
Select an option or press ESC to return
  • Pressionando a opção "P", a tela seguinte solicita o tamanho da partição a ser criada. É possível informar o tamanho em MB apenas digitando o número ou em KB adicionando a unidade "K". Nesse exemplo vou criar uma primeira partição com 3750MB (explico a seguir), então digito "3750" e pressiono <ENTER>.
                         Nextor disk partitioning tool
--------------------------------------------------------------------------------

SDMapper Driver on slot 3-1
SU04G (Id = 2)
Logical unit 1, size: 3781.5M

Add new partition

Enter partition size in MB (1-3781)
or partition size in KB followed by "K" (100-32767): 3750 ↲











--------------------------------------------------------------------------------
Enter size or press ENTER to cancel
  • O utilitário volta para a tela de configuração de partições. Observe que deixei 31.5MB disponíveis. Isso foi proposital, pois vou criar uma partição exclusiva para o MSX-DOS1 (que só aceita partições com até 32MB). Para isso basta selecionar a opção "A" que cria uma partição usando o restante de espaço disponível.
                         Nextor disk partitioning tool
--------------------------------------------------------------------------------

SDMapper Driver on slot 3-1
SU04G (Id = 2)
Logical unit 1, size: 3781.5M
Unpartitionned space available: 31.5M

Changes are not committed until W is pressed.

S. Show partitions (1 defined)
D. Delete all partitions
A. Add one 31.5M partition
P. Add partition...
U. Undo add 3750M partition

W. Write partitions to disk

T. Test device access



--------------------------------------------------------------------------------
Select an option or press ESC to return
  • Finalmente a tela de configuração de partições mostrará que não há mais espaço não particionado disponível.
                         Nextor disk partitioning tool
--------------------------------------------------------------------------------

SDMapper Driver on slot 3-1
SU04G (Id = 2)
Logical unit 1, size: 3781.5M
Unpartitionned space available: 0K

Changes are not committed until W is pressed.

S. Show partitions (2 defined)
D. Delete all partitions
U. Undo add 3781.5M partition

W. Write partitions to disk

T. Test device access





--------------------------------------------------------------------------------
Select an option or press ESC to return
  • Selecione a opção "S" para conferir as partições criadas. Observe que o utilitário seleciona automaticamente o tipo de partição mais adequado ao tamanho. Partições com até 32MB são criadas como FAT12 (ideais para o DOS1) e partições maiores que 32MB até 4GB são criadas como FAT16.
                         Nextor disk partitioning tool
--------------------------------------------------------------------------------

                         Two new partitions defined

1: FAT16, 3750M
2: FAT12, 31.5M















--------------------------------------------------------------------------------
                              Press ESC to return
  • Por fim, selecione a opção "W" para gravar as mudanças no cartão e confirme com "Y".
                         Nextor disk partitioning tool
--------------------------------------------------------------------------------

SDMapper Driver on slot 3-1
SU04G (Id = 2)
Logical unit 1, size: 3781.5M



Create 2 primary partitions on device

THIS WILL DESTROY ALL DATA ON THE DEVICE!!
This action can't be cancelled and can't be undone

Are you sure? (y/n) y







--------------------------------------------------------------------------------
Select an option or press ESC to return
  • Aguarde o processo de criação das partições,...
                         Nextor disk partitioning tool
--------------------------------------------------------------------------------

SDMapper Driver on slot 3-1
SU04G (Id = 2)
Logical unit 1, size: 3781.5M



                         Creating partition 3 of 3 ...












--------------------------------------------------------------------------------
Please wait...
  • ... essa ação já formata as partições, então pode demorar um pouco (mas não muito, uns 30 segundos num MSX1 padrão).
                         Nextor disk partitioning tool
--------------------------------------------------------------------------------

SDMapper Driver on slot 3-1
SU04G (Id = 2)
Logical unit 1, size: 3781.5M



                         Creating partition 3 of 3 ...

                                    Done!



                      If this device had drives mapped to,
                           please reset the computer.





--------------------------------------------------------------------------------
Press any key to return...
  • Ao final do processo, é necessário reiniciar o MSX, mas NÃO REINICIE! Pressione <ESC> até sair do utilitário e voltar ao BASIC e DESLIGUE o MSX e leve o cartão SD para o PC.

2ª parte - Copiando os arquivos para o cartão SD

Agora vem a parte mais fácil e mais chata (porque não é feita no MSX rs).
  • Baixe e descompacte o conteúdo do arquivo SDMapper-DOS.zip (nos arquivos do grupo MSX BRASIL OFICIAL do Facebook - depois hospedo em outro lugar se for o caso) na raiz do cartão SD.
  • No início do artigo eu disse para anotar o slot onde a SD-Mapper estava instalada. No caso do meu MSX ela fica no slot 3-1, como pode ser observado nos exemplos acima. Se você não anotou, vai ter que voltar ao MSX e executar o utilitário DEVINFO.COM (o MSX-DOS já funciona nesse ponto).
  • Edite o arquivo AUTOEXEC.BAT que está na raiz do cartão e adicione a linha abaixo para corresponder à sua configuração:
mapdrv letra: particao slot_da_sdmapper slot_do_msx
Por exemplo, para montar a "2ª partição" de um cartão SD instalado no "slot 1" de uma SD-Mapper instalada no "slot 3-1" como "drive B:":
mapdrv b: 2 1 3-1
Ou a "1ª partição" de um cartão SD instalado no "slot 2" de uma SD-Mapper instalada no "slot 1-1" do MSX como drive D:
mapdrv d: 1 2 1-1
  • Adicione tantas linhas quanto seja necessário para montar as partições que você criou.
  • No final do arquivo existe uma linha comentada. Alguns programas checam a versão do DOS2 ao serem executados e não funcionam porque o Nextor se identifica pela sua prórpia versão (2.1, nesse caso). Para contornar isso, descomente essa linha (remova o rem do início):
nsysver 2.32
  • Salve o arquivo AUTOEXEC.BAT.
  • Você pode criar pastas para os jogos e programas (DSK, ROM, CAS, etc.) e copiá-los para lá.

3ª parte - Divirta-se

  • Volte o cartão SD para o MSX.
  • Execute os jogos usando o SofaRun digitando SR no prompt. Não testei com arquivos DSK, então não faço ideia se funcionam.

19 comentários:

  1. Obrigado pelo excelente artigo, agora vou poder usufruir da minha SdMapper, pois quem está afastado algum tempo da comunidade tem certas dificuldades e faltam artigos como este.

    ResponderExcluir
  2. Olá. Como faço para adquirir essa sd mapper? Abraço.

    ResponderExcluir
    Respostas
    1. Entra em contato com o Luis Luca no email: fzanoto @ yahoo . com

      Excluir
  3. Amigo, tu me desculpes pegar teu tempo com isso, mas recentemente adquiri um Yamaha CX5M e um cartucho desses (o projeto do Fábio mesmo) sem o SD e estou com algumas dúvidas...

    Estou lendo teu passo-a-passo e o processo não parece nem um pouco difícil. Minha maior dúvida, no entanto, é em relação às chaves do cartucho e o meu CX5M: estou absorvendo as informações ligadas ao mapper e megaram, mas ainda não entendi bem qual das chaves devo ligar e qual devo desligar para usar em meu CX5M, já que a memória dele é diferente dos demais MSX. Inclusive ele veio com cartuchos de RAM da época mesmo (um DDX de 256 e um Cygnus RAM 001 que não diz de quanto é) e um expander de slot, mas pelo que entendi não serão necessários com esse cartucho do Fábio, confere? Ou há algum uso útil combinando esse cartucho e os de RAM antigos?

    Agradeço desde já a ajuda! Obrigado!

    ResponderExcluir
    Respostas
    1. Qual a versão exata, apenas CX5M? Tem alguma modificação interna?

      O maior problema é que ele só tem 32Kb de RAM e apenas um slot padrão MSX. Se possuísse dois slots, você poderia conectar a SDMapper em modo Mapper e a Megaram DDX256 no outro. Não dá pra usar a SDMapper com o expansor ligado no expansor de slots que você tem, não dá pra expandir um slot expandido. E sem o expansor da SDMapper, você fica apenas com o leitor de cartões, sem acesso à Mapper ou Megaram internas.

      As opções que você tem são:
      - Expandir a RAM usando algum slot interno (que não o slot 1) para pelo menos 128Kb e usar a SDMapper em modo Megaram.
      - Montar um adaptador que converta o slot 2 (edge macho) para o padrão MSX (edge fêmea) pra usar a SDMapper e a Megaram DDX256 ao mesmo tempo.

      Excluir
    2. Leonardo, muito obrigado pelo retorno!

      O meu CX5M é o U, versão americana, aquele que não usa a fonte "tijolão".

      Eu procurei uma resposta também no grupo MSX Brasil do Facebook (inclusive o mencionei por lá) e me foi apresentada uma solução que, analisando agora, era até meio óbvia: SD-Mapper no slot 1 e expansor de slots com a Megaram DDX no slot 2. Colocando o SD-Mapper na chave mapper, reconheceu na hora sem problemas e pude seguir teu tutorial até a parte de chegar no PC! Já fiz a devida configuração e montagem das pastas no PC agora e logo mais estarei testando pra ver se consigo carregar os softwares e jogos a partir do SD. Tomara que dê certo, pois os cartuchos originais da Yamaha são meio caros e tem coisa boa e necessária pra quem faz música nos que não vieram junto do computador (sequenciador, por exemplo)!

      Valeu, Leonardo!

      Excluir
  4. Bom, testes devidamente feitos, segui o tutorial da parte do PC e de fato algumas coisas não rodam. Consegui rodar alguns jogos direto do SDMapper, mas o principal, os programas da Yamaha, não estão rodando e recebo uma mensagem dizendo que devo inserir o arquivo COMMAND2.COM (ROM?) no que seria o SD (drive A). Seria pelo problema da expansão e afins? Pelo menos uma das roms não rodou alegando falta de memória de fato, mas também vi mensagem de erro dizendo que não conseguiu acessar o SCC pois talvez tivesse uma Megaram "piggybacked" no MSX ou algo assim. :(

    ResponderExcluir
    Respostas
    1. Você está usando o SofaRun? A versão mais recente (2.7) tem um bug e retorna esse erro com o COMMAND2.COM, tenta com a versão 2.5.

      A segunda pergunta não entendi bem, onde aconteceu o erro de falta de memória? Com qual ROM? Pelo que eu entendi você tem um adaptador para o slot 2, ele já tem expansor embutido?

      Excluir
    2. Obrigado mesmo pela ajuda e paciência! Então, eu usei os arquivos que estão no MSX Brasil, os mencionados nesse tutorial. Executei as roms através do comando execrom (nome da rom). Alguns jogos rodaram bem (Circus Charlie, Adventure Island), mas os demais jogos e softwares apresentaram os erros mencionados.

      No caso, coloquei o SDMapper no slot 1 (o normal de cartuchos, topo do computador) e as chaves ativadas pra direita (o meu cartucho veio sem o case, só a placa, tive de adaptar no de outro cartucho velho), o que mostra "mapper ativada" no início do Basic. No slot 2, traseiro, coloquei o expansor de slots caseiro mencionado nos comentários anteriores, e nele inseri a Megaram DDX 256. Esse é o expansor:
      http://i.imgur.com/liyOjH4.jpg
      (segundo o primeiro dono, foi o amigo engenheiro dele que fabricou na década de 80 e ele usava com a Megaram, quando alguma coisa precisava de mais memória, ele não recorda bem o que, exatamente)

      Pros primeiros passos, da preparação do SD, tudo ocorreu bem. Os demais erros além do COMMAND2 apareceram em diferentes .ROM que testei no SDMapper. Por exemplo, tentando rodar Konami's Synthesizer e um "Music Editor", apareceram os erros de falta de memória que comentei e o de não conseguir acessar o SCC (e a questão da Megaram estar "piggybacked"). Já os softwares YRM da Yamaha, que deveriam rodar bem pois são feitos para o CX5M e nem necessitariam de mais memória, apresentaram o erro do COMMAND2.

      Até te peço desculpas pelo pedido de ajuda, mas é que faz muito tempo desde que mexi em um MSX pela última vez, e naquela época nem tinha SDMapper! O CX5M foi um sonho de longa data, então quero ver se consigo aproveitá-lo bem nos meus projetos, usando os softwares da Yamaha, pelo menos (já que as fitas são raras, restam as .ROM). Valeu!

      Excluir
    3. Tem como você tirar uma foto da parte de baixo desse expansor?

      Excluir
    4. Claro, sem problemas. Segue uma outra foto da parte de cima (com a Megaram inserida em um dos slots, conforme tentei fazer o uso) e a parte de baixo! Valeu mesmo.

      Cima: http://i.imgur.com/FfIcraD.jpg
      Baixo: http://i.imgur.com/pqlpkzm.jpg

      Excluir
    5. Pela foto da parte de baixo, dá pra ver que não é um expansor mesmo, mas um adaptador (os três slots estão ligados em paralelo). Eu não sei o motivo dos erros, porque não sei a quais ROMs estão associados. Se você não tem um cartucho com SCC, uma ROM que o exija vai dar problema (ou sequer executar).

      Excluir
    6. Obrigado pelo toque, talvez "expansor" não fosse o termo correto mesmo então! Mas, mesmo sendo um adaptador, deveria funcionar ok com a Megaram, correto? Até porque se o dono original usava...

      Sobre as ROMs, de fato, algumas não iriam rodar e o fiz por teste apenas, mas as da Yamaha deveriam com certeza por serem feitas para o CX sem sequer necessidade de mais memória... Isso que fiquei boiando. No caso dessas, o erro mostrado é o do COMMAND2.com. Vou ver se tento o SofaRun, quem sabe funciona! Esse erro do COMMAND2 poderia estar relacionado a alguma configuração errada naquele arquivo .bat que era pra configurar ou nada a ver? Acredito que fiz corretamente, mas melhor perguntar por via das dúvidas! Muito obrigado mesmo.

      Excluir
    7. Quanto à Megaram, deveria funcionar sim. Tem um utilitário chamado testram que você pode usar para identificar a quantidade de memória instalada no sistema (http://www.cybernostra.com/adrian-page/182-utilities?showall=&start=16). Tenta fazer o teste com esse utilitário e vê se ele irá mostrar os 512Kb de Mapper e os 256Kb da Megaram.

      As ROMs da Yamaha talvez exijam o módulo que vai na parte de baixo do micro, você tem esse módulo? (eu realmente não faço ideia se exige ou não, pois conheço muito pouco sobre os micros da Yamaha)

      Mas é bom deixar claro que a Megaram só é necessária se você for rodar alguma ROM com mais de 32Kb.

      Excluir
    8. Desculpe a demora! Valeu pelo utilitário, vou tentar com certeza.

      Meu CX5M é completinho, tem o módulo SFG-05 (a versão atualizada, que aceita controladores Midi e tal), então a princípio deveria funcionar.

      Eu ainda não tive tempo de testar o SofaRun, mas vou fazer mais uns testes pra ver o que consigo... peguei o CX5M pra utilizar os softwares e fazer música, então pra mim vai acabar sendo bastante necessário isso. Nem me importo tanto com os games pois tem "n" maneiras de jogá-los. Inclusive o Jim Atwood, que é um músico e colecionador de teclados e sintetizadores, tem um post no blog dele sobre rodar um software sequenciador e nos comentários alguém recomenda aquele Mega Flash Rom lá de fora pra rodar os softwares no CX, então é sinal que deveria funcionar esse tipo de coisa. Bem, vou continuar tentando! Muito obrigado mesmo por toda a ajuda!

      Excluir
    9. Talvez o problema seja alguma proteção contra cópia nos softwares da Yamaha. Alguns programas em cartucho usavam uma artimanha para garantir que não estavam rodando em RAM, eles tentavam gravar em algum endereço de memória que deveria ser ROM e em caso positivo travavam ou reiniciavam o MSX impedindo o programa de rodar.

      Excluir
  5. Tenho mesmo problema (msx pedindo a versão correta do command2.com) com alguns arquivos ao tentar utilizar alguns jogos .rom na SDMapper, mas descobri que os mesmos jogos em versão .dsk funcionam perfeitamente. La Abadia del Crimen é um exemplo dos que não funcionam em formato .rom com o Sofarun e nem com o Execrom.

    ResponderExcluir
    Respostas
    1. Será que o dsk já não possui o arquivo COMMAND necessário (seja 1.x ou 2.x) e por isso não dá o erro? Estou completamente sem tempo no momento para testar isso.

      Excluir
  6. Para ser mais preciso, apenas no Sofarun aparece a mensagem pedindo o uma versão correta do command2.com quando tento usar alguns jogos no formato .rom. Quando tento com o Execrom, o MSX acaba reiniciando ou indo para o basic.

    ResponderExcluir

Todo comentário é moderado para evitar spam e trolls, sendo assim pode demorar um pouco para aparecer. Seja educado.