Forums Casio - Projets de programmation

Index du Forum > Projets de programmation > Portage des add-ins Prizm sur Graph 90
Lephenixnoir
Hors ligne
Administrateur
Points: 12507
Défis: 136
Message
Posté le 30/04/2018 20:45

Portage des add-ins Prizm sur Graph 90 :

Vous le savez peut-être déjà : la compatibilité entre Prizm et Graph 90 est extrêmement grande. À part l'adresse de la VRAM qui change, un add-in lambda peut se porter juste en changeant l'icône.

La Graph 90 est un marché très prometteur et on doit faire le maximum pour créer une base de programmes à partir de quasiment rien. Porter des add-ins Prizm est une solution efficace pour obtenir des jeux de bonne qualité.

Pour les add-ins sans source, Nemhardy travail sur un G90 Compatibility Tool qui travaillerait sur les binaires. C'est pas un problème facile mais ça aiderait beaucoup !

D'ici là on planifie d'en porter, soyons optimistes, le maximum. Ce topic nous servira à les recenser et à partager quelques notions de portage, si d'autres veulent aider.

Add-ins en attente de portage

Je n'ai pas encore cherché les éventuelles sources en-dehors de Planète Casio.

Sur Planète Casio
- Falldown Colors de Dodormeur (pas de sources)
- CGDoom de Martin Poupe (sources) (difficile)
- Open Jazz Jackrabbit de ProgrammerNerd (pas de sources)
- Bust-A-Move d'Eiyeron (difficile)
- TetriZM de KermMartian (pas de sources)
- CGSnake d'Eiyeron
- Obliterate de KermMartian (pas de sources)
- Life Game CG-20 de Smashmaster (pas de sources)
- Eigenmath de Gbl08ma (difficile)
- ColorLib de Lancelot

Sur TI-Planet, Omnimaga, Cemetech, CodeWalrus, Casiopeia...
- On doit pouvoir porter Utilities de Glb08ma
- Vous pouvez oublier Insight.
...

Add-ins extérieurs déjà portés ou dont l'auteur envisage un portage :
- 2048 de Balping (sources)
- Othello de Balping (sources)
- Snake de Balping (sources)

Add-ins dont un port est disponible

- CubeField de PierrotLL
- GravityDuck de PierrotLL
- Sudoku Solver de Lancelot (#152820)
- Flappy Bird Color de Lancelot (#152830)
- Sonic de Smashmaster (#152837)
- Démineur WinXP de Smashmaster (#152859)
- MetaBall de Lancelot (#152860)

Infos pour les portages

Grosso modo il n'y a quelques points cruciaux. On pourra étendre la liste si des problèmes se posent.

- La VRAM est systématiquement hardcodée à 0xa8000000. Utilisez le syscall 0x1e6 à la place.
- Il faut refaire les icônes... (c'est une partie non négligeable du travail)
- La fréquence des horloges est double donc il y aura peut-être des Sleep() ou des timers à ajuster.
- Déplacez les fonctions écrites en assembleur dans des fichiers assembleur. GCC n'apprécier pas sinon.

Je maintiendrai le plus possible ce topic à jour selon les portages. Au boulot ! o/



Pages: 1, 2 | Suivante

Cakeisalie5
En ligne
Membre de CreativeCalc
Points: 1654
Défis: 10
Message
Citer : Posté le 30/04/2018 20:46 | #
Hésites pas à linker le projet de G90 Compatibility Tool
----------------------------------
Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !
Besoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Lephenixnoir
Hors ligne
Administrateur
Points: 12507
Défis: 136
Message
Citer : Posté le 30/04/2018 20:58 | # | Fichier joint
Done, merci !

Je commence avec le premier add-in porté : Sudoku Solver de Lancelot !





Lien de téléchargement : https://www.planet-casio.com/files/commentaires/Sudoku-56216-0.g3a
----------------------------------
Rise.
Yatis
Hors ligne
Membre
Points: 301
Défis: 0
Message
Citer : Posté le 30/04/2018 21:03 | #
Il y encore les bords noirs sur les côté ou l'écran est complet ?
Nemhardy
Hors ligne
Grand maître des Traits d'Esprit
Points: 1222
Défis: 54
Message
Citer : Posté le 30/04/2018 21:04 | #
Juste en passant, ce topic sur TiP peut certainement aider à établir une liste intéressante.

Et typiquement TetriZM et Obliterate ont étés mis à jour par KermM, même s'il n'en donne toujours pas les sources… Donc on peut les mettre à jour sur PC je pense !
----------------------------------
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 30/04/2018 21:06 | #
Ah non, rien à faire, ceux-là restent des add-ins Prizm normaux. J'ai réussi à contourner les bords noirs avec gint, mais AFAIK personne ne s'est jamais amusé à faire ça avant. Il faut dire que les gens sont d'habitude, et à raison, assez frileux avec cette machine. Ce que je fais c'est un peu de la folie... x)

Donc nope, ça reste les add-ins d'origine.

Aha, c'est pas mal ça Nemhardy ! Inutile de porter des choses déjà portées en effet. Ça va être un peu la chasse aux ports, donc si vous en croisez, signalez-les !
----------------------------------
Rise.
Lephenixnoir
Hors ligne
Administrateur
Points: 12507
Défis: 136
Message
Citer : Posté le 30/04/2018 21:18 | # | Fichier joint
Voilà de quoi designer des icônes : (en PJ)

En gros je m'y prends comme ça, si vous manquez d'inspiration :

1. Dessiner l'image principale sur le calque [Icon]
2. Dupliquer [Icon] en [Icon shadow], le désaturer, le descendre de deux pixels et passer à 30% d'opacité
3. Pour créer l'icône non sélectionnée, afficher [BG (uns)], [Dithering (uns)], [Layer (uns)], [Icon shadow] et [Icon]
4. Pour créer l'icône sélectionnée, afficher [BG (sel)], [Dithering (sel)], [Layer (sel)], [Icon shadow] et [Icon]
5. Une fois l'add-in créé, j'utilise le projecteur pour recopier le texte dans [BG (uns) (text)] pour mettre dans mes messages, comme au-dessus avec Sudoku Solver.

Exportez bien en PNG pour que mkg3a ne vous sorte pas une icône noire avec un seul pixel cyan !

Ajouté le 30/04/2018 à 21:19 :
Ah, j'ai oublié de le préciser : je suggère de laisser le fond gris tel qu'il est pour ces portages.
----------------------------------
Rise.
Lephenixnoir
Hors ligne
Administrateur
Points: 12507
Défis: 136
Message
Citer : Posté le 30/04/2018 21:55 | # | Fichier joint
Suite des réjouissances donc, je viens juste de porter Flappy Bird Color de Lancelot !





Lien de téléchargement : https://www.planet-casio.com/files/commentaires/FlappyBird-56217-0.g3a
----------------------------------
Rise.
Nemhardy
Hors ligne
Grand maître des Traits d'Esprit
Points: 1222
Défis: 54
Message
Citer : Posté le 30/04/2018 22:00 | #
Nice, bien joué !

Utilities fonctionne également déjà sur G90+, à l'exception de quelques fonctionnalités (typiquement le changement de couleur des touches de fonction), mais ça reste totalement utilisable en l'état je pense.
----------------------------------
Ils n'osent pas s'avouer que c'est à cause de rien du tout…
Critor
Hors ligne
Partenaire
Points: 861
Défis: 0
Message
Citer : Posté le 30/04/2018 22:18 | #
Merci pour ton travail Lephenixnoir.

Pour FlappyBird, y a-t-il une différence fonctionnelle avec la version portée par Nemhardy l'année dernière ?
https://tiplanet.org/forum/viewtopic.php?t=19835
Lephenixnoir
Hors ligne
Administrateur
Points: 12507
Défis: 136
Message
Citer : Posté le 30/04/2018 22:24 | # | Fichier joint
Pas de différence significative, par contre la vitesse du jeu est raisonnable. J'ai désactivé l'overclock ; la Graph 90 va plus vite que la Prizm overclockée semble-t-il, donc c'est un peu plus rapide que l'original d'après Nemhardy, mais c'est jouable.
----------------------------------
Rise.
Nemhardy
Hors ligne
Grand maître des Traits d'Esprit
Points: 1222
Défis: 54
Message
Citer : Posté le 30/04/2018 22:26 | #
+ une icone style G90 qui en jette carrément plus !
----------------------------------
Ils n'osent pas s'avouer que c'est à cause de rien du tout…
Critor
Hors ligne
Partenaire
Points: 861
Défis: 0
Message
Citer : Posté le 30/04/2018 22:26 | #
Oui, merci. L'ancien portage était beaucoup trop rapide...
Lephenixnoir
Hors ligne
Administrateur
Points: 12507
Défis: 136
Message
Citer : Posté le 30/04/2018 22:42 | # | Fichier joint
Je parachève cette soirée en portant Sonic de Smashmaster !





Lien de téléchargement : https://www.planet-casio.com/files/commentaires/Sonic-56218-0.g3a
----------------------------------
Rise.
Nemhardy
Hors ligne
Grand maître des Traits d'Esprit
Points: 1222
Défis: 54
Message
Citer : Posté le 01/05/2018 14:19 | #
Pour agrandir un peu la liste :
- 2048 (sources)
- Othello (sources)
- Snake (sources)

J'ai regardé rapidement, 2048 se répare en 10 minutes montre en main, c'est juste qu'il utilise des fonctions de la libfxcg qui hardcodent l'adresse de la VRAM, et je pense que c'est exactement le même problème pour les deux autres programmes, vu que c'est le même auteur ; en gros il faut juste redéfinir VRAM_CopySprite et fillArea, et ça devrait tourner. Le soucis c'est que je n'arrive toujours pas à faire les icônes, donc je peux pas vraiment faire quelque chose de propre. x)

Ajouté le 01/05/2018 à 15:20 :
(En fait j'ai envoyé un mail à Balpin, vu qu'il a l'air toujours actif lui expliquant les problèmes et comment les régler s'il le souhaite, on verra ce qu'il en dit et avisera ensuite. )
----------------------------------
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 01/05/2018 15:44 | # | Fichier joint
Voilà des icônes, si elles te vont...

L'archive est en pièce jointe.

----------------------------------
Rise.
Lephenixnoir
Hors ligne
Administrateur
Points: 12507
Défis: 136
Message
Citer : Posté le 03/05/2018 18:53 | # | Fichier joint
Je continue ma série avec Démineur WinXP de Smashmaster !





Lien de téléchargement : https://www.planet-casio.com/files/commentaires/Demineur-56230-0.g3a
----------------------------------
Rise.
Lephenixnoir
Hors ligne
Administrateur
Points: 12507
Défis: 136
Message
Citer : Posté le 03/05/2018 19:35 | # | Fichier joint
Comme ça coûtait pas cher, j'ai aussi porté Metaball de Lancelot. J'ai pris la deuxième version, dans les commentaires (celle avec les propriétés de liquide) inspirée d'Eiyeron. J'ai changé quelques paramètres, mais ça reste lent, donc overclock recommandé avec Ptune3.





Lien de téléchargement : https://www.planet-casio.com/files/commentaires/Metaball-56232-0.g3a
----------------------------------
Rise.
Critor
Hors ligne
Partenaire
Points: 861
Défis: 0
Message
Citer : Posté le 06/05/2018 18:39 | #
@Lephenixnoir
J'ai une question sur ton portage du Démineur WinXP :
https://www.planet-casio.com/Fr/forums/topic15127-1-Portage,des,add,ins,Prizm,sur,Graph,90.html#152859

En fait, il me semblait qu'il marchait déjà sur Graph 90+E :
https://tiplanet.org/forum/viewtopic.php?t=19868#p215610

Donc tu as changé des trucs ? Ou j'ai raté quelque chose ?
Merci à toi.
Lephenixnoir
Hors ligne
Administrateur
Points: 12507
Défis: 136
Message
Citer : Posté le 06/05/2018 18:54 | #
Essentiellement, j'ai changé l'icône et je l'ai compilé avec ma version de GCC. Il y avait quelques subtilités si je me souviens bien. Une partie du code ne passait pas « toute seule » ; on peut le voir comme une partie pas super bien programmée et dont le comportement était changeant selon les optimisations.

J'admets le manquement de ne pas être présent sur TI-Planet et d'avoir ainsi raté l'information originale. Il va falloir que je corrige ça...
----------------------------------
Rise.
Critor
Hors ligne
Partenaire
Points: 861
Défis: 0
Message
Citer : Posté le 06/05/2018 19:05 | #
Merci pour ta réponse.

Sinon pour Metaball, j'ai téléchargé ta version :
https://www.planet-casio.com/Fr/forums/topic15127-1-Portage,des,add,ins,Prizm,sur,Graph,90.html#152860

Elle affiche bien cette fois-ci, mais par contre les touches F1-F3 documentées ne semblent pas marcher du tout :
https://www.planet-casio.com/Fr/programmes/voir_un_programme_casio.php?showid=2344&page=1

C'est normal ?

Pages: 1, 2 | Suivante

Index du Forum > Projets de programmation > Portage des add-ins Prizm sur Graph 90

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