Blog | Archivo | Contacto | Administración |
Mi escritorio:
La parada del autobus:
La caja de los discos de la universidad:
Hace algún tiempo me propusieron preparar un Amstrad CPC con varios CRTCs para dárselo a cierto conocido personaje de la escena CPCera, al que llamaremos M.
Así que evalué el trabajo; piggybacking no puede hacerse más que con dos integrados (espacio) y al menos habría que ponerle tres, además de que tendría que hacerse la conmutación con el ordenador apagado y que es un tanto chapucero.
Por otro lado, podríamos tenerlos funcionando todos a la vez y multiplexar las salidas, con lo que podríamos hacer un cambio al vuelo. Sin embargo, el consumo se nos dispararía, y más sabiendo que va a tener un montón de periféricos.
Ya que ha sido entregado a su dueño, y por tanto levantado el secreto de sumario, hagamos un post lleno de fotos y meme faces sobre su elaboración.
Fase 1:
Todo empieza cuando recibo de manos de R. el CPC a modificar y varios CRTCs para ir probando, un auténtico detalle. Se pone un zócalo, se adapta un conector, se hacen algunas pruebas preliminares, y se estudia el circuito.
La idea es tener un PIC controlando todo; cuando se pulsa un botón o lo que sea, se activa la línea /RESET, se espera a que entren los buses en alta impedancia, se quita la alimentación a los CRTCs, se le pone al que queramos, esperamos que se estabilice todo y liberamos /RESET.
Nos hacemos el circuito impreso y comprobamos que la cosa funciona. Vía libre.
Fase 2:
Como siempre, aparecen complicaciones. En el conector no torneado de la placa madre no encajan bien los adaptadores de cinta plana a DIP (con lo que toca desoldar y poner uno torneado). El adaptador, por cierto, tiene la orientación invertida respecto a los conectores IDC (y requiere por tanto trenzar los cables del conector).
Pero lo peor son los tres CRTCs. Eléctricamente son bastante diferentes y se interfieren entre sí bajo ciertas condiciones.
Así que decido invertir la polaridad de la mayor parte del circuito: cortar pistas, empalmar, cambiar transistores, etc. Menudo show, pero merece la pena, sale funcionando como un campeón.
Fase 3:
Gracias a la ayuda de J. se le dan los toques finales. El conmutador de CRTCs también hace de reset, que junto con un conmutador ABBA y pausa (línea /WAIT) le dan la funcionalidad necesaria para convertirse en la máquina de demos definitiva.
O algo así.
*Pero la mano de las fotos es mía, que conste.
Y el regalo friki de hoy: una camiseta de mi matemático favorito.
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!
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:
No, no he olvidado tu aniversario. Ni Google tampoco.
Moraleja: retroportado siempre sabe mejor.
Peazo osciloscopio alemán...
...y peazo detalle.
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. ]
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.).