DUDA CON SPRITES

Página 1/3
| 2 | 3

Por adan.mastergshock

Master (246)

Imagen del adan.mastergshock

24-02-2015, 16:34

Buenas tardes a todos.

Para el proyecto que estamos elaborando y por la parte que me toca...tengo unas dudas que prefiero preguntar antes de continuar.Ya tengo editados parte de los sprites de algunas fases, mi idea es saber si haciendo un programa que meta "las datas" de los graficos en memoria, es decir desde basic hago un cargador de sprites tipico, una vez estan en memoria...copio los valores de la zona de memoria de los sprites copiandola en una zona de la vram visible y la guardo como una pantalla completa de video...despues cargo esa pantalla y copio todo ese "copy" a la zona de sprites...¿Se puede hacer?, quiero liberar todo el espacio posible de la memoria RAM.

Igual acabo de escribir el poste estupido del año...pero bueno hay que preguntar.

Muchas gracias.

Login sesión o register para postear comentarios

Por AxelStone

Prophet (2956)

Imagen del AxelStone

24-02-2015, 17:48

Pregunta: ¿son sprites hardware o software?

Por adan.mastergshock

Master (246)

Imagen del adan.mastergshock

24-02-2015, 21:25

Cuando hablo de sprites hablo de sprites hardware, cuando hablo de bitmaps "sprites" son copys.

Por jrcp_kun

Paragon (1410)

Imagen del jrcp_kun

24-02-2015, 22:05

en vram puedes guardar lo que quieras siempre y cuando no vayas a hacer visible esa pagina.
luego lo copias y lo mueves donde quieras
no hace falta tenerlo en ram .

Por adan.mastergshock

Master (246)

Imagen del adan.mastergshock

24-02-2015, 22:47

Me refiero a no meter datas en el programa principal, datas de sprites...si se pueden crear y copiar la zona de memoria de sprites a zona vram visible(visible pero escondida, es decir no set page 0,0), y copiar "ese" copy a la zona de sprites cuando convenga...así no tengo lleno de datas el programa...no se si me explico.
Cargo la pantalla, copio a la zona de vram ese trozo codificado de la zona de sprites...y libero la ram...

¿Me explico o no?

Por AxelStone

Prophet (2956)

Imagen del AxelStone

24-02-2015, 23:44

Ostras pues tiene sentido lo que dices, en verdad los sprites no son más que contenido de memoria así que debería poderse hacer lo que dices. En principio puedes probar y nos cuentas si funciona no? A ver, te comento una posible forma:
1.- Defines los sprites con DATAs, efectivamente estarán en la zona oculta de la página 0.
2.- Con VPEEK y VPOKE copia las posiciones de la zona oculta de video, léase &H6A08-&H7FFF a la página 1.
3.- Haz un new y prueba a volcar a partir de &H6A08 lo que copiaste en la página 1.

De todos modos si tu problema es ahorrar memoria no hace falta ¿no? Me refiero, yo para mi proyecto uso un loader independiente del juego. Es decir, el loader mete todo lo que necesita el motor del juego en RAM/VRAM y después cargo el motor del juego que se va a encontrar ya todo "en su sitio". ¿No lo prefieres así?

Por mohai

Paladin (919)

Imagen del mohai

25-02-2015, 12:34

Hola,
no te líes sin necesidad.
Fíjate lo que pasa cuando defines sprites en BASIC: Se guardan en VRAM en su zona correspondiente, pero no se visualizan hasta que haces un put sprite.
El VDP trabaja como lo necesitas: por un lado guarda las definiciones de sprites y por otro los atributos (lo que haces con put sprite).
Tanto la tabla de atributos, como la zona de definiciones, están guardadas en VRAM y son independientes.
Podrás grabarlas con BSAVE y luego recuperarlas con BLOAD de la manera habitual. Incluso puedes cargarla en la zona de VRAM que quieras, con desplazamiento.

Por adan.mastergshock

Master (246)

Imagen del adan.mastergshock

26-02-2015, 11:52

hola otra vez, voy a hacer pruebas sobre esto.

Lo que no recuerdo es cuantos sprites se pueden definir en screen 5 y cual es la dirección desde donde se guardan imagino que es la que comentas(AxelStone) de &H6A08-&H7FFF...

Por AxelStone

Prophet (2956)

Imagen del AxelStone

26-02-2015, 12:37

adan.mastergshock wrote:

hola otra vez, voy a hacer pruebas sobre esto.

Lo que no recuerdo es cuantos sprites se pueden definir en screen 5 y cual es la dirección desde donde se guardan imagino que es la que comentas(AxelStone) de &H6A08-&H7FFF...

Se guardan en la zona oculta de las páginas 0 y 1. Consideras que cada página tiene 32768bytes para 256x256 y solo hay visibles 256x212, significa que la página visible son 27136bytes, a partir de ahí es zona oculta hasta los 32Kb (los numerajos que te he puesto en hexadecimal).

Para copiar desde la página 1 suma 32Kb a esa cifra, es decir la zona oculta de la página 1 empieza en &HEA00.

Suerte.

Por adan.mastergshock

Master (246)

Imagen del adan.mastergshock

26-02-2015, 12:57

Genial por el apunte, voy a ello.

Lo ultimo, no recuerdo el total de sprites definibles, creo que era 64, no lo recuerdo.

Por AxelStone

Prophet (2956)

Imagen del AxelStone

26-02-2015, 21:16

adan.mastergshock wrote:

Genial por el apunte, voy a ello.

Lo ultimo, no recuerdo el total de sprites definibles, creo que era 64, no lo recuerdo.

256 patrones de 8x8 Wink

Página 1/3
| 2 | 3