Accueil > Bienvenue > Journal de bord > Première plongée dans SDCC

Première plongée dans SDCC

dimanche 22 janvier 2023, par Mathieu Brèthes

Toutes les versions de cet article : [Deutsch] [English] [français]

Je pense que je vais travailler sur ce projet-là, parce que davantage que développer des jeux, j’ai envie de développer des outils. C’est chouette de fabriquer soi-même ses outils. Et puis au fond, qui n’a jamais rêvé d’écrire un compilateur ?

Je rigole. L’idée ça va être d’essayer de rajouter un processeur à un compilateur existant. C’est déjà suffisamment compliqué comme ça !

Pourquoi SDCC ?

  • il est adapté pour les microcontrôleurs et les petits processeurs qu’on retrouve sur les vieilles consoles
  • il permet déjà de générer du code pour le Toshiba TLCS-90 (qui d’après la doc du TLCS-900 est compatible au niveau du jeu d’instructions).

Ce soir j’ai téléchargé le code source du compilateur et j’ai commencé à regarder. La documentation technique ne permet pas de comprendre grand-chose à comment rajouter un nouveau processeur à ce compilateur, donc ma stratégie va être de regarder comment c’est fait pour un processeur existant, et d’essayer d’adapter pour le processeur de la Neo Geo Pocket.

Première recherche, première déception : le code source relatif au processeur TLCS-90 n’est pas réellement indépendant - il a été implémenté comme une extension du Z80. Et donc ça rend la lecture très difficile car tout est mélangé. De plus, le TLCS900 n’a plus rien à voir avec le Z80 : c’est un processeur 16 bits au lieu de 8... La façon de générer un programme pour ce processeur doit être très différente (plus de banques mémoires à gérer par exemple).

Le mieux sera peut-être de regarder comment un processeur plus "propre" est codé, et de refaire à partir de 0. Par exemple le processeur AVR ?

A suivre...


Voir en ligne : The Small Device C Compiler