Seis colores por carácter. ¡ CONSEGUIDO !

Todo sobre la creación, diseño y programación de nuevo software para
nuestro Spectrum

Moderador: Sir Cilve Sinclair

Avatar de Usuario
marce
Herbert
Mensajes: 79
Registrado: Lun Jun 11, 2007 8:05 pm
Ubicación: Mallorca
Contactar:

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

Mensaje por marce » Jue Jun 17, 2010 11:44 pm

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

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

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

Mensaje por mcleod_ideafix » Vie Jun 18, 2010 3:40 am

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
Web: ZX Projects | Twitter: @zxprojects

Avatar de Usuario
Rafa
Jack The Nipper
Mensajes: 181
Registrado: Lun May 07, 2007 11:59 am

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

Mensaje por Rafa » Mar Sep 14, 2010 7:33 pm

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.
RANDOMIZE USR 0

Avatar de Usuario
na_th_an
Nonamed
Mensajes: 1889
Registrado: Lun May 07, 2007 10:16 am
Ubicación: Andalucía

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

Mensaje por na_th_an » Mar Sep 14, 2010 8:25 pm

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:

Gandulf
Nonamed
Mensajes: 1067
Registrado: Lun May 07, 2007 10:06 pm

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

Mensaje por Gandulf » Mar Sep 14, 2010 11:45 pm

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
Un saludo,

Gandulf

Avatar de Usuario
Rafa
Jack The Nipper
Mensajes: 181
Registrado: Lun May 07, 2007 11:59 am

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

Mensaje por Rafa » Mié Sep 15, 2010 5:26 pm

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.
RANDOMIZE USR 0

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

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

Mensaje por mcleod_ideafix » Mié Sep 15, 2010 8:55 pm

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
Web: ZX Projects | Twitter: @zxprojects

Gandulf
Nonamed
Mensajes: 1067
Registrado: Lun May 07, 2007 10:06 pm

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

Mensaje por Gandulf » Mié Sep 15, 2010 11:21 pm

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...
Un saludo,

Gandulf

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

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

Mensaje por mcleod_ideafix » Mié Sep 15, 2010 11:41 pm

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...
Web: ZX Projects | Twitter: @zxprojects

Avatar de Usuario
na_th_an
Nonamed
Mensajes: 1889
Registrado: Lun May 07, 2007 10:16 am
Ubicación: Andalucía

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

Mensaje por na_th_an » Jue Sep 16, 2010 9:56 am

falvarez escribió:Don't feed the troll :wink:


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

Z80user
Manic Miner
Mensajes: 215
Registrado: Vie Jun 08, 2007 9:42 am
Ubicación: En un lugar de la mancha
Contactar:

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

Mensaje por Z80user » Jue Sep 16, 2010 9:05 pm

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
Si vas a tirar Hardware, primero pregunta si alguien lo puede recuperar.
No abandones un ordenador en un vertedero, donalo a alguien.

Avatar de Usuario
Rafa
Jack The Nipper
Mensajes: 181
Registrado: Lun May 07, 2007 11:59 am

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

Mensaje por Rafa » Vie Sep 17, 2010 7:59 pm

¡ 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.
RANDOMIZE USR 0

Avatar de Usuario
zxbruno
Freddy Hardest
Mensajes: 586
Registrado: Dom Jun 03, 2007 3:28 am
Ubicación: Anaheim, California, USA

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

Mensaje por zxbruno » Sab Sep 18, 2010 9:56 pm

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ó.

Avatar de Usuario
decicoder
Jack The Nipper
Mensajes: 176
Registrado: Jue Jul 19, 2007 10:37 am

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

Mensaje por decicoder » Dom Sep 19, 2010 12:13 pm

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.
xor a
ld R,a
b1 in f,(c)
jp pe , b1
ld a,R

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 16 invitados