gotek – Retropix Brasil
Tag: gotek
2,362 total de visualizações
Emulador de Drive no PC-XT
Emulador de disquetes ou drives no PC-XT
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:
Transferência de arquivos via cabo por porta serial
Colocar um drive de 3 1/2″ externo
Usar o drive de 5 1/4″ (já nativos nos XTs)
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:
fig. 1: Emulador de Drive 1.44 mb Modelo Sfr1m44-u100k – Frente
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.
fig. 3: Emulador de Drive já com os cabos de energia e dados
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:)
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:
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
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:
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:
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.
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.
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.
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 ó.
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:
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:
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
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.
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
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.
1,212 total de visualizações
Retropixemulador drive pcxt,floppy emulator,floppy emulator pcxt,gotek,PC-XT,pcxtHardware, PC-XT, Projetos, Utilitários No Comments »