No hay nada como un buen enlace para empezar bien la semana ;-)
[ añadir comentario ] ( 1434 visualizaciones ) | [ 0 trackbacks ] | enlace permanente | ( 3 / 1952 )
En la sección "gameboy advance" he añadido el fichero mode4font.tar.gz que es un ejemplo de uso de fuentes de caracteres 8x8 en el modo gráfico 4 (240x160 a 256 colores) de la Gameboy Advance. El fichero main.c incluye la función
puts(int x, int y, u8 color, char *s)
que permite escribir una cadena de texto en la pantalla en modo gráfico 4. La fuente la convertí a mano usando el GIMP con una fuente gratuita de las que hay a millones por internet y luego convertí la imagen plana a formato .h de 1 bit (fichero 8x8font.h). Aquí tienen una captura de la ejecución del ejemplo en el emulador de Gameboy Advance, VisualBoyAdvance:
Por lo pronto sólo soporta caracteres ASCII (nada de acentos ni nada de eso), a ver si con el tiempo le pongo soporte para ISO 8859-15 o un subconjunto de UTF-8. Bueno, por hoy la cosa ya está bien. A dormir :-)
[ 2 comentarios ] ( 2046 visualizaciones ) | [ 0 trackbacks ] | enlace permanente | ( 3 / 1948 )
Ayer, mientras esperaba a la salida del exámen a que pasara la guagua de la línea 7 pa ir pa Las Palmas y portando yo, orgulloso, mi camiseta MSX recién estrenadita me para un estudiante peninsular y me dice: "Oye, ¿Dónde has conseguido esa camiseta?" :-) El pive en cuestión era también un flipado del MSX y llevaba pocos meses aquí (supongo que porque va a empezar a estudiar este año en la ULPGC). Ya son tres personas que les gusta el MSX a las que he visto en carne y hueso. Uno no se siente tan solo en esto del MSX, después de todo :-)
Otra cosa: He estado traduciendo al inglés los artículos que redacté para la revista amateur "Call MSX"; Francisco (Saeba), el redactor, va a hacer una reedición en inglés de los mejores artículos de la revista a petición de varios grupos de usuarios holandeses y va a ir a Bussum a presentar la reedición. ¡Mis dos artículos fueron elegidos para esa reedición! jejeje :-). Pa que se hagan una idea de los frikis del MSX que pululan por Bussum échenle un vistazo a las fotos de la última reunión de usuarios de MSX que hubo allí en 2004.
[ añadir comentario ] ( 1588 visualizaciones ) | [ 0 trackbacks ] | enlace permanente | ( 3 / 1961 )
Acabo de llegar de la ULPGC y tengo la mano dolorida de tanto escribir. El exámen fue matador pero creo que lo voy a aprobar :-). A ver si cuadra ^_^.
Aparte de eso acabo de subir una nueva versión de la librería PHPRFC (que permite hacer llamadas a funciones PHP alojadas en el servidor web desde Javascript utilizando AJAX). Esta nueva versión utiliza el objeto ActiveX "Msxml2.XMLHTTP" en el caso de que estemos usando las últimas versiones de Internet Explorer y ya funciona perfectamente al enviar caracteres españoles (Latin 1) en la respuesta XML (antes fallaba en algunas versiones de Internet Explorer)... como siempre el IE tocando los webos ;-).
Ya estamos utilizando PHPRFC en un proyecto de la empresa y por ahora va muy bien :-). Sección "soft".
[ añadir comentario ] ( 2202 visualizaciones ) | [ 0 trackbacks ] | enlace permanente | ( 3 / 2505 )
He liberado una nueva versión de la librería de lógica borrosa en PHP. Esta nueva versión incluye una clase InferenciadorBorroso que permite aplicar de forma sencilla la librería y también he añadido una simulación de ejemplo (ayudándome de la librería jsGraphics de Walter Zorn) que aplica la lógica borrosa para controlar la posición de una masa en un plano sin rozamiento.
include("logica_borrosa.php")
$pos_muy_izquierda =& new ConjuntoBorroso("MUY_IZQ", -10, -10, 0, 2.5);
$pos_izquierda =& new ConjuntoBorroso("IZQ", 0, 2.5, 2.5, 5);
... RESTO DE CONJUNTOS ...
$conjuntos = array("MUY_IZQ" => $pos_muy_izquierda, "IZQ" => $pos_izquierda, "CENTRO" => $pos_centro, "DER" => $pos_derecha, "MUY_DER" => $pos_muy_derecha, "V_ATRAS" => $vel_atras, "V_NULA" => $vel_nula, "V_ADELANTE" => $vel_adelante, "F_MUY_NEG" => $fuerza_muy_negativa, "F_NEG" => $fuerza_negativa, "F_NULA" => $fuerza_nula, "F_POS" => $fuerza_positiva, "F_MUY_POS" => $fuerza_muy_positiva);
$variablesEntrada = array("P" => 0, "V" => 0);
$variablesSalida = array("F" => 0);
...
$inf =& new InferenciadorBorroso();
$inf->ponerConjuntos($conjuntos);
$inf->ponerVariablesEntrada($variablesEntrada);
$inf->ponerVariablesSalida($variablesSalida);
$inf->aniadirRegla("(P == CENTRO) & (V == V_NULA)", "F == F_NULA");
$inf->aniadirRegla("(P == CENTRO) & (V == V_ATRAS)", "F == F_POS");
$inf->aniadirRegla("(P == CENTRO) & (V == V_ADELANTE)", "F == F_NEG");
... RESTO DE REGLAS ...
Para calcular la fuerza necesaria utilizando el inferenciador borroso:
$inf->variablesEntrada["P"] = $estado->posicion;
$inf->variablesEntrada["V"] = $estado->velocidad;
$inf->iterar();
$fuerza = $inf->salida["F"];
Como se ve, es muy sencillo utilizar la librería :-). Sección "soft".
[ añadir comentario ] ( 2483 visualizaciones ) | [ 0 trackbacks ] | enlace permanente | ( 3 / 1877 )