Paramétrage de Dev-C++ pour les développements sur Dreamcast avec le package de L@Cible.
Version 1.0 // JMD // 25/01/2004
1 – Récupération de tout ce dont on a besoin.
On a besoin de trois choses :
Dev C++, que l'on peut trouver sur le site de BloodShed ( devcpp4980.exe : 12 Mo) : http://www.bloodshed.net/dev/devcpp.html . Pour ce document, j'ai utilisé la version : Dev-C++ 5.0 beta 8 (4.9.8.0)
Du package version 0.2 (DC-Dev-C++-0.2.rar : 29.6 Mo) avec le compilateur pré configuré de L@Cible que l'on trouve sur son site : http://la.cible.free.fr/DreamCast/Dev-C++/
Du petit template qui va vous permettre de facilité la création de nouveau projet (Dev-Cpp - DC Template.zip : 6 Ko). Je l'ai posé sur mon site là : http://jm1200.ifrance.com/jm1200/devcpp/Dev-Cpp-DCTemplate.zip
2 – Installations
Ce document représente une installation sur un poste propre. Aucun IDE ou autre outils de programmation relatif ou non à la Dc n'a été installé au préalable.
La première chose a installer est Dev C++. Je choisis l'installation 'Typical' et je l'installe dans le répertoire 'C:\Program Files\Dev-Cpp'. Le programme se lance et choisis la langue (french) puis je quitte le programme.
La deuxième chose à faire est d'installer le package de l@cible. Pour ça, il suffit de le décompresser avec WinRAR (http://www.rarsoft.com/) dans le répertoire d'installation (dans mon cas 'C:\Program Files\Dev-Cpp')
Voilà ce qui doit être dans le répertoire d'installation de Dev C++ :
[bin]
copying.txt
[dcinclude]
[dclib]
devcpp.exe
[Examples]
[Help]
[Icons]
[include]
[Lang]
[lib]
[mingw32]
NEWS.txt
Packman.exe
[sh-elf]
[Templates]
uninstall.exe
vRoach.exe
vUpdate.exe
A ce niveau là, copiez le fichier startup.o que vous trouverez dans le repertoire C:\Program Files\Dev-Cpp\Examples\DreamCast\PNG là : C:\Program Files\Dev-Cpp\sh-elf. Ceci est important car lors de toutes les compilations, l'éditeur de lien aura besoin de ce fichier.
Pour terminé, il vous faut décompresser l'archive Dev-Cpp - DC Template.zipdans le répertoire Templates de Dev-Cpp.
3 – Configuration du compilateur
Pour configurer le compilateur, il faut lancer Dev-cpp puis aller dans le menu Outils/Options du compilateur.
La fenêtre suivante apparaît alors :

Cliquer sur le + vert et pour créer un nouveau profil que vous appellerez Dreamcast.
Sélectionner ce nouveau profil et aller dans l'onglet Répertoires et changez les valeurs comme indiqué dans les images suivantes :

Binaires:
C:\Program
Files\Dev-Cpp\sh-elf
C:\Program Files\Dev-Cpp\sh-elf\bin
C:\Program Files\Dev-Cpp\Bin
C:\Program
Files\Dev-Cpp\lib\gcc-lib\mingw32\3.2

Répertoires
bibliothèques :
C:\Program Files\Dev-Cpp\dclib

Répertoires
C .h :
C:\Program Files\Dev-Cpp\dcinclude
Tout enlever dans le dernier répertoire (Répertoires C++ .h).
Ensuite, dans le dernier onglet (programmes), changer :
gcc par : C:\Program files\Dev-Cpp\bin\sh-elf-gcc.exe
g++ par :C:\Program files\Dev-Cpp\bin\sh-elf-g++.exe
Laisser le reste tel quel.
Cliquer sur OK pour valider ce nouveau profil.
4 – Tester la Configuration
Une fois ce paramétrage OK, il y a dans le répertoire exemples, deux petits programme qui vont nous permettre de tester la configuration.
Faire Ouvrir Projet ou fichier dans le menu fichier puis choisir dans le répertoire 'C:\Program Files\Dev-Cpp\Examples\DreamCast\PNG' le fichier ProjetPNG.dev.
Dans l'onglet projet de la fenêtre de gauche de Dev-Cpp, cliquer avec le bouton droit sur la racine 'Projet1' .
La fenêtre suivante s'ouvre alors et choisissez le profil Dreamcast dans le 3eme onglet.

Avant de tester, double cliquez sur le fichier Dreamcast.Mak et enlever la ligne :
dc-tool -e -x $(BIN)
En effet, les exemples envoient automatiquement le programme compilé à la DC avec DC-Tool. Pour notre test, ce n'est pas utile.
Maintenant, il ne reste plus qu'à faire Ctrl+F11 pour lancer la compilation.
Regarder en bas dans l'onglet Log de Compilation et vérifier que Exécution terminée, Compilation OK est bien écrit.
Et voilà, votre environnement est fonctionnel.
5 – Création d'un nouveau projet
La création de nouveau projet n'est malheureusement pas complètement automatique. La marche à suivre est la suivante :
aller dans le menu Fichier/Nouveau/Projet, puis sélectionner dans l'ongler Dreamcast le type de projet Dreamcast. Choisissez C ou C++ et le nom du projet puis cliquez sur OK Enregistrez alors le projet là où vous voulez.
Dans l'onglet projet de la fenêtre de gauche de Dev-Cpp, cliquez avec le bouton droit sur projet puis choisissez Options du projet. Changez alors le compilateur par défaut pour que ce soit Dreamcast (onglet compilation) et le nom du fichier produit en projet1.elf dans le 6eme onglet (Construction). Faites Ok


Voilà, vous pouvez commencer votre nouveau projet.
6 – Ajouter un Romdisk à un projet
Une fois que votre projet existe (cf 5), vous pouvez ajouter un Romdisk pour stocker des informations.
La manipulation est un peu longue mais assez simple :
Aller dans le répertoire de votre projet
Créer un sous-répertoire dont le nom est Romdisk et posez y les fichiers dont votre projet a besoin(attention à la taille, car il sera chargé en mémoire)
Ouvrez votre projet
Avec le bouton droit sur le nom du projet dans la fenêtre de gauche, cliquez sur Nouveau Fichier Source
Renommez ce fichier (avec le bouton droit) en Dreamcast.mak
Éditez le fichier (qui est vide) et ajoutez les lignes suivantes :
all-before:
genromfs -f romdisk.img -d romdisk -v
bin2o romdisk.img romdisk romdisk.o
Allez dans les options du projet puis dans l'onglet Makefile.
Ajoutez le fichier dreamcast.mak que vous avez crée un peu plus haut.

Allez maintenant dans l'onglet Paramètres et ajoutez 'romdisk.o' apres startup.o dans l'éditeur de lien

Allez enfin dans le second onglet (Fichier) et sélectionnez Dreamcast.Mak. Désélectionnez alors les deux options : Inclure lors de la compilation et Inclure lors de l'edition de lien.

Voilà, il ne vous reste plus qu'à compiler et tout devrait etre OK
Pour terminé, maintenant que vous avez compilé une fois et que les fichiers existe, rajouter
rm -f romdisk.img romdisk.o
dans dreamcast.mak (juste apres all-before:). Ceci va vous effacer les fichier du Romdisk pour les reconstruire à chaque compilation.
7 – faq
Le programme compilé fonctionne avec un 'coder cable' mais en en autoboot.
> Scherzo sur DCEmulation.com (là : http://www.dcemulation.com/phpBB/viewtopic.php?t=43770) a remarqué que l'ordre dans lequel était compilé le programme était important pour faire des CD Autoboot. Il semble que startup.o doive se situer en tout premier lors de la création des liens (linkage). Je n'en sais pas plus car je ne me suis pas confronté au pbm
Je fais un projet basé sur SDL mais il refuse de se compiler
> Pensez a rajouter le flag adéquat dans l'éditeur de lien , dés que vous utilisez des lib externes à KOS (SDL, oggvorbis. Etc...)