ush - Una shell minimalista para máquinas Linux con poca RAM 
He desarrollado una pequeña shell para sistemas Linux con poca RAM. Compilándola con glibc ocupa 400Kb mientras que compilándola con libc5 ocupa 100Kb (en ambos casos enlazándola de forma estática).

Ciertamente no es el mejor ejemplo de shell para presentarla como práctica de sistemas operativos ;-) pero es perfectamente usable y realiza su función de forma admirable: ocupa muy poca RAM y me permite acceder a las aplicaciones del sistema de forma sencilla. La he probado en un sistema 386SX con 4Mb y va de maravilla.

Más info en la sección soft. Código fuente aquí.

[ 3 comentarios ] ( 1739 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3 / 1182 )
Realizar solicitudes HTTP/POST desde la Bash 
En un post anterior hablaba de las bondades de los sockets en bash y de su gran utilidad a la hora de realizar scripts sin necesidad de programar en C ni en ningún otro lenguaje compilado. Gracias a esta cualidad de la bash he podido realizar solicitudes HTTP/POST a un servidor desde un script de forma sencilla:

#!/bin/bash
VARS="una_variable=valor1&otra_variable=valor2"
HTTP_REQUEST="POST /ruta/a/la/pagina HTTP/1.0\r\nContent-type: application/x-www-form-urlencoded\r\nContent-length: ${#VARS}\r\n\r\n$VARS\r\n"
exec 5<>/dev/tcp/nombre_del_host/80
echo -e $HTTP_REQUEST >&5
/bin/cat <&5 > /dev/null
exec 5<&-


En este caso se envía mediante el método POST la variable una_variable con el valor valor1 y la variable otra_variable con el valor valor2 a la página http://nombre_del_host/ruta/a/la/pagina.

[ 2 comentarios ] ( 1240 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3.1 / 1094 )
Interface MIDI out para la Nintendo DS 
Collin Meyer, a través de su blog nos informa que ya tiene a puntito de caramelo su secuenciador MIDI para Nintendo DS. El secuenciador requiere como puerto MIDI este sencillo circuito conectado al slot trasero de la DS (obviamente es necesario que el software arranque del slot GBA mediante WifiMe o PassMe). Aquí y aquí pueden verse algunas fotos del invento. Para utilizar este sencillo interface MIDI out, ha desarrollado dSTAR: un secuenciador MIDI sencillito y controlable a través de la pantalla táctil. El nota se lo curró.

[ añadir comentario ] ( 545 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3 / 919 )
Reproductor MP3 para la XBox 
Ayer, a modo de prueba para la API de sonido de SDL (SDL_Audio), porté la librería mpglib que utiliza el programa mpg123 a XBox. El resultado de un pequeño reproductor MP3 que reproduce el alchivo example.mp3 que se encuentre en el mismo directorio que el programa default.xbe.

En la sección soft he inaugurado una nueva subsección XBox desde la que puede obtenerse todo el código fuente del reproductor.

[ añadir comentario ] ( 720 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3.1 / 1418 )
Mi primer 'Hola, Mundo' para XBox 
Gracias a este hilo abierto por mí en http://forums.xbox-scene.com he conseguido leer ficheros de la unidad de DVD. Gracias a la ayuda del usuario friedgold ahora se que poniendo este código al principio del programa:

ANSI_STRING a1, a2;
RtlInitAnsiString(&a1, "\\??\\D:");
RtlInitAnsiString(&a2, "\\Device\\CdRom0");
IoCreateSymbolicLink(&a1, &a2);


Se monta la unidad "D:" directamente como directorio actual. Por ahora es una solución que funciona perfectamente, aunque en el CVS del OpenXDK ya han subido una modificación que permite acceder al directorio de ejecución del programa y utilizar sin problemas rutas relativas tanto en el CD/DVD como en el HD.
En este particular "Hola, Mundo" he utilizado la librería SDL_ttf para cargar un tipo de letra Serif a partir de un fichero de fuente TrueType alojado en el CD-RW.



Aunque en la foto desluce un poco, lo cierto es que la renderización de la fuente es de una calidad envidiable, ya que utiliza la librería freetype.

[ añadir comentario ] ( 789 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3 / 1331 )

<< <Anterior | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | Siguiente> >>