- Forth Deck mini é uma versão em gabinete da placa My4TH com teclado, tela e bateria, formando dentro do aparelho um pequeno ambiente de desenvolvimento Forth independente
- O núcleo é uma CPU de lógica CMOS discreta de 8 bits, com clock de 8 a 14 MHz, 32 KB de ROM, 32 KB de RAM e até 256 KB de EEPROM
- A entrada e a saída ficam a cargo de um LCD de 40×4 caracteres e de um teclado QWERTY de 56 teclas, e a bateria LiPo de 6,6 Wh permite 6 horas de funcionamento sem recarga
- A expansão usa RS-232 a 4800 bauds e barramento I2C, e a PCB do teclado foi projetada para economizar os pinos de I/O limitados usados para acionar o LCD e a matriz de teclas
- Apenas o kit de teclado da Budgetronics não basta para montar tudo; para construir o Forth Deck, é necessária uma My4TH computer board separada e uma configuração de componentes opcionais
Uma configuração que transforma a placa My4TH em um dispositivo Forth portátil
- Forth Deck mini é uma versão da My4TH computer board com teclado e tela adicionados, instalada em um gabinete
- Graças à bateria recarregável integrada, ele pode ser usado sem tomada
- É possível escrever e depurar programas Forth no próprio dispositivo, sem precisar de um terminal serial ou PC
- O modo de uso é parecido com o interpretador Basic embutido dos computadores domésticos dos anos 1970 e 1980
Especificações de hardware
-
Tela e entrada
- LCD de 40×4 caracteres
- Teclado QWERTY de 56 teclas
-
Energia e dimensões
- Bateria LiPo de 6,6 Wh
- 6 horas de funcionamento sem recarga
- Dimensões de 198×118×35 mm
-
CPU e memória
- CPU de lógica CMOS discreta de 8 bits
- Frequência de clock de 8 a 14 MHz
- 32 KB de ROM, 32 KB de RAM, até 256 KB de EEPROM
- 17 chips de lógica CMOS da série 74 e 3 transistores
-
Entrada/saída e sistema
- RS-232, 4800 bauds
- Barramento I2C para expansão
- Sistema Forth 2012 de 16 bits
PCB do teclado e kit de montagem
- O teclado e a tela são conectados à placa My4TH por cabo flat
- A PCB do teclado inclui LCD, 56 botões de pressão, conector USB type B mini, soquete Qwiic, 74HC574 etc.
- O circuito de carregamento da bateria é opcional
- A lista completa de componentes pode ser consultada no Forth Deck construction manual
- Os materiais necessários para a montagem podem ser baixados em download
- É possível comprar o kit de teclado do Forth Deck na Budgetronics
- Para reduzir custos, a bateria e o circuito de carregamento não estão incluídos
- Alguns conectores opcionais também ficam de fora
- Um conjunto de espaçadores está incluído para permitir empilhar as duas placas e montar uma versão desktop sem gabinete
- Para completar o Forth Deck, é necessária uma My4TH computer board separada
Como acionar o LCD com pinos de I/O limitados
- O LCD opera em modo de 4 bits para poupar pinos do conector de I/O da My4TH
- O conector de I/O da My4TH tem apenas 5 saídas digitais não usadas, e o LCD grande tem 2 entradas de chip select, faltando 2 saídas em relação ao necessário
- As saídas digitais faltantes são complementadas por um 74HC574 octal D-type bus latch
- Esse CI é cabeado como um registrador de deslocamento de 4 bits de largura e profundidade 2
- Como resultado, são obtidas 8 saídas digitais adicionais
- Ao inserir dados no 74HC574 por clock, é usada a linha SCL do barramento I2C
- Mesmo que o 74HC574 seja acionado por clock com o sinal SCL, os dispositivos no barramento não enxergam uma condição válida de início I2C
- Para evitar escritas indesejadas em registradores do LCD, a tela usa o sinal de seleção OUT3 da porta de I/O digital da My4TH
- As portas AND de resistor-diodo em R3/D6 e R4/D8 mascaram o chip select do LCD
- C2 e C3 filtram glitches gerados pela alternância dos pinos do 74HC574 e pela capacitância parasita de D6 e D8
Teclado de 56 teclas e reset por hardware
- O teclado é composto por 56 teclas no total
- O espaçamento entre teclas é de 12 mm, por isso é difícil usar teclas maiores e mais confortáveis
- A intenção era tornar o dispositivo o menor possível, mas a tela fez a largura mínima chegar a 190 mm
- Com espaçamento de 12 mm, cabem 14 teclas por linha e, em uma configuração de 4 linhas, chegam-se a 56 teclas no total
- A entrada de teclas é lida usando todos os 6 pinos de entrada não utilizados do conector da porta de I/O da My4TH
- Em combinação com 9 saídas digitais, lê-se uma matriz de teclas 6×9=54
- As 2 teclas restantes são teclas especiais: shift e reset
- O reset por hardware é executado pressionando a tecla Reset enquanto a tecla shift está pressionada
Circuito de bateria, software e separação da PCB
- Uma bateria LiPo é usada como fonte de alimentação do sistema
- O circuito de carregamento é baseado no chip TP5400, amplamente usado em power banks USB de baixo custo
- Se for difícil soldar pequenos componentes SMD, é possível usar um módulo TP5400 montado e conectá-lo à PCB do teclado com fly wires
- O software de suporte à PCB do teclado está integrado a partir da ROM 1.0 da My4TH
- Ao conectar a placa de expansão do teclado à placa do computador My4TH, a My4TH detecta automaticamente o teclado e o LCD
- A PCB foi preparada para poder ser cortada ao meio, separando teclado e tela
- A tela pode ser montada em um ângulo diferente do teclado
- É possível usar um teclado mais confortável feito por você mesmo
Exemplos e licença
- Há um exemplo de editor de texto Forth integrado
- Como exemplo de jogo, é possível baixar o 2048
- O cross-assembler myca usa a licença GNU General Public License, Version 3
1 comentários
Comentários do Hacker News
A CPU deste computador usa microcódigo e é feita com um pequeno número de chips lógicos discretos e EEPROM
O barramento de dados/endereço é de 8 bits, mas a unidade NOR processa apenas 1 bit, então para fazer uma soma de 8 bits o microcódigo precisa rodar em loop
Achei que seria necessário um deslocador em hardware para acessar os bits D1~D7, então fui olhar o esquema, mas na prática não existe um; o deslocamento é feito pela tabela de consulta da EEPROM
Se você se interessa por projetos de CPU legais, também vale olhar o Novix NC4000 ou o RTX2000. Os bits das instruções controlam quase diretamente vários multiplexadores e unidades dentro do chip, então quase não há decodificação
Quando eu era adolescente, era obcecado por Forth e CPUs de componentes discretos, e se procurar bem ainda deve dar para encontrar antigos webrings de CPUs caseiras feitas com componentes discretos
Essa obsessão acabou me levando à minha profissão atual de projetista de hardware digital, e fico realmente feliz quando um post assim chega ao topo do HN
Gosto de ler sobre esse tipo de CPU de componentes discretos otimizada
São só 16 ICs lógicos, e não há nem somador. A função da ALU é apenas uma única porta NOR de 1 bit
Mais detalhes aqui: http://mynor.org/my4th.htm
Fico me perguntando o que impede hoje em dia de fazer algo como um TRS-80 Model 100 para hobby
Tinha uma LCD 40x8, um dos melhores teclados de todos os tempos, e a comunidade de teclados customizados parece capaz de fazer praticamente qualquer teclado que quiser
No Model 100, o teclado ocupava a maior parte do espaço, mas ao mesmo tempo era realmente utilizável. O importante é que a tela 40x8 era grande o bastante e fácil de ler, e esses “decks” com telinhas 640x480 são difíceis de ler, especialmente para olhos mais velhos
O Psion 5 também tinha um teclado bem utilizável e uma tela melhor que a do M100, mas não sei se um hobbysta conseguiria fazer um teclado desses. Talvez desse para desmontar um e reaproveitar, embora isso possa parecer heresia para alguns
Esses “decks” atuais com matriz de botões dificilmente podem ser chamados de teclados de verdade, e acho que o PET 2001 já mostrava isso. Eu programava bastante em um PET antigamente
Nem precisa ser um produto viável comercialmente, então fico me perguntando por que não aparecem coisas “de verdade” e “boas”. Dizer que é por dinheiro não parece explicar tudo, considerando quanto as pessoas gastam com hobby
A densidade de pixels subiu muito, então telas grandes são de alta resolução, e aí é preciso um dispositivo muito mais rápido para dirigi-las. Nesse ponto, o controlador de vídeo acaba ficando muito mais poderoso que o computador em si, o que parece meio absurdo
Esse foi o obstáculo em que esbarrei. É perfeitamente possível, mas acaba ficando mais estranho do que eu pretendia
Não há motivo para limitar as opções, basta comprar e usar o teclado que você quiser. Não existe nada impedindo você de usar o teclado que quiser, e isso me parece ser o progresso
Já montei 5 placas My4th Light. Se houver interesse, pode entrar em contato pelo meu perfil
Se aparecer gente suficiente, penso em fazer também um lote do Forth Deck mini
Pretendo gravar um vídeo curto de demonstração do Forth, mas ainda não consegui começar
Em resumo, parece estar mais próximo de um AlphaSmart para programação
Se você não conhece o AlphaSmart, era um dispositivo parecido com uma máquina de escrever com uma pequena tela LCD. Funcionava por horas com bateria, tinha espaço de armazenamento limitado e permitia salvar rascunhos ao conectar a um computador maior
Onde estaria a versão disso para programação? Pensei nisso recentemente ao ver um post no HN sobre rodar um Mac 128k em um RPI2040. Em teoria, seria possível fazer trabalho real até em um sistema desses, mas não seria grande coisa para entretenimento
Um AlphaSmart de computação de baixo consumo precisa de um teclado de verdade, uma tela de baixo consumo, se possível uma tela de tinta eletrônica maior, e sem conexão com a internet
Não estou falando de calculadoras como TI-83, TI-92 ou, mais recentemente, NumWorks. Essas são para cálculo e o formato de calculadora é desconfortável
https://en.wikipedia.org/wiki/AlphaSmart
https://news.ycombinator.com/item?id=40699684
https://axio.ms/projects/2024/06/16/MicroMac.html
https://en.wikipedia.org/wiki/TI-83_series
https://en.wikipedia.org/wiki/TI-92_series
https://www.numworks.com/
Aí ele poderia funcionar só com energia solar, sem bateria, e o armazenamento em massa poderia usar flash NAND paralelo com baixo ciclo de uso
Eu não consegui passar da fase de protótipo inicial, e as notas de projeto do zorzpad estão em sua maioria em espanhol em http://canonical.org/~kragen/sw/zorzpad.git/. O za3k vance está fazendo o zorchpad inspirado nisso: https://blog.za3k.com/tag/zorchpad/
O principal objetivo do zorzpad é uso de longo prazo com vida útil de 53 anos. Para isso, considero que não se deve usar bateria, porta de carregamento nem key switches prontos. Isso leva a muitos compromissos no projeto do sistema, e ainda não encontrei um processador com MMU que funcione com menos de 1 miliwatt
“zorzpad” é um trocadilho com “thinkpad”, e em alguns dialetos do espanhol é pronunciado como “thorthpad”, então a piada é que seria algo como o oposto de thinkpad
Acho bem provável que telas de tinta eletrônica consumam energia demais. Faz anos que procuro números confiáveis de consumo, e dividindo a duração da bateria do Amazon Kindle pela capacidade da bateria chega-se a uma estimativa de algo em torno de 100 miliwatts
A tela alternativa à tinta eletrônica do zorzpad tem cerca de um décimo do tamanho e um milésimo da potência, ou seja, algo em torno de 100 microwatts; a garantia do datasheet é só de 20Hz, mas ela também consegue atualizar a 60Hz
Se você não se importa em eliminar a bateria ou não está pensando em produção em massa, literalmente dá para comprar um AlphaSmart Neo e ligar o teclado e a tela a algo como um ESP32
Ele tem BASIC, processador de texto e planilha em ROM, além de uma tela com endereçamento por pixel e um teclado excelente para o tamanho. Também tem RS-232 e modem de 300bps
Mais recentemente, o Clockwork-PI lembra essa proposta, mas o teclado parece de brinquedo e, no fim, não passa de um notebook Linux com todo tipo de distração
O Model 100 ainda era usado por jornalistas até os anos 90 para escrever matérias e enviá-las para um service bureau
Para mim, a função principal era o teclado e os atalhos do Mac, então eu conseguia usar sem precisar pensar em nada
https://www.dannysalzman.com/2024/06/20/modding-alphasmart-n...
Como precedente de computadores com interpretador Forth embutido, houve o Jupiter Ace: https://en.wikipedia.org/wiki/Jupiter_Ace
E o Open Firmware, usado em Sun, Macs PowerPC, One Laptop per Child e outros, também utilizava Forth. Ele também era usado em ROMs de placas de expansão para ficar menos dependente da CPU: https://en.wikipedia.org/wiki/Open_Firmware
Se você se interessa por computadores pequenos, mas não se anima muito com Forth nem solda, dá para comprar uma caixinha ESP32 bem razoável por 30 dólares: https://shop.m5stack.com/products/m5stack-cardputer-kit-w-m5...
Mesmo assim, é muito mais poderoso do que o Amiga que eu emulava nos fins de semana, e o Amiga tinha um desktop GUI completo, compilador e várias ferramentas
Fico curioso sobre o que dá para fazer no estado padrão
Edit: tanto faz, acabei pedindo mesmo assim. Vou descobrir quando chegar, mas ainda tenho curiosidade sobre o que esperar até lá
É um dispositivo muito usado no Meshtastic
Hum... também existe o Forth do Collapse OS: http://collapseos.org/forth.html
Isso me lembra o Oric-1
https://en.m.wikipedia.org/w/index.php?title=Oric_(computer)...