Rendre un addin compatible SH4 (Power graphic 2)
Posté le 30/08/2013 11:25
Si vous êtes ici, c'est peut-être parce que vous avez une nouvelle calculatrice Graph 35+ USB, 75 ou 95 SD et que celle-ci est incompatible avec beaucoup d'addins.
Un jeu incompatible se transefera sans problème sur votre calculatrice, mais affichera une erreur systeme au démarrage, ou alors se bloquera en plein milieu. Ce tutoriel ne s'addresse que aux utilisateurs des calculatrices SH4 (c'est à dire si la version du système de votre calculatrice est egale ou superieur à 02.02....)
Cette technique ne marche pas à tout les coups. Mais esperons que ça marche pour vous
Tout d'abord téléchargez le programme (.g1a) que vous souhaitez rendre compatible.
Allez ensuite
sur cette page et cliquez sur "Parcourir..". Selectionnez votre fichier et cliquer sur "Envoyer" (sans décocher la case).
Si tout s'est bien passé, vous devriez avoir une proposition de téléchargement d'un nouveau fichier. Transferez le sur votre calculatrice comme d'habitude, et lancez-le.
Si le programme est maintenant compatible, et bien tant mieux ! Sinon, il n'y a malheureusement pas beaucoup de choses que vous pouvez faire (à moins que vous sachiez programmer en C, et même dans ce cas ce n'est pas sûr).
J'éspère que ça vous aura aidé !
Citer : Posté le 30/08/2013 11:27 | #
J'ai fait ce mini tuto afin de le linker dans la barre d'avertissement d'incompatibilité sur la page des addins. Si vous avez des idées pour l'améliorer ou le rendre plus "user friendly" dites le moi
Citer : Posté le 30/08/2013 12:45 | #
Pourquoi ne pas poster directement une version SH4 a côté des autres à télecharger ?
Zelda de Smashmaster
Super Geek Brothers de Siapran
Pac-Man
Pac-Man Color
Meta Ball
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Citer : Posté le 30/08/2013 12:55 | #
Ca on peut le faire, je le ferait d'ailleurs sur certains à l'occasion, mais ce n'est pas faisable sur l'ensemble des programmes du site.
Citer : Posté le 30/08/2013 13:16 | #
Un bon tuto de plus
Citer : Posté le 21/09/2013 17:00 | #
Salut, ca serait posssible de le rendre compatible avec les niveaux de gris?
Citer : Posté le 21/09/2013 17:01 | #
les niveau de gris c'est déjà le b*rdel avec les SH3 alors avec les SH4
Jouez à 6 sur une seule calto : Curve Fever
Un die and retry qui vous fera bieeeen rager Test Andropov
un très bon sokoban
le seul vrai jeu de foot en basic : FIFA 12
Ca c'est ce que j'appelle un jeu de reflexion jewel master
Qui vaincra l'intelligence artificielle de cet othello
Le célèbre pacman
Et tant d'autres BTL's games
Le jeu du mois de Novembre et award du jeu le plus dur de l'année 2013 MultiTask, testez-le
Citer : Posté le 21/09/2013 17:03 | #
c'est pas pour tout de suite, en tous cas, c'est déjà super qu'on aie ça
Citer : Posté le 21/09/2013 17:05 | #
en fait, il y aurait moyen de recompiler les niveaux de gris en changeant deux-trois truc dans le systeme de niveaux de gris pour les avoir en monochrome compatible (ce que j'avais fait pour bomberman). si quelqu'un est intéressé, je peut lui expliquer
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 21/09/2013 17:08 | #
il n'y aurait pas moyen de l'intégrer dans le power graphic 2?
Citer : Posté le 21/09/2013 17:13 | #
non.
en fait, la technique, c'est de terminer la fonction qui demarre les timers des qu'elle est lancée et si il faut que ce soit compatible SH4 (en clair, rajouter un if(SH4)return; au debut de gray_init), et puis lors de l'affichage, si c'est une SH4, mettre le contenu du buffer gris foncé sur l'ecran, plutot que dans la Vram des niveaux de gris. donc cela prend de la place en plus, et il faut donc recompiler
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 21/09/2013 17:15 | #
ah c'est dommage, tu pourait m'expliquer la technique pour enlever les niveaux de gris et recompiler?
Citer : Posté le 21/09/2013 17:22 | #
ca depend de la bibliotheque utilisée pour afficher les niveaux de gris :
si c'est easy_grayscale, (il y a un fichier gray.c dans ce cas la) alors il faut
1) ajouter tout en haut (au dessus de l'include gray.h) : #define SH4 1
2) remplace la fonction gray_init par
{
screen = malloc(sizeof(Screen));
if(!screen) return 0;
screen->VRAM1 = malloc(1024);
screen->VRAM2 = malloc(1024);
screen->DD1 = malloc(1024);
screen->DD2 = malloc(1024);
if(!screen->VRAM1 || !screen->VRAM2 || !screen->DD1 || !screen->DD2) return 0;
screen->time1 = 3269;
screen->time2 = 6987;
screen->which = 1;
if(!SH4){set_vbr((void *)((unsigned int)gray_interrupt - INT_OFFSET));
TMU0.TCR.WORD = 0x0022;
TMU0.TCNT = TMU0.TCOR = screen->time1;
INTC.IPRA.WORD = 0xf000;
INTC.IPRB.WORD = 0x0000;
INTX.IPRC.WORD = 0x0000;
INTX.IPRD.WORD = 0x0000;
INTX.IPRE.WORD = 0x0000;
INTX.IPRF.WORD = 0x0000;
INTX.IPRG.WORD = 0x0000;
INTX.IPRH.WORD = 0x0000;
TMU.TSTR.BIT.STR0 = 1;}
return 1;
}
3) et enfin, remplace la fonction gray_swapBuffers par :
{
char* temp;
char *LCD_register_selector = (char*)0xB4000000, *LCD_data_register = (char*)0xB4010000, *vram;
int i, j;
if(!SH4)
{
temp = screen->VRAM1;
screen->VRAM1 = screen->DD1;
screen->DD1 = temp;
temp = screen->VRAM2;
screen->VRAM2 = screen->DD2;
screen->DD2= temp;
}
else
{
vram = screen->VRAM2;
for(i=0 ; i<64 ; i++)
{
*LCD_register_selector = 4;
*LCD_data_register = i|192;
*LCD_register_selector = 4;
*LCD_data_register = 0;
*LCD_register_selector = 7;
for(j=0 ; j<16 ; j++) *LCD_data_register = *vram++;
}
}
}
donc voila, pour easygrayscale c'est tout, mais pour fx-revolution (le plus utilisé je pense par les jeux plus vieux), je ne sais pas trop, envoye moi les sources si jamais il utilise fx-revolution, je verrais ce que je peut faire
Ajouté le 21/09/2013 à 17:24 :
j'ai corrigé une petite erreur que j'avais fait en recopiant la fonction gray_swapbuffer
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 21/09/2013 17:33 | #
je voudrais rendre compatible le mario land CE
Citer : Posté le 21/09/2013 17:39 | #
Pour info le fait qu'il y ai du code en plus n'empèche pas la modification après compilation, il suffit juste de rajouter le code à la fin du programme en gros et de lui demander de jumper dessus. Par contre là je n'ai pas dutout le temps pour faire ça.
Citer : Posté le 21/09/2013 17:44 | #
ah, c'est bien dommage, ca apporterait une compatibilité avec la totalité des jeux du site.
Citer : Posté le 21/09/2013 17:53 | #
bon, je vais essayer pour mario land, mais je ne promet rien, car il faut que je complete les sources (celles donnée par bbvador ne sont pas complete )
Ajouté le 21/09/2013 à 17:59 :
bon, j'arrive déjà pas a recompiler le programme en ajoutant fx-revolution, et le compilo ne me dit même pas pourquoi... j'essaye encore un peu, mais a mon avis je vais bientôt abandonner
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 21/09/2013 18:05 | #
ok, merci quand-même dodormeur
Ajouté le 29/09/2013 à 16:11 :
alors, tu a abandonné?
Citer : Posté le 29/09/2013 16:44 | #
oui, le code que donne bebe vador est vraiment trop petit, je n'arrive pas a recompiler
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 29/09/2013 18:12 | #
oh, dommage
Ajouté le 14/10/2013 à 11:45 :
alors, du nouveau ziqumu?
Archoline Invité
Citer : Posté le 07/01/2014 22:23 | #
Bonjour enfaite moi j'ai acquis une calculette Graph75 il y a peu de temps et comme les jeux que je transfert son dans les fichier de storage je ne pau pas les executer
comment faire s'il vous plait ?