sábado, 22 de fevereiro de 2020

Aventuras com Z80 - capítulo 0x1

Começo agora uma série com um dos processadores que equipam um grande número de micros clássicos de 8 bits que tanto amamos, o onipresente Zilog Z80. O que vou fazer com ele? Bom, meu objetivo é montar um Nestor...
Por ora montei um circuito de teste que peguei em www.z80.info/z80test0.htm para começar a conhecer melhor o processador.
O circuito que montei é este:




E o que ele faz? Bom, ligamos os 8 pinos de dados (D0 a D7) à terra, logo todos estão em nível baixo, com um resistor de pull down em cada pino para garantir isto. Com esta operação, enviamos a instrução Nop (no operation) para o processador. Conectamos led's aos 3 pinos de endereço mais baixos (A0 a A2) para ver o que acontece. Também é necessário manter os pinos wait, int, nmi e busreq em nível alto. Para garantir que permaneçam em nível alto, colocamos um resistir de pull up. Por fim, conectamos o reset a um botão conectado à terra, o clock e alimentação  (5v e terra). O que aconteceu? Bom, os led's dos pinos de endereço começaram a piscar pois o processador estava procurando instruções e não encontrava nada. Segue um vídeo do que falei:


Para a geração de clock, utilizei um pequeno gerador de funções que tenho, com a frequência de 200 hz, como pode ser observado no meu osciloscópio de brinquedo.

Para começar é isto. Daqui uns dias posto mais!

Tutorial de como criar um cartão CF no PC através do emulador WinUAE para uso no Amiga 600 - Parte 1

Conforme prometido, segue a parte 1 do tutorial de como criar um cartão CF no PC através do emulador WinUAE para utilizar como HD no Amiga 600:

Será necessário um cartão CF e um leitor deste tipo de mídia no PC, eu utilizo um semelhante a este:
1 - Coloque o cartão CF no leitor e proceda a limpeza:

a) Abra o prompt de comando como administrador;
b) Chame o programa diskpart digitando: diskpart
c) Digite: list disk
e) Veja na lista qual número se refere ao seu CF, no meu caso é o 2;
f) Digite: select disk 2
g) Digite: clean
h) Espere o programa terminar este processo;
i) Digite: exit

Abaixo observe como deve aparecer:


2 - Instale o WinUAE

Pegue aqui http://www.winuae.net/ e instale.

IMPORTANTE: SEMPRE QUE ABRIR O EMULADOR, O FAÇA COMO ADMINISTRADOR, SENÃO NÃO CONSEGUIRÁ GRAVAR NADA NO CF!

Esta foi a versão que instalei:

3 - Abra o programa e configure de acordo com o sistema onde este CF será instalado, no meu caso é um Amiga 600 com 4 mb de fastram. 
Observe que podem ser selecionados diversos tipos de Amiga (500, 600, 1200...etc) além da possibilidade de informar a presença e o tamanho de fastram e chipram, bem como se o o sistema possui aceleradora. Configure ao seu gosto!



4 - Você deve ter o arquivo com a rom de acordo com o sistema de destino, no meu caso é o kickstart 3.1:

5 - Agora vamos adicionar o nosso CF, clique em CD & Hard drives na barra lateral esquerda, deve aparecer isto, clique em add hard drive:


6 - Selecione o seu CF na primeira janela suspensa:


Deve ficar assim:


7 - Agora clique na barra lateral esquerda em Floppy Drives e selecione a imagem do Workbench 3.1 do disco "install" (faça uma imagem .adf do seu disco de instalação do Workbench ou procure alguma por aí), no campo Floppy Drive Emulation Speed, mova o controle para esquerda, para acionar a opção turbo, deve ficar assim. Clique em start



8 - Se tudo deu certo deve iniciar o sistema (através do disco) e aparecer uma tela como esta de baixo (ignore o arquivo "prog" por enquanto):


9 - Clique no arquivo Install3.1, após em HDTools. Clique em Ram Disk. Arraste o HDToolBox para dentro da janela Ram Disk, deve ficar assim:


10 - Após, selecione o HDToolBox que você copiou e na barra superior clique em "Icons" e dentro da janela suspensa, clique em "Information", deve aparecer uma tela com a tela à seguir. Atenção: a linha SCSI_DEVICE_NAME, modifique scsi.device para uaehf.device e salve. Após, clique no HDToolBox:


11 - Você deve estar nesta tela (no seu caso deve aparecer apenas a primeira linha), clique em CHANGE DRIVE TYPE:


12 - Nesta tela, clique em DEFINE NEW...


13 - Clique em READ CONFIGURATION, na janela que abrir, clique em CONTINUE:


14 - Clique em OK


15 - Agora, clique em PARTITION DRIVE:


16 - No meu caso, estava utilizando um CF de 512 MB, decidi utilizar apenas uma partição. Dê um nome para sua partição como HD0 ou DH0. Marque a opção "Bootable". Vamos aproveitar e clicar em "Advanced Options" e após em "Change":




17 - Agora, vamos modificar o campo MAXTRANSFER. Quando fiz um cartão CF para o meu Amiga 600 pela primeira vez, tive problemas com alguns jogos Whdload. Pesquisando sobre o assunto descobri que isto ocorre devido a esta velocidade máxima de transferência em CF's. Você pode fazer isto em outro momento, mas por quê não agora? Então modifique o valor default 0xfffffff 
para 0x001fe00 e aperte o ENTER, para o valor ficar gravado no campo! Após, clique OK:




18 - Após isto, clique em SAVE CHANGES TO DRIVE e depois EXIT. Reinicie o sistema:



19 - Se deu tudo certo, você terá uma tela como esta (novamente, desconsidere o arquivo "prog" falaremos dele no futuro). Veja que apareceu um arquivo chamado HD0:NDOS (o HD0 foi o nome que eu escolhi, no seu aparecerá o que você escolher). Na barra superior, com o arquivo selecionado, clique em ICONS  e após em FORMAT DISK:



20 - Então, escolha o tipo de formatação (quick ou complete). Eu desmarquei todas as opções (put trashcan, FFS...), escolha um nome (eu escolhi "System") e procedi a formatação, deve ficar assim:



Com isto você já tera um cartão CF reconhecido pelo Amiga, onde será possível instalar um sistema operacional. Vou parando a parte 1 por aqui, na próxima parte vamos ver com instalar este sistema.

Até mais!

























sábado, 15 de fevereiro de 2020

Trabalhos apresentados durante o curso Técnico em Mecatrônica


Os da engenharia elétrica perderam-se nas brumas do tempo...

Jogo da velha eletrônico controlado por PIC 18f4550 

pinta de ator (mentado)!
Esteira transportadora automatizada controlada por CLP e com inversor de frequência


Braço robótico controlado por Arduino




Este foi um carrinho seguidor de linha através de câmera, controlado por um Raspberry Pi. Porém, perdi os vídeos do seu funcionamento...



sexta-feira, 14 de fevereiro de 2020

TK3000

Daqui uns dias vamos falar deste cara aqui:

Instalação do cartão CF no Commodore Amiga 600 com acesso externo.


Depois de utilizar meu Amiga 600 com o emulador de disquete (e enjoar de ficar toda hora tendo que trocar de disco) parti para a instalação do cartão Compact Flash, já que este modelo, com o kickstart 3.1, permite isto. Primeiramente instalei o adaptador diretamente na placa mãe, já que o adaptador que eu tinha era deste tipo:

                                      
Pois bem, funcionou...até eu comprar uma expansão de 4mb fastram, que vai instalada em cima do m68k. Queria esta expansão para poder rodar o WHDload e me livrar da troca constante de discos.
A foto abaixo dá uma idéia do que estou falando. (a expansão Fastram é aquela plaquinha vermelha)


Nesta foto aparece a solução que tomei, pegar um cabo ide adequado e outro adaptador, comprado do Alexandre Tabajara , o qual me orientou a instalar o adaptador em cima do slot para cartão PCMCIA, colado com fita dupla-face, o qual o Tabajara envia pronto. Nesta foto acima, ainda estava estudando a melhor maneira de faze-lo.
Bem, criei coragem e meti o estilete no Amiga...abri um orifício (inicialmente um pouco menor) e depois fiz os ajustes com lixa.



 Agora ficou assim, bem mais fácil de tirar/colocar o cartão CF


Num próximo post, vou fazer um tutorial de como criar este cartão CF utilizando o emulador WinUAE.




Instalação de emulador de drive no Commodore Amiga 600 e upgrade para FlashFloppy




O meu Amiga 600 veio com drive de disquete "padrão", mas hoje em dia, não é uma tarefa das mais fáceis arranjar disquetes de 3 1/2, além do que, transferir as imagens .adf para estes disquetes também não é muito prático, explico: Para mim não é possível gravar estas imagens em um drive de PC (parece que existe uma maneira, mas envolve a instalação de um drive de amiga no PC ou algo assim) ou utilizar a porta serial ou paralela do Amiga conectada ao PC para gravar estas imagens. O Amiga, com o kickstart adequado, pode acessar um HD ou cartão CF, que foi o caminho que tomei inicialmente, utilizando um programa chamado TSgui para gravar as imagens que estavam no CF para os disquete (mas isto é assunto para outro post). Enfim, preferi um caminho, na minha opinião, mais fácil, o emulador de drive Gotek.
                                       

Comprei o emulador (pode ser qualquer um, 1.44 mb, 720 kb, tanto faz), porém, este drive com o firmware nativo é uma bosta, nem sei se funciona no Amiga. O que fazer?
Aí entra uma solução que é uma mão na roda para quem gosta de micros velhos e não quer "sofrer" mais com os discos, o Flashfloppy.
Retirei a descrição do Flashfloppy diretamente do github do projeto, o qual deixo aqui para dar o devido crédito:

FlashFloppy é um emulador de unidade de disquete para o onipresente hardware Gotek . Conecte-se a máquinas retrô como uma unidade de disquete real, mas use imagens de disco em um pen drive moderno!
  • Diga adeus aos disquetes antigos e não confiáveis
  • Faça o download e reproduza dos arquivos de imagem de disco para suas máquinas retrô
FlashFloppy é o emulador de disquete nº 1 :

Bom, é isto. No github tem as informações necessárias para atualizar o emulador com o firmware do Flashfloppy e outros mods que podem ser feitos no drive. Também utilizei informações valiosas deste site onde é apresentado como fazer a modificação com riqueza de detalhes:

Taí a criança aberta, ali no canto inferior esquerdo, tem que soldar uns pinos, para poder realizar a atualização do firmware.


Tem que ficar assim:


Precisamos também de um conversor USB-Serial, usei este aí de baixo:
Conversor USB-Serial Rs232 FTDI Ft232rl TTL 5V 3V3, soldei dois pinos em 5V e GND também para alimentação do drive durante o processo de atualização.


Basicamente é isto que esta ai em baixo que tive que fazer, ligar TX e RX do conversor com RX e TX do drive e os 5 V e GND também, claro que também liguei o cabo USB no conversor e no PC. Para colocar o microcontrolador do drive em modo programação, deve-se tambem colocar um jumper entre dois pinos. Para uma melhor descrição deste procedimento, repito os sites em que me baseei:





Agora é só remover o drive antigo, instalar o emulador (no meu caso, preferi pegar um cabo flat comprido e fazer um cabo de energia do mesmo tamanho e deixar o drive "externo", para não ter que cortar o gabinete do Amiga), pegar as imagens .adf, jogar em um pendrive e correr para o abraço.