Modder lança sistema operacional semelhante ao Unix para NES
Código-fonte agora disponível no GitHub
Resumo:
- 💻 Um modder demonstrou a possibilidade de rodar um sistema operacional similar ao Unix em um NES não modificado.
- 🕹️ O Famicom Disk System (FDS), uma versão aprimorada do NES lançada apenas no Japão, oferece memória e armazenamento extras para suportar o projeto.
- 🛠️ O processo envolveu ajustes no sistema, como definir o mapa de memória, escrever um novo código de inicialização e desenvolver novos drivers para o teclado e a unidade de processamento de imagem.
O que é isso?! A Nintendo posicionou o Famicom para parecer mais um computador do que seu equivalente ocidental – o NES – daí o nome Family Computer. O armazenamento e a memória adicionais do complemento Disk System ampliaram ainda mais seu potencial, o que um modder demonstrou ao portar um sistema operacional semelhante ao Unix para o console.
Um vídeo recente do modder “decrazyo” documenta como ele converteu um sistema operacional semelhante ao Linux para rodar em um NES não modificado. O código-fonte está disponível no GitHub para qualquer pessoa interessada em experimentá-lo ou melhorá-lo.
O sistema atende aos requisitos básicos de um sistema operacional de PC que pode, teoricamente, executar vários aplicativos e opera inteiramente em hardware lançado pela Nintendo na década de 1980. Embora o NES que definiu o mercado de consoles naquela época não tenha as especificações para este projeto, seu equivalente aprimorado apenas no Japão – o Famicom Disk System (FDS) – tem memória e armazenamento extras suficientes para realizar a tarefa com alguns ajustes significativos. O teclado oficial do console também ajuda na entrada.
Em vez de tentar portar o Linux, decrazyo construiu um sistema operacional que atendesse a critérios semelhantes ao Unix, como separação do kernel entre o usuário e o hardware, um sistema de arquivos hierárquico, multitarefa preemptiva e um shell reconhecidamente semelhante ao Unix. A base escolhida foi o Little Unix (LUnix), um sistema projetado para o Commodore 64, que se assemelha amplamente às especificações de hardware do FDS.
O processo de conversão envolveu definir o mapa de memória, escrever um novo código de inicialização do sistema, reorganizar a forma como o LUnix lida com a memória para corresponder à RAM do Famicom e escrever novos drivers para o teclado e a unidade de processamento de imagem. Os novos drivers foram possíveis graças à documentação completa que outros modders e desenvolvedores contribuíram ao longo das décadas.
Escrever um novo driver de disco foi a parte mais desafiadora porque, diferentemente da maioria das unidades de disco, o FDS lê os setores sequencialmente, em vez de arbitrariamente. Ainda assim, decrazyo conseguiu construir um driver que trata o disco como somente leitura, permitindo finalmente inicializar um shell.
Embora o produto final tenha algumas falhas graves, como falhas visuais e desempenho lento devido à unidade de disco, isso prova que o NES pode rodar um sistema operacional estilo Unix. Ele foi testado em um emulador de NES rodando a 1.000% de velocidade para compensar o desempenho, mas decrazyo mostra que ele roda em um NES americano real por meio de um cartucho ROM Everdrive.
Usar um cartucho aprimorado para mover o código para o chipset do console provavelmente ainda está dentro das regras do experimento porque muitos cartuchos oficiais do NES usavam hardware extra para expandir as capacidades do console. Ainda assim, seria interessante ver alguém experimentar o sistema operacional em um FDS real.
Outro modder construiu um sistema operacional apenas gráfico no NES em 2022. Embora a falta de um teclado dificulte a entrada, ele oferece suporte a vários aplicativos.
Fonte: techspot
Sem Comentários! Seja o primeiro.