Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

INPUT POUR GAMEBOY ADVANCE AVEC VISUAL HAM


Description

Cliquez pour voir la capture en taille normale
Ce programme sert à rien :p mais aide à comprendre le fonctionnement INPUT sur GBA.

Programmé avec Visual HAM (sorte de Visual C++ 6 plus simple que DevKit Advance pour la programmation sur GBA).
 

Source

  • //////////////////////////////////////////
  • // INPUT BY NEO_00110010101 //
  • // neo_00110010101@hotmail.com //
  • //////////////////////////////////////////
  • // Toujours le même début ;-)
  • #include <mygba.h>
  • // Fonction: main()
  • int main()
  • {
  • // Variable
  • bool bouton_presse = 0;
  • // Initialisation de HAMlib
  • ham_Init();
  • // Initialisation du système d'affichage de texte en BGMODE 0
  • ham_InitText(0);
  • // On écrit des trucs :
  • ham_DrawText(0,19,"neo_00110010101");
  • ham_DrawText(0,0,"Press any button");
  • ham_DrawText(0,1,"-------------------------------");
  • ham_DrawText(0,2,"RIGHT");
  • ham_DrawText(0,3,"LEFT");
  • ham_DrawText(0,4,"UP");
  • ham_DrawText(0,5,"DOWN");
  • ham_DrawText(0,6,"A");
  • ham_DrawText(0,7,"B");
  • ham_DrawText(0,8,"SELECT");
  • ham_DrawText(0,9,"START");
  • ham_DrawText(0,10,"L");
  • ham_DrawText(0,11,"R");
  • ham_DrawText(20,16,"started :");
  • ham_DrawText(20,17,"22/01/2004");
  • ham_DrawText(20,18,"finished :");
  • ham_DrawText(20,19,"24/01/2004");
  • ham_DrawText(0,14,"------------------------------");
  • ham_DrawText(0,15,"Button pressed :");
  • // Boucle jusqu'à ce qu'un bouton soit pressé
  • while(bouton_presse == 0)
  • {
  • // On regarde s'il y a un bouton pressé
  • if (F_CTRLINPUT_UP_PRESSED)
  • {
  • // Si oui, on affiche "1" et "UP" (La flèche du haut du pad)
  • ham_DrawText(8,4,"1");
  • ham_DrawText(0,16,"UP");
  • }
  • // Sinon, on affiche "0" et des espaces pour effacer la zone où est écrit UP/DOWN etc...
  • else
  • {
  • ham_DrawText(8,4,"0");
  • ham_DrawText(0,16," ");
  • }
  • if (F_CTRLINPUT_DOWN_PRESSED) // Même chose pour la flèche du bas du pad
  • {
  • ham_DrawText(8,5,"1");
  • ham_DrawText(0,16,"DOWN");
  • }
  • else
  • {
  • ham_DrawText(8,5,"0");
  • }
  • if (F_CTRLINPUT_LEFT_PRESSED) // Pour la gauche
  • {
  • ham_DrawText(8,3,"1");
  • ham_DrawText(0,16,"LEFT");
  • }
  • else
  • {
  • ham_DrawText(8,3,"0");
  • }
  • if (F_CTRLINPUT_RIGHT_PRESSED) // Pour la droite
  • {
  • ham_DrawText(8,2,"1");
  • ham_DrawText(0,16,"RIGHT");
  • }
  • else
  • {
  • ham_DrawText(8,2,"0");
  • }
  • if (F_CTRLINPUT_A_PRESSED) // Pour le bouton A
  • {
  • ham_DrawText(8,6,"1");
  • ham_DrawText(0,16,"A");
  • }
  • else
  • {
  • ham_DrawText(8,6,"0");
  • }
  • if (F_CTRLINPUT_B_PRESSED)// Pour le B
  • {
  • ham_DrawText(8,7,"1");
  • ham_DrawText(0,16,"B");
  • }
  • else
  • {
  • ham_DrawText(8,7,"0");
  • }
  • if (F_CTRLINPUT_SELECT_PRESSED) // Pour le bouton SELECT
  • {
  • ham_DrawText(8,8,"1");
  • ham_DrawText(0,16,"SELECT");
  • }
  • else
  • {
  • ham_DrawText(8,8,"0");
  • }
  • if (F_CTRLINPUT_START_PRESSED) // Pour le bouton START
  • {
  • ham_DrawText(8,9,"1");
  • ham_DrawText(0,16,"START");
  • }
  • else
  • {
  • ham_DrawText(8,9,"0");
  • }
  • if (F_CTRLINPUT_L_PRESSED) // Pour la gachette L
  • {
  • ham_DrawText(8,10,"1");
  • ham_DrawText(0,16,"L");
  • }
  • else
  • {
  • ham_DrawText(8,10,"0");
  • }
  • if (F_CTRLINPUT_R_PRESSED) // Pour la gachette R
  • {
  • ham_DrawText(8,11,"1");
  • ham_DrawText(0,16,"R");
  • }
  • else
  • {
  • ham_DrawText(8,11,"0");
  • }
  • }
  • return 0;
  • } // Fin de la fonction main()
//////////////////////////////////////////
//   INPUT BY NEO_00110010101    //
// neo_00110010101@hotmail.com //
//////////////////////////////////////////

// Toujours le même début ;-)
#include <mygba.h>

// Fonction: main()
int main()
{
    // Variable
    bool bouton_presse = 0;

    // Initialisation de HAMlib
    ham_Init();

    // Initialisation du système d'affichage de texte en BGMODE 0
    ham_InitText(0);

    // On écrit des trucs :
    ham_DrawText(0,19,"neo_00110010101");
    ham_DrawText(0,0,"Press any button");
    ham_DrawText(0,1,"-------------------------------");
    ham_DrawText(0,2,"RIGHT");
    ham_DrawText(0,3,"LEFT");
    ham_DrawText(0,4,"UP");
    ham_DrawText(0,5,"DOWN");
    ham_DrawText(0,6,"A");
    ham_DrawText(0,7,"B");
    ham_DrawText(0,8,"SELECT");
    ham_DrawText(0,9,"START");
    ham_DrawText(0,10,"L");
    ham_DrawText(0,11,"R");
    ham_DrawText(20,16,"started :");
    ham_DrawText(20,17,"22/01/2004");
    ham_DrawText(20,18,"finished :");
    ham_DrawText(20,19,"24/01/2004");
    ham_DrawText(0,14,"------------------------------");
    ham_DrawText(0,15,"Button pressed :");

    // Boucle jusqu'à ce qu'un bouton soit pressé
    while(bouton_presse == 0)
    {
        // On regarde s'il y a un bouton pressé
        if (F_CTRLINPUT_UP_PRESSED)
        {
             
            // Si oui, on affiche "1" et "UP" (La flèche du haut du pad)
            ham_DrawText(8,4,"1");
            ham_DrawText(0,16,"UP");
        }
            // Sinon, on affiche "0" et des espaces pour effacer la zone où est écrit UP/DOWN etc...
            else
            {
                ham_DrawText(8,4,"0");
                ham_DrawText(0,16,"      ");
            }
        if (F_CTRLINPUT_DOWN_PRESSED) // Même chose pour la flèche du bas du pad
        {
            ham_DrawText(8,5,"1");
            ham_DrawText(0,16,"DOWN");
        }
            else
            {
                ham_DrawText(8,5,"0");
            }
        if (F_CTRLINPUT_LEFT_PRESSED) // Pour la gauche
        {
            ham_DrawText(8,3,"1");
            ham_DrawText(0,16,"LEFT");
        }
            else
            {
                ham_DrawText(8,3,"0");
            }
        if (F_CTRLINPUT_RIGHT_PRESSED) // Pour la droite
        {
            ham_DrawText(8,2,"1");
            ham_DrawText(0,16,"RIGHT");
        }
            else
            {
                ham_DrawText(8,2,"0");
            }
        if (F_CTRLINPUT_A_PRESSED) // Pour le bouton A
        {
            ham_DrawText(8,6,"1");
            ham_DrawText(0,16,"A");
        }
            else
            {
                ham_DrawText(8,6,"0");
            }
        if (F_CTRLINPUT_B_PRESSED)// Pour le B
        {
            ham_DrawText(8,7,"1");
            ham_DrawText(0,16,"B");
        }
            else
            {
                ham_DrawText(8,7,"0");
            }
        if (F_CTRLINPUT_SELECT_PRESSED) // Pour le bouton SELECT
        {
            ham_DrawText(8,8,"1");
            ham_DrawText(0,16,"SELECT");
        }
            else
            {
                ham_DrawText(8,8,"0");
            }
        if (F_CTRLINPUT_START_PRESSED) // Pour le bouton START
        {
            ham_DrawText(8,9,"1");
            ham_DrawText(0,16,"START");
        }
            else
            {
                ham_DrawText(8,9,"0");
            }
        if (F_CTRLINPUT_L_PRESSED) // Pour la gachette L
        {
            ham_DrawText(8,10,"1");
            ham_DrawText(0,16,"L");
        }
            else
            {
                ham_DrawText(8,10,"0");
            }
        if (F_CTRLINPUT_R_PRESSED) // Pour la gachette R
        {
            ham_DrawText(8,11,"1");
            ham_DrawText(0,16,"R");
        }
            else
            {
                ham_DrawText(8,11,"0");
            }

    
    }

    return 0;
} // Fin de la fonction main()

Conclusion

Ce programme affiche aussi le nom de la touche pressée mais je l'ai fait d'une telle manière que ça clignote parfois ... à améliorer :)

et puis il date ce programme !
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   input
    • input.elfTélécharger ce fichier [Réservé aux membres club]266 579 octets
    • input.gbaTélécharger ce fichier [Réservé aux membres club]68 476 octets
    • input.vhoTélécharger ce fichier [Réservé aux membres club]34 octets
    • input.vhwTélécharger ce fichier [Réservé aux membres club]1 057 octets
    • input.vhw.bakTélécharger ce fichier [Réservé aux membres club]147 octets
    • main.bakTélécharger ce fichier [Réservé aux membres club]4 033 octets
    • main.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 033 octets
    • main.sTélécharger ce fichier [Réservé aux membres club]7 206 octets
    • makefileTélécharger ce fichier [Réservé aux membres club]3 282 octets

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de neo_00110010101 le 22/05/2004 19:32:46

Postez quand même vos remarques même s'il n'y a pas beaucoup de développeurs sur GBA !

signaler à un administrateur
Commentaire de djl le 23/05/2004 09:20:21

bonne initiative, ton code est encourageant (vu qu'il est pas trop compliqué), suffit de lee lire pour le comprendre ;)

et ca existe un compilo gratuit pour gba ?

signaler à un administrateur
Commentaire de neo_00110010101 le 23/05/2004 09:39:54

D'abord, merci pour ce commentaire :]
Moi j'utilise Visual HAM (C'est du Visual C++ tout craché ) :
- programmes offerts (éditeur de map, de palette, couleur RGB ...
- environnement simple comme VC++
- création de fichiers : source C et C++, header C et C++ ou fichier ASM
- gestion par projet comme sur VC++

Voici le lien pour le télécharger :
http://www.ngine.de/site/modules.php?name=Downloads&d_op=viewdownload&cid=1

Sinon il y a DevKitAdvance (plus compliqué, plus pour les pros)

Le genre de programme à utiliser par la suite :)

Download : http://sourceforge.net/project/showfiles.php?group_id=67315

signaler à un administrateur
Commentaire de djl le 23/05/2004 10:51:30

ok merci, je vais regarder

mais devKitAdvance et Visual HAM sont gratuit? libre ?

signaler à un administrateur
Commentaire de neo_00110010101 le 23/05/2004 11:35:33

Visual HAM oui, mais tu auras une petite intro de 2 secondes au début de chaque programme (c'est pas moche et puis on doit bien ça à celui qui a fait tout ce programme)

Sinon, DevKitAdvance, normallement non, mais j'ai des doutes ... je vais me renseigner ...

signaler à un administrateur
Commentaire de neo_00110010101 le 23/05/2004 11:54:02

et ben si DevKit Advance est gratuit aussi mais vaut mieux débuter avec HAM

signaler à un administrateur
Commentaire de djl le 23/05/2004 11:55:06

ok merci, sinon tu a dit que c'etait plus leger et plus simple Visual HAM, mais à part l'intro du debut, c'est koi les inconvenients par rapport à devkitadvance ?

signaler à un administrateur
Commentaire de neo_00110010101 le 23/05/2004 12:15:27

Premierement, DevKit Advance est un peu difficile au début pour compiler ... d'après pas mal de personnes, y'a beaucoup d'erreurs (et donc pas mal de crises) :)

Et puis faut savoir que Visual HAM possède déjà une librairie intégrée contrairement à DevKit Advance.

Et puis voici par exemple une citation : "devkitadv c'est vraiment l'horreur pour un debutant qui ne connais n'y la programmation, n'y gcc, les makefile etc....
(j'ai mis pratiquement 2 mois avant de compiler un truc sur devkitadv.)"

Donc DevKit Advance est beaucoup plus compliqué que HAM :]
Après au niveau des capacités ... c'est peut-être pareil mais HAM est mis à jour constamment.

signaler à un administrateur
Commentaire de djl le 23/05/2004 12:42:55

ok, donc va pour Visual HAM !

merci pour les precisions

signaler à un administrateur
Commentaire de neo_00110010101 le 23/05/2004 12:58:32

N'oublie pas google pour rechercher des tutoriaux ...
et voilà un lien vers une petite communauté de programmeurs GBA :

http://www.yaronet.com/forum.php?s=5

Bonne chance parce que moi, je vais (peut-être) me tourner vers le Pocket PC maintenant ! (après les CASIO, les TI, la GBA ...et le PC)

signaler à un administrateur
Commentaire de djl le 23/05/2004 14:23:13

ok, je vais juste regarder

signaler à un administrateur
Commentaire de LordBob le 23/05/2004 19:49:28

ca peut etre pas mal d'apprendre a programmer pour GBA !!!
c'est une source interressante qui nous sort de nos habitudes !!!

signaler à un administrateur
Commentaire de neo_00110010101 le 23/05/2004 20:13:16

Merci LordBob car j'ai hésité avant de la poster !
J'pensais avoir des commentaires du genre : "Mais qu'est-ce que tu fous ici avec ta GBA crétin !"

Mais finalement tu fais l'inverse en disant que c'est "une source interressante"

Merci, merci :] :]

signaler à un administrateur
Commentaire de LordBob le 23/05/2004 20:18:12

non serieux, ca nous change un peu !!! et puis ca tombe tu as motivé des gens pour faire de la prog sur GBA

signaler à un administrateur
Commentaire de neo_00110010101 le 23/05/2004 20:22:22

"des" ?
Me dis pas que LordBob va s'y mettre aussi :)

J'pensais avoir fait un programme gerant l'INPUT mais je viens de faire un virus :]

signaler à un administrateur
Commentaire de djl le 23/05/2004 20:41:16

je suis en train de telecharger la 2.7 full, 47meg quand meme
ca comprend quoi? un editeur, un debuggeur, ya un compilateur c++? sinon l'environement de developpement il est bien?

signaler à un administrateur
Commentaire de neo_00110010101 le 23/05/2004 20:52:32

Pourquoi la 2.7 ?
Dedans il y a :
- Visual HAM
- le compileur
- un système Makefile automatique
- une librairie de développement de jeu (HAMlib)
- l'installateur amélioré
- etc ...

signaler à un administrateur
Commentaire de neo_00110010101 le 23/05/2004 20:56:49

au fait oui l'environnement est bien et fait penser à VC++ 6 et moi je n'ai pas de debugger alors je ne promais rien avec cette version !

signaler à un administrateur
Commentaire de djl le 23/05/2004 21:00:57

c'est le seul lien qui marchait

signaler à un administrateur
Commentaire de LordBob le 23/05/2004 21:06:48

en allant sur le site official, tu peux telecharger la derniere version !!!

signaler à un administrateur
Commentaire de djl le 23/05/2004 21:13:28

ba ca va alors, la derniere c'est la 2.5 et moi j'ai la 2.7!

signaler à un administrateur
Commentaire de neo_00110010101 le 23/05/2004 21:13:30

lol, voici un site rempli de très bon tutoriaux :
&gt; http://www.aaronrogers.com/ham/index.php
ça, c'est LE site de développement GBA :
&gt; http://www.gbadev.org/
et là c'est une autre communauté très grande et très active (mais alors TRES)
&gt; http://www.playeradvance.org/

Sinon, sur GBAdev tu verras des demos de malades !! des demo 3D ...

signaler à un administrateur
Commentaire de djl le 23/05/2004 21:14:45

cool moi c'est surtout la 3d qui m'interesse

signaler à un administrateur
Commentaire de neo_00110010101 le 23/05/2004 21:27:08

J'oubliais : Visual HAM dispose de l'émulateur VisualBoy Advance (bah oui faut bien voir si tes progs marchent !) mais tu peux aussi télécharger celui-ci gratos ici : http://vba.ngemu.com/downloads.shtml

Moi aussi je suis un fou de 3D et maintenant je m'intéresse à l'IA alors imagine le jour où je ferai un jeu en 3D avec une IA ...

signaler à un administrateur
Commentaire de trystan007 le 19/04/2005 20:57:45

Franchement, c'est super, et je suis très attiré par ces machines : j'ai commencé la programmation sur calculette, et, depuis, je n'ai toujours pas arrêté!

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version


HTC Magic

Entre 429€ et 429€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.