Il existe depuis longtemps des compilateurs C ciblant le Z80 et/ou l'eZ80, citons:
- Small Device C Compiler (SDCC), sur lequel un environnement nommé "tisdcc" avait été créé;
- le compilateur C officiel de Zilog.
Par le passé, il y a eu, dans la communauté TI et ailleurs, des tentatives de créer des backends Z80 pour LLVM et GCC (par AHelper, notamment), ce qui est la partie importante pour cibler un Z80 avec Clang ou GCC. Pour être compatible avec les extensions du compilateur Zilog, des extensions à Clang et GCC seraient nécessaires, mais sont moins importantes. LLVM/Clang est techniquement beaucoup plus moderne que GCC, et la création de backends LLVM est en principe plus facile, même si le nombre brut de lignes de code est plus élevé - les lignes individuelles sont plus faciles à produire.
Avec l'arrivée des TI-eZ80, l'intérêt de créer un backend (e)Z80 pour LLVM a beaucoup augmenté dans la communauté. La toolchain de Mateo, basée sur le compilateur Zilog, popularisée par la capacité "programmes C TI-eZ80" de notre IDE en ligne Project Builder (capacité copiée des semaines plus tard par l'autre IDE en ligne...), et CEmu, donnent aux gens le goût de programmer en C pour les TI-eZ80. Cependant, les limitations du compliateur de Zilog sont pénibles.
Il y a quelques semaines, jacobly, un contributeur majeur de CEmu, s'est mis à refaire un backend Z80 + eZ80 à LLVM, from scratch. Maintenant que ça commence à générer du code dans des cas simples, il a publié ses travaux, pour que les autres puissent contribuer et améliorer, dans l'esprit de partage de notre communauté
Pour l'instant, il reste pas mal de travail, mais c'est une étape importante, et il nous incombe collectivement d'y contribuer, pour ceux qui en ont les compétences et le temps, et d'en tirer parti quand elle fonctionnera bien
Repository du projet: https://github.com/jacobly0/llvm-z80
Source de l'info: IRC (sur EFNet, channel #ez80-dev)