quarta-feira, 23 de novembro de 2016

Montagem do Dynacom PC concluída

Terminei hoje de montar o Dynacom PC.


Fixei os postinhos impressos em 3D com araldite e esperei 24 horas para curar bem. Depois disso fixei a placa mãe nos postinhos com parafusos e liguei para ver se estava tudo correto.



Em seguida conectei a interface Avercade e testei se ela estava sendo reconhecida corretamente.

Então ajuntei as duas metades da caixa e conferi se os cabos do HD estavam bem posicionados


 Só então fechei a caixa e prendi os parafusos.


Daí testei novamente e depois de conferir que estava tudo ok coloquei a máscara traseira, feita com plástico de encadernação e presa com fita dupla face.

O micrinho combinou muito bem com o conjunto de teclado e mouse sem fio que comprei para usar com ele.

Segue abaixo o vídeo da segunda parte da montagem:


sexta-feira, 18 de novembro de 2016

Mais um par de Paddles para ATARI

Terminei a montagem de outro par de Paddles para o Atari, desta vez usando uma caixa CR-096/2 da Patola.

Infelizmente os botões vieram faltando (não dei pela falta deles quando estava na loja), mas para substituí-los eu usei o próprio desenho mecânico que estava no site da Patola para fazer um modelo 3D que um outro amigo imprimiu para mim.

A caixa tinha um furo para um LED, e pra encher este furo usei um LED!

Eis aí mais uma foto do parzinho montado.


segunda-feira, 14 de novembro de 2016

Casemod Dynavision 3 Radical

Baseado num Dynavision Radical da Dynacom (óbvio!).





Especificações:
  • Placa mãe BAT-TI2 com Celeron J1800 integrado
  • 8GB DDR3
  • 120GB SSD
  • Xubuntu 16.04 LTS
  • Adaptador para dois controles de 6 botões do Megadrive (usando #AVeRCADE )

Ainda não terminou...

sexta-feira, 4 de novembro de 2016

Interface Kempston Bidirecional

O diagrama abaixo contém o diagrama de uma interface Kempston bidirecional para o ZX Spectrum e compatíveis. Na realidade apenas 3 dos pinos são bidirecionais, bem ao próximo do que é a implementação do MSX, possibilitando adaptar alguns projetos de hardware e software que já publiquei por aqui, basicamente dispositivos baseados em SPI e I2C.



sexta-feira, 28 de outubro de 2016

Cartucho Caps Lock para Expert

Longe de casa, numa viagem a trabalho, sexta feira a noite sem ter o que fazer, estava eu escutando o Repórter Retro em sua vigésima edição quando um dos locutores sugeriu, em tom de brincadeira um cartucho com LED de Caps Lock para o Expert.


Como já havia projetado um circuito de Caps Lock para o ZX Spectrum (que nunca existiu no projeto original) resolvi entrar na brincadeira e projetar o tal cartucho de Caps Lock para o Expert utilizando o mesmo princípio.

Para ativar o LED de Caps lock o MSX utiliza o bit 6 da porta C da PPI que é mapeada no endereço de I/O 0xAAh. Então basta capturar as escritas neste mesmo endereço para se ter uma cópia do estado do LED.

O circuito pode ser implementado facilmente numa PLD, mas para manter o espírito retro o circuito foi projetado utilizando Chips TTL.

O endereço 0xAA pode ser representado em binário por 0b10101010 que correspondem às linhas de endereço A0..A7 nos seguintes estados.

linha  A7 A6 A5 A4 A3 A2 A1 A0
       1  0  1  0  1  0  1  0
 
Além disso devemos decodificar os sinais /WR e /IORQ em nível baixo

linha  A7 A6 A5 A4 A3 A2 A1 A0  /WR  /IORQ
       1  0  1  0  1  0  1  0    0    0
 
Adicionamente é necessário decodificar a linha /M1 em nível alto, para diferenciar um ciclo de leitura/escrita de I/O (/M1=1) de um ciclo de requisição de endereço adicional de vetor de interrupção (/M1=0).

linha  A7 A6 A5 A4 A3 A2 A1 A0  /WR  /IORQ /M1
       1  0  1  0  1  0  1  0    0    0     1


Para o circuito apresentado, isso não faz muita diferença, uma vez que estamos capturando somente as escritas, mas a linha /M1 vai continuar no circuito para fins didáticos.  

Continuando, a linha A2 não é utilizada na decodificação, tal qual no circuito do Expert (e do Hotbit). Sendo assim os sinais que devemos decodificar são:

linha  A7 A5 A3 A1 /M1
       1  1  1  1   1

linha  A6 A4 A0 /WR /IORQ
       0  0  0   0   0    

Aproveitando o espírito Sinclair do projeto anterior, os sinais em nível 1 vão para uma porta lógica AND formada por diodos. Qualquer dos sinais em nível "0" provoca um nível baixo na saída, sendo assim a linha G1 do 74LS138 só fica em nível alto quando todas as linhas A7, A5, A3, A1 e /M1 estão em nível alto.

As linhas /WR e /IORQ vão para os sinais /G2A e /G2B, e as linhas de endereço A6,A4,A0 vão para os pinos A,B,C do 74LS138.

Desta forma a saída /Y0 só será ativada quando todos os sinais A,B,C,/G2A,/G2B estiverem em nível baixo e o sinal G1 estiver em nível alto, o que corresponde ao endereço 0xAA ou o endereço da porta C da PPI.
O sinal do decodificador aciona um dos flip-flops de um 74LS74 que armazena o estado do bit 6 do barramento de dados do Z80.

O flip flop é acionado pela borda de subida do sinal do decodificador. Como a linha de dados do Z80 continua válida duarante a subida do sinal de /IORQ, não é necessário colocar um inversor entre a saída do decodificador (/Y0) e a entrada do flip flop (CLK).



A saída inversora do flip flop foi utilizada de forma a acender o LED através de um nível negativo, pois algumas portas TTL possuem mais capacidade de corrente para drenar energia (sink) do que para fornecer (source).

O Sinal de /RESET do Z80 é utilizado para apagar o LED durante o reset do Z80.

O circuito do cartucho de Caps Lock encontra-se na figura abaixo.

A distribuição dos sinais no 74LS138 foi feita feita para simplificar o layout do circuito impresso, cujo layout (em formato Eagle) se encontra no meu repositório do GitHub.


segunda-feira, 18 de julho de 2016

Ligação para farol Cíclope

Ligação possível para farol cíclope em veículos VW a ar. Usa uma chave HH dupla e tem 2 modos de operação possíveis:
  • Desligado
  • Conforme faróis.


Ligação alternativa com chave HH dupla com posição neutra (central). Permite 3 modos de operação:

  • Desligado
  • Sempre ligado (alto e baixo simultaneamente)
  • Conforme faróis.



sábado, 30 de abril de 2016

LED de CAPS LOCK para o ZX Spectrum

Os micros ZX Spectrum possuem um conjunto de caracteres bem completo com letras maiúsculas e minúsculas e a BIOS conta inclusive com uma função "Caps Lock", porém nenhum dos ZX spectrum jamais saiu com esse indicador. O seguinte projeto tem como objetivo adicionar um LED para indicar se essa função está ativa ou não.

O estado da função CAPS fica armazenada no bit 3 do endereço 23658 (0x5C6A), por isso a maneira mais fácil de indicar o estado do CAPS é capturar a escrita na memória no endereço 23658 e usar este sinal para acionar um flip-flop, e usar o estado deste bit acionar um LED.

O diagrama de blocos de nosso circuito se resume a um decodificador de endereços, um flip flop e o LED.


O decodificador é formado por dois comparadores 74HC688 e deve decodificar as linhas A[15..0], !MREQ e !WR. A saída do decodificador vai ao sinal de clock do flip flop e a linha de dados 3 (D3) vai à linha de dados do flip flop.

Em binário o endereço 0x5C6A corresponde a 0101 1100 0110 1010. Coincidentemente temos a mesma quantidade de zeros e de uns sendo as linhas

A15,A13,A9,A8,A7,A4,A2,A0 devem ser decodificadas em nível baixo
A14,A12,A11,A10,A6,A5,A3,A1 devem ser decodificadas em nível alto.

O circuito fica então: (link para imagem de melhor resolução)










domingo, 13 de março de 2016

Arquivos com definiçao de registradores de alguns PICs para o compilador CCS

O compilador  CCS C possui várias bibliotecas prontas para lidar com os periféricos dos PICs mas nem sempre essas bibliotecas nem sempre cobrem todas as funcionalidades disponíveis, tornando necessária a manipulação direta dos registros de função especial.

Por isso, criei alguns arquivos de 'headers' para os seguintes dispositivos:
  • PIC12F629
  • PIC12F675
  • PIC16F627
  • PIC16F627A
  • PIC16F628
  • PIC16F628A
  • PIC16F648
  • PIC16F648A
  • PIC16F688
  • PIC18F2455
  • PIC18F2550
  • PIC18F4455
  • PIC18F4550

Os arquivos estão disponíveis no meu GitHub

sábado, 20 de fevereiro de 2016

Gabarito para medição de avanço no motor VW a ar

Gabaritos para ser impresso e colado na polia do motor para fazer a conferência do avanço do ponto com luz estroboscópica.

Para ilustração apenas. O gabarito a ser impresso é o do arquivo pdf


Um é para ser colado na lateral da polia e o outro diretamente sobre ela


Na hora de imprimir configure a impressora para 100%, ou seja ela não deve ajustar a impressão ao tamanho da página.


 De qualquer forma o gabarito possui duas escalas para conferir se o arquivo foi impresso com o tamanho correto medindo com uma régua.

Link para o gabarito (aqui)

Polias de tamanhos diferentes

O gabarito foi criado para uma polia de 175mm diâmetro. Outros diâmetros requerem mudança nas dimensões.

Uma forma simples de se fazer isso é alterando a escala de impressão para um valor proporcional ao aumento no diâmetro.

Por exemplo, para uma polia de 185mm temos um fator de escala de 185/175 = 1,057

E neste caso a impressão seria feita usando uma escala de 105,7%:


Conferindo com a régua a escala aumentou para 105,7mm