1 points par GN⁺ 2023-08-28 | 1 commentaires | Partager sur WhatsApp
  • Article sur l’exécution réussie de Linux sur le Commodore C64, un ordinateur domestique classique des années 1980
  • Le système d’exploitation Linux fonctionne très lentement sur le Commodore C64, et une RAM Expansion Unit (REU) est nécessaire en raison de la mémoire limitée de 64 KiB de l’ordinateur
  • Le système utilise une Memory Management Unit (MMU) pour émuler la mémoire virtuelle
  • L’auteur n’a pas encore testé la configuration sur du matériel réel et encourage les lecteurs à partager leur expérience
  • Pour construire le système, il faut utiliser la commande make et l’outil mos-c64-clang
  • La configuration du noyau diffère du noyau semu d’origine en raison de l’alignement des grandes sections. Une configuration de noyau plus adaptée se trouve dans le sous-dossier config
  • Pour assembler toutes les images REU nécessaires à l’émulateur VICE, utilisez le script mk_linux_reu.py
  • Pour exécuter le système, il faut créer un fichier .d64 contenant l’exécutable semu compilé. Ce fichier est ensuite chargé dans l’émulateur VICE
  • L’auteur prévoit d’ajouter sur GitHub une archive contenant tous les binaires précompilés nécessaires
  • L’auteur évoque également la possibilité d’optimiser le code 6502 compilé pour améliorer les performances, ainsi que d’implémenter une VM avec checkpoints afin d’éviter le long processus de démarrage
  • L’article se conclut en saluant le travail sur semu, un émulateur RISC-V32 minimaliste, ainsi que sur les outils llvm-mos, qui ont rendu ce projet possible

1 commentaires

 
GN⁺ 2023-08-28
Commentaire Hacker News
  • Onno Kortman a réussi à exécuter Linux sur un Commodore 64 en utilisant semu, un émulateur RISC-V minimaliste, ainsi que llvm-mos, un port LLVM pour le processeur MOS 6502.
  • Le processus prend énormément de temps, et générer une capture d’écran en « mode warp » demande plusieurs heures. Un vrai C64 devrait pouvoir démarrer Linux en moins d’une semaine.
  • Ce projet nécessite un matériel rare, une REU de 16 MB. À l’époque, les REU disponibles pour le C64 étaient de 256 kB et 512 kB.
  • Le projet est comparé à l’exécution de Doom3 sur un 386, mais le 386 est une carte PCI pour PC moderne. La comparaison suggère que c’est techniquement possible, sans pour autant représenter les capacités du matériel d’origine.
  • Depuis la disparition des schémas originaux du SuperCPU, certains réclament des schémas open source pour un « super CPU ». Le SuperCPU et son contrôleur DMA sont aujourd’hui émulés à l’aide de FPGA puissants.
  • Certains utilisateurs expérimentent aussi des accessoires C-64 récents comme « Kung Fu Flash », qui peut émuler « Super Snapshot », mais pas une REU.
  • Il y a également une discussion sur le matériel le plus ancien capable de démarrer un Linux moderne tout en restant utilisable au quotidien.
  • Ce projet est vu comme une démonstration de l’équivalence de Turing : avec assez de temps, tout ordinateur Turing-complet peut faire ce qu’un autre ordinateur Turing-complet peut faire.
  • Certains demandent si ce projet est différent de Lunix, un petit système d’exploitation multitâche pour Commodore 64.
  • D’autres proposent des méthodes alternatives pour faire tourner Linux sur un C64, par exemple en utilisant plusieurs disquettes comme RAM et en les remplaçant selon les besoins.
  • Il est précisé que le C64 n’exécute pas Linux directement, mais émule plutôt un environnement RISC-V.
  • Ce projet a aussi poussé d’autres personnes à envisager des expériences similaires, comme exécuter RISC-V sur une Gameboy ou installer un système de type Unix sur un TRS-80 Model 4.