SDK.

Discusión en general sobre Gemix.

SDK.

Postby shao » Sat Oct 06, 2012 8:03 pm

Hola, por curiosidad, se podria con el sdk hacer que los programas que haces en gemix se puedan ejecutar en un amstrad, nes y consolas y ordenadores por el estilo?.

Muy superficialmente, por que no tengo ni idea, habria que transformar las funciones de gemix a codigo basic o maquina para los ordenadores y para los lenguajes de segun que consola, seria asi?.
User avatar
shao
 
Posts: 6034
Joined: Wed Jun 17, 2009 4:51 pm

Re: SDK.

Postby CicTec » Sat Oct 06, 2012 8:13 pm

Hola shao,

No, no es posible, para hacer esto necesitas pasar todo (hacer el porting a la plataforma).

El SDK lo que permite es expander funcionalidades (nuevas funciones, variables, etc...) o montar librerias particulares (por ejemplo aquella de fisica, un motor 3D, etc...).
User avatar
CicTec
 
Posts: 16554
Joined: Thu Jul 31, 2008 10:18 pm

Re: SDK.

Postby shao » Sat Oct 06, 2012 8:24 pm

Y como se hace un porting? tienes que reprogramar gemix por completo para cada maquina diferente o que?.
User avatar
shao
 
Posts: 6034
Joined: Wed Jun 17, 2009 4:51 pm

Re: SDK.

Postby CicTec » Sat Oct 06, 2012 8:32 pm

Depende mucho dal tipo de plataforma, no es posible hacerlo en todas, por ejemplo si el sistema esta implementado bien, hacer un porting da windows a linux, requiere simplemente escribir algunos puntos del core, por ejemplo un gestore una ventana en windows se programa nativamente mediante la API de windows, en linux mediante las X11, asi que hay que escribir 2 versiones del gestor.

Normalmente una libreria simple no requiere cambios (por ejemplo la libreria matematica), simplemente es suficiente compilar el modulo en el SO, con el compilador nativo y todo funciona.
User avatar
CicTec
 
Posts: 16554
Joined: Thu Jul 31, 2008 10:18 pm

Re: SDK.

Postby shao » Sat Oct 06, 2012 8:38 pm

Entonces del codigo gemix, es decir del "core" (creo que asi se le llama a lo que tienes que arreglar cuando te reportamos fallos) no hay que tocar nada de una plataforma para otra?.


Es solo recompilar librerias y lo de las ventanas.
User avatar
shao
 
Posts: 6034
Joined: Wed Jun 17, 2009 4:51 pm

Re: SDK.

Postby CicTec » Sat Oct 06, 2012 8:45 pm

Si hablamos de compilacion de programas, el core es el compilador.
Si hablamos en de ejecucion de programas, el core es el interprete.
Lo demas son librerias (GMX_mod_.....)

Generalmente un porting requiere siempre el core y los modulos primarios (graphics, input y alguna mas dependiendo del caso), las otras es solo recompilar (salvo excepciones).
User avatar
CicTec
 
Posts: 16554
Joined: Thu Jul 31, 2008 10:18 pm

Re: SDK.

Postby erkosone » Sat Oct 06, 2012 9:36 pm

shao wrote:Hola, por curiosidad, se podria con el sdk hacer que los programas que haces en gemix se puedan ejecutar en un amstrad, nes y consolas y ordenadores por el estilo?.

Muy superficialmente, por que no tengo ni idea, habria que transformar las funciones de gemix a codigo basic o maquina para los ordenadores y para los lenguajes de segun que consola, seria asi?.


Hola Shao, para programar en máquinas como las que dices lo mas eficiente para un programador es programar directamente en C, hay algunos compiladores de C para nes y amstrad, pero en cualquier caso difieren bastante en el modo de uso entre plataformas.

Piensa bien lo que has preguntado, se puede portar gemix a una nes? la respuesta es: "completamente NO", por la sencilla razón de la memoria ram, gemix es un lenguaje como muchos otros de alto nivel, que se basa en un núcleo o core programado en C o C++ que a su vez está basado en otras librerías auxiliares, todo esto si lo sumas da una cantidad de memoria ram necesaria para alojar la aplicación bastante superior a la que disponen estas máquinas.

Yo actualmente programo en C++ para Arduino, estoy programando un "Div" muy rudimentario que me ayuda a presentar en pantalla varias cosas como primitivas gráficas y manipularlas, pero ya me doy cuenta de que tratar de hacer estas cosas por software en cacharros con estas limitaciones es una locura.. va lento del carajo.

En tu caso lo mejor que puedes hacer si lo que quieres es programar para una nes o algo así es, primero tener muy claro para que plataforma quieres programar, segundo, tener muy claro que compilador vas a utilizar, y tercero leer toda la información que te ofrece el compilador y ver si va a satisfacer tus necesidades, y apartir de ese punto armarte un motor propio.

Si algún día decides armarte de valor para hacer esto te recomiento que tengas en cuenta programar para el MSX-2, tiene una comunidad retro super grande en el mundo hoy en día.. salen juegos nuevos cada año para el MSX, el ultimo que jugué fue un sonic que es para quitarse el sombrero, pero vas a tener que aprender C a fondo, y seguramente necesites también algo de assembler para hacer depende que cosas como limpiar la pantalla, cambiar el modo gráfico etc etc.. requiere que te guste de verdad lo que estás haciendo, tienes que dedicarle tiempo y mucho esfuerzo en aprender por completo todo lo que contienen las entrañas de la máquina para la que quieres programar, no es ni parecido a programar en C clásico.
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: SDK.

Postby shao » Sun Oct 07, 2012 7:17 am

No no, no pretendo programar para estas máquinas de momento es sólo curiosidad, por cierto dices que la memoria sería un inconveniente en algunas máquinas para alojar la aplicación, que aplicacion?, no se supone que tú programarias en un pc y al compilar esto te generaría un archivo con la extensión de los juegos de nes, msx o lo que sea?. Y Gemix se quedaría en el pc.
User avatar
shao
 
Posts: 6034
Joined: Wed Jun 17, 2009 4:51 pm

Re: SDK.

Postby CicTec » Sun Oct 07, 2012 9:24 am

shao wrote:No no, no pretendo programar para estas máquinas de momento es sólo curiosidad, por cierto dices que la memoria sería un inconveniente en algunas máquinas para alojar la aplicación, que aplicacion?, no se supone que tú programarias en un pc y al compilar esto te generaría un archivo con la extensión de los juegos de nes, msx o lo que sea?. Y Gemix se quedaría en el pc.

Se refiere al hecho que por ejemplo consolas viejas como le GBA o nuevas como la NDS, tienen muy poca ram.
Por ejemplo la NDS tiene 4MB en total si no recuerdo mal y algo separado como memoria video, bien... a esto sumas que los juegos tienen resolucion baja (tipo 160x120) que normalmente es inferior a la que tiene un PC (320x200) o alguna otra consola mayor.
Ya con solo contar la resolucion, mas grande es, mas memoria requiere, a esto debes sumar toda la memoria que requiere el core para alojar los procesos (cuya filosofia de DIV/Gemix utiliza), la memoria requerida suma inmediatamente.
La conclusion es que un programa en Gemix te puede requerir minimo 5-6MB de ram para funcionar, y si la NDS solo ne tiene 4, ya puedes tirar las sumas.

Para estos hardware, se programa de forma specializada, o sea a bajo nivel, disfrutando via hardware cada minimo bit disponible y optimizando el juego en cada detalle.

Gemix es un programa "generico para videojuegos y plataformas", con una filosofia particular (los procesos) que requiere uso superior de ram respeto a otros programas (para facilitar la tarea del programador).
User avatar
CicTec
 
Posts: 16554
Joined: Thu Jul 31, 2008 10:18 pm

Re: SDK.

Postby shao » Sun Oct 07, 2012 5:57 pm

Osea que el minimo de ram que deberia tener una consola seria de 16/32 MB para arriba para que gemix se pueda portar.

Gracias por la info chicos.
User avatar
shao
 
Posts: 6034
Joined: Wed Jun 17, 2009 4:51 pm

Next

Return to General

Who is online

Users browsing this forum: No registered users and 9 guests