Un cadeau de noël pour MorphOS?
Par Yomgui le lundi 8 décembre 2008, 16:12 - Autres projets - Lien permanent
Depuis longtemps attendue pour être ensuite abandonnée, car tuée sur l'hôtel des profits financiers (surtout ceux d'Intel) par ses créateurs, voici de retour la venue de la pile FireWire/IEEE1394/Lynx/i.Link_<inserer ici votre marque> spécialement pour notre OS préféré, le bien nommé MorphOS!
Voui, voui, voui, vous avez bien lu!
Si vous n'avez pas bien vu encore, j'ai eu 30 ans en
août!
Hein ? C'est quoi le rapport ??
Comme
vous le voyez sur mon billet d'anniv, j'ai eu une caméra vidéo au format DV
(HDV même) et donc avec son petit port 1394...
Ouai c'est cool
mais c'est pas du tout cool
sous Window... la moindre application faisant correctement de la vidéo
est payante, et encore ce sont des usines à gaz!
Guerre de choix s'offre donc à vous que d'avoir un bon vieux Mac (pas le cas
pour moi et cela résous pas le problème du prix, oh non!) ou bien de
pirater emprunter un soft à un ami pour finalement vous dire que
ouai c'est vraiment une merde un casse tête pour travailler
avec.
Bon, bah y a pas trop le choix et comme je le dis régulièrement
on est jamais mieux servis que par soit
même
.
Donc la caméra c'était en août, le bilan pas très joyeux de l'existant c'était début septembre, le voyage au Canada (histoire de dire que l'achat en valait le coup) c'était fin septembre, donc le début du projet c'était fin septembre - début octobre.
Comme tout bon développement qui se commence, j'ai commencé par voir si cela
n'était pas déjà en cours (cf le premier lien du billet). J'ai donc contacté
Sonic qui a en premier tenté un port de la pile Linux (cf toujours le premier
lien, décidément!). Malheureusement au vu du Firewire en 2006, abandonné par
ses pères, il décida qu'il ne valait plus la peine (dixit Sonic, que j'ai eu
par e-mail) de continuer. Fin de l'histoire.
Dommage pour les utilisateurs, cool pour moi (ouai enfin je me donne du taf de nuit en même temps...) je saute sur l'occasion et commence à réunir la documentation après avoir vérifié le chipset en place dans mes Peg1 et 2, un VIA VT6306 (ieee1394a-1995, 3 ports). Ce qui nous donne:
- la norme IEEE1394a-1995, ainsi que son amendement de 2000 (utile pour certaines explications sur les paquets du type Self-ID et la ROM) ;
- la norme OHCI1394 qui elle est une couche d'abstraction pour les concepteurs de chipset comme VIA et qui nous facilite les choses pour nous les concepteurs de drivers ;
- le datasheet du VT6303, utile pour le format des paquets de la couche PHY.
En même temps que je me prend un gros mal de crâne à lire tout cela en même
temps, je passe un peu de temps sur l'implémentation sous Linux histoire de
voir si j'ai bien compris les docs tordues peu triviales du
Firewire.
Et zou passage au code début octobre en commençant par utiliser les nouveaux
includes du SDK de MorphOS 2.x dont certains fichiers pas encore publiques
quand j'écris ces lignes par ailleurs (lib PCIX pour remplacer openpci par
exemple).
D'ailleurs j'avais jamais attaqué le PCI sur MorphOS, c'est tout de même bien
ce projet 
Nous voilà donc aujourd'hui (début décembre) et qu'en est-il?
Et bien après plus de 2 semaines sur un bug des plus crétin subtile,
inventé par votre crétin de subtile serviteur, je gère complètement
la modification temps-réel de la topologie du bus (connections/déconnections
des devices)et quasiment le mode asynchrone en envoi-réception. Il me reste
à:
- débuger le code de réception des acquittements des requêtes en transmission ;
- gérer complètement et correctement les paquets de types 'lock' et 'phy' (toujours en asynchrone) ;
- envoyer des paquets de réponses aux paquets de requêtes reçus ;
- terminer le code de la couche 'device' qui sera vue par l'utilisateur et par où il pourra les contrôler ;
- coder toute la partie isochrone, le mode le plus intéressant bien-sûr ;
- faire un petit 1394raw.device pour déjà s'amuser avec.
Vous l'aurez compris (comment ça non ?!) cette pile ne s'occupe que
du transport de données entre les nœuds sur le bus 1394, le contrôle sera donc
laisser au soins de bibliothèques en xxxxxxx.device (genre dv1394.device ou
bien sbp2.device et même avc1394.device).
Si tout cela marche bien j'espère pas moins que sont intégration officielle
dans MorphOS 2.x (3.x?) à l'instar de son homologue USB: Poseidon.
Voilà, voilà pour les nouvelles 
PS: Je me disais bien que j'avais oublié quelque chose d'important: cette pile n'est pas un port, mais bien un truc développé sur et pour MorphOS!
Commentaires
Only Yomgui makes it possible !
wow, bravo pour ce projet, pas des plus faciles ! j'espère que cela motivera d'autres programmeurs pour créer un soft de montage vidéo digne de ce nom !
Trop de la balle, tu es trop fort Yomgui
et Merci !!!!!
Wow, that is really cool

go Yomgui go
LO
il me semblait bien, que ce n'était pas qu'un "Col...chemard", ce truc là. Je vois que tu peux faire encore bien plus que de nous "graphvizer"!
Je rêve déjà de la gueule des interviews, à la prochaine Alchimie...un vrai micro, un port IEEE1394, un vrai camé-raman, ouahou, un grand BRAVO!!!
Two thumbs up!
Kind regards,
Andrea
" SUPERBE " projet
Dommage que soit uniquement que pour Morphos 2.x (ou 3.x?)
[Notes de Yomgui] Pas forcement... faudra voir, mais il y a quand même un monde entre la 1.x et la 2.x
Et puis, on pourra se servir de Blender pour faire du montage vidéo ! Comment il est complémentaire ce Yomgui, il complète lui même les logiciels qu'il porte ! Yomgui rulez !
tous mes voeux pour le succes de ce projet
tu as une estimation pour la date d'apparition du 1394raw.device ?