Y el séptimo día, descanso

La semana de trabajo fue realmente agotadora, Estuve apoyando a un equipo que necesitaba hacer una entrega y salieron varios detalles. A modo de desquite decidí usar el computador el fin de semana exclusivamente para descansar.

El día sábado fui a visitar a mi hermano, jugamos Delta Force y Colin Mc Rae, le di uso a mi partición de Windows XP, cof! cof!. Mi sobrina es un amor y siempre cuando vamos a su casa es un goce familiar, aun tiene su TUX de peluche aunque le sacó los ojos!

Música

El día domingo también fue de solo descanso. Estuve realizando actividades en la casa y en la tarde me puse a tocar guitarra.

Hace tiempo que quería conseguirme una cámara para tener alguna captura actual para verme las pifias y también pecar de vanidoso. Mi entusiasmo fue aun mayor después de conversar con un muchacho en MSN quien me envió un increíble mensaje de animo para seguir trabajando. Las capturas que hice en vídeo inauguran la sección de videos de música (Actualización : Ahora estan en mi canal de YoutTube).

GNOME

Hace un tiempo atrás me llegaron un par de libros que espere con mucha ansiedad. Uno es el The Official GNOME 2 Developer’s Guide , y el otro es uno de C#. La idea es aprender leyendo off-line ambas cosas, estoy seguro de que el futuro de las aplicaciones desktop de GNOME estará mas cercano de C# que de C.

Jorge Jimenez, mas conocido como Jota en TUXPAN , esta probando algunas cosas en C# por el eventual port de Z4 a esta plataforma. Segun lo conversado se podria hacer algo similar a lo que se hizo con Swing y SWT para realizar interfaces con Windows.Forms y GTK# en forma indistinta a traves de Z4.

Con un poco de suerte…

… si con un poco de suerte, aunque siempre hay algunos motivos de fondo para que pasen las cosas, y como no nos acordamos, lo atribuimos a la suerte. En la escasa hora «libre» que tuve después de almuerzo me puse a mirar el código de la BIOS de la Radeon de mi notebook y pude encontrar justamente la función que necesito analizar, o al menos eso creo.

El código es super saltarín, así que asumiendo de que las primeras llamadas solo eran validaciones, me salte un poco de código y llegue hasta una tabla de métodos virtuales, conté hasta 0x15 que es lo que esta en AL y revise para donde saltaba… justo llegue al lugar en donde analizan los bits de display activo (o eso creo).

Gracias a IDA, que permite poner nombres a las etiquetas, el código de a poco se va haciendo mas legible. Por lo que pude ver el error en la llamada puede ser por un mal seteo de CX o porque hay un registro mal seteado antes de llamar a la función.

En el screenshot se puede ver el código de la BIOS en IDA con los nombres que le he puesto y al lado derecho el código de atitvout que llama a la función.

Video BIOS
Video BIOS

Release de xorg-x11 con nuevas extensiones

Hoy apareció en la lista de correo de xorg el anuncio de que se centraran los esfuerzos en tener XFixes, Damage y Composite para el próximo release de xorg-x11. La idea es tenerlo listo para cuando salga Fedora Core 3.

German Poo en Television… otra vez

Si, el mismísimo German. Claro que no estuvo en el estudio ni nunca lo ha estado, pero es como tercera vez que aparece en TVNauta. Esperamos tenerlo algún día si es que viene por la V Región.

Ayer mostré algunas aplicaciones de entretenimiento para Linux, específicamente mplayer, xmms, zsnes y gaim. Como justo pille a German online aproveche de hacer la pequeña demo con el hehe.

El programa estuvo bastante apretado de tiempo así que no alcance a mostrar Planeta GNOME Chile, queda pendiente para la próxima semana.

TV-Out / VGA-Out

No he avanzado mucho porque no he tenido tiempo libre esta semana. Es decir, he tenido tiempo libre pero lo he dedicado a otras cosas.

No recordaba mucho como usar IDA, ni menos sabia si se podía llegar y leer la BIOS desde Linux. Afortunadamente basto crear los archivos de «dump» usando dd y /dev/mem, el hint me lo dio una persona que me contacto por el driver de neomagic para el xserver de fd.o, para darle soporte de TV-Out (ya lo incluyeron en mplayer). Una vez conocido, el procedimiento es obvio. Para obtener la BIOS de la tarjeta de video:

dd if=/dev/mem of=vbios.rom bs=1k skip=768 count=48

Ya que la BIOS de Video comienza en 0xC0000. Para obtener el vector de interrupciones

dd if=/dev/mem of=vint.rom bs=1k count=1

He comenzado a mirar el código y es bastante saltarín así que cuesta un poco seguirlo.

La otra salida, que es VGA, tiene algún problema de hardware, ya que en XP (!) se ve igual que en Linux, recuerdo que cuando Max fue al canal no tuvo ningún problema, así que algo debe haber pasado en el equipo. Al menos ya se que no es necesario seguir probando modelines con la Corio que es bastante cansador.