Dossiê Storage devices – Parte II (Compact Flash)

Continuando a série, Dossiê Storage Devices, vamos falar sobre um outro dispositivo de armazenamento muito utilizado em câmeras, PC’s antigos (MSX, Amiga, etc, …) dispositivos embarcados e em NetBooks de baixo custo, que é o Compact Flash.

História

O Compact Flash é um dispositivo que, inicialmente, foi especificado e desenvolvido pela SanDisk em 1994, porém em 1995 o mesmo passou a ser padronizado por uma associação de empresas internacionais, incluindo a SanDisk, conhecida como The Compact Flash Association.

Detalhes técnicos

Atualmente existem dois tipos de Compact Flash disponíveis no mercado, conforme descrito abaixo.

CF Type I

Esse é o mais comum encontrado no mercado e seu nicho era basicamente restrito a câmeras digitais, porém nos últimos anos sua utilização em outros nichos da área de tecnologia tem se tornado relevante e apesar de existirem alternativas mais cômodas, menores e mais baratas, o CF Type I tem conseguido uma sobrevida devido ao fato de ser uma alternativa confiável aos dispositivos mecânicos como os Hard Disks convencionais (HDD) e ao mesmo tempo barata em relação aos dispositivos de alta capacidade como os Hard Disks baseados em memória flash, ou SSD.

Compact Flash Type I
CF Type I

CF Type II

A principal diferença entre um dispositivo CF I e CF II é que basicamente as CF II suportam mais corrente na interface, segundo o Wikipedia, e talvez esse seja o motivo de se ter discos rigidos mecânicos que consomem mais energia, rodando sob essa interface, como os micro HDD‘s conhecidos por MicroDrives e amplamente utilizados em PDA‘s, como os Palm LifeDrive e dispositivos tocadores de música, como os IPod‘s.

Quando lançados, os MicroDrives tinham em média 4Gb de capacidade de armazenamento,  algo inédito nos dispositivos baseados em memória Flash da época, porém com o aumento da capacidade das memórias Flash nos ultimos anos, o MicroDrive foi facilmente suplantado por outros baseados em memória como os SD Cards (Mini, Micro), Memory Sticks e até mesmo pelo seu irmão mais velho,  o Compact Flash Type I, que hoje já possui capacidade acima de 16Gb, sem contar que todos os dispositivos baseados em Flash são mais baratos, menos frágeis e portanto mais confiáveis do que os  MicroDrives.

Outra diferença é a espessura entre um CF Type I (3.3 mm) e um CF Type II (5 mm).

Compact Flash Type II
CF Type II

Compatibilidade PCMCIA e ATA.

Os cartões Compact Flash são compatíveis eletrica e mecanicamente com o padrão de interface PCMCIA e uma outra vantagem é que todo cartão CF tem embutida uma interface ATA e com um adaptador CF->IDE, desses encontrados no Mercado Livre ou Santa Efigênia, um cartão Compact Flash pode ser utilizado como um Hard Disk.

Adaptador CF/IDE
Adaptador CF/IDE

True-IDE

True-IDE é o modo de operação que os Compact Flash utilizam para se comunicar com a interface IDE, onde alguns dispositivos não suportam esse modo via hardware, existindo a possibilidade de emulação do modo True-IDE via software, que significa menos performance.

O chaveamento entre modo True-IDE e mídia removível é feito através do socket em que o CF está conectado, ou seja, se o Compact Flash está conectado por uma interface IDE, então ele é reconhecido pelo host como um Hard Disk, caso contrário é reconhecido como um mídia removível.

File System

Os Compact Flash podem ser formatados utilizando qualquer tipo de FileSystem, sendo a capacidade do CF o único limitador para a escolha do melhor FileSystem a ser utilizado pelo dispositivo, uma vez que dependendo do FileSystem escolhido a performance de acesso aos dados pode ser comprometida.

Diz a lenda que inicialmente os dispositivos CF trabalhavam com sistemas de arquivos específicos,  tais como Flash File System e JFFS e com isso softwares necessitavam de pilhas de protocolos adicionais para ter acesso a dispositivos Compact Flash.

Ultra DMA (UDMA)

A maioria dos Compact Flash mais modernos são compatíveis com UDMA (pelo menos 33Mb/s) e nesses casos a escolha do adaptador CF/IDE pode interferir no funcionamento do Compact Flash quando ligados a esses dispositivos, uma vez que existem adaptadores sem suporte a DMA, o que termina causando problemas, a maioria deles relacionados a performance.

TIP (REVIEW HOTFIX 01_01_2011):
No princípio os Compact Flash não suportavam operação em modo DMA, porém revisões posteriores adicionaram esse suporte ao padrão.

Lembre-se que ainda existem no mercado, adaptadores que não disponibilizam suporte a DMA, uma vez que nesses adaptadores alguns pinos para suporte a DMA não estão disponíveis. Nesse endereço (http://www.fccps.cz/download/adv/frr/cf.html) , existem informações de como adaptar o seu adaptador para que o mesmo passe a suportar o modo DMA.
Mesmo após essas adaptações, não é garantido que esses adaptadores funcionarão com Compact Flash UDMA.

TIP (REVIEW HOTFIX 01_01_2011):
Geralmente os adaptadores CF/IDE sem suporte a DMA não são construídos com a preocupação de manter uma blindagem entre as trilhas, similar à técnica utilizada nos cabos IDE de 80 vias (http://www.pcguide.com/ref/hdd/if/ide/confCable80-c.html), o que os torna incompatíveis com Compact Flash UDMA.

BENCHMARK (REVIEW HOTFIX 01_01_2011):
Em testes realizados com um Compact Flash Transcend 4Gb 133x UDMA juntamente com adaptadores CF/IDE antigos, sem suporte a UDMA, experimentei instabilidade no I/O e impossibilidade de boot do sistema operacional.

MSX TIP (REVIEW HOTFIX 01_01_2011):
Ao utilizar um adaptador de Compact Flash com caracteríticas como as apresentadas na dica anterior, experimentei instabilidade no uso de uma interface IDE com um Compact Flash UDMA (Transcend 4Gb 133x UDMA) e apesar do mesmo ser reconhecido, particionado e formatado corretamente, o boot do sistema operacional falha e o I/O ao dispositivo fica instável e não confiável (aka perda de dados).
Usuários de outras plataformas considerem essa experiência, caso estejam experimentando instabilidade no uso de Compact Flash com IDE.

CF/IDE - Front (sem suporte a DMA)
CF/IDE - Front (sem suporte a DMA)
CF/IDE - Back (sem suporte a DMA)
CF/IDE - Back (sem suporte a DMA)

Então, na hora de escolher usar um Compact Flash na IDE, tome precauções na escolha tanto do Compact Flash quanto do adaptador CF/IDE, prefira adaptadores com suporte a DMA pela velocidade quando utilizados com Compact Flash UDMA.

TIP (REVIEW HOTFIX 01_01_2011):
Lembre-se da seguinte regra, adaptadores com suporte a DMA funcionam bem com dispositivos Compact Flash que tem ou  não suporte a UDMA, já os adaptadores sem suporte a DMA não funcionam bem com dispositivos Compact Flash com suporte a UDMA. Tudo isso, se os adaptadores respeitarem as regras de blindagem necessárias a dispositivos UDMA.

CF/IDE - Front (com suporte a DMA)
CF/IDE - Front (com suporte a DMA)
CF/IDE - Back (com suporte a DMA)
CF/IDE - Back (com suporte a DMA)

Velocidade

A medida de velocidade dos Compact Flash é a mesma da utilizada nos CDROM’s no famoso modelo ‘n’ X, por exemplo, 8x, 16x, 48x,…,133x, 266x e por aí vai, tudo isso multiplicado pela taxa de transferência máxima baseada nos floppy drives (150Kbps).

SOURCE CODE:
O cálculo da capacidade de transferência é simples e pode ser descrito segundo a fórmula abaixo.

C/C++ Code

/* Floppy drive transfer rate multiplier */
#define __FLOPPY_DRIVE_MULTIPLIER    150
/**
  * Return the Compact Flash device Transfer Rate in Kb/s.
  * @param nCompactFlashSpeed The CF device Speed (eg. 133x,
  * 266x, ...);
  */
int getCompactFlashTransferRate( int nCompactFlashSpeed )  {
  int  nTransferRate = nCompactFlashSpeed * __FLOPPY_DRIVE_MULTIPLIER;
  return nTransferRate;
}

Human code

TransferRate = CompactFlashSpeed * 150

Ex: Para Compact Flash de 266x temos CompactFlashSpeed = 266

TransferRate = 266 * 150
TransferRate = 39900 Kbps ou ~ 40 Mbps

Conclusão

Compact Flash é mais um dos dispositivos de armazenamento dos muitos existentes no mercado e se pensarmos em utiliza-lo como um dispositivo removível através de conectores USB, como os Pendrives, com certeza os Compact Flash estarão em desvantagem devido a seu tamanho físico ser grande demais para os padrões atuais, considerando que estamos na era dos dispositivo Micro (Micro SD, Memory Stick Micro, ….).

Entretanto se consideramos os Compact Flash como hard disks, aí a situação se inverte pois ele se torna um dispositivo extremamente pequeno, fisicamente, em relação a maioria dos HD‘s existentes no mercado atual, além de outras vantagens como custo/benefício e confiabilidade.

Acredito na sobrevida dos CF’s por mais alguns anos, principalmente nesse momento em que vivemos um visível aquecimento do mercado de desenvolvimento de software e hardware embarcado cá em terras tupiniquins.

Por enquanto é só pessoal
Por enquanto é só pessoal

PopolonY2k


Referências

http://www.compactflash.org/

http://www.sandisk.com/

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

http://www.fccps.cz/download/adv/frr/cf.html

Print Friendly, PDF & Email

NoWind – Interface USB MSX/PC

Estava eu passeando pela internet em busca de informações sobre como converter e/ou tocar musicas MIDI no MSX, quando me deparei com um novo dispositivo para MSX  bem interessante.

É a NoWind USB interface, que pelo que li no site, é um dispositivo capaz de ligar o MSX ao PC utilizando um slot no MSX que possibilita a conexão com o PC via porta USB.

Pelo que li no site do fabricante, com a interface o MSX passa a ser visto pelo PC como um dispositivo USB comum e a partir daí o PC pode se tornar um HD (caro por sinal) para o MSX, dentre outras coisas.

Algumas características interessantes do produto:

1) Taxa de leitura de dados em aproximadamente 320kB/s utilizando um MSX rodando a 7Mhz.

2) Suporte ao dispositivo pelo MSX-BASIC, através de um novo device denominado NOW:

Exemplos:

save “now:autoexec.bas”

load “now1:test.bas”

open “now3:hello.txt” for ouput as #1)

Infelizmente o device NOW:, até o momento, só suporta operações de I/O sequenciais, ou seja, operações de I/O aleatórias, ainda, não são suportadas.

3) Possui MSXDOS 1 & 2 embutidos na interface.

4) Suporte a FAT 16.

5) Suporte a atualização de firmware.

6) Suporte a Linux, MacOSX e Windows, sendo que no Linux e MacOSX não é necessário instalar nada para ter acesso ao dispositivo, basta plugar, porém no Windows necessita do driver (quem diria!?) que vem com o produto (ufa!).

7) ROM drive. A FlashROM (512Kb) do dispositivo pode ser utilizada para armazenar imagens de disco (.DSK) e no MSX é acessada como um drive comum. Infelizmente até o momento só é suportada imagem de 360Kb 🙁 até mesmo porque a FlashROM só tem 512Kb.

8 ) Suporte a MSX, MSX2, MSX2+ e MSX TurboR

9) Dispositivo AUX: redirecionado para a interface.

Interface USB MSX-PC
Interface USB MSX-PC

Esse último item (9) é tão fantástico, fenomenal, maravilhoso, que chego até a me emocionar. Pelo que li no site a comunicação via AUX: é bi-direcional e com isso podemos utilizar a NoWind como placa de comunicação com o PC e assim podemos utilizar o PC como um Gateway para o mundo externo.

O site do fabricante até dá umas dicas para mapeamento do dispositivo AUX: no Linux (UNIX em geral) e para quem tem traquejo em criar softwares de comunicação utilizando Unix Pipes, isso será uma mão na roda para comunicar o MSX com a internet, por exemplo.

Hummm…….estou pensando seriamente em adquirir uma dessas.

Referência:

http://www.nowind.nl/

PopolonY2k

Print Friendly, PDF & Email

Dossiê Storage devices – Parte I (Hard disk)

De tempos em tempos, no mundo dos computadores, somos obrigados a comprar as mesmas coisas sempre, algumas vezes porque algo se desgastou e quebrou, outras vezes porque chegou ao limite, outras pelo fato de serem tão obsoletas que não existem mais peças de reposição para elas e outras vezes pelo simples fato de que queremos seguir a modinha.

E é por isso que, ao final dessa série de artigos sobre Storage Devices, espero que você tenha o mínimo de informação para não precisar  ter que seguir a modinha, trocando muitas coisas boas que você tem em casa por alguma outra coisa que você nem sabe o que é, [ECOLOGIC_MODE] contribuindo assim para o consumismo desenfreado que causa destruição de nossos recursos e consequentemente a destruição de nosso planeta. [/ECOLOGIC_MODE]

O objetivo dessa serie é esclarecer sobre alguns dos diversos meios de armazenamento, não removíveis, existentes no mercado e como podemos usufruir até de algumas alternativas removíveis aproveitando ao máximo a relação custo/benefício que alguns desses dispositivos nos proporciona ao utilizarmos os mesmos como um dispositivo não removível.

Hard Disk SATA vs IDE

Houve um tempo que  HD era sinônimo de IDE, depois tivemos a onda dos SATA, SATA II, etc, etc, etc, até o dia que chegaremos no SATA XIXI e por aí vai.

Pois bem, trocamos o IDE pelo SATA por motivos de melhoria na taxa de transferência de dados do padrão SATA, que é extremamente superior ao antigo IDE.

Ou seja, uma melhoria feita na arquitetura eletrônica dos HD’s e que realmente surtiu efeito quase que imediato dada a tamanha superioridade do SATA frente ao IDE. Lembrando que surtiu um efeito quase que imediato pelo fato do SATA 1 ter 150Mb/s contra 133MB/s de uma IDE (Ultra DMA ATA 133), ou seja, pouca diferença para um padrão mais moderno e supostamente muito superior. Posteriormente o SATA II conseguiu chegar a 300Mb/s, consolidando assim o padrão SATA como o padrão dominante nos PC’s.

Segue abaixo um link da Wikipedia com a listagem de largura de banda utilizadas por todos, ou a maioria, dos padrões conhecidos que vão desde  computer buses, placas de rede, storages a periféricos e etc.

http://en.wikipedia.org/wiki/List_of_device_bandwidths

Se você conhece sobre os padrões que estamos falando e sabe como analisar esses números do link acima, vai perceber que em se tratando de arquitetura eletrônica, os SATA’s dão um banho nos IDE’s e até em vários SCSI, esse ultimo também um padrão de conexão de periféricos assim como IDE e SATA, porém o SCSI é mais amplo, podendo conectar outros dispositivos que vão de Impressoras a Scanners, além de HD’s.

Antes dos HD’s…..

Desde os primórdios da micro-informática (década de 70 e 80), o armazenamento de dados é algo crítico e principalmente caro. Crítico devido a falta de confiabilidade dos meios existentes na época e caro….porque ….sim !!!

Um exemplo é o da comunidade de MSX do Brasil que está constantemente em conversa, via listas de discussão, em busca de meios de recuperação de softwares da época, algumas vezes gravados em disquetes de 5/14” e/ou 3/12” e outras vezes gravados em fitas Cassette (K7).

Cassette Tape
Esse era o MP3 e o PenDrive da década de 80.

Muitos desses softwares estão em meios magnéticos cuja vida util é bastante limitada, principalmente em se tratando de coisas antigas como fitas K7. A grande maioria desses meios (K7, disk drives e Hard Disks) dependia de motores, ou seja, peças mecânicas para que a informação chegasse no universo digital de destino, ou simplesmente, computador.

Dispositivos de armazenamento com dependência mecânica tem a característica de ser pouco confiáveis e também mais lentos, principalmente pelo fato ser fortemente dependente de uma peça mecânica (motor) e que limita o aumento da velocidade do dispositivo, independente da parte eletrônica suportar altas taxas de transferência.

Sem contar que se essa peça pifar ou parar de girar na rotação minima aceitável para o dispositivo funcionar, seus dados já eram.

Isso tudo desconsiderando o desgaste do meio magnético envolvido no processo, bem como cabeças de leitura/escrita, ou seja, nossos dados sobreviveram até hoje por milagre.

SSD (Solid State Drive)

Após conviver vários anos com a perda de dados em HD’s magneto-mecânicos, devido a seus defeitos e seu curto tempo de vida útil, eis que surge uma luz no fim do tunel (???) sob o nome de SSD (Solid State Drive), que é basicamente a mesma coisa que tínhamos antes, porém mais confiável e bem mais caro também.

Muito bons....mas ainda vamos descobrir seus defeitos um dia.
SSD ou Solid State Drive

Os HD’s SSD’s são baseados em tecnologia de memória Flash, que não necessita de energia para manter os dados gravados, algo parecido com as memórias Compact Flash.

Apesar de começar a ficar em evidência apenas nos ultimos 6 anos, os HD’s SSD são bem velhinhos, tendo seu desenvolvimento iniciado nos anos 1950, nos EUA, evoluindo nos anos 70 e 80, porém os preços extremamente altos tornaram os SSD’s inacessíveis no mercado de micro computadores na época.

Hoje o preço de um HD SSD ainda é muito alto, porém o número de empresas já investindo no desenvolvimento e fabricação de drives de HD SSD começa a fazer com que esses dispositivos em breve se tornem acessíveis a usuários comuns e quem sabe, aposentem de vez os HDD’s tradicionais.

Para se ter uma idéia, hoje consultando os preços em uma loja da Santa Efigênia (SP) cheguei aos seguintes valores:

  1. HDD 2.5” notebook externo de 1TB (1 TeraByte)  – R$450,00
  2. SSD 64Gb (64 Gigabytes)  – R$550,0

Ou seja, apesar de mais acessíveis, é visível que o custo benefício de um HDD comum é, ainda, infinitamente superior ao dos SSD’s, apesar desse último já estar em um patamar acessível ao usuário comum.

Vantagens do SSD

A principal vantagem de um drive SSD é a velocidade de leitura, que chega a ser muito superior a de um HDD comum, uma vez que se trata de um disco feito apenas de componentes eletrônicos, ou seja, com dependência zero de componentes mecânicos.

Para se ter uma idéia, um drive de SSD, em uma operação de leitura, pode chegar a taxa de 700MB/s.

Realizei o seguinte teste no meu desktop com MotherBoard Intel Atom N270, 1.6Ghz HT e com HDD SATA Samsung 7200 RPM 2.5” (notebook) e sistema operacional Linux Ubuntu 10.04 – Lucid Lynx (64bit) e obtive os seguintes resultados (hdparm via console):

popolony2k@Metallion:~$ sudo hdparm -t /dev/sda

/dev/sda:

Timing buffered disk reads:  198 MB in  3.00 seconds =  65.92 MB/sec

popolony2k@Metallion:~$

Na verdade repeti esse teste diversas vezes e obtive uma pequena oscilação de 65.92~66.68MB/s o suficiente para verificar que a diferença de leitura entre um HD SSD e um HDD mecânico comum é gritante.

A velocidade de escrita de um SSD é de 250MB/s, ou seja, bem maior do que a de leitura de um HDD.

Consumo reduzido de energia. Sem peças mecânicas, sem consumo excessivo de energia.

Pode trabalhar em temperaturas de aprox. 70° C, o que não é possível em um HDD convencional.

São mais resistentes devido a não ter partes mecânicas, que geralmente é a parte mais sensível de um dispositivo desse tipo, isso inclui vibrações que podem fazer com que o HDD comum falhe em sua operação de E/S ou até mesmo ocasionar um dano permanente no dispositivo, o que não ocorre com um SSD.

Resumindo, a parte mecânica é o maior problema de um HDD, tirando ela é só alegria…….pero no mucho.

Desvantagens

Capacidade de armazenamento infinitamente inferior a dos HDD’s comuns. Até hoje, só consegui encontrar SSD’s de 256Gb, enquanto as HDD’s estão chegando a casa dos Terabytes.

Diz a lenda que a leitura de grandes blocos de dados em HD’s SSD, tendem a ser mais lentas mas acredito que isso só aconteça em produtos que prezam pela economia de energia, pois quanto menos energia, menos performance.

E o ultimo item da lista é que um SSD é caro demais para os padrões atuais.

Considerações finais

Para finalizar esse primeiro artigo da série “Dossie Storage devices“, deixo o vídeo abaixo com um demonstrativo da Samsung entre um HDD e um SSD.

As imagens dizem mais do que tudo o que eu escrevi acima….por isso deixei para o final que é para você ler tudinho e não ignorar o que eu escrevi já no inicio.

:.P

Inté.

PopolonY2k

SSD vs HDD (Video da Samsung no Youtube)

Referências

http://en.wikipedia.org/wiki/Integrated_Drive_Electronics

http://pt.wikipedia.org/wiki/SSD

http://www.youtube.com/watch?v=rjCmLJtITK4

Print Friendly, PDF & Email

Analise Emulador de Drive (Victor Trucco).

Um pouco de história.

Me lembro que na década de 80 ter um computador era algo incomum para a maioria das pessoas e quem possuia um, ou era da área ou entusiasta em tecnologia, ainda mais por se tratar de um item caro. Quem se aventurava pelo mundo dos computadores logo percebia que ter um computador e ter um meio de armazenamento com grande capacidade e principalmente veloz, era essencial.

Nesse cenário de nossa micro-informática embrionária um item caro se tornou tão importante quanto o próprio computador…o disk drive.

Naquela época tinhamos basicamente, aqui no Brasil, dois formatos de drives e disquetes dominantes, eram eles os de 5/14” e 3/12”, sendo que até o final da década de 80, dominavam os de 5/14” com 360Kb de capacidade de armazenamento e os de 3/12” com capacidade de 720Kb de armazenamento. Mais tarde, no inicio da década de 90, tivemos um upgrade de capacidade para cada um desses formatos, os de 5/14” chegando a 1.2Mb e os de 3/12” a 1.44Mb.

MSX e os drives

A linha MSX era um bem servida de periféricos e no Brasil tivemos alguns fabricantes de interfaces e drives de boa qualidade, sendo os maiores destaques a DDX, Microsol, DMX e finalmente a Gradiente que embutia interface e drive em seus computadores MSX (Expert DDPlus).

Tempos modernos

Muito tempo se passou e ao contrário da crença de que um hardware antigo certamente ficaria relegado ao empoeiramento e esquecimento, computadores como o MSX sobreviveram ao tempo, inclusive com upgrades e adaptações de periféricos modernos ao hardware antigo bem como criação de novos softwares.

É exatamente sob esse cenário que surge um novo item no cenário dos computadores antigos…. o Emulador de Disk Drive do Victor Trucco.

Emulador de drive (www.victortrucco.com)

Desde o ano passado tenho o Emulador de Disk Drive que adquiri do próprio autor via site do Mercado Livre, na época. Após adquirir também uma interface de drive DDX, finalmente consegui colocar o emulador em funcionamento, seguindo as instruções do próprio fabricante conforme descrito nessa página:

http://www.tk90x.com.br/Perifericos_EmuDrive_AntesDeUsar.html

Emulador de drie Victor Trucco.
Emulador de drive do Victor Trucco

Pré-requisitos

Os pré-requisitos aqui descritos são acessórios essenciais mas que não vem junto com o produto, devendo ser adquiridos separadamente.

O emulador de disk drive necessita de uma fonte com saída de no mínimo 7.5v (DC) e o próprio fabricante me informou que as fontes utilizadas podem ser de 7.5v, 9v e 12v (DC). Eu testei em cada uma dessas voltagens, com uma dessas fontes (“xing-ling”) encontradas na Santa Efigênia (SP) com seletor de multiplas voltagens de saída, e com todas o produto funcionou perfeitamente.

Segue abaixo as especificações da fonte que utilizei:

7 OUTPUT A.C – D.C ADAPTOR

INPUT  – 110V/220V (AC)
OUTPUT – 7.5V, 9V, 12V (DC)
CURRENT: 1000mA MAX

Fonte xing-ling
Fonte utilizada no emulador de dik drive

O cabo, que liga o emulador de drive a interface de drive do computador, também é pré-requisito importante e essencial para o funcionamento do emulador de disk drive, por isso o autor mostra através de um link em sua página, como fazer um cabo (“desinvertido”) que funciona no emulador usando como base um cabo de disk drive de PC, demostrando o passo a passo para adaptar o cabo para funcionar com o emulador de disk drive.

Eu segui exatamente as instruções descritas pelo fabricante para desinverter um cabo de PC, conforme descrito no endereço http://www.tk90x.com.br/Perifericos_EmuDrive_CaboDrive.html e funcionou logo no primeiro teste.

Funcionamento

O funcionamento do emulador é simples, basicamente ele trabalha da mesma forma que um disk drive comum porém o meio de armazenamento agora é um SD ao invés de disquetes magnéticos. O conceito de disquete ainda existe para emulador de disk drive e na verdade um disquete é agora um arquivo em um formato especial que o emulador de disk drive entende, similar as imagens de discos (.dsk) utilizados pela maioria dos emuladores de MSX existentes, como o fMSX e o BlueMSX.

O SD Card utilizado deve estar formatado com FAT32, operação essa possível em qualquer PC/Mac ou outro computador que tenha uma interface de SD Card e que possa formatar um filesystem no padrão FAT32.

O emulador de disk drive foi testado com um SD Card comum e também com um SDHC (SD High Capacity – 4Gb até 32Gb), das marcas DaneElec e SanDisk respectivamente. É importante ressaltar a compatibilidade com o SDHC que é um padrão mais novo (2006) de alta capacidade e com isso vários dispositivos antigos não funcionam com esse típo de cartão de memória atual, entretanto o emulador de disk drive funciona respeitando completamente a especificação SDHC, conforme informação recebida do próprio fabricante do emulador.

O suporte a SDHC pelo emulador, para mim, é a melhor e maior vantagem desse produto uma vez que, no caso do MSX, se utilizarmos um SDHC de 4Gb poderemos armazenar praticamente tudo o que existe no universo MSX e até outros arquivos alheios ao emulador. Resumindo, capacidade de armazenamento não será problema daqui pra frente.

A interface do emulador de disk drive com o usuário é bem simples, não necessitando nenhuma configuração adicional, basta ligar, selecionar a imagem de disco a ser utilizada e montar o arquivo que será utilizado como “disquete” pelo computador.

Conforme imagem do emulador abaixo, podemos ver 3 botões do lado esquerdo do SD Card, esses botões são utilizados para a navegação na árvore de diretórios do SD Card (botões laterais) e seleção da imagem desejada (botão central). Para ejetar um disco (imagem), basta segurar por alguns segundos o botão central.

Emulador Victor Trucco
Emulador de drive (Victor Trucco)

Software de conversão de imagem .dsk para o formato do emulador.

Quem é usuário de emuladores de MSX, como o BlueMSX e OpenMSX, já está bastante habituado ao uso de dois tipos de imagens diferentes, os famosos arquivos .rom (imagens de cartuchos) e os arquivos .dsk (imagens de discos).

O emulador de discos trabalha com um formato próprio de discos que devem ser convertidos através de um software feito pelo próprio fabricante e que está disponível no endereço http://www.tk90x.com.br/arquivos/ConversorEmu1.2.rar para download.

A idéia de manter um formato único no emulador é uma boa idéia uma vez que a lógica de conversão de novos formatos fica no software externo e não embarcado no emulador, o que o limitaria futuramente caso novos formatos sejam suportados pois seria necessário atualizar o software embarcado do emulador para cada novo formato. No caso de manter a lógica de conversão em um software externo, temos a possibilidade de atualizar o software e redistribuir o executável pela internet, o que é mais simples e fácil.

O software de conversão suporta vários formatos, conforme listados abaixo:

TRD e IMD = TK90X, TK95 e ZX Spectrum
ADF e ADZ = Amiga
ST e MSA = Atari ST
DSK, IMG, IMD = MSX, PC e outros

A imagem resultante, utilizada pelo emulador, feita pelo software de conversão tem sempre o tamanho de 1961Kb, nos testes que realizei com conversão de imagens .dsk de 720kb, ou seja, a imagem resultante tem um acréscimo de quase 2 discos e meio de 720Kb para cada imagem de 720Kb convertida.

Em um primeiro momento tive a impressão que o software embarcado que implementa o formato da imagem aceito pelo emulador poderia ser otimizado futuramente e talvez realmente isso possa ser feito um dia e, após a explicação do autor do projeto, cheguei a conclusão de que isso não será possível sem uma otimização também no hardware do emulador.

Abaixo vou reproduzir um trecho do email que troquei com o autor do emulador, Victor Trucco, que explica porque o formato da imagem gerada para o emulador é maior do que o da imagem original:

[Victor Trucco]“O formato do emulador na prática é um arquivo que simula o “sinal elétrico” que a interface Shugart receberia. Fiz desse jeito por dois motivos.

1 – Existem centenas de padrões de disco usados por emuladores e para um simples PIC aceitar todos os padrões, seria completamente irreal com a tecnologia atual.
2 – Velocidade. Se o PIC tivesse que converter os bytes nos sinais elétricos, o emulador teria somente metade da velocidade de um drive. Com a pré conversão, a velocidade ficou na casa dos 97% do drive, precisando ainda de um leve overclock para chegar a velocidade real.

Sobre o tamanho, não considero relevante, visto que tudo que existe para MSX por exemplo não ocuparia nem um SD de 2GB, mesmo após as conversões.”

Ou seja, por limitações de performance do hardware, o formato foi desenvolvido para diminuir o trabalho de processamento do microcontrolador central do emulador, otimizando assim a performance do produto.

Sobre o software de conversão, o autor do emulador de drive me informou que o mesmo está descontinuado, ou seja, não haverá inclusão de novos formatos ao software conversor desenvolvido pelo autor do emulador, porém as informações sobre o formato suportado pelo emulador (VTR) foram repassadas a Jean François Del Nero, que também é conhecido por fabricar um emulador de discos popular a usuários do Atari ST e Amiga, conforme visto no endereço, http://hxc2001.free.fr/floppy_drive_emulator/index.html onde o mesmo já incluiu o suporte ao formato enviado pelo autor do emulador brasileiro, Victor Trucco.

Del Nero já disponibilizou binários e fontes (Open Source – GPL) de seu conversor nos seguintes endereços:

Binário Windows

http://hxc2001.free.fr/floppy_drive_emulator/HxCFloppyEmulator_soft.zip

Fontes

http://hxc2001.free.fr/floppy_drive_emulator/HxC_Floppy_Emulator_soft_src.zip

O interessante é que o conversor de Del Nero funciona em Windows, Mac, Linux e provavelmente pode ser compilado para diversos UNIXes devido a compatibilidade com Linux, ao contrário do software conversor disponibilizado por Victor Trucco que só funciona na plataforma Windows.

Abaixo segue uma lista de pontos de destaques e de melhorias para o projeto no futuro. Alguns desses pontos, ou até todos, não serão suportados futuramente pelo fabricante desse produto, porém deixo registrado para que outros fabricantes possam considerar essas possibilidades na construção de produtos similares.

Pontos fortes

  1. Suporte a SD Cards de alta capacidade (SDHC), possibilitando ter um total de até 32Gb suportados pelo padrão;
  2. Interface simples de operação;
  3. Bom suporte do autor ao produto, feito através de seu site e com um bom manual de operação disponível no endereço http://www.tk90x.com.br/Perifericos_EmuDrive_AntesDeUsar.html

Pontos de melhoria

  1. Otimização to tamanho imagem de disco aceita pelo emulador em projetos futuros, visando ampliar ou manter a performance de acesso aos dados do disco porém utilizando menos espaço em disco;
  2. Possibilidade de atualização do software embarcado do emulador em futuras versões do produto;
  3. Adição de uma seção de “Throubleshoot” no site, com os problemas comuns que os usuários possam ter na instalação e/ou operação e suas soluções;

Conversa com o fabricante (Victor Trucco)

Segue abaixo algumas perguntas, após algumas trocas de email, que fiz diretamente ao autor do emulador, Victor Trucco, que prontamente me respondeu e a quem deixo aqui meus agradecimentos.

[PopolonY2k] Quero lhe fazer mais algumas perguntas sobre o emulador, visando melhorar meu review. O formato do arquivo convertido (aceito pelo emulador) tem um tamanho fixo de 1961Kb aproximadamente, porém o formato comum em um MSX é de 720Kb, entretanto quando esse disco de 720kb é convertido para o formato do emulador ele fica com esse tamanho de 1961Kb, quase 2 discos e meio a mais do que a imagem de um 720kb do MSX.

[Victor Trucco]O formato do emulador na prática é um arquivo que simula o “sinal elétrico” que a interface Shugart receberia. Fiz desse jeito por dois motivos.
1 – Existem centenas de padrões de disco usados por emuladores e para um simples PIC aceitar todos os padrões, seria completamente irreal com a tecnologia atual.
2 – Velocidade. Se o PIC tivesse que converter os bytes nos sinais elétricos, o emulador teria somente metade da velocidade de um drive. Com a pré conversão, a velocidade ficou na casa dos 97% do drive, precisando ainda de um leve overclock para chegar a velocidade real.

Sobre o tamanho, não considero relevante, visto que tudo que existe para MSX por exemplo não ocuparia nem um SD de 2GB, mesmo após as conversões.

[PopolonY2k]A pergunta é se existe alguma forma de otimizar o uso dessa imagem para se aproximar ao tamanho do formato real utilizado pelo computador que utiliza o emulador ?

[Victor Trucco]Não acredito, pelos motivos citados acima.

[PopolonY2k]Outra pergunta é se futuramente vc pretende ampliar as funcionalidades do emulador, como por exemplo uma otimização do formato suportado por ele (caso não exista – conforme pergunta anterior) e se existirá a possibilidade de baixar um “update” em seu site e aplicar no emulador ?

[Victor Trucco]Não acredito que existirá um update. Apesar de uma antiga vontade de incluir emulação dos padrões do Commodore e da Apple, a falta de tempo e foco em outros projetos me impedem. Mesmo que exista um update, não seria possivel aplica-lo de maneira fácil, somente me mandando o emulador para reprograma-lo.

[PopolonY2k]Imagino que a próxima pergunta seja algo tecnicamente mais complicado pois pelo que vi no hardware, você usa um PIC para controlar as operações do emulador e para atualizar o mesmo o usuário deveria ter algum programador de PIC, ou algo do tipo, para “queimar” o novo software no mesmo, entretando existe alguma interface prevista de atualização ?

[Victor Trucco] – Não existe. Mesmo assim eu não poderia fornecer código aberto ou compilado para ele, por estar preso por contrato com empresas que trabalho.

[PopolonY2k]Existe algum setup no emulador ? Me lembro que entrei nas configurações dele teclando alguma sequencia nos botões, porém não me lembro o que fiz.

[Victor Trucco]Sim, existe, segurando um botao lateral e ligando a fonte. Mas o setup é somente para montagem interna ou casemods e dizem respeito a montagem do display e botao de proteçao.

[PopolonY2k]Você tem interesse em continuar o desenvolvimento e produção desse produto ?

[Victor Trucco]Não vou continuar o desenvolvimento, pelo menos a curto prazo. Venderei o restante sem pressa, conforme me pedirem, mas não acredito que vai haver novo lote. A produção é cara porque não tenho como pedir pequenas quantidades de componentes. Até mesmo a placa de circuito impresso custa uma soma “não-agradavel” para produzir.

Grande abraço.

Referências na internet

http://www.tk90x.com.br/Perifericos_EmuDrive_AntesDeUsar.html

http://www.tk90x.com.br/Perifericos_EmuDrive_CaboDrive.html

http://hxc2001.free.fr/floppy_drive_emulator/index.html

http://www.youtube.com/watch?v=rYK1bISiri0

Print Friendly, PDF & Email

Blog no ar

Finalmente após alguns anos, me animei em criar um blog sobre tecnologia etc etc e etc. E após tantos anos de espera ele já surge com um termo Hacking no título…..que legal, vc será invadido ao acessar esse blog ……..  :.P.

Para quem não sabe, ou pensa que hacking é uma técnica de alguém “do mau”, segue a definição que achei no Wikipedia sobre Hackers ….

“Originalmente, e para certos programadores, hackers (singular: hacker) são indivíduos que elaboram e modificam software e hardware de computadores, seja desenvolvendo funcionalidades novas, seja adaptando as antigas.

Originário do inglês, o termo hacker é utilizado no português. Os hackers utilizam todo o seu conhecimento para melhorar softwares de forma legal. Eles geralmente são de classe média ou alta, com idade de 12 a 28 anos. Além de a maioria dos hackers serem usuários avançados de Software Livre como os BSD Unix (Berkeley Software Distribution) e o GNU/Linux. A verdadeira expressão para invasores de computadores é denominada Cracker e o termo designa programadores maliciosos e ciberpiratas que agem com o intuito de violar ilegal ou imoralmente sistemas cibernéticos.

http://pt.wikipedia.org/wiki/Hacker

Tirando a citação que Hacker é de classe média alta (desde quando duro, pobre, liso e teso é classe média, ainda mais alta ?), e que geralmente eles tem de 12 a 28 anos, o resto tá tudo certo.

Então manézinho…….navegue sem medo pois vc não será invadido.

Outras coisas legais que pretendo colocar aqui são:

Analises de gadgets, games, computadores, tecnologias, computadores antigos (MSX, Amiga, TK, ……, blá, blá, ….).

Entre outras coisas relacionadas a tudo isso que já citei e mais o que vier na telha.

A propósito……MSX é melhor que AMIGA.

PopolonY2k

Print Friendly, PDF & Email