Karoshi MSX Community

Desarrollo MSX => Desarrollo (Español/Spanish) => Mensaje iniciado por: Mortimer en 05 de Diciembre de 2008, 10:36:13 am



Título: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: Mortimer en 05 de Diciembre de 2008, 10:36:13 am
Hola, no sé si este será el mejor sitio para presentarme, pero cómo será dónde más participe pues allá voy: Vuelvo a la carga tras muchos años de barbecho, y con varios proyectos, el más interesante creo que una herramienta para programar 'bocetos' de juegos desde Java, y que también quiero que se convierta en una herramienta de depuración y generación automática de código.

Voy a copiar un POST de un hilo konamito.com (dónde también podéis leer más cosas sobre mí: http://www.konamito.com/node/1756 (http://www.konamito.com/node/1756)) para que os hagáis una idea de lo que pretendo:

Citar
Voy a intentar explicar un poco mejor la idea, aunque me cuesta explicarlo porque hasta para mí es un poco escurridiza y tiene muchos enfoques posibles.

Imaginaos un emulador MSX típico (Y básico), tiene virtualizados los elementos de entrada/salida que interactúan directamente con el usuario: VDP, PSG, teclado, Joysticks... y también por supuesto la CPU, la RAM y la ROM. El proceso normal de funcionamiento es que la CPU va recogiendo instrucciones de la memoria, las procesa junto con los datos de los dispositivos de entrada, y el resultado los vierte en los de salida. Si alguien tiene alguna duda hasta aquí que levante la mano Smile

Pues bien, sigamos imaginando, ahora cogemos ese emulador, y construimos una serie de funciones en el lenguaje con el que está programada la herramietna para interactuar con los elementos de entrada/salida, (como hace BASIC) ¿Qué tenemos? Pues algo que desde fuera parece un MSX, pero que se puede programar rápida y fácilmente con toda la potencia del ordenador anfitrión con sus gigas de RAM y potencia de cálculo, por eso decía lo de 'casi infinitos recursos'.

Por ejemplo, imaginad que queremos ver cómo quedaría un Sprite dando vueltas en círculo, si hemos creado las funciones podría quedar tan "sencillo" como:
 
Código:
msx.InitScreen(1);
Sprite misprite=new(Sprite(PATRON_SPRITE1));
int x=0;
while (!msx.KeyPressed()){
 msx.put_sprite(0, sin(x)*40, cos(x)*40, misprite);
 x++;
 msx.WaitVSync;
}

Como veis, se pude usar la potencia del lenguaje anfitrión, y se pueden abstraer las funciones útiles de bajo nivel, de BIOS, de BASIC o inventar las que se crean necesarias. Y lo interesante es que esto al ejecutarse, simplemente enviará al VDP virtual la misma serie de 'outs' que si se programara en un MSX real, de hecho, se podrían capturar y hacer una especie de película para verlo en un MSX real.

Por supuesto, no es todo tan fácil y bonito, cuando queramos portar a un MSX real, todas las limitaciones seguirán estando ahí, así que habrá que ir portando manualmente y si no hemos tenido cuidado, puede que lo que hemos creado no sea viable. Para evitar un poco esto, se podrán poner restricciones en cuanto a la cantidad de bytes que puede asimilar el vdp por refresco, memoria usada para guardar los patrones, y cosas así.

Bueno, si sigue alguien despierto después del tocho espero que le haya quedado algo más claro, la herramientas también tiene otras vertientes, principalmente para depuración orientada a VDP, y quizás ayuda a la ingeniería inversa. Ya os seguiré contando.

An, todo lo estoy desarrollando en JAVA, con la ventaja de que las demos se podrá ver en un página web a modo de applet sin más complicaciones, y la aplicación completa podrá correr en cualquier ordenador y SO que tenga una JVM.

Os dejo el enlace a una prueba técnica, que simplemente redibuja cada segundo una hipotética VRAM de basura aleatoria cada segundo: http://sagaz.es/MSX/TMS9918.htm

Pues para ser el primer post bastante largo me ha quedado... Ya me contáis que os parece la idea, si hay cosas parecida, y todo lo se que os ocurra.

Saludos y gracias


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: Jon_Cortazar en 07 de Diciembre de 2008, 09:40:05 am
Aupa, Mortimer! Bienvenido a esta comunidad! ;)

Lo que comentas parece interesante, lo que ocurre es que, claro, aún teniendo apariencia MSXera, en realidad no lo es: digamos que sería una especie de PC con la capacidad de salida restringida con las mismas pautas que el MSX.

De cualquier forma, y aunque no es santo de mi devoción (yo prefiero trabajar para MSX directamente), sería interesante ver un hyper juego con zooms, rotaciones, etc... y con aspecto MSXero. Aunque claro, solo sería eso, aspecto MSXero ;)

A ver que le parece a la gente, independientemente de por donde tire cada uno (o de su purismo) puede ser algo muy curioso de ver... adelante! Y, de nuevo, bienvenido  ;)



Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: k0ga en 08 de Diciembre de 2008, 10:31:41 am
Hola, no sé si este será el mejor sitio para presentarme, pero cómo será dónde más participe pues allá voy: Vuelvo a la carga tras muchos años de barbecho, y con varios proyectos, el más interesante creo que una herramienta para programar 'bocetos' de juegos desde Java, y que también quiero que se convierta en una herramienta de depuración y generación automática de código.


Anda otro malagueño ^^!. Pues que sepas que no estas solo. Actualmente alli hay unos 5 o 6 usuarios que solemos quedar para echarnos nuestras partidas al MSX un par de veces al mes. Pues eso, un saludo


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: Mortimer en 09 de Diciembre de 2008, 11:00:49 am
Aupa, Mortimer! Bienvenido a esta comunidad! ;)

Lo que comentas parece interesante, lo que ocurre es que, claro, aún teniendo apariencia MSXera, en realidad no lo es: digamos que sería una especie de PC con la capacidad de salida restringida con las mismas pautas que el MSX.

De cualquier forma, y aunque no es santo de mi devoción (yo prefiero trabajar para MSX directamente), sería interesante ver un hyper juego con zooms, rotaciones, etc... y con aspecto MSXero. Aunque claro, solo sería eso, aspecto MSXero ;)

A ver que le parece a la gente, independientemente de por donde tire cada uno (o de su purismo) puede ser algo muy curioso de ver... adelante! Y, de nuevo, bienvenido  ;)


Muchas gracias por la bienvenida.

Lo que comentas de un 'super MSX'  sería sólo una de las facetas posibles, y quizás la menos útil aunque puede ser divertido cómo dices meterle caña al VDP, sería algo así cómo si a un Turbo R le hubieran puesto VRAM de doble puerto para que la CPU pudiera modificarla entera sin problemas en cada retrazo...

Pero lo que quiero potenciar más es su utilidad para tirar bocetos y para depuración, y también se podría utilizar para precompilar efectos o hacer animaciones que después pudieran correr en un MSX real, se pueden abrir muchas posibilidades.

Y bueno, ya os iré enseñando las novedades y pidiendo opiniones sobre las distintas formas de enfocar las cosas para intentar que sea una herramienta útil para todos.

Saludos


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: Mortimer en 12 de Diciembre de 2008, 08:23:03 am

Anda otro malagueño ^^!. Pues que sepas que no estas solo. Actualmente alli hay unos 5 o 6 usuarios que solemos quedar para echarnos nuestras partidas al MSX un par de veces al mes. Pues eso, un saludo

Mmmm, muy interesante, ya me contaréis la próxima vez que quedéis a ver si puedo pasar a conoceros  :D


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: Carlos Maidana en 02 de Enero de 2009, 12:57:36 am
Hola a todos!!
Digo yo, no hay alguna forma de poder hacer lo inverso?
Esto seria, que en el bluemsx cuando uno hace un out o inp, exista una libreria o algo encargado de detectarlo e informarlo a una aplicacion externa??
La idea es poder utilizar el programa de simulacion electronica Proteus junto con el bluemsx para que uno haga el diseño del circuito y cuando en el bluemsx se efectue una operacion de i/o en el rango de puertos que utiliza el circuito del proteus, ese byte de datos sea tomado por el simulador y actue en el circuito.

Para esto logicamente se deberia hacer un plugin para el proteus.
Lograr esto seria barbaro ya que el proteus es genial!!, puede simular hasta microcontroladores o displays LCD,y (por lo menos a mi :P) me seria fantastico tener algo asi.

Saludos!


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: Mortimer en 02 de Enero de 2009, 09:24:29 am
Hola a todos!!
Digo yo, no hay alguna forma de poder hacer lo inverso?
Esto seria, que en el bluemsx cuando uno hace un out o inp, exista una libreria o algo encargado de detectarlo e informarlo a una aplicacion externa??
La idea es poder utilizar el programa de simulacion electronica Proteus junto con el bluemsx para que uno haga el diseño del circuito y cuando en el bluemsx se efectue una operacion de i/o en el rango de puertos que utiliza el circuito del proteus, ese byte de datos sea tomado por el simulador y actue en el circuito.

Para esto logicamente se deberia hacer un plugin para el proteus.
Lograr esto seria barbaro ya que el proteus es genial!!, puede simular hasta microcontroladores o displays LCD,y (por lo menos a mi :P) me seria fantastico tener algo asi.

Saludos!


No conozco Proteus, pero si tiene algún método para captar datos en tiempo real de alguna fuente, seguro que se puede hacer lo que comentas, aunque depende de las posibilidades de captar datos de Proteus quizás haya que modificar o programar algún módulo para bluemsx. Supongo que lo difícil sería conseguir que todo fuera lo suficientemente suave. ¿Puedes poner algún enlace a la documentación de Proteus?

Saludos


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: Mortimer en 11 de Enero de 2009, 05:07:51 pm
Hola, os escribo para contaros las novedades de mi enjendro aún sin nombre, que ya está lo suficientemente avanzado para poder hacer cosillas interesantes, como esta demo que os quiero enseñar en screen 1 con los 32 sprites posibles en pantalla, 31 rebotando contra los bordes y uno controlable con los cursores. De fondo, un scroll básico muldireccional redefiniendo un pattern al vuelo. Toda la lógica del programa está escrito en Java y ataca al emulador del TMS como si fuera un Z80. Para probarlo haced click en la imagen de abajo, y para poder usar los cursores para probar el scroll haced click dentro del applet. Ya me contáis que os parece.

Saludos

(http://msx.sagaz.es/applet.001.png) (http://msx.sagaz.es/_mvd/TMS9918A.php)


Título: Algo pseudo-jugable creado en TMS9918-Java
Publicado por: Mortimer en 06 de Febrero de 2009, 09:28:28 am
Hola chicos, os voy a enseñar mis avances en este proyecto. (Básicamente, en esta primera fase, crear un VDP virtual y programarlo directamente en Java.)

El VDP lo tengo ya casi terminado, me falta SCREEN 3, Sprites doubled sized, y otras cosillas que apenas se usan y que no son prioritarios ahora. También he creado las funciones de alto nivel conforme las he ido necesitando para hacer lo que veis, pero faltan muchas más por hacer. Por último, respecto a la versión anterior he separado totalmente la emulación de VDP en dos capas apiladas, pensando en el soporte para depuración, así que va un pelín más lento aunque con ordenadores rápido no se nota.

Básicamente el protojuego consiste en una nave que se mueve y dispara, un fondo dinámico con scroll multidireccional pixel a pixel, y unos sprites siguiendo sinusoides. Si alcanzamos un enemigo con un disparo este vuelve a la parte superior de la pantalla. Así de sencillo.

Además de lo pobre de los gráficos (¿Algún grafista en la sala  ::)?), todavía faltan cosas básicas que espero terminar pronto: Marcadores, más de un disparo en pantalla, movimiento del Scroll más coherente, explosiones... Pero bueno, os podéis hacer una idea. Y recordad, que lo que veis es 100% emesequiable, 'sólo' habría que reprogramar lo que está en Java en ensamblador...

Ya me contáis las impresiones, haced click en la imagen para probarlo:

(http://msx.sagaz.es/applet.002.png) (http://msx.sagaz.es/TMS9918A.002.php)

Saludos

PD: Os recuerdo que a veces hay que pinchar con el ratón dentro del applet para activar el teclado. Funionan los cursores y la barra espaciadora.


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: SapphiRe_MSX en 06 de Febrero de 2009, 10:01:44 am
Y digo yo... ¿sería posible hacerlo al revés? Me explico: tienes un programa ya compilado para MSX y te gustaría presentarlo pero sin distribuirlo. ¿Sería posible hacer algo de forma que se pudiera usar con esto que estás haciendo? Podría estar muy bien para presentar betas sin tener que distribuirlas... sólo es una idea ::) ::)


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: Mortimer en 06 de Febrero de 2009, 10:22:55 am
Y digo yo... ¿sería posible hacerlo al revés? Me explico: tienes un programa ya compilado para MSX y te gustaría presentarlo pero sin distribuirlo. ¿Sería posible hacer algo de forma que se pudiera usar con esto que estás haciendo? Podría estar muy bien para presentar betas sin tener que distribuirlas... sólo es una idea ::) ::)

Sí, y es una muy buena idea ;) El problema, si se quisiera ejecutar un binario MSX, es  que habría que construir un emulador de MSX completo (o que emule al menos todo lo que necesite el juego), y además hacer que no sea fácil extraer el juego y hacerlo rular por ahí... Otra peguita sería que la sensación del juego sería tan buena cómo bueno fuera el emulador. Pero luego, se podrían abrir muchas posibilidades, como que las betas caducasen, que recopilasen información automáticamente sobre como ha jugado el tester para afinar la dificultad, validación para poder jugar...

Tengo proyectado a medio plazo programar un emulador cuasi completo en Java (De hecho ya estoy desnudando al Z80: http://www.konamito.com/node/2108 ), así que apunto esta idea a la lista de deseos.

Saludos


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: SapphiRe_MSX en 06 de Febrero de 2009, 10:56:13 am
Sí, y es una muy buena idea ;) El problema, si se quisiera ejecutar un binario MSX, es  que habría que construir un emulador de MSX completo (o que emule al menos todo lo que necesite el juego), y además hacer que no sea fácil extraer el juego y hacerlo rular por ahí...

Sí, no es algo trivial, lo reconozco. Pero es una idea.

Citar
Otra peguita sería que la sensación del juego sería tan buena cómo bueno fuera el emulador.

Cierto.

Citar
Pero luego, se podrían abrir muchas posibilidades, como que las betas caducasen, que recopilasen información automáticamente sobre como ha jugado el tester para afinar la dificultad, validación para poder jugar...

Lo que daría mucho juego a la hora de desarrollar nuevos juegos (valga la redundancia).

Citar
Tengo proyectado a medio plazo programar un emulador cuasi completo en Java (De hecho ya estoy desnudando al Z80: http://www.konamito.com/node/2108 ), así que apunto esta idea a la lista de deseos.

Supongo que lo conoces ya, pero por si acaso te recomiendo encarecidamente el libro "Undocumented Z80 documented". Algo IMPRESCINDIBLE a la hora de programar en ensamblador y, por supuesto, a la hora de hacer un emulador de Z80. Si no lo tienes, mándame un privado que te lo envío por correo.


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: Mortimer en 06 de Febrero de 2009, 11:14:51 am
Supongo que lo conoces ya, pero por si acaso te recomiendo encarecidamente el libro "Undocumented Z80 documented". Algo IMPRESCINDIBLE a la hora de programar en ensamblador y, por supuesto, a la hora de hacer un emulador de Z80. Si no lo tienes, mándame un privado que te lo envío por correo.

¿Te refiereres al de Sean Young ? Porque me lo sé ya casi de memoria...  :-\

Es el que estoy usando para introducir en la BBDD todo el comportamiento del micro, es decir, estoy pasando todo lo que hay en las tablas de instrucciones pensadas para que lo entiendan humanos, a un formato de tablas entendible por el ordenador, y a partir de ahí poder generar el emulador o los emuladores que hagan falta...

Lo que no sé es si abrá una versión más actualizada al que tengo, que es la Version 0.9, 14th June, 2005

Saludos



Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: SapphiRe_MSX en 06 de Febrero de 2009, 11:30:20 am
¿Te refiereres al de Sean Young ? Porque me lo sé ya casi de memoria...  :-\

Ese, ese. Por supuesto.

Citar
Lo que no sé es si abrá una versión más actualizada al que tengo, que es la Version 0.9, 14th June, 2005

Yo tengo una versión posterior, concretamente la "Version 0.91, 18th September, 2005". Si me dices un correo te la envío, porque (mirando el changelog) hay alguna que otra modificación con respecto a la que tú tienes.

Edito: no hace falta que me digas ningún correo, puedes bajarte la última versión (que es la que tengo yo) de aquí http://www.myquest.nl/z80undocumented/


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: Mortimer en 06 de Febrero de 2009, 06:03:43 pm
¿Te refiereres al de Sean Young ? Porque me lo sé ya casi de memoria...  :-\

Ese, ese. Por supuesto.

Citar
Lo que no sé es si abrá una versión más actualizada al que tengo, que es la Version 0.9, 14th June, 2005

Yo tengo una versión posterior, concretamente la "Version 0.91, 18th September, 2005". Si me dices un correo te la envío, porque (mirando el changelog) hay alguna que otra modificación con respecto a la que tú tienes.

Edito: no hace falta que me digas ningún correo, puedes bajarte la última versión (que es la que tengo yo) de aquí http://www.myquest.nl/z80undocumented/

Gracias mil, por suerte las correciones en el documento afectan sólo al registro de refresco y a la instrucción DAA, a las que todavía no les había metido mano  :D


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: Jon_Cortazar en 07 de Febrero de 2009, 08:20:29 pm
Vaya, este proyecto tiene buena pinta! :o, ánimo Mortimer!  ;)


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: Mortimer en 07 de Febrero de 2009, 10:11:09 pm
Vaya, este proyecto tiene buena pinta! :o, ánimo Mortimer!  ;)

Gracias  :D

Por cierto, una duda que le ha surgido a un amigo... imagina que alguien sigue adelante con el jueguecito de las naves del ejemplo hasta que sea algo completo y lo hace público (Como Applet), imagina que luego decide portarlo a un MSX real quedando 'pixel perferct', y que por último decide presentarlo a cierto afamado concurso anual de programación MSX1  ::)

¿Cumpliría las bases? ¿Se consideraría recompilación? ¿Se consideraría conversión? ¿Se expande el universo? ¿Es cónvavo o es convexo?

Saludos


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: pitpan en 08 de Febrero de 2009, 01:03:38 am
En principio, no creo que pueda ser considerado recompilación. La regla contra la recompilación tiene sentido para evitar que alguien coja un juego de Colecovision, SG1000 o algo parecido y, parcheando unas rutinas aquí y allí publique un juego para MSX. Está muy bien hacerlo, pero no cumple con la idea básica de MSXdev, que es hacer juegos desde cero, aunque se inspiren o basen en juegos ya existentes pero no disponibles en MSX1.

De todos modos, como no creo que sea exactamente sencillo pasar de Java a Z80, habrá que reprogramar la versión MSX desde cero, así que no veo dificultades en ello. En cualquier caso, la última palabra la tiene siempre la organización y los jueces.

Pero viendo la demo, lo cierto es que te iba a proponer que te animases en hacer una versión "nativa". Es decir, si tu proyecto consiste en una herramienta para ayudar a programar un MSX, tendrá sentido que hagas un juego para MSX, ¿no?


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: Mortimer en 09 de Febrero de 2009, 10:41:33 pm
Mmm, versión nativa... la verdad, es que con todo lo que tengo ahora empezado no quisiera diluirme todavía más... Y este ejemplo sólo lo he hecho para ver las posibilidades de la herramienta, en vez de hacer algo aburrido, pero bueno, le daría sentido a la herramienta claro... El problema es que para hacer algo serio necesitaría ayuda de un grafista y un músico, porque lo que veis es a lo más que llego dibujando puntito a puntito  :'(, y para la música tengo las mismas o más limitaciones...

Después, como comentas habría que práciticamente programarlo desde cero, sabes lo que tienes que hacer, pero claro, hay que hacerlo y pegarse con las limitaciones del hardware. Sería algo muy similar a hacer un juego en BASIC saltándote la limitación de la velocidad con un emulador desbocado, y luego rehacerlo para Z80 a 3,58Mhz. Os enseño un fragmento del bucle principal para que os hagáis una idea:

Código:
        if ((yDisparo >= 0) && (Math.abs(xDisparo - xEnemigo5) < 16) && (Math.abs(yDisparo - yEnemigo5) < 16)) {
                yEnemigo5 = 0;
                yDisparo = -1;
                puntos += 5;
            }

            vdp.DirectPutSprite(0, xNave, yNave, 0, vdp.COLOR_BLACK); // Nave detalles
            vdp.DirectPutSprite(1, xNave, yNave, 1, vdp.COLOR_WHITE); // Nave base
            vdp.DirectPutSprite(2, xDisparo, (yDisparo % 256), 2,vdp.COLOR_WHITE);
            vdp.DirectPutSprite(3, xEnemigo1, yEnemigo1, 3, vdp.COLOR_LIGHT_YELLOW);
            vdp.DirectPutSprite(4, xEnemigo2, yEnemigo2, 3, vdp.COLOR_PURPLE);
            vdp.DirectPutSprite(5, xEnemigo3, yEnemigo3, 3, vdp.COLOR_LIGHT_GREEN);
            vdp.DirectPutSprite(6, xEnemigo4, yEnemigo4, 3, vdp.COLOR_DARK_RED);
            vdp.DirectPutSprite(7, xEnemigo5, yEnemigo5, 3, vdp.COLOR_GREY);

            scrollX = Math.abs(256 - xNave);

            switch (estePasoNaveY) {
                case 1:
                    switch (vuelta % 6) {
                        case 2:
                            scrollY--;
                            break;
                    }
                    break;

Así que lo que habría que considerar casi filosóficamente, es, suponiendo que antes se haya liberado como Applet, si es una reconversión desde Java-TMS o no...  ???


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: nerlaska en 10 de Febrero de 2009, 07:55:15 am
Y pregunto .. no sería más fácil directamente hacerlo todo en C?
De hecho .. se podría hacer una librería en C que tenga una análoga para el MSX. De manera que tu programes con el Visual Studio (por ejemplo) y utilices funciones que más tarde tendrás en el MSX. O sea .. que sea código compatible MSX/PC.
Lo cierto es que sería muy sencillo hacer una libreria así.

[MSX LIB] - [BIOS LIB - Multiplataforma MSX/PC] - [PC LIB]
                                        ||
                 [EL CODIGO DEL JUEGO 100% COMPATIBLE MSX/PC]

Vaya, no se porque no he hecho nada de esto antes mira que es una idea graciosa :)


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: Mortimer en 10 de Febrero de 2009, 05:33:41 pm
Y pregunto .. no sería más fácil directamente hacerlo todo en C?

Pues realmente sí... pero aquí no sólo hacemos las cosas porque sean fáciles ¿No ;D? La cosa es que me paso 40 horas a la semana programando en Java a muy alto nivel, y me apetecía bajar al mundo de los bits y los pokes con el mismo lenguaje, dónde ciertamente está algo limitado, a veces te entran ganas de ir a buscar a los diseñadores y decirles 4 cosas  >:(.

También, en C hay muchísimo más material hecho, y pensé que los Applets podía ser el vehículo ferpecto para la distribución: multiplataforma y sin necesidad instalación.

Citar
De hecho .. se podría hacer una librería en C que tenga una análoga para el MSX. De manera que tu programes con el Visual Studio (por ejemplo) y utilices funciones que más tarde tendrás en el MSX. O sea .. que sea código compatible MSX/PC.
Lo cierto es que sería muy sencillo hacer una libreria así.

[MSX LIB] - [BIOS LIB - Multiplataforma MSX/PC] - [PC LIB]
                                        ||
                 [EL CODIGO DEL JUEGO 100% COMPATIBLE MSX/PC]

Vaya, no se porque no he hecho nada de esto antes mira que es una idea graciosa :)

Pues sí, técnicamente es posible, sólo hay que buscarse un compilador PC lo más compatible posible con alguno para MSX y currarse una MSX LIB para PC y otra para MSX nativo, de hecho, se puede partir de cualquier emulador libre y ahorrarte toda la parte de reprogramar el VDP y demás del entorno.

Pero realmente, no había pensado en hacer una herramienta para hacer ports directamente, sino para hacer desarrollos rápidos, y depurar, además de personalmente no me gusta programar en C para MSX.

Saludos



Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: nerlaska en 11 de Febrero de 2009, 07:51:45 am
Bueno .. es que viendo hacia donde se dirije tu proyecto y siendo usuario activo de SDCC pues claro .. veo que en ese sentido no parece mala idea desarrollar en C, en alto nivel desde un PC y de repente .. fuas! lo que has programado funciona en un MSX. Pero entiendo que a ti te guste el JAVA y te entretengas con tus historias .. vamos .. lo entiendo perfectamente! :) Igual me da un día por hacer algo al respecto, suena divertido.
Ale .. pues sigue con ese mega JAVA power MSX compiler y ánimo! que te queda curro por delante.



Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: k0ga en 13 de Febrero de 2009, 09:45:35 am

Pues realmente sí... pero aquí no sólo hacemos las cosas porque sean fáciles ¿No ;D? La cosa es que me paso 40 horas a la semana programando en Java a muy alto nivel, y me apetecía bajar al mundo de los bits y los pokes con el mismo lenguaje, dónde ciertamente está algo limitado, a veces te entran ganas de ir a buscar a los diseñadores y decirles 4 cosas  >:(.


Uyyyysssss, de Malaga y programando en JAVA a alto nivel, a que vas a ser compañero de curro mio xDDD (te recuerdo que yo vivo en Malaga).


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: Mortimer en 13 de Febrero de 2009, 09:59:16 am

Pues realmente sí... pero aquí no sólo hacemos las cosas porque sean fáciles ¿No ;D? La cosa es que me paso 40 horas a la semana programando en Java a muy alto nivel, y me apetecía bajar al mundo de los bits y los pokes con el mismo lenguaje, dónde ciertamente está algo limitado, a veces te entran ganas de ir a buscar a los diseñadores y decirles 4 cosas  >:(.


Uyyyysssss, de Malaga y programando en JAVA a alto nivel, a que vas a ser compañero de curro mio xDDD (te recuerdo que yo vivo en Malaga).

No creo, porque soy el único informático en la delegación de Málaga  ::). En cuanto a lo 'alto nivel', no quería decir que sea un gurú o que haga cosas que son super avanzadas o para grandes proyectos. Sólo al uso y abuso del POO con sus jerarquías de clases y eso  ;)

¿Hay más malagueños por aquí? Por quedar un día y tomar alguna cervecita...

Saludos


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: k0ga en 13 de Febrero de 2009, 06:20:21 pm

Pues realmente sí... pero aquí no sólo hacemos las cosas porque sean fáciles ¿No ;D? La cosa es que me paso 40 horas a la semana programando en Java a muy alto nivel, y me apetecía bajar al mundo de los bits y los pokes con el mismo lenguaje, dónde ciertamente está algo limitado, a veces te entran ganas de ir a buscar a los diseñadores y decirles 4 cosas  >:(.


Uyyyysssss, de Malaga y programando en JAVA a alto nivel, a que vas a ser compañero de curro mio xDDD (te recuerdo que yo vivo en Malaga).



Pues entonces no eres compañero mio, no.  Mi caso es peor, de 180 tios soy el unico que no programa en JAVA xD.




No creo, porque soy el único informático en la delegación de Málaga  ::). En cuanto a lo 'alto nivel', no quería decir que sea un gurú o que haga cosas que son super avanzadas o para grandes proyectos. Sólo al uso y abuso del POO con sus jerarquías de clases y eso  ;)

¿Hay más malagueños por aquí? Por quedar un día y tomar alguna cervecita...

Saludos


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: Mortimer en 06 de Julio de 2009, 10:06:39 am
Hola chicos, este finde después de algunos meses he podido tener algo de tiempo para retomar el proyecto  :) Y la cosa, es que he estado pensando, que el uso práctico más inmediato a lo que le podría dar a lo que ya tengo hecho es hacer un emulador lo suficiente ligero y rápido par ser capaz de correr en un móvil.

La máquina virtual java para móviles está bastante limitada en muchos aspectos respecto a la que corre los applets, pero tengo pensado un enfoque distinto al tradicional que creo que ayudará a bajar los requerimientos lo suficiente para llegar a hacer algo jugable, pero bueno, todavía no quiero hacerme ilusiones del todo porque tengo que hacer algunas pruebas de viabilidad.

Uno de los motivos para hacer esto es que no conozco ningún emulador de este tipo, y creo que nada mejor para revivir la norma que poder echarse un Knigthmare mientras esperas al autobús, sin tener que llevar ningún trasto adicional...

Ya os iré contando los avances y pegas que surjan, y espero que podáis echarme una mano con vuestros móviles para las pruebas de velocidad y rendimiento...  ::)

Saludos


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: pitpan en 06 de Julio de 2009, 12:16:06 pm
Convence a Apple para que dé soporte de forma nativa para Java y mi iPhone y yo nos pondremos a tu disposición para lo que sea menester ;)


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: doble07 en 06 de Julio de 2009, 09:45:49 pm
Hola Mortimer,

Hace un par de años que probe un emulador de GameGear para telefonos moviles con J2ME:

http://www.javagear.co.uk/index.php

En su web tienes los ejecutables y el codigo fuente.

Esto te puede servir para hacerte una idea de como puede quedar un emulador de MSX.

Yo creo que los moviles de hoy dia serian capaces de emular un MSX a velocidad real. (sobretodo los Sony Ericsson y los Nokia)

Juan


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: Mortimer en 07 de Julio de 2009, 11:21:25 pm
pitpan, creo que sería más práctico reprogramarlo de cero como aplicación nativa que intentar dialogar con ellos  ;D, de todas formas, no creo que lo autorizaran para el applestore ¿Hay emuladores?

doble07, ¡Muchísimas gracias por el enlace! Lo he cargado en mi móvil (Un SE K800i) y es bastante jugable y fluído, así que teniendo en cuenta la similitud de arquitecturas uno de MSX1 tendría que ir igual o mejor. La única pega importante es que no tiene soporte de sonido.

El ejecutable del emulador es asombrosamente pequeño, no he querido mirar los fuentes todavía para no influirme en la visión que tengo de como hacer las cosas, pero se ve que es un proyecto mimado por sus autores.

Espero tener pronto listo mi siguiente paso, que será un modelo completo de nuestro eterno Z80 en una base de datos, así suena un poco abstracto  ???, ya le dedicaré un hilo para explicaros en qué consiste  :)

Saludos


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: Mortimer en 25 de Julio de 2009, 11:24:31 pm
Bueno, pues ya tengo el emulador del TMS prácticamente terminado, todavía se puede optimizar un poco el código, pero ya es los suficientemente rápido para ser utilizable :D Lo que falta por programar o no se utiliza muy frecuentemente en los juegos (Screen 3, Modo mixto, Sprites ampliados), o es muy costoso en recursos (Flag de colisión de sprites) y se merece un análisis más profundo antes de implementarlo.

Lo que he hecho en esta demo, ya que el Z80 todavía no es capaz de ejecutar juegos completos, es volcar la VRAM y los registros del VDP del Knigthmare con el BlueMSX y se las he inyectado al TMS virtual. Para poder hacer pruebas varias de rendimiento he añadido dos registros nuevos, uno de scroll al estilo del del V9938 pero que se mueve a patronazos, y otro cuyo valor se suma (o resta) a la coordenada X de todos los sprites. Podeís probar el efecto con los cursores, y con la barra espaciadora los registros nuevos se ponen a 0 y todo vuelve a la normalidad. (Hay que hacer click con el ratón dentro si no responde a las teclas)

(http://msx.sagaz.es/applet.003.png) (http://msx.sagaz.es/TMS9918A.003.php)

Ya sé que parpadea un poco porque aún no está implementado el 'double buffer' en el Applet, y el ajuste de la velocidad tampoco va muy fino, espero solucionarlo para la próxima demostración.

Saludos



Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: aorante en 05 de Febrero de 2010, 08:24:58 pm
Hola!

He estado leyendo el progreso de tu proyecto y me ha parecido muy interesante, sobre todo, por que una vez soñé en algo parecido para programar para MSX. Me explico: Como también han comentado en el foro, estaria interesante el proceso inverso, pero en realidad la idea seria un compilador de un nuevo lenguaje especifico para MSX, con una sintaxis similar al Java/java-script. La gran ventaja de esto, es que hay mucha gente que estamos familiarizados con estos lenguajes y supondria una facilidad enorme frente a lenguajes como el Assembler o C. Digo C, por que he estado buscando información de compiladores cruzados de C, y he encontrado cosas pero practicamente ninguna LIB para MSX. Te lo tienes que programar tu, tirando de Assembler XP>

El Assembler  aprovecha al máximo la capacidad del MSX, pero es un lenguaje dificil de leer, y mantener. Yo creo que los "craks" que hay por aquí, que programan en este lenguaje ya piensan en nemotécnicos del Z80!!! ;D>

Realmente seria alucinante un lenguaje con estas características! ;D

pero los sueños, sueños son...

Si alguien tiene posibilidades de hacerlo, yo creo que la comunidad MSXera se lo agradeceria.
Yo de momento estoy muy verde para estos menesteres.

De todas formas, esta muy bien tu proyecto y veo que te ha servido para hacer el emu de moviles.

Saludos!

aorante.


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: nerlaska en 06 de Febrero de 2010, 10:55:45 am
Hola .. hombre ya tienes el SDCC por ejemplo .. es un compilador C que funciona bastante bien.
Respecto a las librerias y todo eso .. yo estoy trabajando (lentamente) en un SDK para MSXDOS 2.x que permite practicamente de todo para poder programar juegos y aplicaciones.
En estos momentos lo que le falta es documentación .. pero ya ha habido alguno que lo ha estado probando, lo cierto es que mirando las cabeceras ya te haces una idea del uso.
Si quieres que te pase algo y le echas un tiento .. me envias un privado o un email y comentamos.
Saludos.


Título: Re: Presentación de mí mismo y de proyecto para desarrolladores...
Publicado por: utopian en 07 de Febrero de 2010, 06:22:47 pm
Respecto a librerías, en su día incluí con el código fuente del BeTiled! para MSX una librería que había hecho para hacer juegos con el Z88DK. Creo que está más o menos desaparecida por los confines de la red, pero si hay interés puedo reempaquetarla y subirla a algún sitio.