Forums Casio - Projets de programmation

Index du Forum | Projets de programmation | Portage des add-ins Prizm sur Graph 90
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 11077
Défis: 130
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
Administrateur
Niveau: Confirmé
Points: 1573
Défis: 9
Message
Citer : Posté le 30/04/2018 20:46 | #
Hésites pas à linker le projet de G90 Compatibility Tool
----------------------------------
Informatichien au poil. Je fais danser des bytes quand ça me chante.
Besoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 11077
Défis: 130
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
----------------------------------
Watch me, as I build my empire with my own hands.
Yatis
Hors ligne
Membre
Niveau: Intermédiaire
Points: 190
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
En ligne
Grand maître des Traits d'Esprit
Niveau: Confirmé
Points: 1160
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 !
----------------------------------
Mes programmes
Cliquer pour enrouler
Équilibrer des coefficients stœchiométriques en moins de 2500 octets sur ta Prizm : Ekisto
Ma version du moteur de calcul symbolique libre Eigenmath
C'est hyper important
Oui
«Ceux qui exercent la profession d'herboriste-botaniste, lesquels sont de tous temps en possession de vendre des herbes ou plantes, seront soumis à la visite et inspection des gardes des apothicaires»
-- Arrêté du Conseil d'État, 30 oct. 1767

Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 11077
Défis: 130
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 !
----------------------------------
Watch me, as I build my empire with my own hands.
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 11077
Défis: 130
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.
----------------------------------
Watch me, as I build my empire with my own hands.
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 11077
Défis: 130
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
----------------------------------
Watch me, as I build my empire with my own hands.
Nemhardy
En ligne
Grand maître des Traits d'Esprit
Niveau: Confirmé
Points: 1160
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.
----------------------------------
Mes programmes
Cliquer pour enrouler
Équilibrer des coefficients stœchiométriques en moins de 2500 octets sur ta Prizm : Ekisto
Ma version du moteur de calcul symbolique libre Eigenmath
C'est hyper important
Oui
«Ceux qui exercent la profession d'herboriste-botaniste, lesquels sont de tous temps en possession de vendre des herbes ou plantes, seront soumis à la visite et inspection des gardes des apothicaires»
-- Arrêté du Conseil d'État, 30 oct. 1767

Critor
Hors ligne
Partenaire
Niveau: Intermédiaire
Points: 722
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
Niveau: Confirmé
Points: 11077
Défis: 130
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.
----------------------------------
Watch me, as I build my empire with my own hands.
Nemhardy
En ligne
Grand maître des Traits d'Esprit
Niveau: Confirmé
Points: 1160
Défis: 54
Message
Citer : Posté le 30/04/2018 22:26 | #
+ une icone style G90 qui en jette carrément plus !
----------------------------------
Mes programmes
Cliquer pour enrouler
Équilibrer des coefficients stœchiométriques en moins de 2500 octets sur ta Prizm : Ekisto
Ma version du moteur de calcul symbolique libre Eigenmath
C'est hyper important
Oui
«Ceux qui exercent la profession d'herboriste-botaniste, lesquels sont de tous temps en possession de vendre des herbes ou plantes, seront soumis à la visite et inspection des gardes des apothicaires»
-- Arrêté du Conseil d'État, 30 oct. 1767

Critor
Hors ligne
Partenaire
Niveau: Intermédiaire
Points: 722
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
Niveau: Confirmé
Points: 11077
Défis: 130
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
----------------------------------
Watch me, as I build my empire with my own hands.
Nemhardy
En ligne
Grand maître des Traits d'Esprit
Niveau: Confirmé
Points: 1160
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. )
----------------------------------
Mes programmes
Cliquer pour enrouler
Équilibrer des coefficients stœchiométriques en moins de 2500 octets sur ta Prizm : Ekisto
Ma version du moteur de calcul symbolique libre Eigenmath
C'est hyper important
Oui
«Ceux qui exercent la profession d'herboriste-botaniste, lesquels sont de tous temps en possession de vendre des herbes ou plantes, seront soumis à la visite et inspection des gardes des apothicaires»
-- Arrêté du Conseil d'État, 30 oct. 1767

Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 11077
Défis: 130
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.

----------------------------------
Watch me, as I build my empire with my own hands.
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 11077
Défis: 130
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
----------------------------------
Watch me, as I build my empire with my own hands.
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 11077
Défis: 130
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
----------------------------------
Watch me, as I build my empire with my own hands.
Critor
Hors ligne
Partenaire
Niveau: Intermédiaire
Points: 722
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
Niveau: Confirmé
Points: 11077
Défis: 130
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...
----------------------------------
Watch me, as I build my empire with my own hands.
Critor
Hors ligne
Partenaire
Niveau: Intermédiaire
Points: 722
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 85 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Casio Education Casiopeia CodeWalrus

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