Karoshi MSX Community
05 de Julio de 2021, 07:25:58 pm *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias:
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: 1 2 [3]
  Imprimir  
Autor Tema: screen 5 y vpokes  (Leído 16135 veces)
0 Usuarios y 1 Visitante están viendo este tema.
Imanok
Karoshi Hero
*****
Mensajes: 626


« Respuesta #30 : 04 de Febrero de 2011, 05:17:04 pm »

Ayer empecé a hacer prubas con NestorBASIC + NestorCadenas para pasar todos los STRING a un serctor de la RAM que no sea el del BASIC y ya lo hice funcionar. Ahora tengo que pasar todos las fases y los textos del juego (que hay muchos) y se me quedará un programa muy corto, con lo que creo que tendré suficiente memoria libre para poder acabar el juego.

Me alegro Smiley

Así es como debe ser... el programa ha de contener únicamente el motor del juego propiamente dicho y el resto de cosas las vas cargando externamente.
En línea
Kotai
Karoshi Lover
***
Mensajes: 214


Kotai

djkotai@hotmail.com
WWW Email
« Respuesta #31 : 07 de Febrero de 2011, 12:40:06 am »

A ver lo que da de si esto, el fichero de textos con las fases ya ocupa 25KB y por ahora solo tengo 44 pantallas de las casi 100 que tiene el juego. Ya se empieza a notar la lentitud al buscar la etiqueta dentro de NestorCadenas para que me devuelva la dirección donde están las cadenas de la fase que quiero mostrar.

Seguiré informando.

Saludos.
En línea

Creador de remakes de juegos con modo online y editor de fases:
http://www.remakesonline.com
http://www.miniracingonline.com
Kotai
Karoshi Lover
***
Mensajes: 214


Kotai

djkotai@hotmail.com
WWW Email
« Respuesta #32 : 07 de Febrero de 2011, 05:23:39 pm »

Pues ahora que va tomando todo forma no me acaba de gustar como están quedando los gráficos y creo que debería mirar lo de SC5 y los COPY.

He pensado en un sistema para que me sirva el método que estoy haciendo ahora de poner las fases en un fichero de texto y cargarlo en memoria no destinada al BASIC (el juego tiene 100 pantallas y no cabe en la memoria de BASIC), y sería hacer un BMP a bloques de 16x16 (también podría ser de 8x8) y asignarle un número a cada uno empezando por el 32, de forma que en el fichero de texto de las fases pongo el caracter ASCII [32..255] que corresponde con el número de bloque que quiero pintar y el lugar donde lo pinto viene definido por la posición de ese caracter en el fichero de texto.
Vamos, lo mismo que los tiles de SC2, así las pantallas son carácteres en un fichero de texto (que se carga en una zona de la RAM no reservada para el BASIC gracias al NestorCadenas) y no un montón de copys que no sabría como ponerlos sin ocupar toda la memoria del BASIC.

Ahora las preguntas, ¿ que formato o con que programa he de grabar desde Windows la imagen con lo bloques de 16x16 que quiero cargar en las páginas VRAM del MSX ? ¿ y como se cargan ?

Luego lo otro de los COPY y SET SCREEN parece fácil de hacer y no creo que tenga ningún problema.

Gracias.
En línea

Creador de remakes de juegos con modo online y editor de fases:
http://www.remakesonline.com
http://www.miniracingonline.com
Imanok
Karoshi Hero
*****
Mensajes: 626


« Respuesta #33 : 07 de Febrero de 2011, 09:10:31 pm »

Hay varios conversores por ahí... puedes usar el BMP2MSX, por ejemplo.

En cuanto al formato origen, usa BMP de 24 bits y con unas dimensiones de 256x212.

El resultado será un archivo .SR5 (imagen) y otro .PL5 (paleta). Te recomiendo la opción de generar todo integrado dentro de un mismo fichero .SC5 y recuperar la paleta con la instrucción COLOR=RESTORE.

Para cargar la imagen, es así de simple:

10 SCREEN5
20 BLOAD"IMAGEN.SC5",S
30 COLOR = RESTORE

Para cargarla en una página u otra, utiliza la instrucción SET PAGE antes del BLOAD
En línea
Kotai
Karoshi Lover
***
Mensajes: 214


Kotai

djkotai@hotmail.com
WWW Email
« Respuesta #34 : 08 de Febrero de 2011, 09:53:54 am »

Perfecto, es lo que buscaba. Aún no lo he probado pero parece muy fácil.

Y luego otra duda que tengo con los sprites. Hasta ahora que había usado MSX1 solo tenía una página de VRAM y tenia en el rango &H3800-&H3FFF los 64 sprites de 16x16 (o 256 de 8x8). En screen 5 tengo 4 páginas de VRAM ¿ puedo tener 4x64 sprites ?
Es que 64 son muy pocos y mirando Metal Gear 2 solo en el personaje principal han gastado 48 sprites para caminar, lues están los de arrastrarse por el suelo, el de la muerte y luego los enemigos que les he contado 24 sprites así que usan más de 64 sprites (si es que son sprites y no COPYS, pero parecen sprites porque solo usan 3 colores por línea que son 2 sprites más el OR).

Si se pueden poner más de 64, ¿ como se accede a ellos, poniendo 64,65..... ?

Gracias.
En línea

Creador de remakes de juegos con modo online y editor de fases:
http://www.remakesonline.com
http://www.miniracingonline.com
Imanok
Karoshi Hero
*****
Mensajes: 626


« Respuesta #35 : 08 de Febrero de 2011, 06:45:22 pm »

Y luego otra duda que tengo con los sprites. Hasta ahora que había usado MSX1 solo tenía una página de VRAM y tenia en el rango &H3800-&H3FFF los 64 sprites de 16x16 (o 256 de 8x8). En screen 5 tengo 4 páginas de VRAM ¿ puedo tener 4x64 sprites ?
No conozco a fondo el tema de sprites HW para MSX2, porque todos los juegos que hice en su día, usaban principalmente sprites SW... pero vamos, que simultáneamente sólo puedes usar 32 sprites de 64 definidos. De lo que no estoy seguro es de si puedes tener definidas diferentes tablas de sprites y "activar" una u otra... que lo confirme alguien que sepa más del tema.

Citar
Es que 64 son muy pocos y mirando Metal Gear 2 solo en el personaje principal han gastado 48 sprites para caminar, lues están los de arrastrarse por el suelo, el de la muerte y luego los enemigos que les he contado 24 sprites así que usan más de 64 sprites (si es que son sprites y no COPYS, pero parecen sprites porque solo usan 3 colores por línea que son 2 sprites más el OR).
No sé si son sprites HW o SW... pero se me ocurre que se puede averiguar fácilmente si ejecutas el juego en un emu en el que se puedan deshabilitar los sprites HW.

Lo que sí que hacían en algunos juegos es redefinir los sprites en tiempo real (puede que ese sea el caso del MG2), de esa forma no hay límites en ese sentido.
En línea
Kotai
Karoshi Lover
***
Mensajes: 214


Kotai

djkotai@hotmail.com
WWW Email
« Respuesta #36 : 13 de Diciembre de 2012, 04:19:20 pm »

Citar
Citar
Y para terminar si hay alguna instrucción que me diga si tienes un MSX1 o superior para cuando cargue el juego comprobar si estoy en un MSX1 o 2 para que no de un error al hacer SCREEN 4 si se trata de un MSX1, poder sacar un mensaje tipo "este juego solo funciona en MSX2"

MV=PEEK(43)

y en MV tendrás un 0 si es MSX1, 1 si es MSX2, 2 si es MSX2+ y 3 si es Turbo-R.

Espero que te sirva Cheesy



Hola de nuevo.
Estoy intentando detectar en que máquina estoy (MSX1, 2, 2+...) y la función PEEK(43) me devuelve 145 en un MSX1 y no un 0 como suponía. ¿ Es otra la dirección que hay que leer para saber que tipo de MSX es ?

Gracias.
En línea

Creador de remakes de juegos con modo online y editor de fases:
http://www.remakesonline.com
http://www.miniracingonline.com
theNestruo
Karoshi Lover
***
Mensajes: 236


Email
« Respuesta #37 : 13 de Diciembre de 2012, 04:27:15 pm »

Según http://map.grauw.nl/resources/msxsystemvars.php la dirección es &H002D. Si lo prefieres en decimal, 45 (no 43).
La que tú estabas leyendo tiene pinta de ser la del charset y la frecuencia por defecto del VDP.
En línea

theNestruo."Old BASIC programmers never die; they GOSUB but never RETURN."
Kotai
Karoshi Lover
***
Mensajes: 214


Kotai

djkotai@hotmail.com
WWW Email
« Respuesta #38 : 13 de Diciembre de 2012, 05:23:20 pm »

Gracias, con el 45 si que va bien.

Saludos  Griel
En línea

Creador de remakes de juegos con modo online y editor de fases:
http://www.remakesonline.com
http://www.miniracingonline.com
Páginas: 1 2 [3]
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.21 | SMF © 2013, Simple Machines XHTML 1.0 válido! CSS válido!