1 pontos por GN⁺ 2023-08-28 | 1 comentários | Compartilhar no WhatsApp
  • Artigo sobre a execução bem-sucedida do Linux no Commodore C64, um clássico computador doméstico dos anos 1980
  • O sistema operacional Linux roda muito lentamente no Commodore C64 e, por causa dos limitados 64 KiB de memória do computador, é necessária uma unidade de expansão de RAM (REU)
  • O sistema usa uma unidade de gerenciamento de memória (MMU) para emular memória virtual
  • O autor ainda não testou a configuração em hardware real e incentiva os leitores a compartilharem suas experiências
  • Para montar o sistema, é preciso usar o comando make e a ferramenta mos-c64-clang
  • A configuração do kernel difere do kernel semu original por causa do grande alinhamento de seções. Uma configuração de kernel mais adequada pode ser encontrada na subpasta config
  • Use o script mk_linux_reu.py para montar todas as imagens de REU necessárias para o emulador VICE
  • Para executar o sistema, crie um arquivo .d64 que contenha o executável semu compilado. Esse arquivo é então carregado no emulador VICE
  • O autor planeja adicionar ao GitHub um arquivo compactado com todos os binários pré-compilados necessários
  • O autor também menciona a possibilidade de otimizar o código 6502 compilado para melhorar o desempenho e implementar uma VM com checkpoint para evitar o longo processo de inicialização
  • O artigo termina reconhecendo o trabalho do semu, um emulador minimalista RISC-V32, e das ferramentas llvm-mos, que tornaram este projeto possível

1 comentários

 
GN⁺ 2023-08-28
Comentários no Hacker News
  • Onno Kortman conseguiu executar Linux em um Commodore 64 usando semu, um emulador RISC-V minimalista, além do llvm-mos, a porta do LLVM para o processador MOS 6502.
  • O processo consome muito tempo, e gerar capturas de tela no "modo warp" leva horas. Um C64 real deve conseguir inicializar o Linux em cerca de uma semana.
  • O projeto exige um hardware raro, a REU de 16MB. As REUs disponíveis para o C64 na época eram de 256kB e 512kB.
  • O projeto é comparado a rodar Doom3 em um 386, mas um 386 é uma placa PCI para PCs modernos. A comparação sugere que isso é tecnicamente possível, mas não representa a capacidade do hardware original.
  • Há um pedido por esquemas open source da "SuperCPU" depois que os esquemas originais da SuperCPU se perderam. A SuperCPU e seu controlador DMA atualmente são emulados usando um FPGA poderoso.
  • Alguns usuários estão experimentando acessórios recentes para o C-64, como o "Kung Fu Flash", que pode emular o "Super Snapshot", mas não uma REU.
  • Há uma discussão sobre qual é o hardware mais antigo capaz de inicializar um Linux moderno e ainda ser utilizável no dia a dia.
  • Este projeto é visto como uma demonstração de equivalência de Turing: dado tempo suficiente, qualquer computador Turing-completo pode fazer o que outro computador Turing-completo faz.
  • Há uma pergunta sobre se este projeto é diferente do Lunix, um sistema operacional pequeno e multitarefa para o Commodore 64.
  • Alguns usuários sugerem maneiras alternativas de executar Linux no C64, incluindo usar vários disquetes como RAM e trocá-los conforme necessário.
  • Foi explicado claramente que o projeto não faz o C64 executar Linux diretamente, e sim emular um ambiente RISC-V.
  • O projeto levou outras pessoas a pensar em projetos parecidos, como executar RISC-V em um Game Boy ou instalar um sistema estilo Unix em um TRS-80 Model 4.