« novembre 2006 | Main

lundi, octobre 23, 2006

Photo carte coldfire

Voici la photo de la carte de Mark, promis bientôt je mettrais des photos de ma config.

La carte est alimentée soit par un jack placé à coté du connecteur PC, soit par ce dernier connecteur, dans le cas de l'alim par jack, cette alimentation est insuffisante pour faire fonctionner le port PCI, donc pour avoir de la vidéo, j'ai branché une alimentation standard de PC sur la carte. Sur le bus PCI bien sur j'y ai mis la carte vidéo type radéon 7000. La carte est commandée via l'interface série, j'utilise coté Linux le logiciel "minicom" comme terminal. Une fois lancé tout ce qu'il faut je débranche le câble et y installe la souris série dessus. Le port Ethernet sert à télécharger les logiciels via le protocole TFTP.

Sur la photo vous pouvez voir la "compactflash" et un composant qui si j'ai bien compris est programmable et a été programmé par Mark pour gérer ce disque, je n'ai pas testé, j'ai une carte de 64Mo inutilisée cela se fera sans doute un jours. Le processeur est dessous ces composants.

Ecrit par OL at 4:54 PM
Categories: Coldfire

GCC 3.3.6 et coldfire

Suite message précédent, j'ai testé la version 3.3.6 de Zorro, après recherche des diverses libs nécessaires, je peux compiler avec cette version sans soucis ... en 68000, mais pas avec l'option -m5200, la compilation est possible mais MyAeS plante lors de la partie boot, déjà sous Aranym ce qui n'est pas le cas en compilant avec gcc2.95.3. Il me faut préciser que cette option de compilation n'apporte aucune spécificité du coldfire, il évite simplement les fonctions manquantes du processeur, donc normalement cela fonctionne aussi sous Aranym ce qui m'évite de faire un test inutile. Bref c'est plutôt un pas en arrière qu'un pas en avant.

J'ai essayé de compiler avec le gcc fourni avec ltib qui a priori fonctionne bien a ce que j'ai pu constater, pas de chance les .O générés ne sont pas compatibles avec le linker que nous utilisons (a ce qui parait c'est normal, ce serait prévu pour elf), enfin cela ne coûtait pas grand chose d'essayer!

Didier avance lui, il vient de mettre à jours un problème avec son driver souris et commence a pouvoir lire et écrire sur disque type "compact-flash".

Ecrit par OL at 4:26 PM
Edité le: lundi, octobre 23, 2006 4:27 PM
Categories: Coldfire

lundi, octobre 16, 2006

Gcc et le coldfire 1ere prise en main

Voilà j'ai commencé à tester MyAeS sur la carte coldfire en monotos, première mauvaise nouvelle plantage sur les windframes! Je m'en doutait ce sont des libs dynamiques, l'un est compilé en PureC l'autre utilise jpeg.ldg avec fpu, bref comme cela pas moyen de le faire tourner et recompiler celui en PureC pose soucis il y a pas mal d'assembleur dedans et malgré pas mal de modifications le GCC n'en veut pas, mais bon faut dire que je n'y connais rien en assembleur donc ce qui prendrait 30 minutes a Didier me prend un mois, trop long. J'ai donc réalisé un windframe affreux interne qui lui ne devrait pas planter.

Et il ne plante pas!

Bref je peux lancer MyAeS en monotos sans que cela plante, Didier m'a envoyé sa version de Mint pour coldfire mais la c'est très étrange il ne semble pas que je puisse lancer d'applications avec le Pexec(100) va falloir que je regarde.

MyAeS n'a pas de bureau alors il en faut un et ça se corse, j'ai essayé Teradesk, Direct et Thing, seul ce dernier fonctionne actuellement sans les OVL a partir du bureau du TOS, j'ai donc essayé de lancer Thing comme bureau, ça se lance mais dès que j'arrive au niveau des menus c'est plantage (il n'y a aucun soucis sur l'AES 4 c'est bien un problème du coté de MyAeS). J'ai aussi lancé Kronos et la cela fonctionne normalement, mais comme bureau on fait mieux!

Alors que faire, je me dit chouette j'ai GCC 2.95.3, MyAeS est compilable avec allons y ça fera déjà cela de moins à l'émulateur à émuler des fois que, après quelques explications de Didier et l'option -m5200 -Wa,-m5200 ça se compile, bien sur pas les quelques malheureux morceaux d'assembleur qui traîne dans ce logiciel, 3 fois rien, pas grave je le compile en 68000 pour qu'il soit content et on link le tout, l'éxécutable est là. Avant de le lancer sur la carte je me dit que je ferais bien de tester cette version avec Aranym, pas de soucis il se lance (je me posait la question!), je vais pour dérouler un menu, horreur les objets sont en vrac, cela fait n'importe quoi. Bougre de "%,$m%M" et sur le coldfire c'est pareil!

Alors je réfléchi un peu, si si cela m'arrive, il ne peut y avoir qu'une fonction a faire de telles choses, les ressources sont bien chargées, les icônes bien dessinées, le fautif probable rsrc_obfix(), je regarde le code franchement pas de quoi faire peur à un compilo, voici le code original:

int __myaes_rsrc_obfix_direct(OBJECT *ob)

{

unsigned char *dumchar = (unsigned char *)&ob->ob_x;

if((WORD)dumchar[0]>=128) ob->ob_x = (WORD)dumchar[0] - 256 + ((WORD)dumchar[1]) * my_aes_inside.wcell;

else ob->ob_x = (WORD)dumchar[0] + ((WORD)dumchar[1]) * my_aes_inside.wcell;

etc....

....

return 1;

}

my_aes_inside.wcell est de type int

Et vous ne me croirez pas pour que cela marche il faut que je cast my_aes_inside.wcell en short et tout rentre dans l'ordre!

if((WORD)dumchar[0]>=128) ob->ob_x = (WORD)dumchar[0] - 256 + ((WORD)dumchar[1]) * (short) my_aes_inside.wcell;

else ob->ob_x = (WORD)dumchar[0] + ((WORD)dumchar[1]) * (short) my_aes_inside.wcell;

Bon là c'est fort, rien ne me dit qu'il n'y a pas d'autres soucis ailleurs, conclusion provisoire, il faut que je passe à un compilo plus récent si vous voulez compiler pour le coldfire oubliez le 2.95.3, Didier utilise la 3.3.6 je vais faire le test dès que je me serais fait une config correcte pour ce compilo, cela va me prendre encore quelques heures!

Ecrit par OL at 4:21 PM
Edité le: lundi, octobre 16, 2006 4:24 PM
Categories: Coldfire

jeudi, octobre 12, 2006

Premiers pas sur le coldfire

Avant tout, si aujourd'hui j'ouvre une petite discution sur le coldfire, c'est grâce à deux personnes:

- Mark Duckworth, je voudrais le remercier pour avoir réussi a convaincre Freescale de lui fournir 5 cartes d'évaluation coldfire, avec V4e intégré, 2 ports éthernet, un port série, un port dédié, 64Mo de ram, 1 bus PCI, un connecteur USB malheureusement uniquement en "slave", un port carte "compact flash". J'ai eu le droit à la dernière carte disponible, nous étions 2 dessus après discution avec Philipp Donze l'autre possible preneur, nous avons décidé que celle ci me parviendrais. Je l'en remercie aussi.

- Didier Mequignon et le travail phénoménal qu'il est en train de faire sur cette carte, je vous conseille d'aller sur son site pour avoir les informations plus techniques que je ne saurais moi même pas apte à donner!: http://perso.orange.fr/didierm/ct60/ctpci.htm

En premier je voulais faire tourner ltib: http://savannah.nongnu.org/projects/ltib/

LTIB est un projet visant a faire tourner un Linux sur des cartes d'évaluation, et en ce qui nous concerne il existe une cible pour le V4e, après avoir surmonté quelques gros soucis comme des extensions processeur non disponible sur notre carte d'évaluation (lite) (encryptage principalement, il faut demander la reconfiguration du kernel a ce moment là après un moment il vous proposera les options du kernel, voir une discution la dessus sur le forum dédié chez freescale, notez que nulle part jusqu'à cette discution publique je n'ai pu mettre la main sur une explication correcte de mes problèmes de plantage!). Aujourd'hui je reste planté sur un problème a priori de partage NFS pas correctement réalisé et n'ai donc pas pu booter totalement le kernel. Sans ce minimum mon projet est bloqué, quand j'aurais un peu plus de maîtrise du coldfire j'y retournerais.

Voyant ceci et voyant que Didier avançait à grand pas j'ai donc décidé de plutôt m'orienter sur son projet et si je le peux d'aider un petit peu. Pour le moment c'est du test et tentative de comprendre certains soucis en discutant avec Didier.

État des lieux:

J'ai rajouté une carte PCI ATI Radeon 7000 avec 64Mo de mémoire. Cette carte est gérée par l'adaptation de fVDI réalisée par Didier et intégré au TOS. Cela marche plutôt très bien la vidéo est très rapide et je suis confortablement bien en 1280*1024 en 32 bits

Les TOS patché démarre sans soucis, la carte compact flash n'est pour le moment pas accessible, on peut télécharger en ram disque tous les fichiers nécessaire via le connecteur éthernet relié a un serveur TFTP, on peut même faire démarrer des programmes dans le dossier Auto, j'ai personnellement lancé MyAES de cette façon

Je peux déplacer le curseur à l'aide d'une souris branchées sur le port série.

Il n'y a pour le moment pas de clavier accessible.

Problèmes principaux:

- L'émulateur 68K pour le coldfire ne semble pas parfait loin s'en faut, actuellement typiquement tous les logiciels utilisant des librairies dynamiques (ldg, slb,..) compilées avec PureC plantent alors que les mêmes librairies compilées avec gcc fonctionnent (ex: Il m'a fallut recompiler screen.ldg pour faire fonctionner Kronos)

- Il n'y a pas d'émulateur FPU et le copro intégré n'est pas totalement compatible avec celui du 060, bref tout logiciel compilé avec FPU ne fonctionne pas.

Ecrit par OL at 3:06 PM
Edité le: jeudi, octobre 12, 2006 3:10 PM
Categories: Coldfire

vendredi, octobre 06, 2006

Accès au port série par Natfeat sous Aranym

Aux débuts de Aranym (2002), j'ai été contacté par une société Hollandaise, intéressée par Aranym car c'était le seul émulateur capable de faire tourner leur logiciel avec les ROM du Falcon sous Windows. Leur logiciel fonctionnait mais il n'y avait pas d'émulation du port série ce qui le rendait inutilisable pour leur besoin. En effet ils utilisaient les routines xbios des ROM du falcon pour charger des programmes DSP, puis les transférer sur les DSP (32 si je ne m'abuse, j'ai malheureusement perdu les photos envoyées dans un crash mail) via l'interface série.

Je les ai convié à contacter les auteurs d'Aranym pour ce problème n'étant moi même non développeur de ce logiciel ne l'ayant seulement porté sous Windows. Cette société n'ayant pas eu de réponse favorable, j'ai donc décidé de réaliser une interface Natfeat pour l'interface série, il ne s'agit donc pas là de l'émulation physique du composant, de plus il n'a pas été développé de driver pour Mint ne sachant pas le faire. Le logiciel à été modifié pour accéder à l'interface NatFeat directement, je n'ai d'ailleurs eu dans les mains que le fichier source de la partie dialogue, car malgré mes indications cela ne fonctionnait pas, j'ai donc aussi corrigé un bug de timing dans leur logiciel.

Les sources en GPL de ce travail sont disponibles ICI . Ce code est normalement tout à fait portable.

La société PRINSSEN EN BUS RAADGEVENDE INGENIEURS B.V utilisait encore en 2002 leur Falcon sous le bras pour faire des études acoustiques à travers le monde comme dans les opéras.

Ecrit par OL at 11:46 AM
Edité le: vendredi, octobre 06, 2006 11:57 AM
Categories: GEM infos

Premiers pas

Voici mon premier pas avec Thingamablog un logiciel très simple de création hors-ligne et en java de publication web, type Blog, ce qui me suffit largement.

Franchement la mise en route est simplissime et comme c'est hors ligne pas besoin de s'énerver avec les serveurs qui répondent quand ils veulent! J'ai voulu mettre en place quelque chose de plus conséquent mais franchement les tests n'étaient pas concluant et c'était d'un lourd épouvantable. Donc je me contente de cela et je ne vais plus me prendre la tête avec les mises à jours, on tape du texte et c'est a peu près tout.

On peut même ajouter des images comme cela:

Chanteurs aux Fimu

Sympa cette photo de choristes aux Festival International de Musique Universitaire

Bon je stoppe le blabla, la prochaine fois on parlera de ce pourquoi ce blog existe.

Ecrit par OL at 11:40 AM
Edité le: vendredi, octobre 06, 2006 11:54 AM
Categories: GEM infos