CPCtelera, desarrollar juegos para Amstrad de forma sencilla
- ronaldo
- Forum Addict
- Mensajes: 358
- Registrado: Sab 14 Sep , 2013 9:31 pm
- Ubicación: Alicante
- Contactar:
Re: CPCtelera, desarrollar juegos para Amstrad de forma sencilla
En efecto, te comentaba que sólo puedes pintar con transparencias usando tabla si el color transparente es el 0, porque así es como está implementada la función de pintado con transparencias de tabla. Pero también te comenté, aunque quizá no coincidí mucho, que eso no es motivo para que pete.
Lo más importante cuando algo peta y no es obvio es depurar. Tenemos mucho reparo a depurar porque parece que es más lento porque hay que hacerlo en ensamblador, pero en realidad es varios órdenes de magnitud más rápido y, además, más instructivo. Depurando entiendes claramente lo que sucede y aprendes más sobre el proceso. Por tanto, ponte un punto de ruptura en main y traza el programa hasta ver donde peta (probablemente al llamar a alguna función). Después, parte de ese punto hacia atrás y revisa concienzudamente que los datos estén bien. Lo más probable es que algún dato no sea válido (tamaños, posiciones de pantalla, punteros, etc).
En estos casos, si sigues necesitando ayuda, lo mejor es que nos postees el proyecto para que podamos verlo. Con comentarios generales sobre lo que haces y lo que crees que peta sólo podemos especular y posiblemente te marearemos más que ayudarte.
Por último, no te preocupes. Es muy normal que estas cosas pasen al principio, cuando muchos detalles se nos escapan o no están claros. Te echaremos una mano en lo que haga falta y enseguida estarás a tope
Lo más importante cuando algo peta y no es obvio es depurar. Tenemos mucho reparo a depurar porque parece que es más lento porque hay que hacerlo en ensamblador, pero en realidad es varios órdenes de magnitud más rápido y, además, más instructivo. Depurando entiendes claramente lo que sucede y aprendes más sobre el proceso. Por tanto, ponte un punto de ruptura en main y traza el programa hasta ver donde peta (probablemente al llamar a alguna función). Después, parte de ese punto hacia atrás y revisa concienzudamente que los datos estén bien. Lo más probable es que algún dato no sea válido (tamaños, posiciones de pantalla, punteros, etc).
En estos casos, si sigues necesitando ayuda, lo mejor es que nos postees el proyecto para que podamos verlo. Con comentarios generales sobre lo que haces y lo que crees que peta sólo podemos especular y posiblemente te marearemos más que ayudarte.
Por último, no te preocupes. Es muy normal que estas cosas pasen al principio, cuando muchos detalles se nos escapan o no están claros. Te echaremos una mano en lo que haga falta y enseguida estarás a tope
- AmstradGamer
- Forero habitual
- Mensajes: 189
- Registrado: Dom 08 Jun , 2014 10:08 am
Re: CPCtelera, desarrollar juegos para Amstrad de forma sencilla
Pero el sprite es diferente si incluye la máscara o no la incluye.
Voy a suponer que tienes un sprite sin máscara y lo pintas con y sin transparencia.
Lo que dice ronaldo, enseña el código o date de golpes hasta que lo saques, que es como se aprende.
Voy a suponer que tienes un sprite sin máscara y lo pintas con y sin transparencia.
Lo que dice ronaldo, enseña el código o date de golpes hasta que lo saques, que es como se aprende.
- jgonza
- Keeper of The Forum
- Mensajes: 962
- Registrado: Mié 04 Abr , 2007 9:21 pm
- Ubicación: Alboraya (Valencia)
Re: CPCtelera, desarrollar juegos para Amstrad de forma sencilla
Exacto, el sprite es sin máscara.Pero el sprite es diferente si incluye la máscara o no la incluye.
Voy a suponer que tienes un sprite sin máscara y lo pintas con y sin transparencia.
Lo pinto normal con "cpct_drawSprite(prota.sprite, pvmem, PRE_PLAYER_0_W, PRE_PLAYER_0_H);" y va perfecto.
Luego añado (después de los include) "cpctm_createTransparentMaskTable(pre_masktable, 0x0100, M0, 0);" y sustituyo la línea de arriba por "cpct_drawSpriteMaskedAlignedTable(prota.sprite, pvmem, PRE_PLAYER_0_W, PRE_PLAYER_0_H, pre_masktable);" y el emulador se reinicia al ejecutarlo.
Mi sprite es de 8x39 bytes, no sé si eso puede tener algo que ver con el problema...
Última edición por jgonza el Jue 27 Jul , 2017 12:48 pm, editado 1 vez en total.
Visita mi canal de YouTube http://www.youtube.com/c/jgonza
- AmstradGamer
- Forero habitual
- Mensajes: 189
- Registrado: Dom 08 Jun , 2014 10:08 am
Re: CPCtelera, desarrollar juegos para Amstrad de forma sencilla
Para pintar usando tabla de transparencias usas cpct_drawSpriteMaskedAlignedTable, supongo que te has colao al escribir.
Pues... ¿en qué dirección carga tu programa? ¿dónde tienes la pila?
Por defecto estos valores son 0x4000 y 0xC000 si no recuerdo mal.
La tabla de transparencias va de 0x0100 a 0x0200 en tu caso.
A ver si machacas algo...
Entiendo que, si usas varios ficheros, utilizas cpctm_declareMaskTable para declarar la tabla, si no no compilaría vamos.
Al final será una tontería.
Pues... ¿en qué dirección carga tu programa? ¿dónde tienes la pila?
Por defecto estos valores son 0x4000 y 0xC000 si no recuerdo mal.
La tabla de transparencias va de 0x0100 a 0x0200 en tu caso.
A ver si machacas algo...
Entiendo que, si usas varios ficheros, utilizas cpctm_declareMaskTable para declarar la tabla, si no no compilaría vamos.
Al final será una tontería.
- jgonza
- Keeper of The Forum
- Mensajes: 962
- Registrado: Mié 04 Abr , 2007 9:21 pm
- Ubicación: Alboraya (Valencia)
Re: CPCtelera, desarrollar juegos para Amstrad de forma sencilla
Sí, ahora corrijo la errata en el postPara pintar usando tabla de transparencias usas cpct_drawSpriteMaskedAlignedTable, supongo que te has colao al escribir.
Sí, 0x4000 y lo de la pila no sé lo que es C000 es donde empieza la memoria de vídeo si te refieres a esoPues... ¿en qué dirección carga tu programa? ¿dónde tienes la pila?
Por defecto estos valores son 0x4000 y 0xC000 si no recuerdo mal.
Correcto.La tabla de transparencias va de 0x0100 a 0x0200 en tu caso.
No, la que uso es cpctm_createTransparentMaskTable(pre_masktable, 0x0100, M0, 0); (la que usa Fran en el tutorial)Entiendo que, si usas varios ficheros, utilizas cpctm_declareMaskTable para declarar la tabla, si no no compilaría vamos.
Visita mi canal de YouTube http://www.youtube.com/c/jgonza
- AmstradGamer
- Forero habitual
- Mensajes: 189
- Registrado: Dom 08 Jun , 2014 10:08 am
Re: CPCtelera, desarrollar juegos para Amstrad de forma sencilla
La pila es una zona de memoria que se utiliza, principalmente, para almacenar los parámetros que se pasan entre funciones. Está bien que tengas localizada donde la tienes e incluso cómo funciona, pero de momento no creo que sea tu problema.
No sé! Me tienes en ascuas a ver si lo solucionas.
No sé! Me tienes en ascuas a ver si lo solucionas.
- jgonza
- Keeper of The Forum
- Mensajes: 962
- Registrado: Mié 04 Abr , 2007 9:21 pm
- Ubicación: Alboraya (Valencia)
Re: CPCtelera, desarrollar juegos para Amstrad de forma sencilla
Lo único que estoy haciendo diferente del tutorial es no poner un fondo, es decir, uso el fondo por defecto del cpc...
Al principio del código pinto de azul toda la pantalla, luego pinto el sprite con su propio fondo en negro (insisto funciona perfecto).
Si hago el cambio indicado para que el negro del sprite se pinte como transparente, y por tanto se vea el azul del fondo, el resultado es un reset...
Al principio del código pinto de azul toda la pantalla, luego pinto el sprite con su propio fondo en negro (insisto funciona perfecto).
Si hago el cambio indicado para que el negro del sprite se pinte como transparente, y por tanto se vea el azul del fondo, el resultado es un reset...
Visita mi canal de YouTube http://www.youtube.com/c/jgonza
- ronaldo
- Forum Addict
- Mensajes: 358
- Registrado: Sab 14 Sep , 2013 9:31 pm
- Ubicación: Alicante
- Contactar:
Re: CPCtelera, desarrollar juegos para Amstrad de forma sencilla
Perdóname que insista. Con explicaciones en post pierdes el tiempo. Haz un zip con la carpeta de tu proyecto de CPCtelera y postealo. No hay nada que nos vaya a dar ni el 1% de información de la que hay en el propio código.Lo único que estoy haciendo diferente del tutorial es no poner un fondo, es decir, uso el fondo por defecto del cpc...
Al principio del código pinto de azul toda la pantalla, luego pinto el sprite con su propio fondo en negro (insisto funciona perfecto).
Si hago el cambio indicado para que el negro del sprite se pinte como transparente, y por tanto se vea el azul del fondo, el resultado es un reset...
O, en su defecto, depura. Los pensamientos del tipo "No hago nada, sólo X" no sirven para resolver problemas en contextos de bajo nivel. En estos contextos hay muchos detalles a tener en cuenta y es muy fácil que se escape lo que realmente pasa. Por eso la recomendación es dejar de pensar en lo que haces y empezar a depurar lo que sucede.
- jgonza
- Keeper of The Forum
- Mensajes: 962
- Registrado: Mié 04 Abr , 2007 9:21 pm
- Ubicación: Alboraya (Valencia)
Re: CPCtelera, desarrollar juegos para Amstrad de forma sencilla
Sí, te entiendo Fran, pero créeme, estoy siguiendo tus tutoriales a pies juntillas...
Acabo de comentar todo el código salvo lo que os pongo aquí y sigue pasando lo mismo, es decir,
ahora toda la pantalla está en negro y el sprite se pinta con su propio fondo en negro (cuando se pinta sin máscara).
Si descomento las líneas comentadas y comento la línea de drawSprite, el resultado debería ser el mismo (es decir, en lugar de pintar negro sobre negro, debería pintar el negro del sprite como si fuera transparente, dando como resultado que se viera el negro del fondo). Pero la emulación del winape se reinicia...
main.c
#include <cpctelera.h>
#include "player.h"
//cpctm_createTransparentMaskTable(pre_masktable, 0x0100, M0, 0);
typedef struct {
u8 x, y;
u8 *sprite;
u8 mover;
} TProta;
TProta prota;
void dibujarProta() {
u8 *pvmem; // Pointer to video memory
pvmem = cpct_getScreenPtr(CPCT_VMEM_START, prota.x, prota.y);
cpct_drawSprite(prota.sprite, pvmem, PRE_PLAYER_0_W, PRE_PLAYER_0_H);
// cpct_drawSpriteMaskedAlignedTable(prota.sprite, pvmem, PRE_PLAYER_0_W, PRE_PLAYER_0_H, pre_masktable);
}
void main(void) {
cpct_disableFirmware();
cpct_setVideoMode(0);
cpct_setBorder(HW_BLACK);
cpct_setPalette(pre_palette, 16);
prota.x = 0;
prota.y = 161;
prota.mover = 0;
prota.sprite = pre_player_0;
dibujarProta();
// Loop forever
while (1);
}
Luego si eso os paso todo el código comprimido.
Gracias!
Acabo de comentar todo el código salvo lo que os pongo aquí y sigue pasando lo mismo, es decir,
ahora toda la pantalla está en negro y el sprite se pinta con su propio fondo en negro (cuando se pinta sin máscara).
Si descomento las líneas comentadas y comento la línea de drawSprite, el resultado debería ser el mismo (es decir, en lugar de pintar negro sobre negro, debería pintar el negro del sprite como si fuera transparente, dando como resultado que se viera el negro del fondo). Pero la emulación del winape se reinicia...
main.c
#include <cpctelera.h>
#include "player.h"
//cpctm_createTransparentMaskTable(pre_masktable, 0x0100, M0, 0);
typedef struct {
u8 x, y;
u8 *sprite;
u8 mover;
} TProta;
TProta prota;
void dibujarProta() {
u8 *pvmem; // Pointer to video memory
pvmem = cpct_getScreenPtr(CPCT_VMEM_START, prota.x, prota.y);
cpct_drawSprite(prota.sprite, pvmem, PRE_PLAYER_0_W, PRE_PLAYER_0_H);
// cpct_drawSpriteMaskedAlignedTable(prota.sprite, pvmem, PRE_PLAYER_0_W, PRE_PLAYER_0_H, pre_masktable);
}
void main(void) {
cpct_disableFirmware();
cpct_setVideoMode(0);
cpct_setBorder(HW_BLACK);
cpct_setPalette(pre_palette, 16);
prota.x = 0;
prota.y = 161;
prota.mover = 0;
prota.sprite = pre_player_0;
dibujarProta();
// Loop forever
while (1);
}
Luego si eso os paso todo el código comprimido.
Gracias!
Visita mi canal de YouTube http://www.youtube.com/c/jgonza
- ronaldo
- Forum Addict
- Mensajes: 358
- Registrado: Sab 14 Sep , 2013 9:31 pm
- Ubicación: Alicante
- Contactar:
Re: CPCtelera, desarrollar juegos para Amstrad de forma sencilla
¿Dices que tu prota tiene 39 píxeles de altura?
¿Qué tal si pruebas a pintarlo en la línea 160 en lugar de la 161?
Cuando pases el proyecto completo le echo un ojo al resto, sobre todo porque los datos del sprite pueden ser relevantes.
¿Qué tal si pruebas a pintarlo en la línea 160 en lugar de la 161?
Cuando pases el proyecto completo le echo un ojo al resto, sobre todo porque los datos del sprite pueden ser relevantes.
- jgonza
- Keeper of The Forum
- Mensajes: 962
- Registrado: Mié 04 Abr , 2007 9:21 pm
- Ubicación: Alboraya (Valencia)
Re: RE: Re: CPCtelera, desarrollar juegos para Amstrad de forma sencilla
En la 161 se queda a ras de borde (está comprobado). Además el sprite iría desde la 161 hasta la 199, dentro de rango entiendo yo.¿Dices que tu prota tiene 39 píxeles de altura?
¿Qué tal si pruebas a pintarlo en la línea 160 en lugar de la 161?
Cuando pases el proyecto completo le echo un ojo al resto, sobre todo porque los datos del sprite pueden ser relevantes.
Como digo el sprite se pinta bien (sin máscara) el problema es cuando quiero pintarlo con transparencia.
Enviado desde mi Aquaris U mediante Tapatalk
Visita mi canal de YouTube http://www.youtube.com/c/jgonza
- ronaldo
- Forum Addict
- Mensajes: 358
- Registrado: Sab 14 Sep , 2013 9:31 pm
- Ubicación: Alicante
- Contactar:
Re: CPCtelera, desarrollar juegos para Amstrad de forma sencilla
He creado un proyecto con un sprite de pega, usando el código que has pasado y he estado depurando.
Para que veas hasta que punto es importante depurar y ver las cosas sobre el código: el problema que sucede es algo nuevo, que no había visto hasta ahora y bastante serio. Tiene toda la pinta de ser algún tipo de bug en iDSK. Paso a paso:
Importante: Siempre depurar cuando sucenden cosas extrañas. Se localiza el problema mucho antes que haciendo presuposiciones. La mayoría de las veces, las presuposiciones son incorrectas y sólo nos hacen perder el tiempo.
Consecuencia: Muy probablemente el problema sucede debido al tamaño concreto del fichero. Soluciones posibles para este caso: 1) añadir un fichero al dsk en la generación (cualquiera vale) usando la carpeta dsk_files. 2) Hacer más grande el binario añadiendo más código, datos o llamadas a funciones. Probablemente el problema desaparezca.
Mientras tanto, veré si puedo saber cuál es el problema que sucede y se lo reportaré a Pulkomandy a ver si podemos resolverlo. Verdaderamente, es muy extraño. Después de 2 años usando CPCtelera, nunca había visto pasar un caso así.
Para que veas hasta que punto es importante depurar y ver las cosas sobre el código: el problema que sucede es algo nuevo, que no había visto hasta ahora y bastante serio. Tiene toda la pinta de ser algún tipo de bug en iDSK. Paso a paso:
- Al poner un breakpoint en _main y ejecutar, es evidente que sucede algo extraño. La ejecución comienza en una zona de memoria donde todo son "FF FF FF FF FF". En este caso, coincide con los datos de mi sprite de pega, que era todo FF.
- Es evidente que ahí no es donde debe empezar la ejecución del programa.
- Mirando la memoria, veo que el código de main() no aparece por ningún sitio. No está cargado en memoria.
- Me voy al binario generado por CPCtelera y veo que el binario es correcto. El código de main está donde tiene que estar.
- He abierto el DSK generado con un editor hexadecimal y he comprobado que todo el binario está en los sectores del DSK, la cabecera Amsdos es correcta y marca el tamaño adecuado del binario.
- Sin embargo, lo que se carga en memoria en el emulador no es correcto.
- He probado a añadir manualmente otra copia del mismo binario al DSK.
- La segunda copia del mismo binario carga correctamente y ejecuta sin problemas. Importante: es exactamente el mismo binario.
- Si se pide a iDSK que liste los contenidos del DSK, aparece esto: kk.bin 20 Kb, newkk.bin 17Kb. Son el mismo binario, pero uno ocupa 20K y otro 17K en el disco. El primero no carga bien, el segundo sí. El segundo es el que tiene el tamaño correcto (el tamaño real es 16655 bytes).
Importante: Siempre depurar cuando sucenden cosas extrañas. Se localiza el problema mucho antes que haciendo presuposiciones. La mayoría de las veces, las presuposiciones son incorrectas y sólo nos hacen perder el tiempo.
Consecuencia: Muy probablemente el problema sucede debido al tamaño concreto del fichero. Soluciones posibles para este caso: 1) añadir un fichero al dsk en la generación (cualquiera vale) usando la carpeta dsk_files. 2) Hacer más grande el binario añadiendo más código, datos o llamadas a funciones. Probablemente el problema desaparezca.
Mientras tanto, veré si puedo saber cuál es el problema que sucede y se lo reportaré a Pulkomandy a ver si podemos resolverlo. Verdaderamente, es muy extraño. Después de 2 años usando CPCtelera, nunca había visto pasar un caso así.
- ronaldo
- Forum Addict
- Mensajes: 358
- Registrado: Sab 14 Sep , 2013 9:31 pm
- Ubicación: Alicante
- Contactar:
Re: CPCtelera, desarrollar juegos para Amstrad de forma sencilla
Bueno, chicos. Después de revisar más a conciencia, tengo que admitir mi parte de culpa en este interesante bug. Hay un detalle interesante, y es que el bug sólo sucede con DSKs previamente creados. Es decir: si hacemos "make cleanall", el bug desaparece, porque el DSK se vuelve a crear de nuevo.
Aquí es donde entra mi parte de la culpa: se supone que el DSK se recreaba en CPCtelera cada vez que se compilaba. Pues bien, revisando me he dado cuenta de que no. En algún momento hice un cambio a una macro que no recrea el DSK, sino que añade ficheros al DSK, creándolo sólo si no existía previamente. Esto es un problema importante, porque ese comportamiento potencia el problema de iDSK. De hecho, me consta que muchos problemas de gente se han resuelto haciendo "make cleanall". Pues bien, es por esto.
Conclusión: a todos nos toca recibir nuestro merecido de vez en cuando. Esta vez me toca a mi. Lo bueno, eso sí, gracias a la insistencia de @jgonza y a la participación de todos, tenemos este bug corregido. A partir de ahora, la compilación incremental será más útil que antes porque no producirá bugs por culpa de iDSK (por lo menos, no estos bugs).
Tenéis el parche subido a la rama master. Pensaré en hacer una bugfix release para que esté disponible por defecto en quienes se bajen la 1.4.2.
Gracias, chicos!
Aquí es donde entra mi parte de la culpa: se supone que el DSK se recreaba en CPCtelera cada vez que se compilaba. Pues bien, revisando me he dado cuenta de que no. En algún momento hice un cambio a una macro que no recrea el DSK, sino que añade ficheros al DSK, creándolo sólo si no existía previamente. Esto es un problema importante, porque ese comportamiento potencia el problema de iDSK. De hecho, me consta que muchos problemas de gente se han resuelto haciendo "make cleanall". Pues bien, es por esto.
Conclusión: a todos nos toca recibir nuestro merecido de vez en cuando. Esta vez me toca a mi. Lo bueno, eso sí, gracias a la insistencia de @jgonza y a la participación de todos, tenemos este bug corregido. A partir de ahora, la compilación incremental será más útil que antes porque no producirá bugs por culpa de iDSK (por lo menos, no estos bugs).
Tenéis el parche subido a la rama master. Pensaré en hacer una bugfix release para que esté disponible por defecto en quienes se bajen la 1.4.2.
Gracias, chicos!
- jgonza
- Keeper of The Forum
- Mensajes: 962
- Registrado: Mié 04 Abr , 2007 9:21 pm
- Ubicación: Alboraya (Valencia)
Re: CPCtelera, desarrollar juegos para Amstrad de forma sencilla
Te confieso que sería incapaz de depurar el código tal y como tú lo acabas de hacerHe creado un proyecto con un sprite de pega, usando el código que has pasado y he estado depurando.
Para que veas hasta que punto es importante depurar y ver las cosas sobre el código
Como comprenderás, para mi todo esto es prácticamente una caja negra (de hecho, creo que ese es el objetivo último de CPCtelera, librerías que le permitan al programador abstraerse de la mejor manera posible), a lo máximo que llego a estas alturas es a reportar los problemas encontrados quizá algún día con el tiempo llegue a dominar todo lo que comentasel problema que sucede es algo nuevo, que no había visto hasta ahora y bastante serio. Tiene toda la pinta de ser algún tipo de bug en iDSK. Paso a paso:Conclusión: lo más probable es que se trate de un bug en la generación del DSK por parte de iDSK. Podría ser un error del emulador al interpretar el DSK, pero lo considero mucho menos probable dados los datos mostrados. De todas formas, adjunto el DSK por si queréis probarlo en otros emuladores y comprobar que da el mismo resultado.
- Al poner un breakpoint en _main y ejecutar, es evidente que sucede algo extraño. La ejecución comienza en una zona de memoria donde todo son "FF FF FF FF FF". En este caso, coincide con los datos de mi sprite de pega, que era todo FF.
- Es evidente que ahí no es donde debe empezar la ejecución del programa.
- Mirando la memoria, veo que el código de main() no aparece por ningún sitio. No está cargado en memoria.
- Me voy al binario generado por CPCtelera y veo que el binario es correcto. El código de main está donde tiene que estar.
- He abierto el DSK generado con un editor hexadecimal y he comprobado que todo el binario está en los sectores del DSK, la cabecera Amsdos es correcta y marca el tamaño adecuado del binario.
- Sin embargo, lo que se carga en memoria en el emulador no es correcto.
- He probado a añadir manualmente otra copia del mismo binario al DSK.
- La segunda copia del mismo binario carga correctamente y ejecuta sin problemas. Importante: es exactamente el mismo binario.
- Si se pide a iDSK que liste los contenidos del DSK, aparece esto: kk.bin 20 Kb, newkk.bin 17Kb. Son el mismo binario, pero uno ocupa 20K y otro 17K en el disco. El primero no carga bien, el segundo sí. El segundo es el que tiene el tamaño correcto (el tamaño real es 16655 bytes).
Vas a tener que hacer un tutorial para depurar no en serio, mi experiencia aquí es prácticamente nula, aún no sé distinguir lo que es un error extraño de lo que sería un error normal jejejeImportante: Siempre depurar cuando sucenden cosas extrañas. Se localiza el problema mucho antes que haciendo presuposiciones. La mayoría de las veces, las presuposiciones son incorrectas y sólo nos hacen perder el tiempo.
Oscuro no, lo siguiente jajajajaConsecuencia: Muy probablemente el problema sucede debido al tamaño concreto del fichero. Soluciones posibles para este caso: 1) añadir un fichero al dsk en la generación (cualquiera vale) usando la carpeta dsk_files. 2) Hacer más grande el binario añadiendo más código, datos o llamadas a funciones. Probablemente el problema desaparezca.
Ese es el tema, que no me salía de tus tutoriales, por lo que no entendía que estuviera cometiendo ningún error.Mientras tanto, veré si puedo saber cuál es el problema que sucede y se lo reportaré a Pulkomandy a ver si podemos resolverlo. Verdaderamente, es muy extraño. Después de 2 años usando CPCtelera, nunca había visto pasar un caso así.
Ahora en seguida pruebo el DSK y te cuento.
MUCHAS GRACIAS!
Visita mi canal de YouTube http://www.youtube.com/c/jgonza
- ronaldo
- Forum Addict
- Mensajes: 358
- Registrado: Sab 14 Sep , 2013 9:31 pm
- Ubicación: Alicante
- Contactar:
Re: CPCtelera, desarrollar juegos para Amstrad de forma sencilla
Tus deseos son órdenesVas a tener que hacer un tutorial para depurar no en serio, mi experiencia aquí es prácticamente nula, aún no sé distinguir lo que es un error extraño de lo que sería un error normal jejeje
Aquí lo tienes (https://www.youtube.com/watch?v=Um0g7AH_yfc)
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro
La Comunidad Española |