Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

C64UX - Un shell Unix-like pour Commodore 64

Par : Korben ✨
24 avril 2026 à 09:23

Je viens de tomber sur un projet qui va vous renvoyer direct dans les années 80 !! Ça vous dirait que votre vieux Commodore 64 puisse balancer un prompt façon Unix, avec login, éditeur de texte et 30 commandes ? Hé bien c'est exactement ce que propose C64UX , codé en assembleur pur, sans patch ROM ni rien.

L'auteur, Anthony Scarola a sorti sa dernière version en février 2026, avec une bannière de démarrage qui balance fièrement des [ OK ] à chaque étape de la séquence de boot, exactement comme un vrai système Linux un peu trop fier de lui !

En gros sur votre Commodore 64 , vous bootez normalement sous BASIC puis vous lancez le programme c64ux.prg (un simple LOAD et RUN), vous tapez votre username et votre mot de passe, et hop, vous atterrissez dans un shell qui propose 30 commandes :

LS, CAT, NANO, RM, CP, MV, SAVE, LOAD, THEME, UPTIME, DRIVE, STAT, WRITE, ECHO, SAVEREU, LOADREU, WIPEREU, PASSWD, MEM, DATE, TIME, PWD, RESET, UNAME, VERSION, WHOAMI, CLEAR, DOS, EXIT et HELP.

Et la commande EXIT vous ramène à BASIC.

La config initiale de C64UX : création du compte, date et heure, avant de tomber sur le prompt

Sous le capot de C64UX, c'est de l'assembleur 6502 brut de décoffrage. Et surtout, le projet n'utilise que les routines standard du C64, sans aucune ROM modifiée, ni aucune cartouche spéciale. Du coup ça tourne aussi bien sur un vrai C64 d'époque que sur un Ultimate 64 moderne ou dans l' émulateur VICE .

Mais le vrai morceau de bravoure dans ce projet c'est la persistence REU. Car votre shell avec ses fichiers, vous pouvez le dumper dans l'extension mémoire de l'époque via SAVEREU puis tout restaurer après coup avec LOADREU. Très pratique pour ne pas perdre vos précieux textes à chaque reset ! Par contre, sans extension REU branchée, tout s'efface au redémarrage, faudra donc penser à taper la commande SAVE à la main pour écrire sur disquette.

La sortie de la commande HELP, avec la liste des commandes disponibles

L'éditeur baptisé NANO (inspiré du vrai mais en mode super minimaliste) fait bien le taf aussi. Et les themes changent la couleur de bordure, le fond et le texte d'un coup, entre NORMAL (le bleu royal classique), DARK, ou GREEN pour se la jouer Matrix.

Création d'un fichier avec WRITE, lecture avec CAT, puis STAT et LS pour voir les métadonnées

Sur le forum Lemon64, Scarola balance une nouvelle version à peu près toutes les semaines et reconnaît lui-même être un petit nouveau en assembleur. Mais gros respect pour avoir déjà sorti 10 releases en un peu plus d'un mois quand même ! Notez que comme tout bon développeur qui sait vivre avec son temps (#troll), il s'aide d'un peu d'IA (Claude Code en l'occurrence) pour l'écriture du code.

Voilà, si vous avez un Commodore 64 qui traîne ou juste un émulateur VICE sous la main, foncez tester, c'est sympa !

SpinalVoodoo - La 3dfx Voodoo recréée de zéro en FPGA

Par : Korben
23 mars 2026 à 08:09

Quand Nvidia a racheté 3dfx, la Voodoo est morte façon Marion Cotillard dans Batman, et tout le monde était "mui tristé"... Mais vous allez pouvoir sécher vos larmes de "crocrodiles" car un dev vient de la ressusciter... dans un FPGA (c'est une puce reprogrammable).

SpinalVoodoo, c'est 430 registres de configuration, un pipeline graphique complet et des jeux à l'ancienne qui tournent OKLM du genre Quake ou Screamer 2.

Hé oui, sur un FPGA !

Le projet de Francisco Ayala Le Brun, c'est en fait une réimplémentation complète du GPU Voodoo 1 en SpinalHDL (un langage pour décrire des circuits). Pas de l'émulation logicielle genre 86Box mais une reconstruction totale du pipeline hardware registre par registre dans une puce reprogrammable. Du coup chaque pixel sort comme sur la carte d'origine comme quand elle faisait tourner Quake en 640x480 sous Windows 95. Enfin presque...

Screamer 2 par SpinalVoodoo

Je dis "enfin presque" parce que la Voodoo original, c'est pas juste un chip qui balance des triangles. Il y a en fait quatre types de registres qui réagissent chacun différemment selon le timing. Du coup si vous changez un paramètre au mauvais moment pendant qu'un triangle traverse le pipeline, les derniers pixels du triangle A se retrouvent avec la config du triangle B. Bref, bonjour la corruption !

SpinalHDL permet donc d'encoder tout ça proprement. Chaque registre déclare son adresse, sa catégorie et son mode d'accès en une seule déclaration. Pour un projet fait en solo, c'est quand même du costaud.

D'ailleurs, le récit de débogage vaut le détour. L'auteur avait des pixels d'overlay translucides qui devenaient mystérieusement transparents. Il a d'abord soupçonné un problème de framebuffer, changé les priorités d'écriture, ajouté des chemins sans cache... et l'artefact bougeait à peine. Snif...

Et là, avec Conetrace (un outil qui trace le chemin des pixels à travers le design), il a fini par trouver le coupable : 3 micro-erreurs de précision qui, séparément, étaient quasi invisibles, mais qui ensemble foutaient le bordel sur certains pixels. Le "bug mémoire" n'en était finalement pas un. Va savoir combien de développeurs hardware se seraient arrachés les cheveux là-dessus !

Quake sur SpinalVoodoo, rendu FPGA fidèle à l'original

Côté compatibilité, la majorité du pipeline graphique est implémenté (textures, transparence, brouillard, depth buffer, dithering...) par contre, y'a pas encore de contrôleur d'affichage (pas de sortie VGA native pour le moment), pas de trilinéaire, et pas de multi-texture. Attention aussi, pas de licence spécifiée sur le repo pour le moment, ce qui est un peu dommage si vous comptez réutiliser le code.

Si vous avez suivi le mec qui a conçu sa carte mère 486 from scratch avec un FPGA Spartan II, ou la Game Bub et son FPGA pour le rétrogaming, SpinalVoodoo pousse le curseur encore plus loin. Reproduire un GPU dédié avec son pipeline fixe et ses subtilités de timing, c'est quand même pas le même délire qu'émuler un CPU.

Bref, qu'une seule personne puisse recréer un GPU complet avec les outils RTL modernes, moi je trouve ça assez foufou !

Source

❌
❌