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 | |
---|