1

Je suis en train de tester genlib-1.0.0-rc1, j'ai écrit un petit programme de test.
Il fonctionne bien sur TI-89 oncalc (HW2, AMS 2.09) et sur TI-92+ (tiemu, HW2, AMS 2.09)
mais pas sur V200 que ce soit oncalc ou emulé sous tiemu (HW2, AMS 2.09) : l'écran reste vide mais je peux quand même quitter.

(dans tous les cas j'utilise preos-1.0.4 et j'envoie genlib-1.0.0 en emulé ou oncalc).

J'inclus genlib.a a mon projet TIGCC (paramètres de GCC : -O2 -fomit-frame-pointer -Wall -W)
#define USE_KERNEL
#include <genlib.h>

void gl_main()
{
	JOYPAD j;
	j=gl_read_joypad();
	char buffer[50];
	while (j.exit_key)
	{
		j=gl_read_joypad();
		*buffer=0;
		if(!j.left_key)  strcat(buffer,"gauche");
		if(!j.right_key) strcat(buffer,"droite");
		if(!j.up_key)    strcat(buffer,"haut");
		if(!j.down_key)  strcat(buffer,"bas");

		gl_cls();
		glaux_text(0,0,C_BLACK,T_SMALL, buffer);
		glaux_swap ();
		glaux_synchro (1);
	}
}


Est ce que je me trompe quelque part?



Sinon quand je teste sur pedrom 0.80 sous TiEmu (v200 ou 92+) (en envoyant la derniere genlib) j'ai comme message d'erreur "RAMCALL 0X2A not supported". Genlib utiliserait des RAMCALL non implémentées sous pedRom?



Edit: Un oubli dans la source + autre changement
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

2

Twindruff :
Je suis en train de tester genlib-1.0.0-rc1, j'ai écrit un petit programme de test.
Il fonctionne bien sur TI-89 oncalc (HW2, AMS 2.09) et sur TI-92+ (tiemu, HW2, AMS 2.09) mais pas sur V200 que ce soit oncalc ou emulé sous tiemu (HW2, AMS 2.09) : l'écran reste vide mais je peux quand même quitter.
Désolé, je ne vois pas trop d'où ça peut venir. Il faut attendre le passag de PpHd.

Sinon, ton code comporte une source de bug potentiel : ton buffer n'est pas initialisé, ce qui fait que si on appuie sur aucune touche, n'importe quoi eest affiché à l'écran.
Voici comment éviter ce problème (et au passage je change qq trucs qui évitent d'avoir à copier la chaine à chaque fois) :
#define USE_KERNEL
#include <genlib.h>

void gl_main()
{
	JOYPAD j;
	j=gl_read_joypad();
	char *buffer = "";
	while (j.exit_key)
	{
		j=gl_read_joypad();
		if(!j.left_key)  buffer = "gauche";
		if(!j.right_key) buffer = "droite";
		if(!j.up_key)    buffer = "haut";
		if(!j.down_key)  buffer = "bas";

		gl_cls();
		glaux_text(0,0,C_BLACK,T_SMALL, buffer);
		glaux_swap ();
		glaux_synchro (1);
	}
}

Sinon quand je teste sur pedrom 0.80 sous TiEmu (v200 ou 92+) (en envoyant la derniere genlib) j'ai comme message d'erreur "RAMCALL 0X2A not supported". Genlib utiliserait des RAMCALL non implémentées sous pedRom?
Sûrement smile Pedrom 0.80 utilise une ancienne version de preos. Depuis, de nouveaux ram_calls ont été ajoutés.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

3

Ah en fait dans mon copier-coller j'ai supprimé pas mal de lignes et dont
*buffer=0;
donc je modifie mon post de départ.
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

4

Je vais voir. Je ne vois pas ce qui peux coincer.

Sinon quand je teste sur pedrom 0.80 sous TiEmu (v200 ou 92+) (en envoyant la derniere genlib) j'ai comme message d'erreur "RAMCALL 0X2A not supported". Genlib utiliserait des RAMCALL non implémentées sous pedRom?

Utilise PedroM 0.81 RC9.

5

PpHd :
Utilise PedroM 0.81 RC9.

Ok je viens de tester sous TiEmu sous pedRom-0.81-rc9 sur 89 et v200.
Même chose sur 89 ca marche et sur v200 ecran vide.
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

6

Tiens, essaie avec 4,8,6 et 2 au lieu des directions gauche, haut, droite et bas (respectivement) smile
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

7

Hum Sasume m'a donné une idée bien que je n'aie pas compris son post.
Je comprends pas pourquoi j'y ai pas pensé plus tôt mais j'ai l'impression que c'est le test des touches qui fonctionne mal.

#define USE_KERNEL 
#include <genlib.h> 
 
void gl_main() 
{ 
	JOYPAD j; 
	j=gl_read_joypad(); 
	char buffer[50]; 
	while (j.exit_key) 
	{ 
		j=gl_read_joypad(); 
		strcpy(buffer,"touches :");
		if(!j.left_key)  strcat(buffer," haut "); 
		if(!j.right_key) strcat(buffer," bas "); 
		if(!j.up_key)    strcat(buffer," gauche "); 
		if(!j.down_key)  strcat(buffer," droite ");
		
		gl_cls(); 
		glaux_text(0,0,C_BLACK,T_SMALL, buffer); 
		glaux_swap (); 
		glaux_synchro (1); 
	} 
}

En fait ce programme affiche bien la chaîne "touches :"
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

8

Appuie sur les touches numériques [4],[8],[6] ou [2] !
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

9

Ah oui c'est les Rows/Cols équivalents au flèches sur v200. Eh ba bravo oui c'est bon c'est ca.
GenLib prend les v200 pour des 89.
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

10

Twindruff :
Rows/Cols équivalents au flèches sur v200
Euh que veux-tu dire ?
Twindruff :
GenLib prend les v200 pour des 89
Non, c'est simplement que le code pour utiliser les flèches directionnelles est commenté pour les V200.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

11

Rows/Cols

Heu je parlais des lignes/colonnes dans les matrices de claviers (pour lire le clavier en bas niveau)
mais alors non là je comprends rien les touches de flèches sur 89 ne correspondent pas à celles du pavé numérique sur v200.
Twindruff :
Non, c'est simplement que le code pour utiliser les flèches directionnelles est commenté pour les V200.

Comment ca commenté?

PS: j'ai l'impression qu'on a du mal à se comprendre nous deux grin
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

12

Que se passe-t-il si tu lances ton programme de test sur une V200 et que tu appuies sur les touches numériques [4], [8], [6] ou [2] ?
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

13

Mais je viens de te répondre,
[ 8 ]->gauche
[ 2 ]->droite
[ 4 ]->haut
[ 6 ]->bas
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

14

Twindruff :
Comment ca commenté?
Le code source de genlib. Il y a quelques lignes qui sont commentées, et qui ne devraient pas l'être pour que tu puisses utiliser les touches fléchées de ta V200.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

15

Mais pourquoi ce serait les touches 2,4,6,8 qui enverraient le signal des touches fléchées?
Etant donné que dans les matrices de clavier les touches équivalentes aux touches fléchées de 89 sont les touches hand, shift, diamand, 2nd.
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

16

Parce que PpHd a codé deux façons de gérer les directions du "joypad" : avec les touches fléchées et avec le pavé numérique.
Simplement, lorsqu'il a compilé genlib 1.0.0 rc1, c'était le code correspondant au pavé numérique qui était activé (pour les v200 seulement, mais pas pour les ti89 et ti92).
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

17

Ah bon d'accord je comprends mieux maintenant hehe
J'étais pas au courant qu'il y avait le pavé numérique qui se rapportait au joypad aussi, merci.
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

18

Ben en fait, c'est quelqu'un qui a les touches joypad exploses qui m'avait demande une version de genlib avec les touches 4, 6, 8 et 2 smile
Et moi j'ai oublie de remettre les touches normales pour la direction sur V200 smile

19

PpHd> Pourquoi les TI-92 et les V200 ont un joypad différent des TI-92+ ?
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

20

Les touches F1 a 8 ne sont pas utilisables sur V200.

21

Mais pourquoi les TI-92 n'ont pas le même joypad que les TI-92+ ? (sauf si j'ai mal lu)
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

22

Si j'ai bien compris, PpHd t'as répondu : genlib n'utilise pas la même config de joypad à cause de la position des touches F1...F8 qui ont changé.
Je suppose que les directions et les touches forment une "config de joypad", et ne sont pas dissociables aussi facilement...

Edit: Oups, mal lu ton post...
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

23

Ce que je ne comprends pas c'est que les TI-92 et les V200 ont le même joypad (différent de celui des TI-92+).
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

24

Normalement les TI-92 ont le meme joypad que les 92+, ou y'a un gros bug.

25

Ah ok.
Il me semble que ton code correspond à ceci :
table = key_ti89;
if(CALCULATOR > 0)
{
  table = key_ti92;
  if(CALCULATOR != 1)
  {
    table = key_v200;
  }
}

L'erreur réside dans le deuxième test. Il faut tester si CALCULATOR > 2. Car d'après la doc de PreOs, CALCULATOR vaut 1 pour TI-92+ et 2 pour TI-92.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

26

Oue mais a l'heure actuelle CALCULATOR n'existe pas sous 92 smile
C'est un code a part.

27

Est ce que je pourais avoir une version avec les touches fléchées, s'il te plait?

(Surtout que les touches du pavé numérique sont pas vraiment dans le bon sens
[ 8 ]->gauche
[ 2 ]->droite
[ 4 ]->haut
[ 6 ]->bas)
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

28

Oue, oue ca se prepare.

29

Ah ok je pensais que c'était l'affaire de 2 minutes scotch
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

30

30 s plutot.
Mais je prepare une nouvelle release, c'est pour ca.