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.
Menu
Calculatrices
Graph 35 à 100
Graph 25+Pro/25+E/25+E II
Graph 35+USB/75(+E)/85/95 SD
Graph 100(+)
Classpad 300/330(+)
fx-CG 10/20 (Prizm)
Classpad 400(+E)
Graph 90+E
fx-92+ SC
Liens
¤ Transférer un programme sur
sa calculatrice

¤ Vous cherchez une fonction ?
Utilitaires >> Graph 35+USB/75(+E)/85/95 SD >> Add-ins >> FXGB
FXGB
Version : 1.1 Taille : 65612 octets Ajouté le : 2017-12-06 17:54 Modifié le : 2020-09-19 11:49
Auteur et posteur :
DjpadbitHors ligneMembrePoints: 121 Défis: 0 Message
Planète Casio - Add-in Casio - FXGB - djpadbit - Calculatrices
Nombre de visites sur cette page : 14691
Score au progrank : 36
Pas encore de note !
Vous devez être connecté(e) pour noter (inscription).
1352 téléchargements | Soumettre un test


A cause du changement de processeur des nouvelles Graph 35+ USB, 75 et 95 SD, de nombreux addins sont incompatibles avec ces calculatrices.
Rendre un addin compatible - Plus d'informations sur ce problème - Liste des addins compatibles

Description :

CET ADDIN N'EST PLUS MAINTENU, VOIR FXGNUBOY

Avertissement : C'est une preuve de concept
FXGB est un portage d'un émulateur gameboy (regardez la source du fork pour l'émulateur original) pour la gamme des calculatrices casio FX.
Le programme tourne actuellement à ~ 4fps (~ 22fps overclocked max sur tetris) donc ce n'est pas vraiment utilisable.
Je l'ai fait surtout pour m'amuser, donc je ne pense pas que ça va être maintenu.

Fun fact: c'est mon premier add-in avec gint.

Vous pouvez trouver la source sur mon github à: https://github.com/djpadbit/gameboy

Caractéristiques actuelles:
* Il fait tourner des jeux (à un incroyablement rapide 4fps)
* Enregistrement et chargement des sauvegardes
* Je suppose que c'est plutôt cool?
* Ehhhh

Comment utiliser:
Mettez un rom gameboy sur la racine de la calculatrice avec un nom court de préférence. (Seulement testé avec Tetris et Super Mario Land)

Lancez le complément, puis entrez le nom du fichier ROM comme il le dit. Ensuite, appuyez sur n'importe quelle touche jusqu'à ce que vous atteigniez un écran avec 6 chiffres sur le côté.
Si vous êtes intéressé, le premier nombre est le fps, le second est le mode, les 2 suivants sont les décalages x et y et les 2 derniers sont la résolution x et y.

Les controles sont

MENU - Ouvrir le menu
SHIFT - A
ALPHA - B
OPTN - Sélectionnez
VARS - Début
F1 - Réglez le mode sur 0 (mode de lecture)
F2 - Réglez le mode sur 1 (mode de réglage du décalage)
F3 - Réglez le mode sur 2 (mode de réglage de mise à l'échelle)
F4 - Réinitialiser la mise à l'échelle et le décalage par défaut
F5 - Basculer l'affichage de débogage (numéro à gauche)
F6 - Activer/Désactiver le rendu de l'lcd
Les flèches contrôlent le jeu en mode 0, le décalage en mode 1 et la mise à l'échelle en mode 2


Commentaires :

Pages: Précédente | 1, 2, 3, 4, 5, 6, 7, 8, 9 | Suivante

CritorEn ligneAdministrateurPoints: 2673 Défis: 18 Message
Posté le 29-01-2018 à 20:23 | #
@OVERClock
Je viens de tester avec une ROM Super Mario Land.
ça marche, mais il ne faut pas oublier d'overclocker ou alors être *très* patient.

J'utilise Ftune2 qui est l'outil d'overclocking le plus puissant que l'on ait pour Graph/SH4 :
https://tiplanet.org/forum/viewtopic.php?t=16127

Avec la configuration par défaut max, F5 (x7.4 - 236MHz), j'ai des bugs au lancement de FXGB sur ma Graph 35+E.
Plusieurs touches ne réagissent pas, notamment OPTN pour changer la casse dans le nom de ROM que l'on saisit..

Avec la configuration par défaut F4 (x3.9 - 118MHz), pas de problème.
Mais il faudra quand même dans ce cas patienter 48 secondes sur un écran blanc après le "CPU OK" avant d'atteindre l'écran de titre du jeu.

Donc dans les 3 minutes si tu n'as pas overclocké je suppose.
CritorEn ligneAdministrateurPoints: 2673 Défis: 18 Message
Posté le 29-01-2018 à 21:05 | #
Je teste et suis super impressionné.

Petite suggestion si je puis me permettre.

Il serait sympa de bloquer les valeurs maximales pour le mode 3 (zoom).

L'affichage GB étant de 160x144pixels.
Je note qu'horizontalement, on peut dépasser 160, et à 162 ça glitche (offset horizontal qui tente de passer à moins l'infini, avec éventuellement un crash).
Comme la valeur se règle avec les flèches, il est hélas très facile de dépasser.
OVERClock
Statut : Invité
Posté le 29-01-2018 à 22:35 | #
Oui j'utilisais déjà Ftune2, mais a 92Mhz
C'est peut être a cause de ça que je ne voyais rien..
Je vais essayer d'augmenter
OVERClock
Statut : Invité
Posté le 29-01-2018 à 23:01 | #
Ca y est !! x)
Je vois un piti Mario !
Mais c'est tout x)
En tout cas c'est un truc de malade de "faire tourner" des roms gameboy sur une calto ! GG a toi
LephenixnoirHors ligneAdministrateurPoints: 24574 Défis: 170 Message
Posté le 30-01-2018 à 09:26 | #
Dommage que ça ait été porté d'un émulateur PC. Je me demande si on pourrait faire mieux un termes de perfs' si on en avait un écrit pour la calto.
DjpadbitHors ligneMembrePoints: 121 Défis: 0 Message
Posté le 03-02-2018 à 21:44 | #
Mais dis don, il y a eu de l'activité ici :P. Merci a tous le monde pour avoir tester FXGB. Pour l'overclocking, le clavier ne fonctionne plus avec une fréquence de 236Mhz avec gint je ne sais pas pourquoi. Le plus rapide que j'ai eu c'était avec le preset F4 et BFC et PFC a 117.96Mhz. Pour la GBC l'émulateur que j'utilise de base ne support pas la GBC et de toute façon, l'écran de la calto ne peut pas afficher les couleurs :P. J'ai essayer le moteur de gris mais j'ai abandonné en cours de route parce que réussire a faire tourner l'ému était déja assez compliqué. Pour les optimization, le plus gros problème maintenant c'est qu'il n'y a pas assez de ram pour avoir la rom entière en ram donc j'utilise un buffer qui accélère un peu tout mais c'est toujours lent. Si on pouvait mettre la rom en entier je pense qu'on aurait ~10fps overclocké stable mais je vais essayer de l'optimiser plus. Oh et une précision, l'émulateur que j'utilise n'a pas toutes les fonctions de la gameboy donc certains jeux auront des problèmes. Et je précise encore mais c'était juste un test pour m'amuser et non pas pour vraiment jouer avec :P. J'avais aussi pensé a ajouter le port link pour jouer avec plusieurs calto avec le port série mais je ne trouve pas comment utiliser le port série avec gint.
LephenixnoirHors ligneAdministrateurPoints: 24574 Défis: 170 Message
Posté le 03-02-2018 à 21:52 | #
Pour l'overclocking, le clavier ne fonctionne plus avec une fréquence de 236Mhz avec gint je ne sais pas pourquoi.

Mais moi je sais. Le clavier a des délais de réponse. Sous SH3, c'est géré dans le driver du système par une attente sur le watchdog (et c'est quelque part dans gint), mais sous SH4, le watchdog ne possède pas de fonction timer. Je me suis débrouillé maladroitement avec des nop (une honte !). Le problème c'est que peu importe la méthode, ces délais sont si sensibles que n'importe quelle erreur fout la merde, surtout que j'ai pas masse doc dessus. L'overclocking en particulier ; je l'ai déjà expérimenté.

J'ai essayer le moteur de gris mais j'ai abandonné en cours de route parce que réussire a faire tourner l'ému était déja assez compliqué.

Normalement un coup de gray_start(), gray_stop() et utiliser les gfunction() au lieu des dfunction() suffit pour passer au gris. À moins que tu ne touches directement à la VRAM ?

Pour les optimization, le plus gros problème maintenant c'est qu'il n'y a pas assez de ram pour avoir la rom entière en ram

Petit secret : si tu es prêt à perdre la compatibilité SH3, il y a un buffer de 256 kio qui traîne sur SH4. C'est pile la taille de Penta Dragon ; je ne sais pas s'il y a des ROMs plus grosses ailleurs.

je ne trouve pas comment utiliser le port série avec gint.

Et pour cause, je n'ai pas implémenté de driver ! Je n'en suis pas encore là...

Involontairement peut-être, ton utilisation de gint me permet d'avoir des retours sur cette lib pas encore très utilisée. Alors merci ! o/
DjpadbitHors ligneMembrePoints: 121 Défis: 0 Message
Posté le 03-02-2018 à 22:05 | #
Pour le moteur gris, il est simple d'utlilisation et très bien mais je l'ai essayer une fois et il a pas fonctionné après 5minutes de bidouillage donc vu que je j'était sur FXGB depuis un certain temps j'ai perdu ma patience. Mais je pense que je peut le faire fonctionner facilement. Le buffer de 256Ko m'interesse beacoup, j'ai seulement besoin de 32k voir 64k max pour avoir un jeu jouable (a peu près) après le seul truc lent sera le switch des banks mais c'est pas très grave. Et pour le port série, j'avais essayer de faire un driver moi même avec le code source de gint et les syscalls mais j'avait pas réussit. Le port série m’intéresse beaucoup par contre (j'ai des idées avec des esp8266,internet, jeu multijoueur sans fils et d'autres trucs :P). J'aimerait bien utiliser gint partout mais j'ai quelque problèmes, entre autre le port série et la fonction sqrt() qui n'est pas implémenté (pour un raycaster type wolfenstein qui tourne deja bien sur le sdk). Bref merci pour le retour :D.
Julese50Hors ligneGourouPoints: 315 Défis: 16 Message
Posté le 03-02-2018 à 22:11 | #
Les jeux font des switch de banks très souvent, il serait mieux de mettre en cache dans la mémoire vive le plus de banques possible.

Après, j'ai fait des tests, et la base de code (l'émulateur sur lequel tu t'es basé) n'est pas optimal du tout, même sur mon ordinateur Pokémon Rouge peine à atteindre le full speed, et Tetris ne dépasse pas les 90FPS.

Je sais que tu as dit que c'était pour tester et pas un projet sérieux, mais je pense vraiment qu'il serait intéressant de le continuer

PS : Si tu veux, tu peux passer sur la shoutbox du site
LephenixnoirHors ligneAdministrateurPoints: 24574 Défis: 170 Message
Posté le 03-02-2018 à 22:12 | #
Eh bien si ma mémoire est bonne c'est à 0x88040000. Si tu veux faire des choses compliquées avec, tu veux peut-être implémenter un allocateur dynamique.

Et pour le port série, j'avais essayer de faire un driver moi même avec le code source de gint et les syscalls mais j'avait pas réussit.

Hmm, tu ne peux pas faire ça avec des syscalls. Il faut étendre le gestionnaire d'interruptions, et le système ne peut pas aider. La version actuelle de gint s'y prête mal, mais la prochaine version (que je suis en train d'écrire en local) rendra ça plus simple.

J'aimerait bien utiliser gint partout mais j'ai quelque problèmes, entre autre le port série et la fonction sqrt() qui n'est pas implémenté (pour un raycaster type wolfenstein qui tourne deja bien sur le sdk).

En fait toute la libmath n'est pas implémentée... c'est l'un des plus gros trous de la lib actuellement. Ça prendra un peu de temps à régler, mais je suis pas expert pour cette partie. Ces fonctions restent pour beaucoup des mystères pour moi...

Pages: Précédente | 1, 2, 3, 4, 5, 6, 7, 8, 9 | Suivante

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 159 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