Hoy en día sigue siendo carísimo fabricar una ULA por eso todas las nuevas implementaciones se hacen en chips tipo FPGA, soluciones ya las hay como hemos comentado, modo radastaniano en el ZX-UNO y el del ZX Spectrum Next que dispone de la que seguramente sea la mejor de todas, básicamente consiste en superponer a la pantalla clásica del Spectrum otra con manejo de sprites por hardware y color en alta resolución, esto en hardware "Real" se traduciría en una Super ULA con su propia memoria RAM, etc. Lo bueno de las FPGA es que son un banco de pruebas excelente de desarrollo y quien sabe, lo mismo en pocos años es barato enviar esa especificación diseñada con FPGA y fabricar chips "reales", lo pongo todo entre comillas por que no quiero volver a avivar el anterior debate.Quili escribió:Me quedo anonadado, con lo que habláis, por esta conversación quiero entender que se podría llegar a fabricar un dispositivo para corregir el attribute clash.
Attribute clash en Spectrum
Moderador: Fundadores
- Tromponauta
- Aspirante a demonio
- Mensajes: 448
- Registrado: 20 Sep 2016, 01:14
- Ubicación: Moratalaz
- Contactar:
Re: RE: Re: RE: Re: Attribute clash en Spectrum
Enviado desde mi ZX-Spectrum
- Tromponauta
- Aspirante a demonio
- Mensajes: 448
- Registrado: 20 Sep 2016, 01:14
- Ubicación: Moratalaz
- Contactar:
Re: RE: Re: Attribute clash en Spectrum
Estoy de acuerdo, aquí viene el debate versatilidad FPGA frente a "Purismo Hardware" porque ¿que sentido tiene un hardware inamovible? Con el ZX-UNO y con el ZX Spectrum Next podemos disponer de nuevas funcionalidades o implementaciones a coste 0 simplemente actualizando el core. Quizás el único sentido de poder fabricar chips específicos a un precio razonable es disponer de repuestos, el caso de la ULA es bastante significativo y el objetivo es mantener en funcionamiento nuestros equipos de toda la vida y como mucho incorporar pequeñas mejoras como ULA+carmeloco escribió:Yo creo que todo lo contrario. La cosa apunta a que todo se fabrique con chips FPGA. Trabajo con proyectores de cine digital, y tanto el proyector como el procesador de sonido, llevan FPGA's dentro. Es la forma más fácil de hacer las actualizaciones de firmware.
Enviado desde mi ZX-Spectrum
- flopping
- Fundador
- Mensajes: 9971
- Registrado: 29 Mar 2013, 15:26
- Ubicación: Valencia
- Been thanked: 122 times
- Contactar:
Re: RE: Re: Attribute clash en Spectrum
En efecto, no tiene mucho sentido fabricar chips tipo ULA o ASIC, etc....ya que si ya tenemos el chip implementado en FPGA, ¿que ganamos haciendolo fijo?, ademas no creo que a corto ni largo plazo sea rentable hacer chips, ya que para eso se deberian de vender unos cuantos miles y no creo que vaya a ser el caso y para tener repuestos, basta con programar varios chips y ya tienes los repuestos, el unico problema, que ya he comentado varias veces, es que los chips programables se quedan obsoletos y los van sustituyendo por versiones con mas capacidad, diferentes tipos de programacion, etc...el unico problema es que hay que transcribir y transferir esos comandos o instrucciones de un tipo de chip a otro, a veces es complicado y otras algo mas facil, pero bueno, por lo menos se va consiguiendo implementar maquinas antiguas en chips modernos, que no es poco.Tromponauta escribió:Estoy de acuerdo, aquí viene el debate versatilidad FPGA frente a "Purismo Hardware" porque ¿que sentido tiene un hardware inamovible? Con el ZX-UNO y con el ZX Spectrum Next podemos disponer de nuevas funcionalidades o implementaciones a coste 0 simplemente actualizando el core. Quizás el único sentido de poder fabricar chips específicos a un precio razonable es disponer de repuestos, el caso de la ULA es bastante significativo y el objetivo es mantener en funcionamiento nuestros equipos de toda la vida y como mucho incorporar pequeñas mejoras como ULA+carmeloco escribió:Yo creo que todo lo contrario. La cosa apunta a que todo se fabrique con chips FPGA. Trabajo con proyectores de cine digital, y tanto el proyector como el procesador de sonido, llevan FPGA's dentro. Es la forma más fácil de hacer las actualizaciones de firmware.
No me hago responsable de mis post pues estan escritos bajo la influencia del alcohol y drogas psicotropicas, por la esquizofrenia paranoide.
(C) 1982-2024, 42 años de ZX Spectrum.
http://www.va-de-retro.com/ un foro "diferente".
Mi juego, que puedes descargar desde aqui
(C) 1982-2024, 42 años de ZX Spectrum.
http://www.va-de-retro.com/ un foro "diferente".
Mi juego, que puedes descargar desde aqui
- Tromponauta
- Aspirante a demonio
- Mensajes: 448
- Registrado: 20 Sep 2016, 01:14
- Ubicación: Moratalaz
- Contactar:
Re: RE: Re: RE: Re: Attribute clash en Spectrum
Estoy en general bastante deacuerdo con todo lo que se ha dicho, y es muy posible que esto ultimo que has dicho flopping sea así. Solo una matización y es que en el caso de que la tecnología de fabricación avanzase tanto como para poder fabricar chips específicos a bajo coste sin la necesidad de fabricar millones de unidades para hacerlo rentable si creo que habría demanda, yo desde luego preferiría pinchar en el zócalo de la ULA de un Spectrum un chip de toda la vida que alguno de los enjendros que he visto por ahí que además no resultan nada baratos. Eso si, hoy por hoy no hay solución mejor.flopping escribió:No creo que a corto ni largo plazo sea rentable hacer chips, ya que para eso se deberian de vender unos cuantos miles y no creo que vaya a ser el caso y para tener repuestos, basta con programar varios chips y ya tienes los repuestos.
Enviado desde mi ZX-Spectrum
- flopping
- Fundador
- Mensajes: 9971
- Registrado: 29 Mar 2013, 15:26
- Ubicación: Valencia
- Been thanked: 122 times
- Contactar:
Re: RE: Re: RE: Re: Attribute clash en Spectrum
Una cosa es lo que a todos nos gustaria y todos deseamos y otra muy distinta es la cruda realidad.Tromponauta escribió:Estoy en general bastante deacuerdo con todo lo que se ha dicho, y es muy posible que esto ultimo que has dicho flopping sea así. Solo una matización y es que en el caso de que la tecnología de fabricación avanzase tanto como para poder fabricar chips específicos a bajo coste sin la necesidad de fabricar millones de unidades para hacerlo rentable si creo que habría demanda, yo desde luego preferiría pinchar en el zócalo de la ULA de un Spectrum un chip de toda la vida que alguno de los enjendros que he visto por ahí que además no resultan nada baratos. Eso si, hoy por hoy no hay solución mejor.flopping escribió:No creo que a corto ni largo plazo sea rentable hacer chips, ya que para eso se deberian de vender unos cuantos miles y no creo que vaya a ser el caso y para tener repuestos, basta con programar varios chips y ya tienes los repuestos.
No me hago responsable de mis post pues estan escritos bajo la influencia del alcohol y drogas psicotropicas, por la esquizofrenia paranoide.
(C) 1982-2024, 42 años de ZX Spectrum.
http://www.va-de-retro.com/ un foro "diferente".
Mi juego, que puedes descargar desde aqui
(C) 1982-2024, 42 años de ZX Spectrum.
http://www.va-de-retro.com/ un foro "diferente".
Mi juego, que puedes descargar desde aqui
- Tromponauta
- Aspirante a demonio
- Mensajes: 448
- Registrado: 20 Sep 2016, 01:14
- Ubicación: Moratalaz
- Contactar:
Re: RE: Re: RE: Re: RE: Re: Attribute clash en Spectrum
Totalmente ciertoflopping escribió: Una cosa es lo que a todos nos gustaria y todos deseamos y otra muy distinta es la cruda realidad.
Enviado desde mi ZX-Spectrum
- dandare
- Hermano de Lucifer
- Mensajes: 3718
- Registrado: 09 Feb 2016, 15:09
- Ubicación: I Register
- Been thanked: 6 times
Re: Attribute clash en Spectrum
Hola,
Le he estado dando una vuelta a eso de eliminar el atributte-clash por hardware y, la verdad, no lo veo nada claro. Quiero decir para que "automágicamente" lo corrija en los juegos antiguos.
Partiendo de la base que comenta Wilco, tenemos que trastear el interior del spectrum y/o hacer una tarjeta externa.
Esto es debido a que los colores se guardan en 0x300 bytes dentro del segmento de memoria 0x4000-0x7FFF, la RAM baja, que va conectada directamente a la ULA, que es el chip encargado de generar el video.
Imaginemos que podemos hacer esto, aunque adelantó que no es nada evidente. ¿Y ahora qué? De alguna manera tendríamos que devolver el color deseado para cada punto a la ULA, pero ¿Cuál es este color?
Usemos como ejemplo el 3 weeks in paradise en el modo sprite manda (hay también un modo en ese juego de "fondo manda" para colores)
¿Cómo sé que tengo que dejar la planta del fondo de color magenta?
Para eso, a medida que el personaje entra en la planta, tendría que guardar un mapa previo de los atributos, un shadow. En cada modificación de pixel, ya con los nuevos atributos, tendría que decidir, pixel a pixel, si ya estaba antes o no y elegir el color entre los colores actuales y los shadow...
Pero, aún hay más. Cuando Wally pasa de la planta y la deja atras, por la espalda también tiene que ponerse morada la planta, y eso sí que son pixels nuevos también.
Como veis esto es un lío de cuidado y, además, estamos hablando de un juego en particular, por lo que las decisiones que tomemos no necesariamente serán las adecuadas para otros juegos, en los que los programadores habrán usado el paper/ink de forma diferente para hacer sus gráficos.
Por tanto, me atrevo a decir que cualquier intento de arreglar esto para SW existente acabará en fracaso, no sin una etapa previa de dolor y sufrimiento.
La posible solución a esta característica del spectrum pasa por determinados motores SW como el nirvana, o tarjetas gráficas adicionales como los sprites Hw del ZX-NeXT. En ambos casos, el juego tiene que estar preparado para usar estas funciones.
Le he estado dando una vuelta a eso de eliminar el atributte-clash por hardware y, la verdad, no lo veo nada claro. Quiero decir para que "automágicamente" lo corrija en los juegos antiguos.
Partiendo de la base que comenta Wilco, tenemos que trastear el interior del spectrum y/o hacer una tarjeta externa.
Esto es debido a que los colores se guardan en 0x300 bytes dentro del segmento de memoria 0x4000-0x7FFF, la RAM baja, que va conectada directamente a la ULA, que es el chip encargado de generar el video.
Imaginemos que podemos hacer esto, aunque adelantó que no es nada evidente. ¿Y ahora qué? De alguna manera tendríamos que devolver el color deseado para cada punto a la ULA, pero ¿Cuál es este color?
Usemos como ejemplo el 3 weeks in paradise en el modo sprite manda (hay también un modo en ese juego de "fondo manda" para colores)
¿Cómo sé que tengo que dejar la planta del fondo de color magenta?
Para eso, a medida que el personaje entra en la planta, tendría que guardar un mapa previo de los atributos, un shadow. En cada modificación de pixel, ya con los nuevos atributos, tendría que decidir, pixel a pixel, si ya estaba antes o no y elegir el color entre los colores actuales y los shadow...
Pero, aún hay más. Cuando Wally pasa de la planta y la deja atras, por la espalda también tiene que ponerse morada la planta, y eso sí que son pixels nuevos también.
Como veis esto es un lío de cuidado y, además, estamos hablando de un juego en particular, por lo que las decisiones que tomemos no necesariamente serán las adecuadas para otros juegos, en los que los programadores habrán usado el paper/ink de forma diferente para hacer sus gráficos.
Por tanto, me atrevo a decir que cualquier intento de arreglar esto para SW existente acabará en fracaso, no sin una etapa previa de dolor y sufrimiento.
La posible solución a esta característica del spectrum pasa por determinados motores SW como el nirvana, o tarjetas gráficas adicionales como los sprites Hw del ZX-NeXT. En ambos casos, el juego tiene que estar preparado para usar estas funciones.
- elfoscuro
- Demonio segundo orden
- Mensajes: 1831
- Registrado: 01 Abr 2013, 22:00
- Been thanked: 26 times
Re: Attribute clash en Spectrum
Yo pienso lo mismo... Si el juego no se reprograma, no aprovechará nada.
Porque si, por ejemplo, hicíeramos transparente el fondo (tipo sprite), el sistema fallaría en juego con personajes pintados usando el fondo. Aunque el interface que se creara tuviera RAM adicional (obligado si quieres píxeles independietes) el juego tendría que "saberlo", y peor... el Z80 debería poder manejarlo.
Imagino que podría con pantallas estáticas, pero no con el scroll... o tendríamos scroll de tortugas, a 4 fps. Si ya hay algunos juegos que con scroll monocromo no pasan de 10-15 fps, si tiene que manejar cada pixel por separado... no quiero ni pensarlo.
El color clash es consecuencia directa de la falta de RAM, pero también del procesador. C64 tenía un procesador sólo para eso, por lo que sólo adolecía de memoria (por eso los píxeles ladrillo). Spectrum no tenía nada, y CPC estaba pensado para trabajar, más incluso que Spectrum. El tema de los gráficos bonitos no era una prioridad.
Eso si... sabiendo esto, se pueden crear juegos nuevos muy potentes. Pero los viejos... Incluso aquel Spec256 que hubo, usaba "máscaras", trampas, para poder poner los juegos en 256 colores. Una máscara por juego.
Un saludo.
Porque si, por ejemplo, hicíeramos transparente el fondo (tipo sprite), el sistema fallaría en juego con personajes pintados usando el fondo. Aunque el interface que se creara tuviera RAM adicional (obligado si quieres píxeles independietes) el juego tendría que "saberlo", y peor... el Z80 debería poder manejarlo.
Imagino que podría con pantallas estáticas, pero no con el scroll... o tendríamos scroll de tortugas, a 4 fps. Si ya hay algunos juegos que con scroll monocromo no pasan de 10-15 fps, si tiene que manejar cada pixel por separado... no quiero ni pensarlo.
El color clash es consecuencia directa de la falta de RAM, pero también del procesador. C64 tenía un procesador sólo para eso, por lo que sólo adolecía de memoria (por eso los píxeles ladrillo). Spectrum no tenía nada, y CPC estaba pensado para trabajar, más incluso que Spectrum. El tema de los gráficos bonitos no era una prioridad.
Eso si... sabiendo esto, se pueden crear juegos nuevos muy potentes. Pero los viejos... Incluso aquel Spec256 que hubo, usaba "máscaras", trampas, para poder poner los juegos en 256 colores. Una máscara por juego.
Un saludo.
Fin de impresión
- wilco2009
- Hermano de Lucifer
- Mensajes: 8152
- Registrado: 01 Abr 2013, 23:47
- Ubicación: Valencia
- Has thanked: 47 times
- Been thanked: 101 times
Re: Attribute clash en Spectrum
Ah no, yo hablaba de nuevo soft, no de arreglar el viejo. Eso seria virtualmente imposible, creo yo. A no ser que modifiques cada programa, claro.dandare escribió:Hola,
Le he estado dando una vuelta a eso de eliminar el atributte-clash por hardware y, la verdad, no lo veo nada claro. Quiero decir para que "automágicamente" lo corrija en los juegos antiguos.
Partiendo de la base que comenta Wilco, tenemos que trastear el interior del spectrum y/o hacer una tarjeta externa.
Esto es debido a que los colores se guardan en 0x300 bytes dentro del segmento de memoria 0x4000-0x7FFF, la RAM baja, que va conectada directamente a la ULA, que es el chip encargado de generar el video.
Imaginemos que podemos hacer esto, aunque adelantó que no es nada evidente. ¿Y ahora qué? De alguna manera tendríamos que devolver el color deseado para cada punto a la ULA, pero ¿Cuál es este color?
Usemos como ejemplo el 3 weeks in paradise en el modo sprite manda (hay también un modo en ese juego de "fondo manda" para colores)
¿Cómo sé que tengo que dejar la planta del fondo de color magenta?
Para eso, a medida que el personaje entra en la planta, tendría que guardar un mapa previo de los atributos, un shadow. En cada modificación de pixel, ya con los nuevos atributos, tendría que decidir, pixel a pixel, si ya estaba antes o no y elegir el color entre los colores actuales y los shadow...
Pero, aún hay más. Cuando Wally pasa de la planta y la deja atras, por la espalda también tiene que ponerse morada la planta, y eso sí que son pixels nuevos también.
Como veis esto es un lío de cuidado y, además, estamos hablando de un juego en particular, por lo que las decisiones que tomemos no necesariamente serán las adecuadas para otros juegos, en los que los programadores habrán usado el paper/ink de forma diferente para hacer sus gráficos.
Por tanto, me atrevo a decir que cualquier intento de arreglar esto para SW existente acabará en fracaso, no sin una etapa previa de dolor y sufrimiento.
La posible solución a esta característica del spectrum pasa por determinados motores SW como el nirvana, o tarjetas gráficas adicionales como los sprites Hw del ZX-NeXT. En ambos casos, el juego tiene que estar preparado para usar estas funciones.
"Aprender a volar es todo un arte. Aunque sólo hay que cogerle el truco. Consiste en tirarse al suelo y fallar".
Douglas Adams. Guía del autoestopista galáctico.
Douglas Adams. Guía del autoestopista galáctico.
- flopping
- Fundador
- Mensajes: 9971
- Registrado: 29 Mar 2013, 15:26
- Ubicación: Valencia
- Been thanked: 122 times
- Contactar:
Re: Attribute clash en Spectrum
Como ya comente casi al principio de este hilo, ya hubo un intento de hacer un apaño por hardware, aqui lo podeis ver, tal como indica el creador en algunos juegos va mejor que en otros, incluso en el mismo juego, depende de la situacion va mejor o peor, asi que como bien estais comentando, es bastante dificil si no "imposible" eliminar el colour clash en los juegos antiguos sin reescribirlos o usar "tecnicas nuevas".
No me hago responsable de mis post pues estan escritos bajo la influencia del alcohol y drogas psicotropicas, por la esquizofrenia paranoide.
(C) 1982-2024, 42 años de ZX Spectrum.
http://www.va-de-retro.com/ un foro "diferente".
Mi juego, que puedes descargar desde aqui
(C) 1982-2024, 42 años de ZX Spectrum.
http://www.va-de-retro.com/ un foro "diferente".
Mi juego, que puedes descargar desde aqui