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

El expediente X que nadie pidió
eNigma
La cuadratura del píxel
Portando desde Spectrum
Inexorable

Últimos comentarios

Habi
NoSupoResolverLaFuncion
Edu
Habi
EnriqueGG

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: Es como el porno, h 
 
No hace falta que aporte nada nuevo

C͌̋̃ͨ҉̧̤̮̪͎͚͔͍̭̱C̴̸͔͚̘̟̟̀͂͋̕L̡̪̬̱͓̫̭̄̅̍͢V̶͉̠͗̋̾͆͛͋I͉̻̹͎͉͉͚͇̒̉̏͛̓ͮ̀

Habi - 19/06/2012 23:16:11 - Yuyus

2


Una camiseta... ¡Mwahahaha!

Habi - 08/06/2012 22:28:43 - Chorradas

Y el regalo friki de hoy: una camiseta de mi matemático favorito.

1


Probando emuladores

Habi - 31/05/2012 23:15:00 - Tecnoesoterismo

Supongamos que hemos hecho un emulador de PCW. Supongamos además que recientemente hemos rehecho prácticamente la emulación de Z80, corrigiendo cosas y añadiendo el escurridizo MemPTR.

¿Cómo podemos probar ese Z80? Al fin y al cabo, ZexAll no da mucho de sí, y el PCW no tiene demos (ni apenas software si me apuráis).

Solución de Habi: retroportarlo a mi viejo emulador de Spectrum, donde hay software a patadas y tenemos un montón de programas de prueba:

Por supuesto, no podía dejar de comprobar mi vieja emulación de la ULA:

    

   

 ¡Perfecto!

2


Poniéndose al día

Habi - 28/05/2012 22:35:36 - Posts lúcidos

Voy a haceros una confesión: cuando creé este blog decidí que haría 256 posts, como saliesen, y que luego lo chaparía. Quizás es por eso que últimamente posteo todo en G+, para no quemar los pocos cartuchos que le quedan.

En principio esperaba que fuese un amasijo de cosas aleatorias. ¡Y lo es! No podría estar más orgulloso; sin embargo, también hay cosas de provecho para otra gente como he podido observar.

Así que no lo chaparé, ni dejaré de postear. Y ya sin más preámbulos termino con este preámbulo. Pongámonos pues al día con unas imágenes.

Cosas de PCW:

Caprichos:

Hardware:

Y por supuesto, polladas:

5


XXX

Habi - 23/04/2012 22:18:08 - Posts lúcidos

No, no he olvidado tu aniversario. Ni Google tampoco.

Moraleja: retroportado siempre sabe mejor.

2


Habi se pone serio

Habi - 28/02/2012 21:11:25 - Chorradas

Peazo osciloscopio alemán...

...y peazo detalle.

5


I'm A Goofy Goober

Habi - 04/02/2012 19:25:43 - Tecnoesoterismo

Intentaré ser poco matemático, que se me asustan los lectores.

Existe un método de construcción de fractales llamado IFS, basado en el hecho de que una aplicación contractiva tiene un punto fijo (atractor por tanto). Supongamos que trabajamos en R2 y que nuestras aplicaciones serán transformaciones afines de la forma:

Lógicamente si a, b, c y d son menores que 1 en valor absoluto, entonces es contractiva.

Generalizando: si tenemos n transformaciones así y les asociamos una probabilidad pi (con i entre 1 y n) a cada una tenemos el llamado “juego del caos”, en donde partiendo de un punto vamos transformándolo aleatoriamente según la regla que le corresponda. Y por la autosimilitud (puntos fijos) del sistema tenemos una bonita fractal. También representaremos cada aplicación en una línea para ahorrar (y para no tener que usar tensores).

Ejemplos:

-  -  -

Bien. Para una de las asignaturas de libre configuración de la carrera (teoría del caos) hice un programa de fractales con varios módulos, entre ellos uno IFS. Entre otras cosas. La verdad es que las prácticas fueron una sobrada en todos los sentidos; por ejemplo, incluí ésta fractal IFS con mi nombre:

El truco es fácil: dibujamos un rectángulo en un papel, y calculamos las transformaciones que lo llevan a cada uno de los palotes que conforman cada letra; además, se puede distribuir la probabilidad en función del área de cada palote, para que el relleno de puntos sea más uniforme. En los fractales anteriores el degradado de negro a color representa la densidad de puntos en esa zona.

-  -  -  -  -

Años después, cuando terminé la carrera y para celebrarlo, decidí darle una vuelta de tuerca. Una de nuestras coñas era que al unir una colección de puntos cualquiera siempre aparecía la cara de Goofy.

Así que... cogemos una imagen de Goofy (mapa de bits 256x256 representando a [0, 1]2) y por cada pixel que pertenezca a su cara escribimos la línea de la aplicación correspondiente.

Lógicamente ai=di=1/256, bi=ci=0, ei=xi/256, fi=1-yi/256, y pi=1/n para i de 1 a n (n en este caso es 10.098, el número total de píxeles y por tanto filas de la matriz) y xi e yi son la columna y fila respectivamente del pixel en cuestión en su mapa de bits correspondiente.

En cualquier caso, ésta y no otra es la historia de la fractal de la cara de Goofy.

...

[ Celebrémoslo. ]

6


Sega weekend

Habi - 29/10/2011 22:32:32 - Chorradas

Regalo Nº 1: Pack de Sega Master System (uno, con la ranura de tarjetas, etc.).

Regalo Nº 2: Sega Mega Drive (uno, con el puerto EXT, audio bueno, etc.).

5


Flash de naranja, escribe fino

Habi - 07/09/2011 23:17:22 - Chorradas

En principio era la Web, y la Web se hallaba desnuda y fea, con páginas en Times New Roman sobre fondo blanco. Y alguien dijo: creemos GeoCities para que la gente se cree páginas mierden con gifis animados a punta pala y colores chillones. Y GeoShitties fue creado.

Pero otro alguien dijo: pa chulo yo, pues haré un sistema de animación vectorial con scripting, para que la gente haga cositas dinámicas y de paso se nos quejen los Linuxeros y Maqueros del futuro. Y así nació el Flash.

Y es del Flash que hablaremos, o mejor dicho de algunos de los jueguecitos que se han hecho con él, pues realmente y en verdad os digo queridos hermanos que hay auténticas joyas; no hablaré de los que ya he citado anteriormente, como Seiklus o "You have to burn the rope". Ahí va una docenita.

Empecemos por un género muy adecuado a la plataforma: aventuras gráficas; podemos hallar algunas antiguas como La piedra de Anamara, de misterio con su puntito de terror. Si preferís algo más apacible, podéis probar Trader of Stories. Y por supuesto, hay clásicos del tema como Samorost (con su segunda parte, Machinarium, ...).

Personalmente me gustan las cosas experimentales. Simuladores extraños como The Majesty of Colors, cuasipoesías como Today I die (una mina este Daniel Benmergui) o cosas indefinidas como Coil.

A medio camino nos encontramos con algo tipo exploración de ambiente. Juegos como Small Worlds, Don’t Look Back (del autor de VVVVVV) o Grey.

¿Queréis algo más clásico? El original y adictivo Infectonator World Dominator, El simpático Haunt the House o el remake en flash del cásico Death Worm: Effing Worms.

Uf, ya vale de jugar por hoy.

2


Corre, PCW, corre

Habi - 02/09/2011 15:26:13 - Tecnoesoterismo

Aquí viene otro de mis análisis, en este caso hardware: un Sprinter para PCW (una placa aceleradora para PCW, no me refiero al clon ruso de Spectrum).

Pero primero hablemos un poco del PCW: tiene un reloj de 32Mhz, el cual se divide hasta los 4Mhz para el Z80. Además, internamente tiene dos bancos de memoria dinámica, refrescada y decodificada a través del Gate Array.

Es decir, el G.A. se encarga de todo, pero a cambio nos penaliza con un único acceso cada 4 ciclos de procesador (es decir cada microsegundo, igual que el CPC). Eso nos deja una velocidad efectiva reducida de como unos 3,3 Mhz en media. Sin embargo, no hay contención por acceder al G.A. vía I/O, pero eso es otra historia.

Supongamos que ponemos un Z80 a 8Mhz con su señal de reloj correspondiente así sin más; ¿qué ocurriría?

Pues ocurriría que desde su punto de vista podemos hacer 2 accesos SEGUIDOS a memoria cada 8 ciclos. La clave está en la palabra "seguidos", por si no lo he remarcado lo suficiente: eso es algo que no ocurre en el Z80. Es decir, el Gate Array nos frenaría hasta dejarnos a la misma velocidad efectiva que teníamos originalmente.

Para que no se duerma la gente, ahí va una foto del Sprinter:

Como bien podéis ver, tenemos un Z0840008PSC (Z80 a 8Mhz, el doble que el original) por el centro, un banco de memoria en la parte superior (a base de 256K x 4) hasta 1,5MB (512KB instaladas en este caso) y en la esquina inferior derecha una bonita memoria estática de 128KB (TC551001PL).

Atención al detalle del puente usando hilo esmaltado de cobre. Los dos cables que salen (amarillo y negro) van a parar a las señales de 32Mhz (32 = 4 (frecuencia original, cogida del zócalo) * 8 (frecuencia del Sprinter)) y /MDIS (deshabilita el acceso a la RAM interna) respectivamente en el bus.

El Sprinter mapea su memoria a continuación de la instalada en el sistema (512KB en este caso, dando un total de 1MB de los 2MB máximos que admite de forma estándar), en la cual no hay contención pues está gestionada por el propio Sprinter. Sin embargo, tanto el CP/M como el TPA se encuentran en las 128KB inferiores (junto con la memoria de video y el mapeo del teclado).

Y esa es la función de la memoria estática anteriormente mencionada: una shadow RAM. Cuando se lee de las 128KB inferiores (exceptuando el teclado) se lee de esta memoria y no accede a la principal. Cuando se escribe, va a parar a ambas. Con esta chapucilla, la velocidad se ve incrementada.

Hay software mal programado en el que esto genera incompatibilidades de sincronización (por no usar las interrupciones del G.A.) e incluso totales (por los ciclos que tenemos antes de una interrupción). Pero en general, va muy bien.

Y por completitud, ahí va la cara de pistas:

* Ningún animal, Sprinter ni Espinete fue dañado durante la elaboración de este artículo. Gracias a Jaime por prestármelo. En caso de duda, consulte a su farmacéutico.

4


Reglas del 10:
10 últimos   10 después   10 antes   10 primeros