[Mi primer Homebrew] Convertidor de Entero a Hexadecimal y Binario ¡¡1.1!!

Bueno chicos acá imágenes del a 1.1
http://imgur.com/a/8t0zD

los cambios fueron:
*Se agregó Menú, botón para regresar al menú (L)
*Incrementar * 10, con Arriba y Abajo, X y Y.
*Se agregó Número al azar.
*Se agregó botón salir pero creo que no funciona, porque como no tengo 3ds aún, no pude probarlo.
*Hice el proyecto en GitHub con el código de fuente disponible para cualquiera que quiera saber como hice el menú o lo demás.

https://github.com/darkxex/InttoHex

-----------------------------------------------------------------------------------

Bueno chicos, hace poco hice un post para consultar si habían desarrolladores de homebrew de habla hispana, porque solo he visto a los desarrolladores de GBATemp. en fin, ya terminé mi primer homebrew, no tengo 3ds, la compro esta semana pero mi primer homebrew que es un convertidor de Entero a Hexadecimal y Binario, ya está funcionando [sonrisa] , ya que voy probando mis app en Citra Emulator, la mayoría de los developer lo hacían así, para no estar pasando cada cosa a la 3ds.

en fin sin más drama aquí una imagen, ya sé que es algo inútil mi homebrew pero estoy feliz.
como no tengo permiso para insertar imágenes, acá dejo el enlace.
http://imgur.com/Bz7eiLb

y para el que quiera el app http://realidadscans.org/dectohex.zip
y para el que quiera el código de fuente por si le sirve de algo, aquí se los pego.

#include <3ds.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

//HI
int main(int argc, char **argv)
{
   //Matrix containing the name of each key. Useful for printing when a key is pressed
   char keysNames[32][32] = {
      "KEY_A", "KEY_B", "KEY_SELECT", "KEY_START",
      "KEY_DRIGHT", "KEY_DLEFT", "KEY_DUP", "KEY_DDOWN",
      "KEY_R", "KEY_L", "KEY_X", "KEY_Y",
      "", "", "KEY_ZL", "KEY_ZR",
      "", "", "", "",
      "KEY_TOUCH", "", "", "",
      "KEY_CSTICK_RIGHT", "KEY_CSTICK_LEFT", "KEY_CSTICK_UP", "KEY_CSTICK_DOWN",
      "KEY_CPAD_RIGHT", "KEY_CPAD_LEFT", "KEY_CPAD_UP", "KEY_CPAD_DOWN"
   };

   // Initialize services
   gfxInitDefault();

   //Initialize console on top screen. Using NULL as the second argument tells the console library to use the internal console structure as current one
   consoleInit(GFX_TOP, NULL);

   u32 kDownOld = 0, kHeldOld = 0, kUpOld = 0; //In these variables there will be information about keys detected in the previous frame

   printf("\x1b[0;0HConvertidor de Entero a Decimal y Hexadecimal.");
   printf("\x1b[1;0HBotones: A = +1 y B = -1 o las flechas.");
   printf("\x1b[2;0HBy Angel Xex.");
   printf("\x1b[15;0HEntero: 0\n");

            printf ("\x1b[16;0Hhexadecimal: 0\n");

              printf ("\x1b[17;0Hbinario: 0\n");
int count = 0;
int i;
char buffer [33];
   // Main loop
   while (aptMainLoop())
   {
      //Scan all the inputs. This should be done once for each frame
      hidScanInput();

      //hidKeysDown returns information about which buttons have been just pressed (and they weren't in the previous frame)
      u32 kDown = hidKeysDown();
      //hidKeysHeld returns information about which buttons have are held down in this frame
      u32 kHeld = hidKeysHeld();
      //hidKeysUp returns information about which buttons have been just released
      u32 kUp = hidKeysUp();

      if (kDown & KEY_START) break; // break in order to return to hbmenu

      //Do the keys printing only if keys have changed
      if (kDown != kDownOld || kHeld != kHeldOld || kUp != kUpOld)
      {
         //Clear console
         consoleClear();

         //These two lines must be rewritten because we cleared the whole console
         printf("\x1b[0;0HConvertidor de Entero a Decimal y Hexadecimal.");
         printf("\x1b[1;0HBotones: A = +1 y B = -1 o las flechas.");
         printf("\x1b[2;0HBy Angel Xex.");
         printf("\x1b[15;0HEntero: %i \n",count);
         itoa (count,buffer,16);
         printf ("\x1b[16;0Hhexadecimal: %s\n",buffer);
         itoa (count,buffer,2);
           printf ("\x1b[17;0Hbinario: %s\n",buffer);
         printf("\x1b[3;0H"); //Move the cursor to the fourth row because on the third one we'll write the circle pad position

         //Check if some of the keys are down, held or up
         int i;
         for (i = 0; i < 32; i++)
         {
            if (kDown & BIT(i))
               {//printf("%s down\n", keysNames[i]);
               if( strcmp(keysNames[i],"KEY_A") == 0 )
               count++;
               if( strcmp(keysNames[i],"KEY_DRIGHT") == 0 )
                              count++;
               if( strcmp(keysNames[i],"KEY_B") == 0 )
                              count--;
               if( strcmp(keysNames[i],"KEY_DLEFT") == 0 )
                                             count--;
               }
            if (kHeld & BIT(i))
               {//printf("%s held\n", keysNames[i]);



               }
            if (kUp & BIT(i))
               {//printf("%s up\n", keysNames[i]);
            }


         }
      }

      //Set keys old values for the next frame
      kDownOld = kDown;
      kHeldOld = kHeld;
      kUpOld = kUp;

      circlePosition pos;

      //Read the CirclePad position
      hidCircleRead(&pos);

      //Print the CirclePad position
      //printf("\x1b[2;0H%04d; %04d", pos.dx, pos.dy);

      // Flush and swap framebuffers
      gfxFlushBuffers();
      gfxSwapBuffers();

      //Wait for VBlank
      gspWaitForVBlank();
   }

   // Exit services
   gfxExit();
   return 0;
}

Chicos si hay alguien que haga homebrew también, me manda pm, realmente quiero hacer un proyecto más grande, y sería genial ayudarnos entre todos.
Enhorabuena gran trabajo compi [beer]
gracias man, recién la publiqué en gbatemp, pero lo más probable es que allá me terminen ignorando.
1. por la simplicidad de la aplicación, allá son puros monstruos en torno a las app que hacen.
2. y porque está en español.
pero en serio me gustaría saber si hay mas desarrolladores de habla hispana para que me puedan dar consejos entre otros.
Buen trabajo compañero ^^ luego lo pruebo a ver si funciona correctamente ;)
#239928# está baneado por "Saltarse el ban con un clon"
Buen trabajo @darkxex (¿Provienes de la scene de Xbox? Por eso de .xex)

Te recomiendo que te hagas una cuenta en Github y ahí vayas subiéndolo todo, puesto que en la misma web puedes subir el contenido sin compilar y el compilado (releases se denominan allí), y ya es lo que utilizan todos los programadores de 3DS (o casi todos) debido a su utilidad.

¿Programadores aquí preguntas? Bueno, la mayoría solo creamos Forks de grandes proyectos, pero alguno que otro sí hay, como @javiMaD o @zerodata, pero no son usuarios/programadores tan activos como podrían ser los de renombre de GBATemp.
la verdad es que cada vez que alguien busca alguna herramienta "avanzada" siempre busca en gbatemp. Basicamente lo que hay aqui de ese tema viene de alli.

Por cierto, es el primer codigo que veo que incluye todos los botones de la new XD.
@darkxex Seguro que si es tu primer homebrew para 3ds tienes que estar supercontento :)

Yo tambien estaba pensando en hacer algo de homebrew pero por un percance ahora estoy en v11.0 y he de reconocer que se me han ido algo las ganas [triston] En su día hize algo bastante básico para la DS pero ya han pasado unos añitos.

Ya nos iras mostrando tus avances.

Saludos,
Hoy arreglaré el proyecto un poco y lo subiré a github, alguien sabe si hay una forma de depurar con la 3ds? Me refiero para probar si funciona y no tener q estar copiando a la sd cada compilación así como lo tiene android. Un modo deceloper q permite probar las apk apens se compiln por USB gracias [360º]
darkxex escribió:Hoy arreglaré el proyecto un poco y lo subiré a github, alguien sabe si hay una forma de depurar con la 3ds? Me refiero para probar si funciona y no tener q estar copiando a la sd cada compilación así como lo tiene android. Un modo deceloper q permite probar las apk apens se compiln por USB gracias [360º]

No me suena que haya nada para depurar como tal en la 3DS, si lo que quieres es una opción para mover rápidamente la app a la consola puedes usar el FTP que viene con el starter kit del Homebrew Launcher, o crear el CIA de la app e instalarla vía WiFi con el FBI. :)
las dos formas se ven rentables, pero creo q estoy seguro que por ahí algunos cfw tienen modo developer.
darkxex escribió:Hoy arreglaré el proyecto un poco y lo subiré a github, alguien sabe si hay una forma de depurar con la 3ds? Me refiero para probar si funciona y no tener q estar copiando a la sd cada compilación así como lo tiene android. Un modo deceloper q permite probar las apk apens se compiln por USB gracias [360º]

Puede que el FW Dev y luma-dev te echen una mano
hilo_tutorial-como-instalar-el-devunit-firmware-en-las-consolas-retails_2173196
Darkcloud98 escribió:
darkxex escribió:Hoy arreglaré el proyecto un poco y lo subiré a github, alguien sabe si hay una forma de depurar con la 3ds? Me refiero para probar si funciona y no tener q estar copiando a la sd cada compilación así como lo tiene android. Un modo deceloper q permite probar las apk apens se compiln por USB gracias [360º]

Puede que el FW Dev y luma-dev te echen una mano
hilo_tutorial-como-instalar-el-devunit-firmware-en-las-consolas-retails_2173196


Que yo sepa el FM-Dev es meramente decorativo, no tiene modo de debugear ya que la consola no tiene salidas para debug.

Saludos
Buenas @Darkxex y enhorabuena.

Yo intente hacer algo de homebrew y al final desistí porque no tengo ni papa de programación en C...
Cualquier cosa en la que pueda ayudarte dimelo sin problemas.

Un Saludo y a continuar desarrollando.
Realidadscans? No eres de los de la app Ripjkanime(?)

Buen trabajo, a mi igual me gustaria hacer aplicaciónes para el Homebrew pero no se nada de programación, apenas estoy tratando de aprender xD
si man, soy el mismo q creo ripjkanime
bueno, por algo hay que empezar!!!

buena suerte en tu andadura en el scene compañero!!!

un saludo
17 respuestas