Página 7 de 9

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Publicado: Jue Jun 17, 2010 11:44 pm
por marce
Z80user escribió:Marce: Podrias hacer que el editor grafico generase ficheros con resolucion de pantalla completa, es decir 256*384 (el doble de resolucion vertical)
La formula para obtener las pantallas en screen$ seria tomar las lineas pares para una y las impares para la segunda pantalla.
Con los atributos no me he enterado muy bien como estan, pero creo que en formato crudo segun se direcciona, con las mismas restricciones que el screen$ estaria bien.


Como era de suponer, los rusos se nos han adelantado con el sistema que dices. El editor se llama multiArtist y te lo puedes bajar de aquí: http://speccy-live.untergrund.net/?p=1993 El propio co-autor me ha aclarado como se cargan las pantallas en el Spectrum aquí: http://zx.pk.ru/showthread.php?t=13150

El problema de que no caben las pantallas en memoria tiene una solución que a lo mejor no le gusta a todos, pero los que tengan unidad de disco o un Divide pueden ir cargando las pantallas desde él.


Saludos,
//.arce

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Publicado: Vie Jun 18, 2010 3:40 am
por mcleod_ideafix
marce escribió:mcleod_ideafix, ¿te costaría mucho hacer la rutina compatible con los +2A y +3? Me gustaría hacer un slideshow de pantallas de estas para el +3.

Saludos,
//.arce


Costaría, más que nada porque uso la famosa IN #FF para sincronizarme con el barrido horizontal. Sé que se puede hacer sin eso, pero la verdad, no me he puesto a ello. No sé si el diseño actual de la rutina lo permitiría. Creo que sí. He anotado en el código fuente las dos rutinas (macros en realidad) que deberían cambiar para hacerlo compatible con el +2A/+3. ¿Alguien se anima? :)

Pensé que había liberado el código fuente en algún post de este hilo. Acabo de comprobar que no es así :shock:

Aquí está (para ensamblar con PASMO): http://www.zxprojects.com/atc/cargador_hires_color.zip

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Publicado: Mar Sep 14, 2010 7:33 pm
por Rafa
Hace mucho tiempo que no me conecto, tengo otros menesteres, pero veo que este tema se ha ido hacia las pantallas y gráficos estáticos. No, no, yo lo planteaba en sprites en movimiento para usarlo en juegos, y hasta se me desafiaba... en fin, a palabras necias oídos sordos.

Pero es posible.

Y es que hay por aquí un par de GURÚS que lo acaparan todo y de todo saben, y a los que no sabemos tanto ni nos damos de listillos casi que nos echan.

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Publicado: Mar Sep 14, 2010 8:25 pm
por na_th_an
Rafa escribió:Hace mucho tiempo que no me conecto, tengo otros menesteres, pero veo que este tema se ha ido hacia las pantallas y gráficos estáticos. No, no, yo lo planteaba en sprites en movimiento para usarlo en juegos, y hasta se me desafiaba... en fin, a palabras necias oídos sordos.

Pero es posible.

Y es que hay por aquí un par de GURÚS que lo acaparan todo y de todo saben, y a los que no sabemos tanto ni nos damos de listillos casi que nos echan.


¡Hombre, veo que vuelves de buenas! :lol:

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Publicado: Mar Sep 14, 2010 11:45 pm
por Gandulf
Rafa escribió:Pero es posible. Y es que hay por aquí un par de GURÚS que lo acaparan todo y de todo saben, y a los que no sabemos tanto ni nos damos de listillos casi que nos echan.


Aqui nadie ha dicho que sea imposible, pero con tantas limitaciones que pierde interés meterlo en un juego.

Por cierto, se habla de pantallas porque es donde realmente se le puede buscar utilidad a esto, y fue lo que han hecho algunos usuarios del foro con conocimientos. Te recuerdo que lo único que hiciste en su momento tras decir que habías hecho una rutina de color en alta resolución fue poner un programa en basic que cambia los atributos de unos caracteres en pantalla y desapareciste

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Publicado: Mié Sep 15, 2010 5:26 pm
por Rafa
Es que soy como las buenas esencias, como los vinos excelentes, siempre aparezco en poca cantidad :P

Pues no, no era Basic, a ver si los GURÚS adivináis cuál era el lenguaje utilizado (tampoco ensamblador). Además yo sólo programo en Spectrum, no como otros que no son nadie sin el C :mrgreen:

Yo sólo quería reportar que era posible usar sprites con varios colores por carácter y moverlos y todo, y hasta lo conseguí, con movimiento suave, en serio, (no en Basic). Sólo había que perfeccionarlo con vuestra infinita e inmensa e inabarcable sabiduría (los rusos a vuestro lado son pinypon). Pero vinieron dando con el látigo, y yo que soy muy asustadizo, me entró el llanto, me puse a llorar y me cagué de miedo. Es que soy una cagona.

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Publicado: Mié Sep 15, 2010 8:55 pm
por mcleod_ideafix
Rafa escribió:Pues no, no era Basic, a ver si los GURÚS adivináis cuál era el lenguaje utilizado (tampoco ensamblador). Además yo sólo programo en Spectrum, no como otros que no son nadie sin el C :mrgreen:


¿Pues dónde esta el TAP, un snapshot, o algo, donde se vea qué fue lo que conseguiste?. No querrás que esto se convierta en otro ejemplo de vapor-ware estilo "saoses", ¿no?. Sobre el lenguaje....mmmmm....¿podría ser COBOL? :P Bueno, ya hablando en serio: algo como esto, que salga bien, fluido, y rápido, sólo se me ocurre hacerlo en VHDL, o Verilog... Hombre, siempre puedes usar alguna que otra tarjeta de video "dual" para Spectrum y usar sus sprites por hardware :D (es lo que tenemos los gurús* , que sabemos de todo... hasta cómo usar la rutina SCANNING sin perderse en el proceloso océano de la ROM)

* En un ejercicio de inmodestia, me voy a incluir en esta categoría, al menos durante este post :D

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Publicado: Mié Sep 15, 2010 11:21 pm
por Gandulf
Rafa escribió: 5 PRINT AT 0,0;"M"
10 POKE 22528,15: POKE 22528,121: POKE 22528,15:POKE 22528,121: GOTO 10

Si tenéis paciencia se ve. Además no sé por qué, si pulsais y soltáis una tecla se muestran los tres colores más rápidamente.


Esto es tuyo, y es Basic, antes de contestar lee lo que ponen los demás, porque obviamente me refería a "esto" que pusiste en la página 1 del hilo, ya que no volviste a poner nada. No has puesto nada más, y un efecto multicolor como el que ha realizado McLeod (no te digo nada si lo vas a intentar con un juego) tiene que ser programado en ensamblador, lógicamente.

La verdad es que el inicio de este hilo tiene bastantes similitudes con aquel hilo de saoses y el spectrum mejorado...

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Publicado: Mié Sep 15, 2010 11:41 pm
por mcleod_ideafix
Rafa escribió:Además no sé por qué, si pulsais y soltáis una tecla se muestran los tres colores más rápidamente.


¡Ostras! ¡No recordaba esta frase! Mira, sin acritud, pero si no sabes por qué pasa lo de la tecla, me cuesta trabajo creer que hayas conseguido lo que dices que habías conseguido, entre otras cosas porque para que este tipo de efectos funcione hace falta adueñarse de las interrupciones, y desde BASIC, el dueño de las interrupciones es la rutina de lectura del teclado. Más claro...

Por cierto... espero que esto no sea un intento por parte de Rafa de meter morralla, boicoteando el hilo y obligando a que lo releguen al "R Tape..." para que desaparezca de aquí y se pierda toda la información aportada...

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Publicado: Jue Sep 16, 2010 9:56 am
por na_th_an
falvarez escribió:Don't feed the troll :wink:


101% de acuerdo. Trollear es lo que está haciendo desde el principio del hilo.

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Publicado: Jue Sep 16, 2010 9:05 pm
por Z80user
marce escribió:
Z80user escribió:Marce: Podrias hacer que el editor grafico generase ficheros con resolucion de pantalla completa, es decir 256*384 (el doble de resolucion vertical)
La formula para obtener las pantallas en screen$ seria tomar las lineas pares para una y las impares para la segunda pantalla.
Con los atributos no me he enterado muy bien como estan, pero creo que en formato crudo segun se direcciona, con las mismas restricciones que el screen$ estaria bien.


Como era de suponer, los rusos se nos han adelantado con el sistema que dices. El editor se llama multiArtist y te lo puedes bajar de aquí: http://speccy-live.untergrund.net/?p=1993 El propio co-autor me ha aclarado como se cargan las pantallas en el Spectrum aquí: http://zx.pk.ru/showthread.php?t=13150
no es el sistema al que me referia esactamente, y es usable a medias, tendria que descartar el 75% de la informacion generada apartir de 2 pantallas, para obtener lo que querria.
Era usar las dos pantallas de que disponen los modelos de 128K para intercambiar la pantalla, pero en modo de aumento de resolucion, no para superponer colores, dado que el barrido de la pantalla no es siempre identido, hay un numero de lineas que en los televisores se refrescan de una o utra forma, segun el tipo, y era diseñar algo, parecido que retocase los 768 bytes, tal cual hacen, pero con la restriccion de solo 3 colores por cada 8*8, mas que nada para poder pintar un par de lineas diagonales y que en el centro de la pantalla no cambien de color. pero con el color del papel identico, o ampliado, pero como daria lugar a un mayor parpadeo, bastante molento supongo, no hacerlo tan bruscamente (teniendo que poner el tipico mensaje para los epilepticos)

La idea es esa, poner una rejilla de 8x8 superpuesta a otra de 8x8, para dar lugar a una de 8x16, en la que se mantengan las restricciones de color-crash del spectrum, y que en un programa de dibujo estubiesen intercaladas dichas lineas. y pensando en 16 colores, no en los que pueden implementar los rusos con el programa ese.

La razon principal es que si hay algo asi, se pueden diseñar pantallas que tengan el susodicho parpadeo, pero que puedan tener hasta 3 colores, (explicacion al final) en cada bloque, y asi poder dibujar un juego con amarillo, rojo y fondo negro. o poder pintar estrellas juntas blancas y grises con fondo negro en el cielo, con un consumo minimo por parte de la CPU, solo indicar el cambio de pantalla, en cada interupcion.

3 colores a elegir, 1 papel y 2 tintas, o 2 papeles y 1 tinta, el multicolor como en los rusos no, porque seria el color del papel como base de un bloque de 8x8.
Otro ejemplo de uso seria, que Phantomas, pudiese caminar sobre hierva verde, sin que la hierva se colorease de blanco, o Phantomas de verde, o que un fantasma pudiese atravesar una pared, sin colorear
Una utilidad para esto, es que una vez pintado el fondo, la pantalla y demas, no nos tenemso que preocupar de dañar zonas de la pantalla, nos ahorramos dibujar con mascara en algunos casos, aunque esto tiene el problema de que el pintar se joden objetos entre si, pero si hay una rutina de deteccion de choques, nos podemos basar en ella para detectar si estamos invadiendo algun objeto, usando una zona de 768 bytes, para determinar si podemos pintar con la rutina que implementa la mascara, o podemos usar la rutina sin mascaras, que sera relativamente mas rapida.

En caso de que 2 Sprites esten en la misma zona, si no esta invadida la parte que puperpone al resto (la pantalla de fondo), comprobar si se puede usar la otra pantalla, para pintar al personaje. Con lo que evitamos el Color-Crash, y podemos pintar con 3 colores en un mismo bloque, sin un consumo escesivo de CPU.

Por termino medio la rutina siempre o casi siempre pintaria en la pantalla algo sin mascara, en caso de que existiese suelo, si abria que hacerlo desaparecer con una mascara, pero en caso contrario, ayuda bastante, poder elegir entre 2 rutinas, y que normalmente le toque a la rutina mas rapida hacer el trabajo

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Publicado: Vie Sep 17, 2010 7:59 pm
por Rafa
¡ Esto parece una reunión chamánica ! ¡ O un akelarre ! ¡ Y encima insultan ! Soy un troll miedoso, no me peguéis más.

A ver, ya en serio, yo movía un sprite de 2X2 SUAVEMENTE con hasta 6 colores por carácter. El Basic del principio nada tiene que ver con lo del sprite. NADA.
Habláis de un montón de tecnicismos, que si consume muchos recursos (¡más recursos consume poner en alta resolución toda la pantalla!), que si no se qué de sincronismos, luego se pasó al tema de diseño de pantallas finales de games overs y demás.

Pero os vais a quedar con las ganas. Ni captura, ni código. A lo mejor los rusos aprecian mejor a los novatos. Si decís que soy un TROLL, pues qué le voy a hacer.

De verdad os digo que la rutina SCANNING me la sé de memoria como me sé la tabla de multiplicar del 8. Pero soy un novato y un TROLL. Y además lloro.

Para finalizar, un apunte filosófico: el Spectrum no nació para que la gente se complicara tanto la cabeza y se rebanara los sesos como aquí algunos se los rebanan. Pensad en la cinta Horizontes y en Manic Miner.

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Publicado: Sab Sep 18, 2010 9:56 pm
por zxbruno
Rafa escribió:Pero os vais a quedar con las ganas. Ni captura, ni código.


Al no mostrar ni la captura ni el codigo lo que haces es hacernos creer que tal cosa nunca existió.

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Publicado: Dom Sep 19, 2010 12:13 pm
por decicoder
Rafa escribió:Pero os vais a quedar con las ganas. Ni captura, ni código.


Me parece bien. Yo me conformaría sólo con el principio de funcionamiento.