Proyecto de juego: Las Aventuras de Tolo

Software para o relacionado con el core ZX Spectrum / Software for or related to the ZX Spectrum core
Avatar de Usuario
yombo
Mensajes: 487
Registrado: 05 Oct 2015, 14:10

Re: Proyecto de juego: Las Aventuras de Tolo

Mensaje por yombo » 03 Oct 2016, 22:34

Sí, uso la interrupción de 50 Hz, pero en realidad no: cuando termino de dibujar hago polling para saber cuándo ha cambiado el frame, y sincronizar el switch de página de vram.

No sé qué es la IM2, supongo que es esa interrupción de 50 Hz.

Avatar de Usuario
mcleod_ideafix
Mensajes: 831
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

Re: Proyecto de juego: Las Aventuras de Tolo

Mensaje por mcleod_ideafix » 03 Oct 2016, 23:20

yombo escribió:Es en x4 que se oyen ruidos aleatorios.
No es culpa tuya. Es mía. Aún no tengo resuelto al 100% el tema de los registros cuando vas a x4.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
yombo
Mensajes: 487
Registrado: 05 Oct 2015, 14:10

Re: Proyecto de juego: Las Aventuras de Tolo

Mensaje por yombo » 04 Oct 2016, 01:01

mcleod_ideafix escribió:
yombo escribió:Es en x4 que se oyen ruidos aleatorios.
No es culpa tuya. Es mía. Aún no tengo resuelto al 100% el tema de los registros cuando vas a x4.
Vale, de acuerdo :okidoki;

Avatar de Usuario
Haplo
Mensajes: 368
Registrado: 05 Oct 2015, 13:51
Ubicación: Ciudad Real

Re: Proyecto de juego: Las Aventuras de Tolo

Mensaje por Haplo » 15 Oct 2016, 17:47

Hace cosa de una semana empecé a preocuparme del tamaño del código principal, a pesar de que los datos de gráficos y músicas están en páginas de RAM, voy a tener que hacer encaje de bolillos para que quepa entre 31000 y 49151.

Ahora mismo lo que tengo en zxbasic es mayormente la parte de control de teclado, generación de las pantallas y preparación de las tablas necesarias. Casi todo se hace pokeando a tope y dejando todo el tema de manejo de sprites y gráficos al motor en asm con las interrupciones.
Apenas me he metido con el control de los enemigos y la interacción con los elementos del juego, pero ya se va acercando el código generado a la zona donde está ubicado el motor.

El zxbasic de Boriel está genial y me simplifica mucho el prototipado y el debug, pero tengo que pensar en pasar casi todo a ASM puro, para de esa manera ahorrar espacio y poder reubicar código. También se me ha pasado por la cabeza echarle un ojo a z88dk, pero nunca he tocado C (aunque no me suena a chino) y me da no se qué a estas alturas, parar a estudiarlo y después migrar el código. No sé cierto qué ventajas tiene un lenguaje sobre el otro.

De momento, una de las cosas que ya he hecho es mover tablas y ubicar módulos en asm como el de música en memoria paginada. Así a lo tonto he ganado casi 4k de espacio.

Por cierto, he sufrido unos días locos de debugging porque al "externalizar" el player de música y sonidos fx, tenía errores y cuelgues a patadas. Después de revisarlo todo mil veces, resulta que es un error en el player de Shiru. Resulta que en un bucle de inicialización de valores en una tabla, tenía un valor incorrecto en el contador y se pasaba los límites de la misma, corrompiendo los datos o el código que hubiera a continuación. Según dónde ubicara la rutina, a veces funcionaba o petaba sin remedio. Abriré un hilo para colgar el código del player ya corregido.

Seguimos desarrollando.

Avatar de Usuario
Hark0
Mensajes: 683
Registrado: 27 Sep 2015, 00:31
Ubicación: Cornellà de Llobregat - BCN
Contactar:

Re: Proyecto de juego: Las Aventuras de Tolo

Mensaje por Hark0 » 17 Oct 2016, 09:40

Espero poder cargar un TAP este sábado en la RetroSevilla Miguel.... dale caña ;) :okidoki;
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA.

Avatar de Usuario
Haplo
Mensajes: 368
Registrado: 05 Oct 2015, 13:51
Ubicación: Ciudad Real

Re: Proyecto de juego: Las Aventuras de Tolo

Mensaje por Haplo » 17 Oct 2016, 10:37

Si, sin problemas.

Avatar de Usuario
Radastan
Mensajes: 389
Registrado: 05 Oct 2015, 14:39

Re: Proyecto de juego: Las Aventuras de Tolo

Mensaje por Radastan » 17 Oct 2016, 11:29

Haplo escribió:También se me ha pasado por la cabeza echarle un ojo a z88dk, pero nunca he tocado C (aunque no me suena a chino) y me da no se qué a estas alturas, parar a estudiarlo y después migrar el código. No sé cierto qué ventajas tiene un lenguaje sobre el otro.
Mira esto y me cuentas:
http://www.bytemaniacos.com/ficheros/zx ... basico.pdf

Con mis rutinas (hay versión ZXUno) es como programar en BASIC.

Avatar de Usuario
Haplo
Mensajes: 368
Registrado: 05 Oct 2015, 13:51
Ubicación: Ciudad Real

Re: Proyecto de juego: Las Aventuras de Tolo

Mensaje por Haplo » 17 Oct 2016, 13:40

Gracias miguel, leído y parece fácil, a priori. Para el uso que le doy a zxbasic creo que es trivial pasarlo a c. Sólo es cuestión de adaptar algunas cosas y familiarizarse con la sintaxis.

El caso es que he husmeado por ahí y he leído algo sobre SDCC, pero no entiendo bien si es una evolución de z88dk porque está el proyecto abandonado, si es mejor, si se diferencia en algo,etc. Parece que la cosa se mueve mucho en la escena cpc, no sé si es extrapolable al entorno spectrum.

¿Alguién me puede aclarar como está el panorama?

Avatar de Usuario
yombo
Mensajes: 487
Registrado: 05 Oct 2015, 14:10

Re: Proyecto de juego: Las Aventuras de Tolo

Mensaje por yombo » 17 Oct 2016, 20:50

Haplo escribió:Gracias miguel, leído y parece fácil, a priori. Para el uso que le doy a zxbasic creo que es trivial pasarlo a c. Sólo es cuestión de adaptar algunas cosas y familiarizarse con la sintaxis.

El caso es que he husmeado por ahí y he leído algo sobre SDCC, pero no entiendo bien si es una evolución de z88dk porque está el proyecto abandonado, si es mejor, si se diferencia en algo,etc. Parece que la cosa se mueve mucho en la escena cpc, no sé si es extrapolable al entorno spectrum.

¿Alguién me puede aclarar como está el panorama?
Por lo que sé, el z88dk incluye su propio compilador, pero como está un poco desfasado, ya han incluido la opción de usar otro compilador más completo, el SDCC, en la última versión 1.99A. Pero no va muy fino, o yo no he conseguido que funcione. En la supuesta próxima versión 2.0 de z88dk se incluiría soporte completo para este compilador.
Para usar el compilador SDCC se activa con un flag en la línea de comandos al compilar, está en la wiki de z88dk.
Pero se ve que no han portado todas las librerías a este nuevo compilador, y éstas están duplicadas a medias.

Avatar de Usuario
Haplo
Mensajes: 368
Registrado: 05 Oct 2015, 13:51
Ubicación: Ciudad Real

Re: Proyecto de juego: Las Aventuras de Tolo

Mensaje por Haplo » 20 Oct 2016, 17:37

Dejaré el tema del C para otra ocasión, ya que merece dedicarle un tiempo que ahora no tengo.
He estado reorganizando todo y he sacado lo que alojaba en RAM 0 salvo la tabla de saltos de la IM2, de esta manera el código zxbasic puede crecer hasta ocupar unos 32 k sin complicarme la vida. Actualmente llevo "comidos" casi 11 KB de ellos, con lo que no creo que me pille el toro si no me desmadro :silbando:
Lo único es que tengo que tener cuidado de colocar las rutinas que necesitan acceder a datos en las otras páginas de RAM por debajo de 49152 para que pueda paginar sin problemas.

Dado que no uso llamadas a ROM y que tengo las interrupciones y la pila bajo control, puedo usar todo el espacio destinado a las variables del sistema entre 22528 y 24576 (inicio pantalla shadow de Timex) para meter tablas y variables mías. Sin embargo, he visto que los últimos bytes de RAM 0 (a partir de 65330) no están a 0, parecen ser usados por algo, no sé si es por algún periférico (DivMMC?) o por el ZXbasic de Boriel, porque si los toco consigo un bonito cuelgue o reset.
¿Qué usa esta zona? La tabla de saltos no tiene que ver porque está entre 65024 y 65280.

Responder