gotek

now browsing by tag

 
 

Mod para o Floppy Drive Gotek com Cortex

Mod para o Floppy Drive Gotek com Cortex

 

Passeando pela Internet e procurando alguns Mod’s diferente e me deparei com o do Floppy Drive Gotek. Achei bem legal e resolvi fazer também.

Resolvi fazer porque achei aparentemente simples. Eu podia usar um drive que teoricamente não serve no MSX por ser de 1.44 mb sem possibilidade de configurar. Aliás é interessante isso, pois o drive que usei foi o primeiro que comprei a alguns anos atrás para usar no MSX e claro não funcionou, pois não tinha os jumpers para configurar para 720k, etc… mas nada é perdido, estava usando ele no meu PC-XT até hoje.

Esse Mod é mais que para o MSX, funciona em várias plataformas, inclusive o pessoal do Amiga já usa a tempos. Mas meu foco nesse Post é o MSX, pois não achei nada mais focado na plataforma.

Mas repito, fazendo os procedimentos abaixo, o drive vai servir para todas as outras plataformas.

Basicamente trata-se de trocar o firmware original do floppy drive e colocar um compatível ou semelhante ao do famoso HxC Floppy Drive da HXC2001.

É importante dizer que este emulador de disquete não é absolutamente comparável ao HXC Floppy Emulator por Jean-François DEL NERO (Jeff), onde além de suportar dezenas de formatos de disquetes e hardware, há também um desenvolvimento no Firmware de vários anos, mas o Floppy Drive Gotek ainda é uma alternativa excelente e econômica.

Material utilizado:

1. Precisa de um drive Gotek compatível com no novo Firmware (veja nessa lista Gotek Compatibility). Eu usei esse que é bem comum e um dos mais baratos: Drive Emulador de Disquetes Gotek SFR1M44-U100K

2. Um LCD como esse: Display Oled Azul 128×32 Pixel 0.91 Polegadas 4 Pinos I2c, achei no ML por 32 pilas (o problema, claro, o frete)


3. Um Conversor Usb Serial Rs232 Ttl Pl2303hx P/ Arduino Mini Nano. Tem vários modelos. Usei esse ai debaixo para gravar o novo firmware no drive e foi muiiiiito tranquilo.

4. Um Encoder Rotativo Ec11 ou KY-040 (Rotary Sensor Arduino)

Ec11

Ky-040

5. Jumper Fêmea – Fêmea Fios Arduino

6. Um buzz de 5V

7. Ferro de solda, knob, solda, alguns jumpers, alguns terminais, cola quente, alicate, lima, mini furadeira, etc….

Dá para achar tudo no ML tranquilamente.

MONTAGEM

Desmontando o Flopply Gotek:

Primeiro passo, abrir o drive, só precisa de uma chave Philips para isso. Retire os 3 parafusos na parte superior:

Retire toda a carcaça de plástico, fica mais fácil para trabalhar. Não se preocupe, só remova com cuidado, pois é tudo encaixado.

Pode remover o display original também, desplugando-o dos 4 pinos. É bom marcar a posição dos fios (pode tirar uma foto), porque se precisar voltar, é só plugar novamente nos pinos corretos.

Instalando o novo Firmware:

Para começar, vamos soldar alguns terminais, pois apesar de ter a posição no drive, não vem com os pinos. Esse procedimento é necessário para que possamos ligar a interface USB/Serial para gravarmos o novo firmware.

São os 8 pinos perto do conector de energia do drive. Tem que soldar os terminais. Depois de concluído vai ficar parecido com o da figura abaixo:

Plugue os fios conforme a figura abaixo. O fio azul está no 2 pino do conector (GND), o fio verde está no 4o. pino do conector (5V).

O fio amarelo está no 3o. pino do drive (TX), o fio vermelho está no 4o. pino do drive (RX) e por último note que no pino 1 e 2 do drive tem um jumper fechando os dois, esse jumper serve para permitir a gravação do drive, tem que deixar fechado, depois do procedimento pode ser retirado.

Ai é só ligar o fios no nosso adaptador USB-Serial, nos respectivos pinos, conforme abaixo:

Alguns adaptadores podem ter a ordem dos pinos em posições diferentes, mas todos tem a marcação, então acho que não há mistério.


Bom agora é plugar o danado no computador e usar o programa para fazer a atualização.

No Windows usei esse programa:

Flashloader Demonstrator

 

para gravar o novo firmware. Se quiser baixar do próprio site a versão mais atualizada, o endereço é esse   https://www.st.com/en/development-tools/flasher-stm32.html.

Baixe também a última versão do firmware nesse link: https://github.com/keirf/FlashFloppy/wiki/Downloads ou baixe a versão que usei no artigo nesse link:

FlashFloppy

 

A utilização e procedimentos para atualização do firmware não vou descrever aqui, para não deixar o post mais longo do que já está. Mas não se preocupe, pode consultar essas páginas, que está mostrando no detalhe como fazer:

https://github.com/keirf/FlashFloppy/wiki/Firmware-Programming

https://cortexamigafloppydrive.wordpress.com/

https://www.everythingamiga.com/2017/03/flashing-the-firmware-for-a-usb-gotek-drive.html

e nesse vídeo;

Uma única ressalva, antes de gravar o novo firmware, faça PRIMEIRO um backup do firmware antigo que já está no drive Gotek, usando a opção Upload do Flash Loader. Pois se tiver algum problema é só regravar novamente.

Coloquei o backup do meu aqui também, para histórico ou se alguém precisar posteriormente:

 

Firmaware Original doDrive Emulador de Disquetes Gotek SFR1M44-U100K

 

Instalando o novo Display:

Depois de terminado a etapa de gravação do firmware, vamos trocar o display original do drive Gotek pelo display OLED que compramos.

Na figura abaixo, mostra o display de frente. O lado que mostra as informações. Vai ficar virado para fora no drive Gotek, posteriormente.

Aqui mostra a parte traseira do display. Onde iremos conectar os cabinhos. Note que quando essa plaquinha chegou os pinos (terminais) vieram separados, então precisei solda-los na placa.

A ligação fica conforme a figura abaixo. Note que usei os mesmos cabinhos que já tinham no drive Gotek para o display novo. Só mudei a posições, conforme abaixo:

Depois de ligado, você já pode ligar o drive na energia que já vai aparecer informações da versão do firmware novo instalado no display.

Beleza, próximo passo é aumentar a abertura da frente plástica do Floppy Gotek para visualizar o novo display. Para isso eu usei uma serrinha e uma lima para ajeitar os cantos. (acho a parte mais chata, mas fazer o que, tem que ser feito né). Procure fazer com calma para não estragar a frente do drive, afinal, você não tem outra para repor. Outro detalhe, coloque a placa do drive no lugar ANTES de medir o quanto vai cortar, pois o espaço disponível é a conta. Se cortar errado depois não dá para a placa entrar. Aproveite para fazer um furo no lado direito para o Encoder e já faz um furo para o segundo led (indicador do power) que fica para dentro da placa.

Corte feito, agora é prender o display. Melhor solução que encontrei, cola  quente, vi nos videos por ai e ficou bom. Não precisar entupir de cola quente, só nas laterais já segurou perfeitamente.

Vai ficar assim:

Instalando o SOM:

Agora vou instalar o som. Na realidade é só uma simulação do barulho que os drives antigos faziam ao ler os disquetes. Mas para manter a nostalgia é legal colocar.

O novo firmware já dá suporte na pinagem do floppy Gotek para colocar o som. Só que é o seguinte, eu tinha em mãos apenas um buzz de 5V, como esse da figura abaixo:

Então a ligação deveria ser aparentemente simples, só soldar dois fiozinhos, 1 no positivo do buzz e outro no negativo e plugar nos pinos JB do floppy Gotek, conforme a imagem abaixo:

Mas não funcionou como esperado. Não porque não tenha dado sinal, mas o sinal é tão fraco que mal faz um tic no buzz que coloquei. Acredito que deva ser porque o meu buzz era de 5v, tem outros de 2 ou 3v para vender, mas até comprar, chegar, frete e tudo mais, preferi outra solução.  Peguei um transistor BC547 e liguei conforme a figura abaixo:

O resultado do som ficou legal, audível e funcional. A cada trilha/setor que é lido no disco, faz um som. Achei bem bacana.

Instalando o Seletor (Encoder)

Próximo etapa, colocar um seletor no drive. Com isso temos a alternativa de girar para escolher as imagens de disco e de quebra esse seletor tem um botão de pressão nele que nesse caso é usado para selecionar/ejetar a imagem de disco. No caso do MSX essa função do 3o. botão serve para entrar ou sair de um diretório (pasta, hehehe) e pode ejetar/selecionar o disco também.

Só para constar, com a instalação do novo firmware o pino JA do drive é o 3o. botão, esse para selecionar/ejetar a image, se quiser ligar um botão lá direto sem instalar esse seletor, também pode.

O seletor que usei foi esse da figura abaixo:

No site do projeto o pessoal até recomenda usar esse modelo na foto abaixo, mas para caber na frente do Floppy Gotek, precisa fazer um ajuste:

Se quiser esse de cima, precisa dessoldar esse potenciômetro da placa e ajustar conforme a imagem abaixo:

Escolhido o modelo que se deseja usar. Antes precisamos soldar uns pinos (terminais) que faltam colocar no drive Gotek. O mesmo esquema de antes usado nos terminais para atualização do firmware, ou seja, tem a posição, mas não tem os pinos soldados. Então vamos soldar, são só 2 na posição marcada com JK no floppy Gotek.

Terminais soldados. Vai ficar como na figura abaixo.

Olha o esquema de ligação na imagem abaixo:

Após plugar os pinos, conforme os diagramas acima:

Fechando o Floppy Gotek:

Agora é organizar todos os fios dentro para não ficar espalhado e pode fechar o Floppy.

No meu caso, eu coloquei esse Floppy num carcaça de drive DDX, então os passos abaixo são só acabamentos:

Finalização e funcionamento:

Finalizando tudo e montando com o MSX, olha o Pagemaker aí, funcionando belezinha.

Alguns detalhes importantes para o MSX, que é o foco aqui:

Tem que colocar um jumper no fechando o pinos JC do drive Gotek. Ainda não sei direito o porque disso, só segui as orientações do projeto, mas planejo escrever um segundo post somente com os testes do drive. Por hora deixa ele fechado.

Tem que colocar outro jumper no pino S0 do drive Gotek para setar o drive como A:

Se o seu cabo flat não tiver a inversão.

Se o seu cabo flat tiver a inversão, é só colocar o jumper no pino S1.

Isso é só para escolher se vai querer o drive com A: ou B:

Mais detalhes sobre esse procedimento, consulte aqui .

Sobre do pen drive.

  1. Copiar o arquivo FF.CFG que está na pasta examples que vem junto no arquivo .zip do firmware novo, para a raiz do pen drive.
  2. Alterar o arquivo FF.CFG com um editor de textos, procurar a diretiva host = unspecified e alterar para host = msx.
  3. Copiar os arquivos de imagem .DSK para o pen drive, pode organizar criando pastas … tipo JOGOS MSX1, JOGOS MSX2, APLICATIVOS, etc… (pode usar nomes longos 😀 )

E pronto, só colocar o pendrive no Floppy Gotek, ligar o MSX, selecionar a imagem pelo Seletor ou pelos botões e usar como um drive normal.

Obs: Por favor, consulte sempre o site do projeto para a montagem, pois traz outros detalhes que talvez lhe interessem  https://github.com/keirf/FlashFloppy/wiki/Hardware-Mods.

Conclusão:

Achei sensacional o drive com display novo, além de permitir o nome do arquivo .DSK com nomes longos, ele mostra ddd/xxx disco atual de x discos e a trilha/setor sendo lidos.

Bem melhor do que o antigo o qual tínhamos que olhar disco por disco e dar um DIR para saber seu conteúdo.

A segunda facilidade é a colocação dos arquivos. Basta copiar para o pendrive os .DSK’s e pronto.

Os mesmos vão aparecendo no display normalmente.

Depois  da imagem de disco ter sido selecionada, você pode dar um DIR, por exemplo, que vai mostrar o conteúdo do mesmo, enfim, vai fica transparente para utilizar.

Um outro ponto que achei muito massa. No pendrive vai caber muito mais que 1000 arquivos, pois é, 1000 arquivos por diretório (pasta).

Suporta MSX 1 e Posterior

Não vou fazer toda a análise do funcionamento nesse post, vou fazer uma segunda parte só com o uso e detalhar melhor como funciona.

Referências:

Tudo para o projeto, informações, compatibilidade, etc.:

https://github.com/keirf/FlashFloppy/wiki

Informações para colocar Som:

https://mingos-commodorepage.com/tutorials/gotekTeil9.php?id=89&title=Der%20Gotek%20Floppy%20Emulator%20von%20A%20bis%20Z%20%28Teil%209%29

Mais instruções:

http://torlus.com/floppy/forum/viewtopic.php?f=33&t=1683&p=11486#p16461

Informação sobre o floppy HxC

https://hxc2001.com/

Informações sobre exceções

http://tabajara-labs.blogspot.com/2015/03/amiga-gotek-floppy-emulator.html

Um Mod igual

http://projectspeccy.com/2017/11/03/gotekdvirtual-spectrum-floppy-disk/

Vídeos:

É isso pessoal, espero que tenham gostado. Se tiverem dúvidas ou sugestões, é só postar nos comentários.

Vou fazer um segundo artigo somente com a análise do funcionamento desse novo firmware em breve.

Mod para o Floppy Drive Gotek com Cortex

Emulador de Drive no PC-XT

Emulador de disquetes ou drives no PC-XT

IMG_0004

Durante um bom tempo, estive procurando uma forma de transferir arquivos do meu notebook para meu PC-XT de forma fácil. Então, depois de um tempo, percebi que não ia conseguir fazer isso no modo “plug and play”, ou seja de forma transparente, com o que eu tivesse à mão. Assim parti para estudar um pouco como fazer isso.

Tem várias formas para fazer essa empreitada:

  1. Transferência de arquivos via cabo por porta serial
  2. Colocar um drive de 3 1/2″ externo
  3. Usar o drive de 5 1/4″ (já nativos nos XTs)
  4. Usar um emulador de drive

Além dessas opções, existem outras, mas dentro do contexto que eu queria separei apenas essas. Dentre essas resolvi optar por colocar um emulador de drive (a opção 4), pois só ia precisar de um pendrive para fazer a cópia dos arquivos que baixei no meu notebook e colocar/instalar no XT. Além do mais, alguns programas vem em formatos  e imagens de instalação em forma de discos (360, 720, 1.2 e 1.44), para não ter que ficar extraindo, compondo, alterando os arquivos para depois instalar, o emulador de drive seria perfeito para essa compatibilidade.

Bom, a ideia é simples, mas a implementação disso nem tanto.

Primeiro tive que escolher um emulador de drive que servisse para o que eu queria. Dentre os vários modelos disponíveis no mercado resolvi escolher esse aqui:

DSC_0015-e1368930726965

fig. 1: Emulador de Drive 1.44 mb Modelo Sfr1m44-u100k – Frente

DSC_00161-e1368931006772

fig. 2: Emulador de Drive 1.44 mb Modelo Sfr1m44-u100k – Fundo


Escolhi esse porque além de ser fácil de achar, o preço é melhor, as pinagens de 34 vias para plugar o flat cable são padronizadas, a cor para combinar e o mais importante, ele aceita leitura/gravação de discos de alta densidade 1.44mb e os de menores capacidades também (1.2 mb, 720 kb e 360 kb).

No drive, a única configuração é o jumper para escolher entre drive A ou B, para isso basca fechar o jumper da posição DS0 ou DS1 respectivamente. Esse ponto não é critico nesse momento, pois durante os testes você poderá escolher entre um e outro, conforme a sua necessidade. Você pode baixar o manual aqui se precisar.

Bom, agora é plugar o cabo flat de 34 vias na controladora de disco e no emulador de drive, ligar a alimentação e pronto.


emulador-com-cabos

fig. 3: Emulador de Drive já com os cabos de energia e dados


IMG_0007

fig. 4: Cabo Flat já conectado na controladora de discos


Ou quase pronto 🙂 foi o que eu pensei também. Mais a frente vamos ver o porque disso, antes vamos preparar o pendrive particionado com os discos para testarmos.

Agora é preparar um pendrive com as imagens de disco:

Para isso precisa baixar o software da IPCAS para formatar o pendrive em 100 partições (100 discos).

1. Passo: Após instalar o IPCAS, plugue seu pendrive. Se tudo estiver certo, vai aparecer somente os drives removíveis no software (exemplo abaixo drive F:)

tela1

fig. 5: Tela principal do IPCAS


2. Passo: Clique com o botão direito no drive F ou vá ao menu USB Flash Drive e escolha a opção Format. Na tela que aparece marque as opções conforme a tela abaixo:


tela2

fig. 6: Tela de formatação com as opções de densidade de 1.44mb e 100 discos


3. Passo: Clique em Begin to format


tela3

fig. 7: Tela do IPCAS formatando o pendrive


Passo 4: Depois de formatado, o software já criou 100 partições ou 100 disquetes para você usar conforme a figura abaixo:


tela4

fig. 8: Tela do IPCAS com pendrive já particionado e formatado com 100 discos


Note que todos foram formatados como 1.44 mb e estão vazios.

Agora vamos mudar apenas um deles com outro tamanho.

Clique com o botão direito na partição que você quer alterar e escolha a opção format (escolhi a primeira 000).

Configure a tela conforme visto na figura abaixo:


tela5

fig. 9: Tela para formatarmos apenas 1 discos


Depois de formatado olha como fica a partição 000.

Ficou com o tamanho de 720kb e com 19% utilizado, essa utilização foi porque ele criou os arquivos de sistema do DOS 6.22 (command.com, config.sys, io.sys), conforme escolhi na tela acima.


tela6

fig. 10:  Tela mostrando o resultado do disco 000 formatado com 720 kb e com 19% de utilização


Passo 5 e último: Para copiar arquivos nesses disquetes virtuais, bastar dar um duplo clique na partição que você quiser. Isso vai abrir a tela do explorer mostrando o conteúdo dessa partição. No exemplo abaixo cliquei na partição 009 que por sinal está vazia. Agora é só copiar os arquivos que desejar e pronto.


tela7

fig. 11: Tela com windows explorer com o disco 009 escolhido por nós para copiar nossos arquivos


Outra forma é clicar com o botão direito na partição que você desejar, escolher a opção Read e na tela que se abre escolha um arquivo de imagem de disco (.img) selecione e pronto. Isso vai gravar a imagem do disco prontinha na partição.


Bem legal né.


Continuando…..


Agora com nosso pendrive pronto e com o emulador plugado, vamos aos testes.

lembra quando falei que parece que estava tudo ok. Não estava, pois no primeiro DIR que dei no disquete apareceu isso ai ó.


erro no acesso ao drive a

fig. 12: Primeiro acesso ao drive A: depois de plugar tudo


Isso ocorreu pelo seguinte motivo, a controladora de discos original do PC-XT só acessa discos de 360kb ou 720kb. Mas eu criei várias partições no pendrive de 1.44mb. Então como fazer? Tenho uma boa e uma má notícia:

A má notícia é: Precisa substituir sua controladora de discos.

A boa notícia é: É mais fácil de se encontrar controladoras de PC-ATs do que as usadas em PC-XT

Substituí a controladora com uma que funciona em PC-ATs, como essa da foto ai embaixo:


antiga-placa-controladora-ide-barramento-isa-rara-coleco-14871-MLB20091362633_052014-F

fig. 13: Placa controladora de discos para PC-AT 8 e 16 bits


Note que o barramento é suporta tanto 16 bits quanto 8 bits. Mas se o barramento do PC-XT é de 8 bits, como vai funcionar. Simples, se você verificar o barramento na placa ela está dividida como se fosse uma extensão da mesma, então você vai plugar apenas a parte da frente da placa, a parte de trás fica solta mesmo. Veja a foto abaixo:


IMG_0007

fig. 14: Placa controladora de discos plugada no barramento de 8 bits apenas


Essa placa tem várias vantagens, além de permitir que possamos plugar nosso drive de 1.44 (tanto o emulador de drive quanto um drive comum de 3,5), ela ainda nos disponibiliza conexões para porta serial, paralela e de joystick, além de um conector para HD sem ser esse maldito padrão MFM que vem nos PC-XTs (a conexão com o HD ainda não testei, se testaram podem comentar para ajudar outros).

Legal, agora sim já posso utilizar meu emulador de drives?

Ainda não, estamos quase lá, falta o pulo do gato 🙂

Acontece que a BIOS do PC-XT não suporta gerenciar os drives de alta densidade (1.44 mb) adequadamente. Putz, e agora?

Tudo tem solução menos a morte :).

Existe um software chamado 2M-XBIOS, ( pode ser baixado aqui )que pelo que etendi é uma extensão da BIOS do XT para tratar controladoras de discos, ou seja, adequa algumas características da mesma para suportar drives de alta densidade.

Resolvi experimentar.

 

Para usá-la, basta colocar a seguinte linha no seu CONFIG.SYS:

DEVICE=2M-XBIOS.EXE  A:4   B: 1  /13


Os parâmetros do drive A e B estão descritos na tabela abaixo

Tamanho Numero Observação
360K 1
1.2M 2
720K 3
1.44M 4
2.88M 5 Precisa de uma controladora que suporte ED (1 Mbits/s transfer rate)

No exemplo da linha do CONFIG.SYS estamos dizendo que o drive A suporta 1.44 mb e o drive B (normalmente o drive de 5,25 que já vem no XT) suporta 360kb.

 

Esse software só permite que se controle 2 drives, mesmo que o XT possa ter até 4 drives disponíveis. Mas falando sinceramente, 2 é mais do que suficiente para o que pretendemos.

Continuando…. agora basta reinicializar a máquina (sempre reinicie a quente, desliga mesmo a máquina para todos os seus testes) e a seguinte mensagem deverá aparecer durante o processo de boot.

 2M-XBIOS 1.3 installed on A:360K B:1.44M [INT 13h]


Agora sim, você já pode criar sua pasta no drive A, formatar, copiar ou o que sua imaginação inventar.


IMG_0013

fig. 15: Nosso emulador funcionando (detalhe, pedi para ler um disco formatado com 720kb)

 

Obs: Se precisar dar um boot por esse disco não vai funcionar, pois o arquivo 2M-XBIOS.EXE está no drive C e esse emulador de discos é de 1.44mb, então a controladora não vai trabalhar direito com ele, como explicado no artigo.

 

Atualização 21/08/2018:

Uma atualização que achei muito bacana. Hoje troquei esse drive acima por um de modelo SMUFSSV@1104. Esse modelo de drive da gotek funciona com várias outras densidades além de 1.44 Mb. Então para configurá-lo, retire todos os jumpers e só feche o J9 para funcionar em 1.44 Mb. Mais detalhes nesse arquivo: [download id=”1813″]. Um outro ponto, muito interessante e, que não tinha conhecimento é que ao invés de usar o 2M-XBIOS.EXE, é possivel usar a diretiva DRIVPARM  no arquivo CONFIG.SYS do MS-DOS, ele faz o mesmo papel de setar as configurações do drive e, diga-se de passagem, funciona muito bem. Basta colocar a linha DRIVPARM=/D:0 /F:7 dentro do arquivo CONFIG.SYS para setar o drive A: com 1.44 Mb. Mais detalhes sobre o funcionamento dessa diretiva nesse documento:

SOBRE A DIRETIVA DRIVPARAM

 

Fim da Atualização

Um detalhe que não está totalmente relacionado com nosso tutorial mas que quero registrar e que pode ser um salva vidas para muitos. Se você já tentou instalar um emulador de drive de 720kb por exemplo (muito utilizado em MSX), vai verificar que funciona parcialmente. Porquê? Faça o seguinte, vamos criar uma pasta no drive A, para isso digite:

a:\> md pasta1 <enter>
c:\> a: <enter>

espere a luz do drive apagar e digite

a:\> dir

Ué cade a pasta. Então, não criou, mesmo não dando nenhum tipo de erro. Isso acontece para qualquer operação que você tentar fazer no disco, pode até formatar que não vai dar erro e no final quando der um DIR vai encontrar o disco intacto :).

Conclusão: Não funciona, seu drive vai ficar somente como leitura, pelo menos foi isso que aconteceu comigo.


Bom pessoal, o artigo ficou um pouco extenso, resumi o que pude, mas o procedimento tem muitos detalhes que são necessários para funcionar adequadamente.


Por favor, comentem seus testes e se tiverem mais dicas a acrescentar para todos, será bem vindo.

Até a próxima.

emulador de disquetes ou drives no pc-xt