¿Por donde se empieza a estudiar sobre la consola y para desarrollar homebrew?

Ya que no tenemos subforo de programación pues creo aquí el hilo.

Desde que me registré en este foro siempre he sentido curiosidad por esto, y ahora que ya tengo estudiado algo de fundamentos de programación y un poco de Java y Python pues pensé que me podría poner a mirar cosas acerca de 3DS, desde como funciona y qué partes tiene (en PS3 por ejemplo aquello del lv1, lv2 y tal), hasta desarrollar un Hello World en sí.

Sé que la consola lleva un ARM v11, entonces si quiero programar un HW ¿me valdría con mirarme documentación de la página oficial de ARM?

Al ser aún un estudiante medio novato de Informática tengo muchas dudas con estas cosas y siempre es aquí donde me quedo parado, por ejemplo, ¿qué diferencia hay entre desarrollar para esta consola que para un aparato con Android que por ejemplo lleve ARM v11 también?

No sé hasta donde me inculcaré con esto pero si tengo acceso "fácil" a las cosas que se han de aprender quizá le dedique tiempo. XD

Gracias.
Librerías:
https://github.com/smealum/ctrulib
Wiki 3DS HomeBrew:
http://www.3dbrew.org/wiki/Main_Page

Con eso ya tendrías todo lo necesario para crear .elf's compatibles con la 3DS (ctrulib ya tiene 2 proyectos de muestra con el makefile, y de linker puedes usar el de yellows8: http://pastebin.com/sCQppzU8), luego para convertirlos a .3DS tendrás que usar make_rom, que por el hilo de HB de gbaTemp por algún lado hay un script para que lo haga automáticamente :P

La página oficial de ARM solo sirve por si hay algún OpCode que no entiendas o recuerdes (como podría ser "MRC p15, 0, R0,c0,c0, 5"), y la diferencia de Android y la 3DS son bastantes, aunque con la que te tendrías que quedar más es básicamente las librerías son incompatibles (a parte de un montón de detalles técnicos). Si tienes cualquier duda puedes preguntar ^-^
ernilos escribió:Librerías:
https://github.com/smealum/ctrulib
Wiki 3DS HomeBrew:
http://www.3dbrew.org/wiki/Main_Page

Con eso ya tendrías todo lo necesario para crear .elf's compatibles con la 3DS (ctrulib ya tiene 2 proyectos de muestra con el makefile, y de linker puedes usar el de yellows8: http://pastebin.com/sCQppzU8), luego para convertirlos a .3DS tendrás que usar make_rom, que por el hilo de HB de gbaTemp por algún lado hay un script para que lo haga automáticamente :P

La página oficial de ARM solo sirve por si hay algún OpCode que no entiendas o recuerdes (como podría ser "MRC p15, 0, R0,c0,c0, 5"), y la diferencia de Android y la 3DS son bastantes, aunque con la que te tendrías que quedar más es básicamente las librerías son incompatibles (a parte de un montón de detalles técnicos). Si tienes cualquier duda puedes preguntar ^-^

Gracias, tiene buena pinta esa wiki la verdad.
No hay ninguna diferencia entre programar para android o para 3DS, a parte del lenguaje claro.

Las librerías y el sdk te proporcionan todas las funciones que controlan el hardware por lo que las especificaciones del hardware son transparentes a lo que hagas.

Hace años se programaba directamente con los chips, tenias que imprimirte el datasheet de un millón de paginas y aprenderte todas las funciones. Hoy por suerte o por desgracias ya no es así.

Si estas estudiando ingeniería informática lo mas seguro es que pronto te hagan programar un 8086, 8051 o un M86k y le pillaras el gustillo
3 respuestas