Environnement de développement pour Thomson ========================================== Regroupe des outils open source (eventuellement retouchés): _ c6809 : macro assembleur par F Mouret (www.pulsdemos.com) _ sap et sap2fs : outils de manipulation d'images disques par A.Pukall / E.Botcazou _ scan du manuel technique TO8 : www.logicielmoto.com (manuel cedic/nathan) _ scan OCR du manuel technique du TO8 (réalisé par sam groupe PULS) _ compilateur Micro C 6809 / FLEX (COPYRIGHT (c) 1981, 1987 Masataka Ohta, Hiroshi Tezuka) _ divers outils (vitalmotion) Installation / compilation ========================== Préalable : Compilation des outils (testé sous linux, devrait être ok avec mingw sous win32): _ passer dans c6809,sap,tools,mc09 puis "make" test: ex de génération d'une image disque pour le jeu (incomplet) asteroid: _ le macroassembler est appelé pour compiler le source (résultat dans AUTO.BIN) _ un fichier AUTO.BAT contient les lignes suivantes (au format basic thomson): 10 LOADM"AUTO.BIN" 20 EXEC &HA000 _ l'outil sap2fs est appelé pour créer une archive SAP contenant le binaire et le lanceur basic. => résultat dans ASTEROID.SAP lancement auto avec la touche "B" du menu (lancement auto en basic 512). Le compilateur Micro C ====================== Micro-C is a subset of C compiler. It compiles everything in 1 pass. Major limitations compared to standard C compilers are: 1) no float or double 2) no bit field 3) limited pre-processor capability (use 'cpp' of UNIX if necessary) 4) no real long (long is only 2 bytes long) Non standard features: 1) #asm and #endasm construction (dangerous, use only after ';' or '}') Le micro C est strictement K&R et n'accepte pas d'initialisation des tableaux. Les piles U et S sont utilisées (U est le pointeur de pile sur les variables de la fonction en cours). Y est le pointeur sur le début des variables globales et reste fixe. seuls A,B,D et X sont utilisés en cours de fonction. La macro #asm permet d'inclure du code machine directement. microC est capable de se compiler lui même (du moins initialement). Il est donc théoriquement possible de le faire tourner sur thomson. microC n'optimise rien. C'est au développeur de le faire explicitement.