Forums Casio - Projets de programmation

Index du Forum > Projets de programmation > Un émulateur gbc sur casio ?
Pkplomb
Hors ligne
Membre
Points: 107
Défis: 0
Message
Posté le 17/03/2013 09:55

Un émulateur gbc sur casio ? :

Salut tous le monde
Pour mon prochain projet j'aimerais me lancer dans un émulateur de game boy color sur casio

Mais je ne suis pas sur que les calc soit assez puissante pour ce genre d'application

Si vous avez des sources sur les gbc je suis preneur



Hackcell
En ligne
Membre
Points: 739
Défis: 5
Message
Dernier message de la page précédente :Posté le 27/08/2016 19:14 |
Ça fait quand même vachement limité pour l'écran
----------------------------------
I think, I'm infected with a really serious desease, it's called airheadness...
There doesn't appear to be an effective cure...



Pages: Précédente | 1, 2

Zezombye
Hors ligne
Rédacteur
Points: 1423
Défis: 12
Message
Citer : Posté le 27/08/2016 19:22 | #
En plus on peut même pas réduire vu que le ratio est pas du tout le même


Donc ce projet n'est pas possible vu qu'il faudrait recoder tous les jeux pour qu'ils tiennent sur 64*128.
----------------------------------
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Julese50
Hors ligne
Gourou
Points: 311
Défis: 16
Message
Citer : Posté le 27/08/2016 19:27 | #
Après c'est pas vraiment un problème de ratio, si l'écran de la Casio faisait 71*64, ça serait pas possible non plus … x)
----------------------------------
Ceci n'est pas une signature.
Lephenixnoir
Hors ligne
Administrateur
Points: 12507
Défis: 136
Message
Citer : Posté le 27/08/2016 19:47 | #
D'après ce que je vois, tout est possible excepté les problèmes liés à l'écran. On peut bien penser à utiliser des touches pour déplacer la partie visible mais c'est malaisé. Au mieux, un réglage centré.
----------------------------------
Rise.
Alex BasicC
Hors ligne
Ancien modérateur
Points: 1734
Défis: 83
Message
Citer : Posté le 28/08/2016 09:47 | #
Après, la prizm a un écran suffisamment grands, un processeur suffisant, mais seulement 2Mo de ram au lieu de 8
edit : Je suis, stupide, c'est 8ko pour la gbc, pas 8Mo( donc tout va bien )
Lephenixnoir
Hors ligne
Administrateur
Points: 12507
Défis: 136
Message
Citer : Posté le 28/08/2016 10:30 | #
D'après Gollum c'est 8 ko de RAM je pense, pas 8 Mo.
----------------------------------
Rise.
Alex BasicC
Hors ligne
Ancien modérateur
Points: 1734
Défis: 83
Message
Citer : Posté le 28/08/2016 10:54 | #
En effet, je ne sais donc pas lire..., un emulateur gbc sur prizm serait donc possible
Dark storm
En ligne
Administrateur
Points: 10596
Défis: 174
Message
Citer : Posté le 28/08/2016 12:03 | #
La différence, c'est que graphiquement la Prizm est lente. Très lente. Trop lente. Ou alors il faut refaire un gint spécial prizm, mais là on est pas sorti de l'auberge…
----------------------------------
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Páranÿe quetë Quendya
Lephenixnoir
Hors ligne
Administrateur
Points: 12507
Défis: 136
Message
Citer : Posté le 28/08/2016 12:06 | #
Techniquement il y a assez peu de différences à prendre en compte. La grande majorité de gint doit être compatible. Voilà une liste quasi-exhaustive pour appuyer mon propos...
- Driver du clavier (le principe doit être le même, si les touches sont identiques ça pourrait fonctionner tout seul)
- Driver de l'écran (celui qui prend 10 lignes pour la fx-9860G...)
- Moteur de gris (...)
- Ah oui, et le dessin. Mais c'est pas un très grosse affaire (beaucoup de code mais aucune difficulté)
----------------------------------
Rise.
Dark storm
En ligne
Administrateur
Points: 10596
Défis: 174
Message
Citer : Posté le 28/08/2016 12:19 | #
Essaie déjà de finir gint sur G75 et on en reparle
----------------------------------
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Páranÿe quetë Quendya
Nemhardy
Hors ligne
Grand maître des Traits d'Esprit
Points: 1222
Défis: 54
Message
Citer : Posté le 28/08/2016 12:34 | #
Un des problèmes "bloquant" au niveau graphique, c'est vraiment la quantité de données à transférer à chaque mise à jour de l'écran, et là je ne suis pas sûr qu'on puisse faire grand chose ; déjà qu'on laisse la charge du transfert à une unité spécialisée sur laquelle on a pas vraiment le contrôle (je veux dire on lui file les adresses, et on lui dit de commencer et c'est elle qui fait le transfert, sans qu'on ait à gérer de boucle de copie ou autre, ce qui décharge le processeur qui a priori serait moins performant pour cette tâche). On a quand même 165ko à transférer de la VRAM à l'écran à chaque frame, et là je ne pense pas qu'on puisse vraiment faire grand chose, gint ou non, puisqu'on "délègue" le transfert…

Et surtout je ne suis pas sûr que porter gint soit vraiment intéressant : on a déjà du gris à la pelle si on veut, on a de quoi utiliser le clavier de toute les Prizms sans disjonction pour l'instant, les routines de dessins sont quand même assez différentes, puisqu'en aucun cas on a de décalage de bits à gérer, on remplit juste des shorts, voire des longs si l'adresse est correctement alignable, et je ne sais pas si on peut vraiment gagner là aussi.
(À part bien entendu l'idée de libérer un maximum de fonctionnalités, mais il faut savoir qu'un gestionnaire d'interruption avait été commencé côté anglophone, mais l'auteur a rapidement briqué sa calto pendant le développement, les Prizm étant plus sensibles à ce genre de problème manifestement…)

Après y'a des moyens de partiellement contourner ça : j'avais tenté le coup du triple buffering, ça se fait et donne des résultats intéressants, mais j'avais pas réussi à faire quelque chose de propre… (Autrement dit j'hardocodais l'adresse du troisième buffer dans une zone que j'espérais ne pas atteindre lors de l'exécution du programme, sauf que c'était pas du tout exclu vu que c'était une zone dans la stack, et qui en représentait quand même ~30% :E, enfin c'était juste du "proof of concept" bancal quoi, et j'ai jamais réussi à gérer la zone proprement… :-/ ). Je ne sais pas à combien de fps tournait la GBC, mais un triple buffering pourrait permettre de gérer correctement l'émulation en se libérant un peu de ces temps de transfert graphiques, en partie seulement évidemment !
Sinon, l'écran de la GBC est également plus petit que celui de la Prizm, ça peut permettre de raffraichir seulement une partie de l'écran, ce qui, si bien géré, permet effectivement de gagner du fps (notre projet avec TheProg pour le concours de l'été y'a deux ans tournait sans overclock à 25 fps tranquillement comme ça).

Mais en fait la "lenteur" graphique est vraiment liée à la quantité de données à écrire puis transférer, et je ne sais pas si un projet du type de gint y pourrait vraiment quelque chose (après je ne sais pas vraiment comment il fonctionne en interne, donc je n'exclue rien non plus ! ).
----------------------------------
Ils n'osent pas s'avouer que c'est à cause de rien du tout…
Lephenixnoir
Hors ligne
Administrateur
Points: 12507
Défis: 136
Message
Citer : Posté le 28/08/2016 13:20 | #
L'intérêt de gint serait, par exemple, l'accès aux timers du proco. Le contrôle sur le matériel est plus fin, on peut accéder tranquillement à des pins, le port série, etc.

Maintenant avec Darks on avait trouvé la doc de l'écran et ça vaut peut-être le coup d'y jeter un oeil. Je doute que ce soit réellement plus rapide, mais avec la G85 on est malheureusement limité par le bus qui nous impose 1 octet à chaque transfert.

Pour la Prizm, un accès direct à l'écran peut peut-être débloquer un paramétrage qui réduirait la taille des données quitte à perdre les 65'000 couleurs.

Si tu parles de AHelper, il avait fait plus que ça pour briquer sa calto : il avait touché le MMU dans une tentative de linker dynamiquement des libs. J'ai soigneusement évité tout modification de MMU pour éviter ce type de problème sur G85.

Tout ça reste fortement hypothétique, et puis j'en parle que pour alimenter la réflexion. (Comprenez, il y a déjà beaucoup de boulot sur G85).
----------------------------------
Rise.

Pages: Précédente | 1, 2

Index du Forum > Projets de programmation > Un émulateur gbc sur casio ?

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2018 | Il y a 33 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