Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Actualités


Index du Forum » Actualités » La revue des projets - 104
-florian66- Hors ligne Ancien rédacteur Points: 2384 Défis: 20 Message

La revue des projets - 104

Posté le 13/05/2018 19:22

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 Hors ligne Grand maître des Traits d'Esprit Points: 1243 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 !

Lephenixnoir En ligne Administrateur Points: 24575 Défis: 170 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.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Ninestars Hors ligne Membre Points: 2462 Défis: 24 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 Points: 24575 Défis: 170 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.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Ninestars Hors ligne Membre Points: 2462 Défis: 24 Message

Citer : Posté le 14/05/2018 19:23 | #


OK, je vois, merci pour l'explication

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 223 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd