La Abadía del Crimen (PCW)

Sistemas PCW8256, Amstrad PCW 8256, PCW 8512 / Schneider Joyce Plusd PCW 9256, PCW9512+, PCW 10, PC 1512, PC 1640
Avatar de Usuario
Habi
Dragon 32
Dragon 32
Mensajes: 27
Registrado: 29 Jul 2012, 14:04
Sistema Favorito: Amstrad PCW
primer_sistema: Spectrum +2
consola_favorita: Vectrex
Primera consola: Atari 2600
Gracias dadas: 30 veces
Gracias recibidas: 4 veces
Contactar:

Re: La Abadía del Crimen (PCW)

Mensajepor Habi » 11 Sep 2012, 13:55

Por cierto, dices que casi has emulado el cpc?. Has hecho una capa de emulacion sobre el pcw?.


Pues no exactamente, lo que yo digo es que la beta
no es tan rápida como debiese (digamos que tenemos al PCW emulando un CPC 6128 en algunos aspectos).


Que no es lo mismo que decir que estoy emulando un CPC 6128 tal cual en un PCW. Como ya dije en otro foro, el Z80 no es paravirtualizable.

Concretamente, las rutinas de sprites utilizan "el formato" de CPC hasta que van a volcar el vídeo, momento al que saltan a mis rutinas parcheadas las cuales los "traducen" a PCW (y por tanto pierden más tiempo del que debieran).

En cualquier caso, y sintiéndolo mucho, no vale ésto para otro juego.

Avatar de Usuario
jltursan
Amiga 2500
Amiga 2500
Mensajes: 4028
Registrado: 13 Oct 2006, 19:45
Sistema Favorito: MSX
primer_sistema: Dragon
Ubicación: Serracines, Madrid, España
Gracias dadas: 57 veces
Gracias recibidas: 157 veces
Contactar:

Re: La Abadía del Crimen (PCW)

Mensajepor jltursan » 11 Sep 2012, 20:11

Interesante. Siempre queda la posibilidad en un futuro de adaptar definitivamente el formato de los gráficos almacenados al usado por el PCW y así acelerar el invento. Supongo que la dificultad dependería de si se dispone de esos recursos por separado o del tamaño que vayan a ocupar en formato PCW (supongo que menor que el empleado por su versión CPC).

En el caso de los sprites, que es el único que posiblemente merecería la pena de convertir, me pregunto que incremento de velocidad se conseguiría con la conversión... :-k

Avatar de Usuario
Habi
Dragon 32
Dragon 32
Mensajes: 27
Registrado: 29 Jul 2012, 14:04
Sistema Favorito: Amstrad PCW
primer_sistema: Spectrum +2
consola_favorita: Vectrex
Primera consola: Atari 2600
Gracias dadas: 30 veces
Gracias recibidas: 4 veces
Contactar:

Re: La Abadía del Crimen (PCW)

Mensajepor Habi » 11 Sep 2012, 21:51

Siempre queda la posibilidad en un futuro de adaptar definitivamente el formato de los gráficos almacenados al usado por el PCW y así acelerar el invento.


Exacto, y por eso es una beta. El principal problema es el formato de la memoria de vídeo del PCW, y el uso de buffers internos para el dibujo de tiles (16x8 píxeles).

Supongo que la dificultad dependería de si se dispone de esos recursos por separado o del tamaño que vayan a ocupar en formato PCW (supongo que menor que el empleado por su versión CPC).


Ocupan lo mismo en principio, ya que aunque tenemos la mitad de colores a cambio tenemos el doble de resolución (como usar el mode 2 en vez del 1 en un CPC). Para obtener aún más velocidad podíamos crear máscaras y entrelazarlas con los sprites, con lo que ganaríamos el no tener que usar tablas de transparencia (y por tanto indirecciones) cada byte, pero a cambio ocuparían el doble de memoria (aunque en un PCW eso no es gran cosa, y además tenemos un montón de memoria libre al eliminar el debugger que trae en la página 4).

En el caso de los sprites, que es el único que posiblemente merecería la pena de convertir, me pregunto que incremento de velocidad se conseguiría con la conversión...


Pues yo te lo digo: la rutina que pinta los tiles en espiral (superfácil de adaptar) al principio de cada pantalla se hace más del doble de rápida (los tiles están alineados a la rejilla 8x8, es todo memoria adyacente en PCW). El problema son los buffers internos donde se pintan los tiles con los sprites y luego se vuelcan a vídeo (movimiento de los personajes). Posiblemente pase de las "optimizaciones" de recortes de altura para el dibujo que tiene hechas y pinte los tiles enteros si vienen en mi formato.

No espero que quede tan rápido como en Spectrum, pero teniendo un Z80 a 4Mhz y una contención más relajada que un CPC espero quedarme cerca. ;)

De momento pierdo tiempo incrementando los punteros de memoria en 8 cada 4 píxeles de modo 1(8 de PCW); utilizo aritmética de 8 bits en vez de 16 para ahorrar unos cuantos ciclos, además de usar un par de trucos: una tabla de transparencias extra para los sprites (que curiosamente no tenían cuando el resto de tiles sí, y por duplicado) y una tabla con las direcciones de memoria en las que empieza cada línea. Con eso la velocidad es de momento comparable a la de CPC. :)


Volver a “Amstrad PCW/PC”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados