Karoshi MSX Community

Desarrollo MSX => Desarrollo (Español/Spanish) => Mensaje iniciado por: cybernoid en 05 de Diciembre de 2007, 10:25:45 am



Título: colores en sc1 ¿uno por caracter?
Publicado por: cybernoid en 05 de Diciembre de 2007, 10:25:45 am
Hola,

Estoy jugando un poco con SC1 pero veo que estoy un tanto oxidado en el tema de colorear los caracteres, alguien me puede explicar como funciona + o -

la verdad es que no me entero de nada, osea el tema de la tabla de patrones y la de nombres sin problemas, pero la de colores me esta tocando la moral :P

una ayudita por favoooor :)


Título: Re: colores en sc1 ¿uno por caracter?
Publicado por: msx dummie en 05 de Diciembre de 2007, 10:41:46 am
bueno, a ver si yo te puedo servir de ayuda, te dire hasta lo que yo sé, que también estoy con ello, haciendo pruebas...
se supone que la tabla de colores se compone solo de 32 bytes que contienen la información del color frontal y de fondo de cada grupo de 8 caracteres, los 4 bits mas altos contienen el color frontal y los 4 mas bajos, el del fondo para estos ocho caracteres.

Asi el primer byte de la tabla de colores contiene información de color para los primeros 8 bytes de la tabla de patrones, es decir, los codigos ASCII de 0 a 7, el segundo byte define los colores para los codigos ASCII de 8 a 15, y asi sucesivamente, hasta que el byte 32, contiene la info para los caracteres del 248 al 255, asi que teoricamente, y organizandose bien, podemos tener varios "ladrillos" con distinto color frontal y de fondo...

imagino que tú andaras con ensamblador, pero por si acaso, decirte también que el numero a usar en base para localizar la tabla es 6. (comienzo=BASE(6))

y esto es lo que yo sé sobre el tema, espero haber aclarado algo.
Un saludo!


Título: Re: colores en sc1 ¿uno por caracter?
Publicado por: cybernoid en 05 de Diciembre de 2007, 10:48:14 am
bueno, a ver si yo te puedo servir de ayuda, te dire hasta lo que yo sé, que también estoy con ello, haciendo pruebas...
se supone que la tabla de colores se compone solo de 32 bytes que contienen la información del color frontal y de fondo de cada grupo de 8 caracteres, los 4 bits mas altos contienen el color frontal y los 4 mas bajos, el del fondo para estos ocho caracteres.

Asi el primer byte de la tabla de colores contiene información de color para los primeros 8 bytes de la tabla de patrones, es decir, los codigos ASCII de 0 a 7, el segundo byte define los colores para los codigos ASCII de 8 a 15, y asi sucesivamente, hasta que el byte 32, contiene la info para los caracteres del 248 al 255, asi que teoricamente, y organizandose bien, podemos tener varios "ladrillos" con distinto color frontal y de fondo...

imagino que tú andaras con ensamblador, pero por si acaso, decirte también que el numero a usar en base para localizar la tabla es 6. (comienzo=BASE(6))

y esto es lo que yo sé sobre el tema, espero haber aclarado algo.
Un saludo!


pues si, me has aclarado todo mis temores  :(   es la respuesta que no queria oir...

vamos que no puedes asignar un color a el caracter A y otro diferente al B si estan en el mismo bloque

dios!  UNA SOLUCION QUIERO!!


gracias :=)


Título: Re: colores en sc1 ¿uno por caracter?
Publicado por: msx dummie en 05 de Diciembre de 2007, 10:52:53 am
bueno, esta el tema este del modo mixto: trabajar en sc1 haciendo creer a la maquina que estas en sc2, asi puedes colorear los caracteres individualmente (creo) ademas puedes tener caracteres multicolor, con más de un color frontal y uno de fondo... (1 color frontal y uno de fondo por cada byte del caracter) pero en esto estoy más pez, hay una explicación aqui en los foros, en un tema que abrí sobre todo esto...
mira por si te sirve...


Título: Re: colores en sc1 ¿uno por caracter?
Publicado por: cybernoid en 05 de Diciembre de 2007, 11:12:57 am
bueno, esta el tema este del modo mixto: trabajar en sc1 haciendo creer a la maquina que estas en sc2, asi puedes colorear los caracteres individualmente (creo) ademas puedes tener caracteres multicolor, con más de un color frontal y uno de fondo... (1 color frontal y uno de fondo por cada byte del caracter) pero en esto estoy más pez, hay una explicación aqui en los foros, en un tema que abrí sobre todo esto...
mira por si te sirve...

jeje, si hay un mensaje de esos mio  :P 

nada, sera cuestion de pasarlo todo a SC2 :(



Título: Re: colores en sc1 ¿uno por caracter?
Publicado por: msx dummie en 05 de Diciembre de 2007, 11:21:18 am
jejejj, es verdad :-[

Sc2 lo que pasa es que es muchisimo mas curro no? por lo de las 3 zonas de pantalla y todo ese jaleo... digo...


Título: Re: colores en sc1 ¿uno por caracter?
Publicado por: cybernoid en 05 de Diciembre de 2007, 11:37:28 am
jejejj, es verdad :-[

Sc2 lo que pasa es que es muchisimo mas curro no? por lo de las 3 zonas de pantalla y todo ese jaleo... digo...

yo creo que no, vamos, solo es un byte por cada 8 pixels
yo pensaba que los colores en SC1 era plan spectrum


Título: Re: colores en sc1 ¿uno por caracter?
Publicado por: msx dummie en 05 de Diciembre de 2007, 11:42:36 am
¿como es plan spectrum?
¿me puedes ilustrar por favor?


Título: Re: colores en sc1 ¿uno por caracter?
Publicado por: jltursan en 05 de Diciembre de 2007, 11:46:25 am
Bueno, algo más de curro si que hay; pero tanto en BASIC (lento como el solo) como en CM, una vez tengamos definido el juego/s de carácteres en los tres bancos de la tabla de patrones/colores, ya podemos usarlos sobre la tabla de nombres en un pispas. Por supuesto, eso si nos conformamos con 256 carácteres estáticos, si necesitamos redefinir dinámicamente alguno para conseguir efectos, scroll o virguerías diversas, lo vamos a tener que hacer en los 3 bancos (o no, depende de lo que necesitemos). Es ahí donde se nota la diferencia en el curro.
La verdad es que excepto en la carga de los patrones, SC2 es muy similar a SC1 en casi todo  :)

Citar
yo creo que no, vamos, solo es un byte por cada 8 pixels

2 bytes por cada 8 píxeles (patron y color). Y si queremos modificarlo lo tenemos que meter en los tres bancos, pudiendo llegar a necesitar modificar 6 bytes en la VRAM. Si toca hacer todo esto ya tenemos que empezar a planificar un poco las cosas

Citar
yo pensaba que los colores en SC1 era plan spectrum

Y lo son en lo que respecta al colorido, la organización interna ya es otra cosa. Si utilizas un diseñador de carácteres como el ICVGM (http://www.geocities.com/newcoleco/icvgm214.zip), podrás organizar tus carácteres para tener suficientes grupos de color como para tener un jueguecillo la mar de majo. Como ejemplo, el nuevo Montezuma Revenge (http://www.youtube.com/watch?v=u6IdOAauk3A) está programado en SC1, igual que en el original de la Colecovision. El Blagger si no recuerdo mal también usaba este modo.


Título: Re: colores en sc1 ¿uno por caracter?
Publicado por: jltursan en 05 de Diciembre de 2007, 11:48:41 am
Citar
¿como es plan spectrum?
¿me puedes ilustrar por favor?

Debe referirse a que a cada celda le podías asignar individualmente una pareja de colores tinta/fondo. Eso da como resultado una tabla de color de 768 bytes (32*24), frente a la de 32 que realmente tiene SC1.


Título: Re: colores en sc1 ¿uno por caracter?
Publicado por: cybernoid en 05 de Diciembre de 2007, 11:56:27 am
Citar
¿como es plan spectrum?
¿me puedes ilustrar por favor?

Debe referirse a que a cada celda le podías asignar individualmente una pareja de colores tinta/fondo. Eso da como resultado una tabla de color de 768 bytes (32*24), frente a la de 32 que realmente tiene SC1.


sastamente,

gracias por tus explicaciones jltursan, aunque me cuesta mucho seguirlas :P



Título: Re: colores en sc1 ¿uno por caracter?
Publicado por: Jon_Cortazar en 05 de Diciembre de 2007, 03:50:04 pm
Yo personalmente, y si no es un proyecto BASIC sino ensamblador, iría directamente a por SCREEN 2. Para BASIC, SCREEN 1 es muy cómodo para hacer gráficos con prints y demás, pero si estás metido en harina con assembler lo mismo da SCREEN 1 que SCREEN 2, solo que SCREEN 2 tiene muchas más posibilidades de color, claro  ;)