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