Page 1 sur 1

Production de programmes ASM TI-68k/AMS sans utiliser GCC4TI

Message non luPosté: 10 Déc 2016, 19:13
de Lionel Debroux
Aujourd'hui, j'ai passé un peu de temps sur la création de programmes ASM pour TI-68k/AMS en utilisant une toolchain de cross-compilation m68k ELF telle que celle qui est packagée par Debian Stretch / Sid.
Ces travaux n'ont évidemment pas vocation à remplacer GCC4TI, qui utilise des binaires COFF et AmigaOS et non ELF, qui comporte beaucoup de spécificités plate-forme (donc a des besoins forts de compatibilité antérieure), et a très peu d'utilisateurs - donc il n'est pas possible de justifier de passer beaucoup de temps à la création d'une nouvelle toolchain.
Mais je cherchais à me passer de GCC4TI dans un use case assez limité (ici: un seul morceau d'assembleur pur, composé de code indépendant position, donc sans table de relocation), parce que j'ai quelque chose derrière la tête. En effet, si j'avais du temps un jour (...), la réécriture en pur ASM des ROM dumpers TI-68k, couplée à mes travaux d'aujourd'hui, permettrait de packager les ROM dumpers pour Debian et dérivées, ou toute autre distro qui a pour politique d'enlever les morceaux qui ne peuvent pas être recompilés avec des logiciels packagés par la distribution :)
Pour les dumpers TI-(e)Z80, il faudrait packager spasm-ng.

Pour qu'il ne se perde pas complètement, même au cas où je n'en fasse jamais rien d'autre, ça a du sens de documenter publiquement ce proto.
Le tarball joint contient:
  • un programme de test tout simple;
  • un ldscript pour que le linker sache générer un programme .89z complet, avec son header;
  • un script de build bash qui prend en paramètre le nom du code source d'entrée, le nom du répertoire et le nom de la variable cible côté calculatrice, et réalise l'assemblage, le link et le calcul de checksum, pour que le fichier produit soit prêt à l'emploi. Je l'ai testé avec TIEmu.

Re: Production de programmes ASM TI-68k/AMS sans utiliser GC

Message non luPosté: 28 Déc 2016, 18:38
de compsystems
Please a version for Windows-OS