Habi Hablóg
Declaro:
XML válidoXHTML válido800x600 +
RSS válidoCSS válidoNavegador digno
  Blog   Archivo   Contacto   Administración  

Acerca de

Matemático, informático, aficionado a la electrónica, friki... y otras cosas que no vienen a cuento ni pasan los filtros de palabras.

¿Queríais un blog? Ahí va.

Red antisocial

¡Me van a volver loca! 2.0
La Fragata Portuguesa

Z
¡Me van a volver loca!

Últimos posts

Crackeo preservativo
Restaurando ROMs
Una cosa lleva a la otra
Desbloqueando logros
Teclado en el PCW

Últimos comentarios

yo
genocho
Victor Cortes Abad
Habi
Enrique

Calendario

No hay fechas.

Categorías

Chorradas
Paranoias
Posts lúcidos
Tecnoesoterismo
Yuyus

Cenas de Abj

Abj debe 7 cenas.

Frase célebre

Zarith dice: y a quien no le gustan bien saladitas?

Una cosa lleva a la otra

Habi - 29/09/2016 17:29:51 - Tecnoesoterismo

A veces uno empieza a hacer algo simple y al final se termina con una cadena de acontecimientos que parece no tener fin.

El detonante en este caso fue el añadirle el soporte de Dandanator a mi prácticamente abandonado emulador de Spectrum.

Costó poco, la verdad; no hay más que contar pulsos tener en cuenta timeouts y ejecutar comandos simples; toda la magia la hace el propio software que lo acompaña. Un cacharrito simple, barato, efectivo y con mucho potencial. Recomendable.

El caso es que mirando el emulador por dentro vi que había empezado a implementarle el soporte de ULA+, pero que estaba abandonado por varias razones:

  1. El emulador estaba obsoleto arquitecturalmente (especialmente si lo comparamos con el de PCW). No merecía la pena ponerse con él.
  2. Habría que cambiarle la forma en la que crea las pantallas. Por motivos de eficiencia guardaba los fetchs de vídeo y luego al final la creaba entera de golpe; eso impedía efectos de cambio de paleta (HAM), mezcla de modos de vídeo, etc.

Pero como ya andaba con el tema Spectrum en la cabeza decidí ponerme a ratitos con el emulador. No sólo le modifiqué el tema de vídeo, sino que además le cambié el modelado de los ciclos, contención, paginado, etc. 

Y con eso quedó listo el tema ULA+ (y de rebote, emulación de efecto nieve).

Pero con el auge del ZX-UNO había que darle soporte a los modos Timex, aunque sólo fuese por el modo HAM8x1:

E incluso el modo 128x96:

Y eso nos lleva a darle soporte al DivMMC, para reproducir los vídeos a gusto. Podría haber escogido DivIDE porque la emulación IDE ya la tengo hecha por el +3e, pero he preferido usar DivMMC para usar menos puertos y no dar incompatibilidades con cierto hardware.

Por supuesto, tuve que ponerme además con mi programa editor de imágenes de disco para poder editar a gusto la tarjeta SD emulada (tenía el soporte de escritura del VFAT desmantelado). Pero eso es otra historia...


Y llegados a este punto, ¿cómo voy a dar soporte a la ULA+ y no al modo 16c ruso? Eso sería imperdonable, porque:

  1. Me mola el tema ruso.
  2. El modo 16c no tiene atributos ni nada de eso. Cada pixel tiene su color independiente.
  3. Admite paleta; originalmente 64 colores en ATM y luego evolucionada a 4096 colores sin perder compatibilidad.
  4. Es mucho más fácil de utilizar que la ULA+.

Así que me puse manos a la obra; modo 16c:

Y soporte de paleta a la Pentagon:

Y como siempre, algo surge: hay software que pide 512 o 1024 KB; así que hay que implementar ambos modelos de memoria. Por último, pude observar que algunos juegos y demos sonaban mal... ¡porque no estaba emulando el TurboSound! Así que, de nuevo, a emularlo; junto con la Covox, ya que nos ponemos:

Con esto el tema Pentagon se nos queda como un 1024 SL v2.666. Y de hecho, en juegos como en la versión 16c del Season of Sakura así debe seleccionarse.


Durante todo lo anterior tuve que cambiar, refactorizar, rehacer y corregir cosas a cascoporro. Si me hubiesen dicho que algún día haría esto no lo hubiese creído. En cualquier caso, fue un buen entretenimiento durante los ratos libres de la semana que duró.


Victor Cortes Abad - 29/09/2016 21:37:57

No paras. Yo en mis ratos libres de esta semana he ido a picar algo al frigorífico. 
¿Donde podemos descargarnos esta joya?



Habi - 29/09/2016 22:47:29

Se dejó de publicar hace años, porque no considero que tenga la calidad necesaria. 
 
Pero si lo quieres, cuando nos veamos te lo paso. ;)



Dandare - 30/09/2016 12:40:07

Javier, por favor, libera el emulador, es alucinante lo que has hecho en un momento :)



Enrique - 05/10/2016 19:06:16

Lo queremos... lo queremos...



Habi - 11/11/2016 12:47:32

Vosotros ganáis: 
 
http://habisoft.com/espectrum/ 
 
:)




Añadir comentario

Nombre:
Email:
Comentario:
Pregunta: Sea f(x)=8x2+6x+3. ¿Cuánto vale f(x) para x=0?
Respuesta: