Balazar III 0.1

La première version de Balazar III est disponible !

Cette version est entièrement fonctionnelle, mais ne contient qu'un seul personnage jouable, qu'un seul monstre, et peu d'objets, de pouvoirs magiques et de salles. Il y a de quoi s'amuser et se faire une idée du potentiel du jeu, mais on en fait évidemment vite le tour... Le mode réseau est assez avancé ; il est relativement "costaud" et devrait pouvoir supporter un nombre important de joueurs simultanés.

dans Zaurus

Test du chargeur solaire Solio avec un Zaurus

Introduction

On dit souvent que les meilleures choses sont celles que l'on fait soit-même. C'est vrai pour les gâteaux... et si c'était vrai pour l'électricité ? Je m'étais rendu compte un peu par hasard que mon Zaurus consommait moins d'1W par heure (il tient 8 heures sur une batterie de 1800 mA à 3,7 V et consomme donc 0,83 W par heure). D'où l'idée de le charger avec de l'énergie solaire !

Après avoir fait le tour des modèles disponibles, j'ai finalement choisi le capteur Solio, disponible en France chez Websolaire. Ce choix est motivé par les raisons suivantes :

  • Le Solio est compatible avec de nombreux appareils (téléphone portable, lecteur de musique,...), et une prise pour charger une PSP est disponible (en option). Il est connu que les Zaurus C1000 / C3x00 sont compatibles avec les alimentations des PSP.

  • Le Solio génère presque 1 W par heure à plein rendement, ce qui signifie qu'une heure de plein soleil équivaut à une heure de Zaurus ! (en théorie car il y a évidemment toujours des pertes !)

  • L'institut Fraunhofer (grand organisme de recherche Allemand) a démontré que ce capteur générait plus d'énergie au cours de sa vie que sa fabrication n'en a coûté.

  • C'est un des rares capteurs pour lequel j'ai pu trouver des tests positifs sur Internet, contrairement à beaucoup d'autres modèles (notamment ceux vendus par des sites orientés "gadgets informatiques" pour lequel je n'ai trouvé que des tests négatifs).

Commandé chez Websolaire, je l'ai reçu quelques jours plus tard sans problème.

Déballage

Au déballage, l'aspect écolo du capteur saute au yeux. L'emballage est quasiment exclusivement composé de papier recyclé et imprimé avec des encres propres. Le capteur lui-même est fabriqué avec des plastiques recyclés ; pour autant l'ensemble apparaît de bonne qualité. Le capteur comprend 3 petit panneaux solaires qui peuvent être pliés ou dépliés, ainsi qu'une batterie interne. Cette batterie est chargée par les rayons solaires, et ensuite cette énergie peut être transférée dans la batterie d'un autre appareil (comme le Zaurus).

Charge solaire

La notice indique qu'il faut 8 à 10 heures de plein soleil pour charger complètement le Solio. Mes tests montrent que le capteur tient ses promesses ! Le test a eu lieu à Paris, en été (mais avec un mois de juillet pourri !). La lumière directe du soleil est nécessaire, éventuellement à travers une vitre. Le soleil de fin de journée (entre 17-20h) permet la charge mais de manière moins efficace (60-75% environ).

Afin de suivre le chargement de la batterie, deux moyens sont disponibles :

  • Une LED rouge s'allume lorsque la charge est en cours.

  • Une LED verte permet de savoir le niveau actuel de la batterie, lorsque l'on appuie sur un bouton. Le niveau de charge est indiqué par 0, 1, 2, 3, 4, ou 5 clignotements de la LED verte qui correspondent respectivement à 0%, 20%, 40%, 60%, 80% et 100% de charge. Mes tests montrent cependant que le niveau est assez approximatif, par exemple il me faut significativement plus de temps pour passer du niveau 2 au 3 que du 3 au 5.

Connection au Zaurus

Une fois chargé, le capteur se connecte sans problème au Zaurus avec l'embout PSP. Le témoin de charge du Zaurus s'allume et les journaux du système indique qu'une alimentation de 1 A a été reconnue, ce qui correspond aux caractéristiques de l'alimentation fournie avec le Zaurus (1 A à 5 V ; le voltage étant a priori de 5 V pour un chargeur de PSP).

Lorsque la batterie du Zaurus est vide et celle du Solio est pleine, le transfert de la batterie du Solio vers la batterie du Zaurus prend environ une heure et demi. Après cela, la batterie du Solio est quasiment vide et celle du Zaurus est pleine à 60%. Cela signifie donc qu'il faut 1 heure et 40 minutes de soleil pour 1 heure de Zaurus en tenant compte des pertes (notamment lors des multiples conversions énergie chimique <=> électrique et des changements de voltages, et pour l'éclairage des LED du Solio et du Zaurus). Ce qui n'est pas si mal !

Conclusion

Le capteur solaire Solio fonctionne bien, sans être miraculeux non plus. La combinaison Zaurus + Solio permet d'avoir un (mini-)ordinateur qui tourne à l'énergie solaire ! Cela n'est possible que grâce à la très faible consommation du Zaurus, sans doute liée à son processeur non Intel x86, mais de type ARM (et donc ayant des performances limitées).

En revanche, un de ces "netbook" à la mode ne pourrait a priori pas être alimenté par l'énergie solaire sans utiliser un capteur significativement plus encombrant (un Asus EEE PC 701, un Acer Aspire One ou un MSI Wind consomme chacun environ 10 W par heure, soit l'équivalent de 10 Zaurus...). Ce qui me conforte dans l'idée que les processeurs de type Intel x86 sont très gloutons en énergie, y compris les récents Atom et compagnie pourtant censé être économes, par rapport à d'autres architectures. Et du coup je ne regrette pas l'achat de ce petit Zaurus, malgré l'ancienneté de cette machine !

Cerealizer 0.7

Cerealizer 0.7 is out!

It now allows to dump() things repeatedly to a stream or file, and then load() things repeatedly out of it.

Many thanks to Peter Eckersley !

dans Zaurus

Petit Zaurus s'améliore en français

J'ai enfin trouvé comment traduire les applis de Cacko sur le Zaurus... en fait l'original est en anglais, des fichiers de traductions ont été ajouté pour le japonais, puis enlever pour retourner à l'anglais... il suffit donc d'en refaire pour la langue de Colin Marchika (écrivain français pas du tout connu mais très bon... pourquoi dirait-on toujours "la langue de Molière" ? il est pas le seul à la parler, cette langue !).

Du coup les traductions sont en cours et vont bientôt se retrouver en jolis petits paquets IPKG ici !

../_images/traduc.png
dans Soya3D

Soya 0.14rc1 is out !

A new version of Soya, 0.14rc1, is out. This release includes many bugfixes and has been updated for latest release of Pyrex. It also includes a new GUI module called soya.gui (see the gui-* tutos for demo).

Here is the complete changelog:

  • January 2008 : Soya3D 0.14rc1

  • Allow the centre of mass of a Body to be anywhere in its local coordinate system (thanks Greg Ewing)

  • Improve tutorial README (thanks Jacques Rebourcier)

  • Update for Pyrex 0.9.6.2 (thanks Greg Ewing)

  • Blender => Cal3D can now run with Python 2.3 (thanks Greg Ewing)

  • New GUI module soya.gui

  • Bugfixes:

  • Fix the weird segfaulting bug in terrain (thanks Souvarine)

  • Fix GL_INVALID_ENUM crash with the OSS ATI DRI driver (thanks Zoltan Dome)

  • Fix data/worldS and data/blender in the yet-in

  • Fix speed-1.py tuto

  • Fog was activated by error on partial camera with no atmosphere

  • Fix descender computation in font

  • Fix ODE on terrain (tuto ode-collision-8-terrain.py)

dans Zaurus

Fond d'écran pour Zaurus

Voici mon fond d'écran pour Zaurus. Quelques astuces :

  • Avec Cacko, un fond d'écran en JEPG est beaucoup plus rapide qu'un fond d'écran en PNG ! Donc préférer ce format.

  • L'écran du Zaurus n'affiche "que" 64 000 couleurs, ce qui provoque des "sautes" de teinte dans certains dégradés (lorsque le dégradé couvre plusieurs teintes). Pour éviter ça, on peut faire du tramage (dithering). Dans Gimp, je n'ai pas trouver d'autre moyen que de passer l'image en couleurs indexées (dans le menu image puis mode, en activant le tramage des couleurs) puis de la repasser en RGB (il doit sans dout y avoir un moyen mieux de faire du tramage, si quelqu'un a des idées je suis preneur !). Cette opération réduit le nombre de couleurs utilisées, et cache cela en "étalant" les pixels. Du coup il n'y a plus les sautes de couleurs dans les dégradés. Par contre, il y a un léger effet "granuleux", mais sur l'écran très fin du zaurus ça ne rend pas forcément mal !

../_images/dans_sa_tete_zaurus_6.jpeg
dans Zaurus

Petit Zaurus devient grand !

La connection d'un Zaurus a un vidéo-projecteur, c'est un peu la quête du Graal ou la pierre philosophale dans le monde du Zaurus : tout le monde veut le faire mais personne n'y arrive... et je l'ai fait ! Petit Zaurus peut maintenant avoir un grand écran. Petit mais costaud ! Bien sûr il n'est pas question de projeter de la vidéo mais seulement des images fixes (diaporama).

Récapitulons les étapes :

  1. Le CFXGA, accessoire officiel de connection Compactflash => VGA pour Zaurus, est épuisé et totalement introuvable.

  2. Sur un forum russe (j'avoue, je ne parle pas un mot de russe, mais google sait traduire !), j'apprends que tous les accessoires de type Compactflash => VGA ont le même chipset, et fonctionne donc de la même manière... et donc avec les Zaurus ! Il y a une demi-douzaines de modèles : Prolink PK201 et PK203, Pretec CompactPresenter, Margi Presenter-to- go, Colorgraphics voyager VGA, LifeView FlyPresenter CF.

  3. Bien sûr, tous sont épuisés. Manifestement, les interfaces Compactflash ne sont plus à la mode...

  4. EBay, Amazon,..., c'est nul : impossible de trouver un de ces accessoires d'occasion.

  5. Par contre, les petits revendeurs, c'est bien ! En fouillant bien je trouve (là encore, traduisez avec google) :

  6. Je contact la boutique au Danemark, pas de réponse... la première boutique grec refuse de livrer en France... mais la seconde accepte pour la "modique" somme de 150€ ! Donc je saute sur l'occasion.

  7. Je reçois l'engin 3 semaines plus tard

  8. Il existe un driver pour le Pretec dans la ROM Cacko que j'utilise. Manque de bol, le driver est pour un noyau Linux 2.4.18 alors que les Zaurus récents ont un noyau 2.4.20. Donc pas compatible... Il suffirait de recompiler les sources, mais seuls les sources du driver originel pour le CFXGA sont disponibles, et pas celles pour le Pretec !

  9. C'est l'occasion de s'essayer à l'ingénierie inverse. XDelta m'apprend qu'il n'y a que deux octets de différences entre les driver compilé pour noyau 2.4.18 pour le CFXGA et pour le Pretec ! Ensuite, objdump -D m'apprends que ces différences se situent dans des segments de données appelés "crt_800x600x60x16" et "crt_640x480x72x16" que je retrouve dans les sources. Et ça compile !

  10. Vient le moment d'essayer... alors je branche mon Zaurus à un moniteur via le Pretec ; j'obtiens quelques images puis tout se met à planter. C'est l'hécatombe : les processus meurent sans raison apparente !

  11. En supprimant une à une les fonctions dans le driver et dans le programme "mirroir" (cfxgamirror) qui lit l'écran du Zaurus (FrameBuffer) et écrit dans la carte Pretec, j'obtiens la conviction que le problème ne vient pas de l'écriture dans la carte, mais bien de la lecture du FrameBuffer ! Cela colle avec des messages de forum indiquant le même type d'erreur avec des CFXGA sur les Zaurus récents.

  12. La lecture du FrameBuffer est faite via une série d'appel à mmap auquel je ne comprends pas grand chose... je vire tout ça et je le remplace par une simple lecture du fichier /dev/fb0

  13. Et là... ça marche :-)

Plus d'info sur le forum Zaurus FR.

dans Zaurus

Petit Zaurus a appris le Python !

Et voilà, petit Zaurus a terminé son apprentissage de Python. J'ai cross-compilé Python 2.5.1 depuis quelques semaines déjà, et maintenant je viens d'achever la compilation de PyQt sur le Zaurus lui-même (le module utilisant trop de référence à des chemins diverses pour que la cross-compilation soit aisée).Ce PyQt est lié à l'interface Qt embarqué qui est l'interface "native" avec la ROM d'origine de Sharp comme dans la ROM dérivé Cacko. Il est donc possible de développer des applis Zaurus graphiques entièrement en Python ! (Astuce : utiliser le module qtpe de PyQt pour avoir un rendu qui prenne en compte les paramètres de Cacko ; sinon on a un rendu Qt "de base" avec des polices minuscules qui ne tiennent pas compte de la taille de l'écran du Zaurus).

Comme d'habitude, les paquets sont ici.

Petit à petit, petit Zaurus deviendra grand !

../_images/pyqt.png
dans Zaurus

Petit Zaurus toujours à l'école

Et voilà, petit Zaurus à commencer à apprendre le français. Désormais son bureau est dans la langue de Molière !

J'ai tout bien empaqueté dans des IPKG. Pour passer le bureau de la ROM Cacko en français, il suffit désormais d'installer les 4 paquets suivants (disponibles ici) :

  • fr-locales

  • fr-libqpe

  • fr-config

  • fr-translation-desktop

Et c'est tout ! Les paquets se chargent d'installer et de modifier les fichiers de configuration nécessaires.

Un seul détail : les icônes du bureau sont traduites lors de l'installation du paquet fr-desktop-translation. Donc les icônes des logiciels installés APRÈS ce paquet ne sont pas traduites. Dans ce cas, il faut désinstaller fr-desktop-translation et le réinstaller.

Pour repasser le Zaurus en anglais, il suffit de désinstaller les 4 paquets.

../_images/bureau_fr.png
dans Zaurus

Petit Zaurus à l'école

Pas de vacances pour les petits Zaurus indisciplinés ! Aujourd'hui petit Zaurus à commencer à apprendre le français ; pas grand choses pour l'instant. Juste les "locales", qui permettent d'avoir les paramètres linguistiques du français (par exemple 0,1 au lieu de 0.1), ainsi que les traductions... si elles existent (ce qui n'est évidemment pas le cas pour l'instant).

Voilà la recette magique pour passer la ROM Cacko en locales françaises :

  1. installer les locales françaises proprement dites qui sont ici.

  2. éditer le fichier /home/zaurus/Settings/locale.conf, et remplacer "Language = en" par "Language = fr"

  3. éditer /home/zaurus/.profile et /opt/QtPalmtop/qpe.sh, et ajouter dans ces deux fichiers :

export LANG=fr
export LANGUAGE=fr
export LC_ALL=fr
  1. créer le répertoire /opt/QtPalmtop/i18n/fr, copier dedans le fichier /opt/QtPalmtop/i18n/en/libsl.qmid, et créer dedans un fichier .directory avec ceci :

[Desktop Entry]
Name=French
  1. à ce moment là, le Zaurus est paramétré en français... mais la police par défaut devient minuscule. C'est ici que tout le monde bloque... Après de longues recherches infructueuses, voici la recette pour les remettre normalement (ça vient d'un forum russe, encore un ! vous allez finir par croire que je parle russe mais pas du tout !) : il "suffit" de prendre le fichier /opt/QtPalmtop/lib/libqpe.so.1.5.0, de l'éditer avec un éditeur hexadécimal (genre khexedit) et de recherche "helvetica". Il y a un occurrence vers la fin du fichier, précédée de "en". On remplace "en" par "fr", on enregistre, et sur le zaurus, on supprime /opt/QtPalmtop/lib/libqpe.so.1.5.0 (qui est un lien vers un truc inamovible) et on le remplace par la version modifiée.

Et on a enfin le Zaurus en mode français. Bien sûr, si on le repasse en anglais, on aura les polices minuscules... mais quel intérêt de le remettre en anglais ?

Maintenant il reste à faire les traductions... vu que apparemment rien n'existe en matière de traduction en français... bref petit Zaurus a encore du boulot pour apprendre le français !

dans Zaurus

Petit Zaurus indiscipliné !

Lorsque j'ai adopté ce petit Zaurus (un PDA / mini ordi portable sous Linux), je m'attendais à avoir des problèmes avec le matériel : écran ou clavier trop petits, cartes mémoires ou cartes d'extension mal supportés,... éh bien non : on se fait vite à la taille de l'engin, même en étant très myope (la forte résolution de l'écran n'y est sans doute pas pour rien), et les problèmes de compatibilité matérielle ont été vite réglé par un reflashage de ma carte wifi.

En revanche, c'est le logiciel qui pose problème : le Zaurus est une petite machine têtue et indisciplinée ! Sharp a arrêté la production de Zaurus début 2007, depuis la moitié des sites oueb en relation avec le Zaurus sont morts (non seulement inanimés mais souvent "erreur 404"). Pour le logiciel, on a le choix entre plusieurs ROM (équivalent des distributions Linux). Il y a donc Cacko, une ROM stable et fonctionnelle mais pas remis à jour depuis 3 ans, et une demi-douzaine de ROM toutes plus instables les unes que les autres, mais avec la dernière version du noyau Linux... bref je me retrouve donc évidemment avec la première ROM, puisque je veux quelque chose qui marche !

Mais comme elle date de 3 ans, je suis obligé de compiler quelques logiciels récents. C'est là que l'enfer de la "cross-compilation" commence... Le Zaurus n'est pas assez puissant pour compiler ses propres logiciels, et il n'a pas les fichiers de développements nécessaires. C'est donc à "maman" de faire les compilations... dans un langage machine qui n'est pas le sien (le Zaurus ayant un processeur ARM). Ce qui est particulièrement délicat...

Du coup j'ai sorti l'artillerie lourde : une batterie de script Python ! Petit Zaurus indiscipliné, tu me feras tourner ton LyX et ton Python !

dans Zaurus

Mon ordinateur a fait des petits !

Pour Noël mon ordinateur a mis bas. Voici des photos de la maman et du bébé !

dans Soya3D

New Soya's GUI preview

I'm currently working on a new widget system for Soya.

It will feature advanced widgets such as scroll panes or flying windows, as well as a nice automatic dimensioning system, even better than GTK and Tk ones !

For now, I'm focusing on the widget's logic, and not on their graphical aspect.

The final goal being to add Soya's support to EditObj 2, in order to be able to generate dialog boxes in Soya for editing various game objects. Can be usefull for game editor but also for many complex games (roleplaying games, strategy games,...). I'm precisely thinking about new game projects in that area.

Here are some screenshots using various styles :

Songwrite 2 0.1.2

Songwrite 2 0.1.2 fixes a few bugs that were remaining in 0.1 and 0.1.1, namely :

  • Guitar pro importer was missing

  • Fix copy / paste of notes with alterations on staffs

  • Fix view name translation

  • Fix "AttributeError: 'ObjectPack' object has no attribute 'song'" when selecting notes

  • Fix copy-paste between different windows

You can get it there.