A placa aceleradora gráfica 3dfx Voodoo, que ainda é famosa nos círculos de hardware de PC e jogos retrô, agora está “retornando” ao palco na forma de uma nova implementação de FPGA. Com base no fato de que vários simuladores DOS e PC foram capazes de reproduzir bem o desempenho do Voodoo, um desenvolvedor optou por reconstruir diretamente este chip clássico do século passado em hardware programável.

A marca 3dfx foi adquirida pela Nvidia em 2000 e eventualmente desapareceu, mas suas placas aceleradoras da série Voodoo ainda são as "placas mágicas" nos corações de muitos jogadores e entusiastas de gráficos 3D, e também são componentes essenciais em vários projetos de modificação retro e soluções de hardware de jogos antigos. Atualmente, os chips Voodoo foram quase completamente simulados em vários simuladores, como DOSBox-X, PCem e 86Box, e os jogadores de hardware estão constantemente tentando projetos de modificação baseados em chips originais ou soluções caseiras.
Francisco Ayala Le Brun, diretor de tecnologia da empresa holandesa VideowindoW, optou por encontrar um novo caminho de “reencarnação” para o Voodoo através do FPGA. Ele usou SpinalHDL, uma linguagem de descrição de hardware, para descrever completamente a placa gráfica Voodoo 1 e depois a converteu em um modelo de circuito digital que poderia ser executado em um moderno array de portas programáveis em campo (FPGA).
Le Brun enfatizou na descrição técnica que embora o Voodoo 1 seja muito antigo, não é de forma alguma um simples design de chip. Ao contrário das GPUs modernas, ela não possui hardware de transformação e iluminação ou funções de shader programáveis. Todos os recursos gráficos são "codificados" no chip de silício na forma de funções fixas, incluindo um pipeline completo de cálculos de gradiente para sombreamento Gouraud, amostragem de textura, mapeamento mip, filtragem de textura multinível (bilinear e trilinear), recorte alfa, cálculos de recorte, etc.


No processo de renderização gráfica baseado em 3dfx, a CPU é responsável por completar as complexas operações matemáticas necessárias para descrever a cena 3D, enquanto o acelerador Voodoo desenha triângulos texturizados na tela o mais rápido possível. Le Brun destacou que essa divisão de responsabilidades “aparentemente simples” pode facilmente levar as pessoas a pensar que a estrutura do hardware também é muito simples. Na verdade, mesmo que apenas um triângulo seja renderizado, uma série de operações como interpolação de cores, amostragem de textura, seleção de nível mip, filtragem, comparação de profundidade, corte e efeitos de neblina devem ser concluídas dentro do chip. Além disso, estes não são processos programáveis no sentido moderno, mas estão solidificados no chip na forma de circuitos fixos.
No processo de reconstrução do Voodoo 1, Le Brun precisava desvendar a complexidade oculta dentro dele: reorganizar o caminho de controle, registrar a semântica e o design de tempo de pipeline extremamente "profundo", para que este acelerador 3D inicial também pudesse dividir tarefas complexas de renderização por pixels no FPGA, como fazia naquela época, e processamento de pipeline em vários estágios, alcançando assim capacidades de transferência de dados que excedem em muito as da renderização pura de software.
Com a ajuda de ferramentas modernas como SpinalHDL e design de nível de transferência de registro (RTL), Le Brun “codificou” os conceitos arquitetônicos do Voodoo na implementação do FPGA sem perder detalhes. Ele chamou esse projeto de "SpinalVoodoo" e o tornou de código aberto no GitHub. Atualmente, apenas uma pequena parte das funções do chip Voodoo original não foi concluída.

Embora o projeto tenha gerado buzz entre a comunidade de entusiastas de hardware retrô, Le Brun ainda não demonstrou interesse em lançar e vender hardware FPGA pronto para uso no SpinalVoodoo. Para fãs de 3dfx e jogadores retrô, esta implementação de código aberto ainda oferece um novo caminho atraente para futuros projetos de hardware, cartões DIY ou soluções de modding.
saber mais:
https://noquiche.fyi/voodoo