En cette période de Bac, retrouvez notre sélection de programmes. De plus, nous vous conseillons de ne pas vous y prendre au dernier moment, le site peut être indisponible suite à une surcharge de visiteurs.
Forums Casio - Actualités

Index du Forum > Actualités > La revue des projets - 104
-florian66-
Hors ligne
Ancien rédacteur
Niveau: Aucun
Points: 2287
Défis: 19
Message
Posté le 13/05/2018 19:22

La revue des projets - 104 :

Bien le bonsoir ! Après l'annonce de la V4 de BIDE de Zezombye, cette semaine Lephenixnoir donne des nouvelles de Gint !

En ce qui concerne la Revue des Projets, n'oubliez pas d'aller remplir le formulaire pour que votre article paraisse en fin de semaine !

Voyons voir ce qu'il a à nous dire !

Lephénixnoir a écrit :
Salut à tous ! Je profite de cette Revue des Projets pour vous toucher quelques mots du projet jamais-fini dont je me suis rendu coupable, gint.

J'ai été si long à sortir la première version que le temps que j'y arrive, Casio ne produisait déjà plus les Graph 75+ qui étaient les seules machines monochromes à pouvoir utiliser gint sans transformation : pas de bol !

Alors avec la Graph 90 qui débarque, pour investir la plateforme, je me suis penché sur un portage de la bibliothèque (en même temps que je peaufine l'optimisation et l'allure extérieure de la version monochrome) sur cette nouvelle machine. La bonne nouvelle, c'est que le processeur est un SH4 habituel, donc plein de choses marchent sans effort !


Le point le plus crucial c'est l'écran, mais grâce à la documentation du produit et aux efforts de SimLo, ça se passe assez bien. J'ai réussi à afficher des choses de façon « naïve » en quelques heures de travail :


Il faut encore que j'apprivoise le DMA, un outil super pratique qui permet d'envoyer la VRAM à l'écran pendant que l'application fait autre chose. Utiliser le DMA était déjà une technique classique pour gagner des perfs' sur la Prizm !

Je suis content de pouvoir annoncer les premiers résultats issus du portage. Mon application de démo de gint arrive déjà à :
- Charger les add-ins dans la mémoire
- Installer et utiliser le gestionnaire d'interruptions
- Faire fonctionner les 9 timers de la machine !
- Afficher des choses à l'écran comme sur la photo

J'ai également fait des découvertes de reverse-engineering utiles pour les applications de gint en général :
- La SH3 possède 1 timer supplémentaire précis à 30 ms près
- Les SH4 possèdent 6 timers supplémentaires précis à 30 ms près ( )
- La RAM statique sur SH4 monochrome s'élève à 64k et pas 8k comme sur le SH3 !

Mes occasions de travailler sur ce projet se présentent en pointillés mais tous mes efforts sont dirigés à rendre gint utilisable et documenté sur la Graph 90 pour la rentrée prochaine, où l'on espère un décollage de popularité du modèle.


N'hésitez pas à demander des explications si je parle un langage qui vous est inconnu, ou à me forcer à écrire de la doc' si vous êtes intéressé(e) pour développer quelque chose avec gint. Et merci d'avoir lu jusque-là !


Merci de votre attention et à bientôt !




Nemhardy
En ligne
Grand maître des Traits d'Esprit
Niveau: Confirmé
Points: 1194
Défis: 54
Message
Citer : Posté le 14/05/2018 06:55 | #
C'est chouette de voir que ça avance, à son rythme, certes, mais ça reste impressionnant ! Et voir cet écran entièrement rempli ouvre des perspectives plutôt intéressantes !
----------------------------------
Ils n'osent pas s'avouer que c'est à cause de rien du tout…
Lephenixnoir
En ligne
Administrateur
Niveau: Confirmé
Points: 11523
Défis: 136
Message
Citer : Posté le 14/05/2018 13:17 | #
Effectivement se débarasser de la bordure est quelque chose d'assez satisfaisant !

Par contre la VRAM grossit donc ça pose des problèmes pour choisir sa localisation en mémoire... desquels tu as déjà eu un aperçu.
----------------------------------
Rise.
Ninestars
Hors ligne
Membre
Niveau: Confirmé
Points: 1921
Défis: 22
Message
Citer : Posté le 14/05/2018 18:13 | #
Super ! C’est vraiment bien que le portage sur les 90 soit « aussi simple ».
Le DMA c’est un coprocesseur dédié à l’affichage ? Tu dis qu’il est capable de travailler en parallèle du SH4.
C’est propre aux écrans couleurs où il y en a un sur les monochrome ?

----------------------------------
Lephenixnoir
En ligne
Administrateur
Niveau: Confirmé
Points: 11523
Défis: 136
Message
Citer : Posté le 14/05/2018 18:32 | #
DMA(C) signifie en fait Direct Memory Access (Controller) et fait référence à une méthode très répandue pour transférer des données à ou depuis des périphériques. Comme son nom le suggère, elle consiste à envoyer les données directement depuis ou vers la mémoire, sous-entendu sans avoir à passer par les registres du processeur. Il y en a sous différentes formes, mais par exemple il y en a sur le PC aussi.

Sur Graph 90, le système utilise bien le DMA pour envoyer des données à l'écran, car c'est rapide ! Mais la fonction Bdisp_PutDisp_DD() se met en attente jusqu'à ce que le transfert soit terminé, ce qui gâche le parallélisme. Les développeurs Prizm (Nemhardy y compris) se sont débrouillés pour appeler le DMA eux-mêmes, et faire des calculs pendant le transfert pour gagner des FPS !

Il faut se rappeler que le DMA est un principe général et on peut très bien utiliser un DMA pour échanger des données audio ou vidéo, par exemple.

Sur la monochrome (en tous cas avec gint), on a 400 FPS sans bouger le petit doigt, donc le besoin du DMA n'est pas du tout le même. De toute façon il n'y a que 1024 octets à transférer (contre 160 ko sur la Graph 90) donc le gain lui-même ne justifie pas toute la recherche nécessaire pour savoir ne serait-ce que si le DMA peut communiquer avec l'écran.
----------------------------------
Rise.
Ninestars
Hors ligne
Membre
Niveau: Confirmé
Points: 1921
Défis: 22
Message
Citer : Posté le 14/05/2018 19:23 | #
OK, je vois, merci pour l'explication
----------------------------------


Index du Forum > Actualités > La revue des projets - 104

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2018 | Il y a 294 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire indépendant, géré bénévolement et n'est donc pas affilié à Casio | Toute reproduction de Planète Casio, même partielle, est interdite
Les fichiers, programmes et autres publications présents sur Planète Casio restent la propriété de leurs auteurs respectifs et peuvent être soumis à des licences ou des copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd