Análise da Interface ATA IDE – Tecnobytes

O mercado nacional de hardware para MSX está bastante movimentado nos últimos 3 anos, sob minha percepção, pois são construídos pelos produtores independentes, muitas novidades bem interessantes para os saudosistas, hobbistas e entusiastas, como esse que vos escreve.

A coisa está tão boa para o MSX aqui no Brasil, que no momento em que escrevo esse review, estou me deliciando com os mais de 20Mb de arquivos MOD, que baixei a noite passada e que o meu Panasonic A1WX MSX 2+ ficou um bom tempo descompactando, onde os reproduzo agora através da minha OPL4 Shockwave, uma placa Moonsound-like e que finalmente podemos adquirir aqui no Brasil graças a produção de Ricardo Oazem da Tecnobytes.

E por falar em Tecnobytes……

….para quem não se lembra, ou sabe, é uma produtora de hardware para MSX que vem desenvolvendo e comercializando coisas desde a década de 80/90 e que produziu naquela época uma placa compatível com as Panasonic FM-Pac, a famosa FM-Stereo.

E desde aquela época já percebemos o diferencial nas produções da Tecnobytes, que desenvolve produtos completamente compatíveis com os lançados no mercado internacional porém sempre com uma inovação extra, no caso da FM-Stereo, a característica Stereo dessa placa e sua qualidade sonora superior a FM-PAC original.

Bom, se inovação é a praia dos produtos da Tecnobytes, é bom sempre esperar algo diferenciado vindo deles e no caso da interface IDE o maior benefício, para mim, foi  a possibilidade de colocar o MSX no mesmo patamar de armazenamento existente no mundo dos PC’s,  considerando as devidas proporções, o que no final me tira o peso psicológico de que não estou vivendo e sim sobrevivendo no mundo MSX.

E por falar em sobrevivência….

…nós sobrevivemos……

….durante anos e anos com nossos disquetes e que mais tarde se transformaram em imagens .dsk para emuladores, como os fMSX, OpenMSX e BlueMSX e graças aos BBS e a internet, esses programas também “sobreviveram” até os dias atuais.

Ganhamos tempo suficiente para conseguir desenvolver tecnologia e adequar os nossos MSX aos padrões mais atuais de armazenamento de dados, como as interfaces IDE.

Tecnobytes ATA IDE Interface

Interface IDE não é algo novo no mundo MSX, pois já existe desde o final dos anos 90, através do produtor internacional de hardware para MSX, a Sunrise. No Brasil uma interface similar já foi produzida e comercializada pela ACVS, que é um outro player que está, digamos, um pouco inativo no cenário MSX nos últimos anos e por último temos a Tecnobytes, que vem produzindo hardware de forma mais constante, bem como produzindo algumas peças de hardware em edição limitada, como o caso das OPL4 Shockwave e V9990 PowerGraph.

Sobre a IDE da Tecnobytes anotei algumas características, após alguns meses de uso, descritas abaixo:

  1. Possibilidade de utilização de dispositivos baseados em memória flash, ou Compact Flash.
  2. Pelo fato de ser uma interface Sunrise-like, tem compatibilidade total com os softwares produzidos para a interface da Sunrise, que são muitos, bem como podemos aproveitar qualquer especificação de funções da BIOS dessas interfaces, disponível na internet, para escrever softwares utilitários para essa interface.
  3. Possibilidade de atualização de BIOS, como a nova 2.50 (beta) que está saindo do forno do Laboratório da Tecnobytes, segundo informações do próprio Ricardo Oazem através da lista MSXBR-L.
    .
MSX 2+ Panasonic A1WX + Interface ATA IDE Tecnobytes.

Limites das IDE’s no MSX.

WARNING
Apesar de possível o uso de dispositivos com qualquer capacidade nas interfaces IDE para MSX (Sunrise-like), existem limitações quanto ao número de partições que essas interfaces podem endereçar no MSX, que chega ao valor máximo de 31 partições.

O sistema operacional do MSX (MSXDOS) também tem limitação de trabalhar com FAT12 que por sua vez pode endereçar até 32Mb, ou seja, poderíamos endereçar o máximo de 31 partições com 32Mb, totalizando aproximadamente 1Gb, ou seja, dispositivos com 2Gb, 4Gb, ou 6Gb não seriam aproveitados em sua totalidade.

Porém existe a possibilidade de utilização do MSXDOS2, que com o devido patch aplicado, poderá suportar partições com FAT16, aumentando assim a capacidade de endereçamento do sistema operacional, que passará suportar partições de até 2Gb. Infelizmente, esse patch é um software residente que deve ser carregado após o boot do sistema operacional, ou seja, você deverá ter pelo menos uma partição com FAT12 configurada em seu disco, para a carga inicial do sistema operacional, podendo deixar as demais com FAT16, por exemplo, possibilitando assim o uso completo de dispositivos acima de 2Gb até aproximadamente 60Gb.

Acredito que a versão 2.44 do MSXDOS2, liberada pelo pessoal da TNI conforme esse anuncio, suporte FAT16 nativamente sem a necessidade de softwares residentes, porém ainda não testei.

Apesar de existir a possibilidade de utilização da IDE com o MSXDOS, na prática sua utilização fica limitada pela falta de capacidade de manipulação de sub-diretórios por esse sistema operacional e também pelo fato do número máximo de arquivos possíveis por diretório no MSXDOS ser 512, e como o MSXDOS suporta 1 diretório apenas, logo temos um total de 512 arquivos possíveis em um dispositivo conectado à controladora IDE.

Mas quem em sã consciência irá utilizar um dispositivo de 1Gb, 2Gb, 4Gb ou 8Gb para armazenar 512 arquivos apenas ???

TIP
Existe a possibilidade de se burlar essa limitação do número de diretórios no MSXDOS e existe alguns comandos externos, cd.com, rd.com, md.com, que foram desenvolvidos e explicados em um artigo da Revista CPU na metade da década de 90, e que adicionam essa capacidade de manipulação de sub-diretórios no MSXDOS.

Entretanto, como esses comandos não são comandos built-in do sistema operacional, sua utilização requer malabarismos que praticamente impossibilitam o seu uso nesse sistema operacional, por isso ao utilizar uma IDE, prefira o MSXDOS2, que já possui todos os requisitos para manipulação de dispositivos de grande capacidade que uma interface IDE proporciona ao MSX.

Testes de compatibilidade

Realizei testes de compatibilidade com diversos dispositivos IDE, utilizando a interface ATA IDE Tecnobytes e o resultado dos testes estão descritos abaixo.

HARDWARE HOTFIX !!! IMPORTANTE !!!!
No dia 02/02/2011 a Tecnobytes, através de Ricardo Oazem, liberou na MSXBR-L um HotFix que corrige um problema de detecção de alguns dispositivos IDE, principalmente HD‘s.
Para as interfaces ATA IDE Tecnobytes construídas antes dessa data, o HotFix deve ser aplicado caso o usuário dessas interfaces estejam enfrentando problemas na detecção de dispositivos IDE.
No anúncio, o fabricante informou que caso o usuário não se sinta seguro de fazer o HotFix, basta enviar a interface a ele que a alteração será realizada.
O custo do capacitor cerâmico utilizado no HotFix, foi de R$0,10 (10 centavos) e o tempo que levei para aplicar esse Patch, foi de 1 minuto, ou seja, é muito simples.

Bug fix para o caso em que ocorre a mensagem WARNING! DATA CORRUPTION DETECTED! ao dar boot pela IDE. Esta correção consiste de um simples capacitor cerâmico de 1nf (102) ligado entre o pino 25 da IDE e o GND (Terra). Imagem cedida por Ricardo Oazem (Tecnobytes).

WARNING2
Apesar do MSX nem sonhar com transferências disponíveis a dispositivos IDE UDMA (Ultra DMA), que chegam a no mínimo 33mb/s, todos os testes realizados com dispositivos que utilizam cabo IDE (Hard Disks, CDROM‘s, etc, …), antes do HotFix da Interface, só funcionaram quando utilizado um cabo UDMA (80 vias), sendo que quando testados com um cabo de 40 vias, esses dispositivos sequer foram reconhecidos.
Após o HotFix da Interface, os dispositivos passaram a funcionar com cabos IDE de 40 vias.

Teste de compatibilidade com Hard Disks.

Dispositivos HD’s são um dos principais motivos da existência do padrão IDE e também por muito tempo foi o sonho de consumo dos usuários de plataformas antigas da década de 80 e apesar de existir hoje dispositivos mais modernos e compactos, há ainda uma grande procura, no mercado, por  Hard Disks IDE. Por esse motivo, realizei alguns testes com alguns HD‘s disponíveis na minha bancada de testes.

São eles:

  1. Quantum Fireball 500Mb.
  2. Quantum Fireball lct 20.4Gb.
  3. Western Digital 160Gb SATA com adaptadores SATA->IDE.

.

Antes do HotFix da interface, apenas o Fireball 500Mb havia sido reconhecido, formatado e utilizado na interface IDE Tecnobytes e embora o Western Digital 160Gb SATA tenha sido apenas um teste despretensioso onde eu já esperava o seu não funcionamento, pois  o mesmo é instável até mesmo quando utilizado com adaptadores SATA->IDE no PC, a surpresa ficou quanto ao não reconhecimento e funcionamento do Quantum Fireball lct 20.4Gb, entretanto esse mesmo dispositivo funcionou após o HotFix disponibilizado pela Tecnobytes, confome descrito anteriormente.

Western Digital SATA + Adaptadores SATA-IDE (Hummmm....não no MSX).

WARNING3
Em teoria as IDE Sunrise-Like suportam qualquer Hard Disk, até mesmo os de 160Gb, porém na prática, conforme explicado anteriormente, essas interfaces só conseguem endereçar aproximadamente 60Gb desse dispositivo, devido as limitações do número de partições dessas interfaces, aliado ao limite de tamanho das partições FAT(12/16) do sistema operacional MSXDOS/MSXDOS2.

Teste de compatibilidade com CDROM’s.

Apesar de existir dispositivos de CDROM compatíveis com o padrão IDE e todos esses, em teoria, ter compatibilidade garantida com a IDE da Tecnobytes, resolvi fazer alguns testes com 2 modelos que estavam disponíveis aqui em minha bancada de testes.

São eles:

  1. LG RW 16x~40x.
  2. CDROM Genérico 56X (Xing-Ling).

.

WARNING4
Antes do HotFix da interface, esses dois dispositivos foram reconhecidos apenas quando utilizados com um cabo IDE 80 vias (UDMA) e após o HotFix, os mesmos funcionaram com cabos IDE 40 vias.

Fiz alguns testes, utilizando o pacote do MSXDOS2 e utilitários que está disponível no tutorial de instalação e configuração para IDE‘s Sunrise-Like no site da MSX Pró e após executar o comando IDECDEX.COM, o CDROM ficou mapeado como drive C: em meu MSX e a partir daí consegui navegar em diversos CD‘s de dados, validando assim o funcionamento desses dispositivos de CDROM na IDE Tecnobytes.

Teste de compatibilidade com DiskOnChip.

Um dispositivo bastante incomum, mas que testei também na interface IDE da Tecnobytes, foi o DiskOnChip IDE.

Para quem não conhece, o DiskOnChip é uma tecnologia de Flash Disks desenvolvida pela empresa Israelense M-Systems, conhecida por ser a pioneira no desenvolvimento da tecnologia SSD e que no inicio dos anos 2000 foi adquirida pela SanDisk, empresa líder em tecnologia de armazenamento em memórias Flash.

Existem diversos tipos de DiskOnChip, que vão desde chips que podem ser integrados a dispositivos embarcados, até DiskOnChip já integrados a uma interface IDE, podendo ser conectados a PC‘s comuns, mas que geralmente são utilizados em dispositivos embarcados com arquitetura de PC comum, como por exemplo placas PC/104 e SBC (Single Board Computer).

Fiz um teste utilizando o meu DiskOnChip de 256Mb com a interface IDE Tecnobytes e a mesma não reconheceu esse dispositivo. Não fiz nenhuma pesquisa técnica sobre as capacidades da interface IDE presente no DiskOnChip M-Systems que possuo, em busca de algum requisito mínimo desse dispositivo e também  não consultei os limites da Interface IDE da Tecnobytes em busca alguma incompatibilidade entre a mesma e dispositivos desse tipo.

Caso a IDE Tecnobytes conseguisse reconhecer esse dispositivo, existiria um outro impecilho para seu uso no MSX, uma vez que DiskOnChip utilizam um FileSystem específico denominado TrueFFS, cuja implementação da camada gerenciadora de FileSystem do sistema operacional hospedeiro deve estar disponível para que se tenha acesso a dispositivos DiskOnChip, o que já acontece nos Sistemas Operacionais, Linux, Windows e todos os BSD‘s existentes.

Diversos DiskOnChip's

Teste de compatibilidade com Compact Flash.

Eu me aprofundei nos testes da IDE com dispositivos Compact Flash e cheguei a conclusão que , além de mais confiáveis e rápidos, os CF’s no MSX terão menos problemas de reconhecimento pela IDE no MSX do que qualquer outro dispositivo.

Quando iniciei minha bateria de testes com dispositivos Compact Flash na IDE Tecnobytes em meus MSX, fiquei receoso de que algumas marcas pudessem não funcionar devido alguma limitação tanto por parte da IDE quanto por parte do  Compact Flash, porém após fazer um estudo para escrever a segunda parte do Dossiê Storage Devices – Compact Flash, percebi que os Compact Flash, principalmente os mais modernos, são dispositivos extremamente inteligentes e que suportam diversos modos de operação, tanto como dispositivos USB ou IDE, suportando modos de transferência de dados mais rápidos UDMA ou mais lentos PIO, …… e independente de um Compact Flash ter suporte a UDMA e o MSX nem sonhar com uma taxa de transferência próxima  de um dispositivo UDMA (mínimo de 33Mb/s), os Compact Flash, devem suportar modos que possibilitem o seu acesso por dispositivos mais antigos, segundo as especificações atuais da Compact Flash Association, ou seja, por enquanto teoricamente, todo e qualquer Compact Flash que você adquirir, deverá funcionar em sua interface IDE.

Detalhes internos da Interface ATA IDE Tecnobytes (Imagem cedida por Ricardo Oazem)

Segue a lista de dispositivos Compact Flash que utilizei e testei com minha interface ATA IDE Tecnobytes:

  1. Transcend 4Gb UDMA;
  2. Dane-Elec 8Gb;
  3. Dane-Elec 2Gb;
  4. Memory Technology Company 256Mb;

.

De todos, o melhor que achei foi o Transcend 4Gb UDMA, pois me pareceu mais veloz do que os demais. Não fiz nenhum benchmark entre os Compact Flash, tarefa que deixarei para a segunda parte desse review, então a “medida” foi apenas baseada na percepção “visual“.

O Dane-Elec de 8Gb é o que está rodando oficialmente em meu micro, devido a seu tamanho de 8Gb.

Passeando pela Santa Efigênia em São Paulo, encontrei um SanDisk de 32Gb UDMA que deve ser uma obra prima, pois são os inventores do Compact Flash. Devo admitir que “formigou” a mão para comprar….

Segue abaixo outros dispositivos de Compact Flash que obtive feedback por parte de usuários de IDE (Tecnobytes, ACVS, Sunrise) de MSX e que me reportaram funcionar bem.

  1. SanDisk Exteme III 2Gb;
  2. Kingston 4Gb;
  3. Kingston 1Gb;

.

Compact Flash testados 100% compatíveis.

Para mim essa questão da compatibilidade está desmistificada e acredito que todas as marcas atuais funcionem bem com a Interface ATA IDE da Tecnobytes e talvez com as demais baseadas em Sunrise, porém fique atento ao adaptador de Compact Flash.

A maioria dos adaptadores de Compact Flash atuais tem suporte a DMA,  que a grosso modo é a presença de alguns pinos que interligam a IDE e o PCMCIA do Compact Flash possibilitando a transferência de dados via DMA, que é bem mais rápida em hosts que suportam DMA.

Infelizmente suporte a DMA não é a realidade para interfaces conectadas aos slots de expansão no MSX, entretanto percebi que todos os  adaptadores de Compact Flash que tem suporte a DMA tem uma qualidade melhor e funcionam 100% com a interface ATA IDE Tecnobytes, quando se está utilizando dispositivos Compact Flash com suporte a UDMA, como o Transcend 4Gb UDMA.

Outros adaptadores CF->IDE sem suporte a DMA, causaram instabilidade no I/O, truncando os arquivos, quando utilizados com Compact Flash UDMA (Transcend 4Gb UDMA).

TIP
A ausência do suporte a DMA no adaptador não influencia em nada o uso de dispositivos Compact Flash não UDMA no MSX, porém ao utilizar um Compact Flash UDMA com adaptadores sem suporte a DMA, percebi que foi o diferencial para o inicio de falhas nas operações de I/O.
Acredito estar relacionado apenas a qualidade superior dos adaptadores com suporte a DMA frente aos que não tem suporte a DMA.
Lembrando que, caso você queira utilizar um Compact Flash UDMA em hosts que suportam UDMA (PC, etc ….), o primeiro requisito do adaptador é que tenha suporte a DMA e o segundo é que seja compatível com dispositivos UDMA.
Logo a minha sugestão é a seguinte, compre adaptadores que tem a inscrição DMA em uma, ou nas duas, de suas faces, pois é mais seguro que funcione estável em dispositivos Compact Flash com ou sem suporte a UDMA. Caso tenha a especificação do produto em mãos, verifique também se o adaptador tem suporte a UDMA.

Notícias do Front:

Boas notícias quanto ao desenvolvimento de produtos baseados em tecnologia IDE pela Tecnobytes, pois o próprio autor já informou em um anúncio na lista MSXBR-L, que está desenvolvendo uma nova BIOS (2.50 beta) e que a mesma possibilitará suporte a FAT16 nativo, ou seja, em breve não necessitaremos da FAT12 para dar o boot na IDE, para mim esse é um primeiro passo para a FAT32.

Outra excelente notícia é que juntamente com a nova BIOS, teremos uma Memory Mapper, de fabricação da Tecnobytes,  que é imprescindível para o uso da IDE devido ao MSXDOS2 necessitar da mesma, o que dá aos possuidores de MSX2 e MSX2+, sem Memory Mapper, a possibilidade de ampliação do potêncial dessas máquinas.

Como senão fosse suficiente todas essas boas notícias, essa nova Mapper também funcionará em MSX1. Isso mesmo, Memory Mapper no MSX1 sem a necessidade de alterações no hardware ou atualização da BIOS do MSX…….sim, aqueles HotBit’s e Expert’s que temos guardados e quase esquecidos em nossos armários, poderão ter um dispositivo IDE e mais memória do que os eternos 64Kb.

Só nos resta aguardar mais um pouco.

Sugestões ao autor do produto:

A minha sugestão é única e simples. Os conectores IDE nos hosts geralmente vem com um pino a menos, no centro do conector, sendo que os cabos IDE, incluindo todos UDMA (80 vias), também vem com esse pino coberto no conector do cabo, o que muitos constumam chamar de mata-burro.

Pois bem, a IDE da Tecnobytes, não vem com esse pino faltando em seu conector, como na maioria dos hosts (PC’s, etc, …), o que termina obrigando a quem vai trabalhar com dispositivos que utilizam cabo IDE (CDROM, HD, …) a furar esse pino, no cabo IDE, uma vez que o mesmo está coberto, evitando assim qualquer dano à interface IDE quando se está utilizando um cabo desse tipo, ou seja, todos UDMA de 80 vias.

Cabo IDE

Finalizando….

…deixo aqui meus agradecimentos aos seguintes amigos da lista MSXBR-L que ajudaram compartilhando informações sobre seus Compact Flash e Adaptadores.

  • Antonio Sanches Parra – Pelo report, com imagens, relatando que seu Compact Flash Kingston 1Gb funcionou de maneira instável com os 2 adaptadores sem suporte a DMA, causando truncamento dos arquivos gravados no Compact Flash, sendo que o mesmo Compact Flash funcionou perfeitamente em outro adaptador com suporte a DMA.
  • Daniel Campos – Pelo report relatando a instabilidade no funcionamento de seu conversor SD->CF, tendo os mesmos problemas de truncamento de arquivos, relatados pelo Antonio Sanches Parra e também pelo report em que relatou que seu adaptador SD SDHC MMC para IDE 3.5″ funcionou corretamente na interface Tecnobytes.
  • Silvio Borges – Pelo HotFix feito na IDE da Tecnobytes e por ter disponibilizado a informação ao fabricante, que repassou a todos os usuários.
    .

Bom, por enquanto fico por aqui, sendo que reservei para a segunda parte dessa análise, um teste comparativo de performance dos diversos meios que podemos utilizar na IDE Tecnobytes ou qualquer outra interface IDE Sunrise-Like.

[]’s
PopolonY2k

Referências

Site Oficial da Tecnobytes

http://www.tecnobytes.msxall.com/

Anúncio do MSXDOS 2 Vrs2.44 (TNI)

http://www.tni.nl/news/command2com-version-244-released

Dossiê Storage Devices – Compact Flash

http://www.popolony2k.com.br/?p=130

Sunrise IDE Technical Information

http://map.grauw.nl/viewer.php?f=/resources/disk/IDETECH.TXT

Sunrise IDE Technical Information II

http://www.msx.ch/sunformsx/download/idetxt/idetech.html

Sunrise IDE Technical Information III (BIOS documentation)

http://www.msx.ch/sunformsx/download/idetxt/idesys.html

LBA Definition (Guia do Hardware)

http://www.guiadohardware.net/termos/lba

LBA Definition (PC Guide)

http://www.pcguide.com/ref/hdd/bios/modesLBA-c.html

Tutorial de configuração de interface IDE (Sunrise-like) no MSX (MSXPró)

http://www.msxpro.com/ide.html