Karoshi MSX Community
06 de Julio de 2021, 12:26:58 am *
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]
  Imprimir  
Autor Tema: mi lio particular con screen 2  (Leído 6649 veces)
0 Usuarios y 1 Visitante están viendo este tema.
cybernoid
Karoshi Maniac
****
Mensajes: 368



WWW
« : 11 de Diciembre de 2007, 12:29:51 pm »

Hola,

estoy intentando imprimir caracteres en screen 2 con vpokes, la cuestión es que no me aclaro o algo hago mal.

el codigo es el siguiente.
10 screen 2
20 vpoke 520,255 : rem tabla de patrones A= 65*8 = 520
30 vpoke 6144,65 : rem table de nombres, imprimo A (65)
40 vpoke 8192,100: rem tabla de colores

la cuestiones que no sale nada, nada de nada  Tongue pero si sustituyo la linea 40 por for n=8192 to 9000:vpoke n,100:next   sale algo, pero es como si el caracter que he redefinido se imprimiera duplicado


¿alguna idea?
« Última modificación: 11 de Diciembre de 2007, 12:46:33 pm por gobblin » En línea
cybernoid
Karoshi Maniac
****
Mensajes: 368



WWW
« Respuesta #1 : 11 de Diciembre de 2007, 12:54:56 pm »

Hola,

estoy intentando imprimir caracteres en screen 2 con vpokes, la cuestión es que no me aclaro o algo hago mal.

el codigo es el siguiente.
10 screen 2
20 vpoke 520,255 : rem tabla de patrones A= 65*8 = 520
30 vpoke 6144,65 : rem table de nombres, imprimo A (65)
40 vpoke 8192,100: rem tabla de colores

la cuestiones que no sale nada, nada de nada  Tongue pero si sustituyo la linea 40 por for n=8192 to 9000:vpoke n,100:next   sale algo, pero es como si el caracter que he redefinido se imprimiera duplicado


¿alguna idea?


me autorespondo un poco.

la memoria de video no se autolimpia cuando inicializo screen 2 ¿correcto?, y en una posicion estaba el 65 por eso parecia que se duplicaba.
y la tabla de nombres (6144) no corresponde con el primer pixel de la pantalla

¿correcto?
En línea
pentacour
Karoshi Lover
***
Mensajes: 177


mgalious@hotmail.com
WWW Email
« Respuesta #2 : 11 de Diciembre de 2007, 01:19:00 pm »

En la tabla de patrones redefines los caracteres. Es decir, de la 0 a la 7 deberías redefinir por ejemplo una A si es lo que quieres imprimir. De la 8192 a la 8199 irían los colores de esa A. Todo esto sería para el carácter código 0.

Si ahora pones en la tabla de nombres, en la 6144 un 0 debería dibujar la A en la primera posición. Si quieres llenar toda la primera línea de A's, bucle de 6144 hasta 6144+31 escribiendo 0's.

Diría que por defecto en el Screen 2 tienes la tabla de patrones inicializada a 0, es decir, en la 65*8 no tienes una A dibujada (creo recordar, vamos).
En línea
SapphiRe_MSX
Visitante
« Respuesta #3 : 11 de Diciembre de 2007, 01:31:07 pm »

Diría que por defecto en el Screen 2 tienes la tabla de patrones inicializada a 0, es decir, en la 65*8 no tienes una A dibujada (creo recordar, vamos).

En efecto.

  Al inicializar Screen 2, las tres tablas de patrones (una para cada tercio) están todas a 0. Las tablas de colores están rellenas con los colores de frente y fondo que se hayan indicado y la tabla de nombres está inicializada con los valores 0-255 repetidos tres veces, es decir:

0, 1, 2, 3 ...  31 (en la primera fila)
32, 33, 34, 35 ... 63 (en la segunda fila)
...
224, 225, 226 ... 255 (en la octava fila)
0, 1, 2, 3 ...  31 (en la novena fila)
32, 33, 34, 35 ... 63 (en la décima fila)
...
224, 225, 226 ... 255 (en la decimosexta fila)
0, 1, 2, 3 ...  31 (en la decimoséptima fila)
32, 33, 34, 35 ... 63 (en la decimooctava fila)
...
224, 225, 226 ... 255 (en la vigesimocuarta fila)

  Screen 2 se puede usar como Screen 1 si toqueteamos en la tabla de nombres una vez estén definidos los patrones (ejemplo Namake's Bridgedrome, QBIQS y Entropipe, vamos... yo es lo que he hecho hasta ahora). También se puede usar, de forma más compleja, no tocando la tabla de nombres (o tocándola lo mínimo) y trabajando siempre con las tablas de patrones y colores (ejemplo: Caverns of Titan).

  Espero que esto os lo aclare más.

Saludos
--
Sph.
En línea
cybernoid
Karoshi Maniac
****
Mensajes: 368



WWW
« Respuesta #4 : 11 de Diciembre de 2007, 01:31:34 pm »

En la tabla de patrones redefines los caracteres. Es decir, de la 0 a la 7 deberías redefinir por ejemplo una A si es lo que quieres imprimir. De la 8192 a la 8199 irían los colores de esa A. Todo esto sería para el carácter código 0.

Si ahora pones en la tabla de nombres, en la 6144 un 0 debería dibujar la A en la primera posición. Si quieres llenar toda la primera línea de A's, bucle de 6144 hasta 6144+31 escribiendo 0's.

Diría que por defecto en el Screen 2 tienes la tabla de patrones inicializada a 0, es decir, en la 65*8 no tienes una A dibujada (creo recordar, vamos).

ok, vamos a ver, yo redefino el espacio que hay de la posición 0 a la 7, después hago vpoke 6144,0  con lo que se supone que ha impreso en la posición 0 el caracter redefinido  

¿ahora como le doy color?  a que posicion de memoria tengo de ir ¿a 8192 ?  pero la vpokeo y no pasa nada (vpoke 8192,100)
En línea
pentacour
Karoshi Lover
***
Mensajes: 177


mgalious@hotmail.com
WWW Email
« Respuesta #5 : 11 de Diciembre de 2007, 01:37:06 pm »

En la 8192 defines el color del patron y fondo para la primera fila de la A. Si dibujas la A en una grid de 8x8, la 8192 indica el color para la primera fila, 8193 para la segunda... y 8199 para la base de la A. Es decir, 8 posiciones consecutivas para cada carácter.
En línea
SapphiRe_MSX
Visitante
« Respuesta #6 : 11 de Diciembre de 2007, 01:43:52 pm »

¿ahora como le doy color?  a que posicion de memoria tengo de ir ¿a 8192 ?  pero la vpokeo y no pasa nada (vpoke 8192,100)

Depende de qué valor hayas vpokeado en la posición 0 y de qué colores hayas definido para la pantalla, porque estás poniendo un color 6 de frente y un 4 de fondo. Si has puesto screen 2 sin definir colores igual tienes el 4 ya de fondo (el famoso color 15,4,4) y quizá hayas hecho un vpoke 0,0 con lo que, en efecto, un vpoke 8192,100 no se vería en absoluto...
En línea
cybernoid
Karoshi Maniac
****
Mensajes: 368



WWW
« Respuesta #7 : 11 de Diciembre de 2007, 01:46:15 pm »

En la 8192 defines el color del patron y fondo para la primera fila de la A. Si dibujas la A en una grid de 8x8, la 8192 indica el color para la primera fila, 8193 para la segunda... y 8199 para la base de la A. Es decir, 8 posiciones consecutivas para cada carácter.

yo flipo, estaba haciendo eso mismo y no me chutaba, y ahora lo pruebo y me funciona :|  increible... GRACIAS!

por cierto, no hay manera de imprimir directamente en pantalla pasando de la tabla de nombres?  igual que el spectrum?
tengo siempre de redefinir caracteres para imprimir en pantalla algo o puedo ir y dibujar directamente?




En línea
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« Respuesta #8 : 11 de Diciembre de 2007, 02:17:03 pm »

Claro que puedes, puedes olvidarte de la tabla de nombres e ir directamente a la de patrones y colores. Si dejas la de nombres tal como ha explicado Sapphire (por defecto), el resultado es que tienes algo muy parecido a lo que hay en el Spectrum, por ejemplo. Puedes dibujar libremente en toda la pantalla Smiley
En línea

Doom dee doom dee doom
cybernoid
Karoshi Maniac
****
Mensajes: 368



WWW
« Respuesta #9 : 11 de Diciembre de 2007, 02:50:11 pm »

gracias a todos Smiley voy a seguir jugando

a ver que sale  Smiley
En línea
Jon_Cortazar
Administrator
Karoshi Forum's God
********
Mensajes: 2777



WWW Email
« Respuesta #10 : 11 de Diciembre de 2007, 04:50:07 pm »

Aún así yo te recomendaría funcionar con screen2 como si fuera un modo de tiles (usando caracteres en lugar de pintar libremente), porque te va a facilitar la vida para mogollón de cosas (hacer mapas, poder redefinir un caracter y que se cambie automáticamente en todas sus instancias de pantalla), etc... es un poco más rollo porque hay que asumir previamente los caracteres que se van a utilizar, pero luego ganas en comodidad a la hora de gestionar los gráficos: palabra!

Y por supuesto, felicidades por tus progresos!!  Cheesy
En línea

Jon Cortázar Abraido (aka El Viejo Archivero)
RELEVO Videogames
[Dioniso: La cafeína está haciendo su trabajo; yo espero hacer el mío.]
[pitpan: Me sigue pareciendo más productivo jugar al SNAIL MAZE que seguir esta discusión.]
cybernoid
Karoshi Maniac
****
Mensajes: 368



WWW
« Respuesta #11 : 11 de Diciembre de 2007, 05:22:39 pm »

Aún así yo te recomendaría funcionar con screen2 como si fuera un modo de tiles (usando caracteres en lugar de pintar libremente), porque te va a facilitar la vida para mogollón de cosas (hacer mapas, poder redefinir un caracter y que se cambie automáticamente en todas sus instancias de pantalla), etc... es un poco más rollo porque hay que asumir previamente los caracteres que se van a utilizar, pero luego ganas en comodidad a la hora de gestionar los gráficos: palabra!

Y por supuesto, felicidades por tus progresos!!  Cheesy

gracias viejo ^^

la verdad es que gracias al apoyo de esta comunidad me estoy animando un monton a investigar, incluso he empezado un pequeño proyecto ^^ !!
espero que con el tiempo y una caña ese proyecto vea la luz, como digo es muuuuy pequeño pero para empezar creo que esta bien.
por cierto, una duda se me plantea que tiene algo que ver con el tema.

¿que programa utilizáis para definir sprites con mas de un color (vamos, cuando usais mas de un sprite para una figura)?


lo dicho, gracias a todos!! Smiley
En línea
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« Respuesta #12 : 11 de Diciembre de 2007, 06:51:33 pm »

...a güevo Sad

Todavía no he encontrado ningún programa que se maneje con los sprites del MSX1. Me tengo que apañar a base de separar los colores mentalmente , separar los planos una vez dibujado a todo color o utilizar planos en herramientas como el PsP o el GIMP. Reconozco que estaría cojonudo encontrar algún editor de sprites que permitiera eso... Roll Eyes
En línea

Doom dee doom dee doom
pentacour
Karoshi Lover
***
Mensajes: 177


mgalious@hotmail.com
WWW Email
« Respuesta #13 : 11 de Diciembre de 2007, 07:07:39 pm »

Yo usaba uno que se podía utilizar en web o bajarlo y usarlo en local, pero ahora no estoy en casa y no recuerdo el nombre. Aunque no es todo lo ágil que me gustaría.

Estoy pensando que un editor de sprites sería un buen complemento para el nMSXtiles (he venido a hablar de mi libro!!)  Tongue

En línea
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« Respuesta #14 : 11 de Diciembre de 2007, 08:00:41 pm »

Seguramente era el TinySprite de Rafael Jannone, de lo mejorcito; pero no soporta planos...

Definitivamente si el nMSXtiles soportara planos de sprite sería un puntazo Cheesy
En línea

Doom dee doom dee doom
Páginas: [1]
  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!