<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>aplicacion &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://wordpress.com/tag/aplicacion/</link>
	<description>Feed of posts on WordPress.com tagged "aplicacion"</description>
	<pubDate>Mon, 07 Jul 2008 01:08:32 +0000</pubDate>

	<generator>http://wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Winshell]]></title>
<link>http://pspmax.wordpress.com/?p=874</link>
<pubDate>Sat, 05 Jul 2008 15:33:00 +0000</pubDate>
<dc:creator>hectok</dc:creator>
<guid>http://pspmax.wordpress.com/?p=874</guid>
<description><![CDATA[




¿Quieres tener el Windows Xp en tu psp? Os presento una aplicación que emula el famoso sistem]]></description>
<content:encoded><![CDATA[<div>
<dl>
<dd></dd>
</dl>
<p><a href="http://www.servimg.com/image_preview.php?i=17&#38;u=11717704" target="_blank"><img src="http://i41.servimg.com/u/f41/11/71/77/04/icon0w10.png" alt="" /></a></div>
<p>¿Quieres tener el Windows Xp en tu psp? Os presento una aplicación que emula el famoso sistema operativo de microsoft.Con este Windows xp podemos hacer varias cosas pero al ser su primera versión no os espereis un <strong>Windows XP</strong> como el de vuestro <strong>oredenador</strong>. El creador de esta aplicación promete futuras versiones.<br />
Esta aplicación está disponible para la psp fat y la psp slim.<br />
<!--more--></p>
<p>En este "Shell" podremos ejecutar distintas aplicaciones aunque las primeras aún están en fase de desarrollo:</p>
<p>Este sistema en si, como muchos otros, no trae nada instalado aún,<br />
es decir, tiene cero ampliaciones.Estas aplicaciones que nombro ahora aún están es fase de desarrollo:</p>
<ul>
<li><strong>Un editor de imágenes para poder modificar vuestras fotos, fondos...<br />
</strong></li>
<li>Editor de texto (Bloc de notas)</li>
<li>Reproductor multimedia(mp3, y <strong>micro-photovideos</strong>)</li>
<li>Paquete de juegos en 2 y 3 dimensiones</li>
<li>Administrador de archivos con el que se pueden crear, modificar, abrir o eliminar archivos.</li>
<li><strong>Navegador Web (Internet Explorer por defecto)</strong></li>
<li>Messenger.</li>
</ul>
<p>De momento tiene:</p>
<ul>
<li><strong>Juegos:</strong> SMMEMORY, JawBreaker, NumberWhat y el Jezzball.</li>
<li><strong>Aplicaciones:</strong> Agenda, Reloj, Calculadora.</li>
<li><strong>Ficheros Lua y Configuración:</strong> Botones, Funciones Mp3, Fecha y Hora, Funciones Corriente, Izquierda y Derecha. Lista de juegos, KEYBOARD.</li>
<li><strong>Pruebas:</strong> Prueba de Controles, Prueba de las fuentes.</li>
<li><strong>Salvapantallas:</strong> Screensave 1, Screensave 2,</li>
<li><strong>USB:</strong> Funciones USB, USB.</li>
</ul>
<p>Instrucciones para poder acceder al menú de la aplicación:</p>
<ol type="1">
<li>Os aparecerá una ventana de arranque con dos opciones: MyShell y Lowser</li>
<li>Elegís una de las dos opciones y pulsais X.</li>
<li>Aparecerá el menú de Usuario.</li>
<li>Pulsais X encima de Trom_USpara cargar la para que os cargue el escritorio.</li>
<li>Se os cargará el Escritorio.</li>
<li>Una vez cargada podréis acceder en todo momento a la barra de inicio.</li>
<li>Si quereis Salir pulsais el Gatillo L y ireis al arranque.</li>
<li>Una vez en el arranque para poder salir al menú xmb de vuestra psp solo tendréis que pulsar el gatillo L de nuevo.</li>
</ol>
<p><strong><span style="color:#008000;">BUGS:</span></strong></p>
<ul>
<li>En la barra de Inicio del Escritorio la opción de Reiniciar da un error.</li>
<li>De momento habrá pocas cosas funcionales, solamente funcionaran las cosas mencionadas.</li>
</ul>
<p><span style="color:#008000;"><strong>Controles:<br />
</strong></span><br />
<strong><em>Escritorio</em></strong></p>
<ul>
<li><strong>Pad Analógico:</strong> Mover el cursor</li>
<li><strong>X:</strong> Aceptar(Doble click)</li>
<li><strong>Gatillo L:</strong> Salir</li>
</ul>
<p><strong><em>Arranque</em></strong></p>
<ul>
<li><strong>Pad Digital:</strong> Cambiar de opción</li>
<li><strong>X:</strong> Aceptar</li>
<li><strong>Gatillo L:</strong> Salir</li>
<li><strong>Gatillo R:</strong> Cambiar de ruta de la memory stick</li>
</ul>
<p><strong><em>Menú de Usuario</em></strong></p>
<ul>
<li><strong>X:</strong> Aceptar</li>
<li><strong>Gatillo L:</strong> Salir</li>
</ul>
<p><strong><em>Barra de inicio</em></strong></p>
<ul>
<li><strong>Pad Digital: </strong>Cambiar de opción</li>
<li><strong>X: </strong>Aceptar</li>
</ul>
<p><strong>Versión 80705</strong></p>
<ul>
<li>Mejoras en el rendimiento del sistema.</li>
<li>Activacion de funciones y controles para programas.</li>
<li>Mejoras visuales.</li>
<li>Activacion de inicio de sesion, ahora ya no solo es una imagen.</li>
<li>Se permite 2 usuarios, aunque el administrador no tiene contraseña.</li>
<li>Nueva aplicacion de test de funciones internas activadas.</li>
<li>Aplicacion extra de otro usuario: El Gran Quiz.</li>
</ul>
<p><strong>Nota:</strong> Si quereis cambiar de fondo substituir con el mismo<br />
nombre, mismas medidas y el mismo formato: fondo15.png o fondo2.png.<br />
En la carpeta: <strong>Sistema/fondos.</strong><br />
<strong>Nota:</strong> No borréis la versión anterior porque no os funcionará,<br />
simplemente saldra como datos dañados. Sobreescribir cuando lo pida.<br />
Esto es un pequeño update.</p>
<p><span style="color:#008000;"><strong></strong></p>
<p></span></p>
<p> </p>
<ul>
<li>Descarga la aplicación: <a href="http://www.mediafire.com/?ybqbptpmngt" target="_blank">Español-Inglés</a></li>
<li>Copia la carpeta <strong>PSP</strong> a la raíz de tu Memory Stick.</li>
<li>Ejecuta desde el menú de juegos del PSP.</li>
</ul>
<p><span style="color:#008000;"><span style="color:green;">Capturas de la pantalla</p>
<p></span></span></p>
<p>:</p>
<p>Captura arranque aplicación:</p>
<p><a href="http://www.servimg.com/image_preview.php?i=18&#38;u=11717704" target="_blank"><img src="http://i41.servimg.com/u/f41/11/71/77/04/winshe10.jpg" alt="" /></a></p>
<p>Captura escritorio Winshell:</p>
<p><a href="http://www.servimg.com/image_preview.php?i=19&#38;u=11717704" target="_blank"><img src="http://i41.servimg.com/u/f41/11/71/77/04/winshe11.jpg" alt="" /></a></p>
<p>Captura barra de inicio:</p>
<p><a href="http://www.servimg.com/image_preview.php?i=20&#38;u=11717704" target="_blank"><img src="http://i41.servimg.com/u/f41/11/71/77/04/winshe12.jpg" alt="" /></a></p>
<p>Capturas tomadas de psp.scenebeta.com</p>
<p><!--  google_ad_section_end --></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[JSF, rompiendo cabezas]]></title>
<link>http://franbyron.wordpress.com/?p=19</link>
<pubDate>Thu, 03 Jul 2008 07:09:42 +0000</pubDate>
<dc:creator>franbyron</dc:creator>
<guid>http://franbyron.wordpress.com/?p=19</guid>
<description><![CDATA[Hace bien poco que empece a trabajar con dicha tecnologia ( JavaServer Faces ) que viene siendo un F]]></description>
<content:encoded><![CDATA[<div align="justify">Hace bien poco que empece a trabajar con dicha tecnologia ( JavaServer Faces ) que viene siendo un Framework Web de java que simplifica el trabajo a la hora de hacer aplicaciones J2EE. El caso es que esta bastante bien, te olvidas del HTML y de en parte Javascript a la hora de realizar las vistas ya que trabajas con componentes , teniendo una rica variedad de estos de diferentes apis ( gracias a la gran comunidad de java ) como son richfaces o a4j, esta ultima siendo una api de soporte ajax para componentes que no dispongan de esta opcion o simplemente para extender las opciones del mismo.<br />
Pero todo tiene una pega, y es que al ser una tecnologia mas o menos reciente, hay algunos componentes que tienen algunos fallos o que para hacer determinados modelos de vista muy especificos, algunos de estos componentes no se encuentran preparados para hacer lo que buscas y acabas dando muchas vueltas ( rompiendote la cabeza ) para conseguir o simular lo que buscabas. Ademas el ciclo de trabajo de JSF junto con el de Spring todavia no lo tenemos perfectamente claro y faltan algunos detalles que limar, para asi saber en que momento hace los eventos o las llamadas ajax, asi como las llamadas a los metodos del bean de la vista.</p>
<p><br><br />
<img height="40%" width="40%" src="http://www.traffyk.com/blog/wp-content/uploads/2007/10/322px-java-logo.svg-1.png" alt="Java" /><br />
<br><br />
<img src="http://static.springframework.org/buttons/springSource.png" alt="Spring" />
</div>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Presentación de la ponencia en los XIX cursos de verano de la UNED]]></title>
<link>http://empretec.wordpress.com/2008/07/02/618/</link>
<pubDate>Wed, 02 Jul 2008 12:27:51 +0000</pubDate>
<dc:creator>Rafael Carrasco</dc:creator>
<guid>http://empretec.wordpress.com/2008/07/02/618/</guid>
<description><![CDATA[
Aquí dejo la presentación que he utilizado para la ponencia de los XIX cursos de verano de la UNE]]></description>
<content:encoded><![CDATA[<p style="text-align:center;">[slideshare id=498080&#38;doc=ponencia-uned-1215111546910082-9&#38;w=425]</p>
<p>Aquí dejo la presentación que he utilizado para la ponencia de los XIX cursos de verano de la UNED en Ávila titulada Aplicaciones de Internet en la acción pedagógica de la ESO.</p>
<p>También enlazo los vídeos que he utilizado para explicar qué son los <a href="http://www.youtube.com/watch?v=0klgLsSxGsU&#38;feature=related" target="_blank">RSS</a> y los <a href="http://www.youtube.com/watch?v=-dnL00TdmLY" target="_blank">Wikis</a>.</p>
<p>Ha sido una mañana muy entretenida impartiendo la ponencia en la Universidad Católica de Ávila, en un entorno estupendo y con un auditorio muy agradable.</p>
<p>Profesores de ESO de muchos lugares de España de todas las edades y con todo tipo de conocimientos en TIC. Eso sí, todos con muchas ganas de aprender y de enterarse de cómo se pueden utilizar la aplicaciones que nos ofrece Internet para las clases y cómo se puede conseguir que los alumnos aprendan a aprender.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Buscador de rostros]]></title>
<link>http://gutech.wordpress.com/?p=246</link>
<pubDate>Tue, 01 Jul 2008 13:58:00 +0000</pubDate>
<dc:creator>gutech</dc:creator>
<guid>http://gutech.wordpress.com/?p=246</guid>
<description><![CDATA[
Basado en las API de Google, esta aplicación permite buscar los rostros según el nombre y los ord]]></description>
<content:encoded><![CDATA[<p><a href="http://gutech.files.wordpress.com/2008/07/buscara.jpg"><img class="alignnone size-medium wp-image-247" src="http://gutech.wordpress.com/files/2008/07/buscara.jpg?w=300" alt="" width="300" height="135" /></a></p>
<p>Basado en las API de Google, esta <a href="http://www.facesaerch.com" target="_blank">aplicación</a> permite buscar los rostros según el nombre y los ordena en una interfase muy al estilo iTunes.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[CF 4.01 m33]]></title>
<link>http://mcpsp.wordpress.com/?p=25</link>
<pubDate>Sun, 29 Jun 2008 03:01:57 +0000</pubDate>
<dc:creator>nedfoor</dc:creator>
<guid>http://mcpsp.wordpress.com/?p=25</guid>
<description><![CDATA[Pues bueno comenzamos bien de nuevo jajaja, este nuevo CF trae lo mismo que la version de Sony solo ]]></description>
<content:encoded><![CDATA[<p>Pues bueno comenzamos bien de nuevo jajaja, este nuevo CF trae lo mismo que la version de Sony solo que como siempre con las mejoras que un m33 debe de traer asi que aqui se los dejo.</p>
<p><img class="alignnone" src="http://img529.imageshack.us/img529/7605/capturacb1.jpg" alt="" /></p>
<p>Lamento no tener mas informacion pero en el momento que la tenga la publicare al momento</p>
<p><a href="http://rapidshare.com/files/125757140/4.01m33.rar">Descarga</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Tu nombre en Egipcio]]></title>
<link>http://bluelennon.wordpress.com/?p=424</link>
<pubDate>Fri, 27 Jun 2008 22:09:51 +0000</pubDate>
<dc:creator>Spideymang</dc:creator>
<guid>http://bluelennon.wordpress.com/?p=424</guid>
<description><![CDATA[Es fin de semana y es hora de divertirnos, esta vez escribiendo nuestro nombre en egipcio. Mira mi n]]></description>
<content:encoded><![CDATA[<p>Es fin de semana y es hora de divertirnos, esta vez escribiendo nuestro nombre en egipcio. Mira mi nick queda de la siguiente manera:</p>
<p style="text-align:center;"><img class="alignnone" src="http://i76.photobucket.com/albums/j39/zooboorex/Spidey_egipcio.png" alt="" /></p>
<h2 style="text-align:center;"><span style="color:#ff0000;">Spidey</span></h2>
<p>Si tu también deseas hacer esto con tu nombre o el de tus amigos, solamente entras a <a href="http://www.upennmuseum.com/cgi-bin/hieroglyphsreal.cgi/hieroglyphsreal.cgi" target="_blank">la pagina</a>, en el cuadro de texto escribes el nombre y seleccionas el boton de "inscribe", te actualizará la pagina con el geroglifico egipcio.</p>
<p>¿Qué te parece la aplicación?, ¿conoces alguna similar?, saludos!</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Time machine (RESHARE)]]></title>
<link>http://pspmax.wordpress.com/?p=677</link>
<pubDate>Fri, 27 Jun 2008 18:56:54 +0000</pubDate>
<dc:creator>hectok</dc:creator>
<guid>http://pspmax.wordpress.com/?p=677</guid>
<description><![CDATA[
Debido a lo complejo que parece esta aplicación, hemos decidió hacer nuestro tutorial simplificad]]></description>
<content:encoded><![CDATA[<div style="text-align:center;"><img src="http://playstationunderground.files.wordpress.com/2008/02/reloj_de_arena_2.jpg" alt="reloj_de_arena_2.jpg" /></div>
<p>Debido a lo complejo que parece esta aplicación, hemos decidió hacer nuestro tutorial simplificado de dicha aplicación. Primero que nada, queremos darles algunos datos sobre esta <em><strong>aplicación, que básicamente, consiste en la carga de firmwares desde le memory stick. </strong></em>Entre ellas, la posibilidad de <em><strong>cargar la version 1.50 en un PSP Slim.</strong></em> Ademas podremos usar la consola aunque este brickeada, no importa que la IP o la NAND estén corruptas. A continuación un tutorial para sacarle el mayor provecho a esta maravilla.</p>
<p><!--more--><span style="color:#0000ff;">_____________________________________________________________________________________</span></p>
<p><span style="color:#ff6600;"><strong><em>Con el Time Machine podremos instalar los siguentes firmwares:</em></strong></span></p>
<ul>
<li>1.50 Original (<strong>Sólo PSP Normal</strong>)</li>
<li>1.50 con algunos módulos de hardware de 3.40 (<strong>PSP Normal y Slim</strong>)</li>
<li>3.40 OE (<strong>Sólo PSP Normal</strong>)</li>
<li>3.60 M33 (<strong>Sólo PSP Slim</strong>)</li>
</ul>
<p><span style="color:#0000ff;">_____________________________________________________________________________________</span></p>
<p><span style="color:#ff6600;"><em><strong>Requisitos:</strong></em></span></p>
<ul>
<li>Si tienes un <em><strong>PSP Normal</strong></em>, debes tener CF 2.70 o superior (para seguir este tutorial es necesario que tengas un CF 3.XX, amenos que ya tengas la batería mágica creada).</li>
<li>Si tienes un <em><strong>PSP Slim</strong></em>, debes tener el CF 3.90m33-2 o superior.</li>
<li>Una batería Pandora.</li>
<li>Una memory stick mayor de 128MB</li>
<li>Archivos necesarios para el proceso (descargas en cada paso).</li>
</ul>
<p><span style="color:#0000ff;">_____________________________________________________________________________________</span><br />
<span style="color:#ff6600;"><em><strong>Creando la batería Pandora:</strong></em></span></p>
<p><em><strong>Nota:</strong></em> Si ya tienes una batería Pandora, la puedes usar para este proceso. Si no es necesario que la crees, a continuación todo lo necesario.</p>
<ul>
<li>Pasa por el tutorial del <em><strong>Despertar del Cementerio v4</strong></em> y has los pasos bajo los subtemas:
<ul>
<li>La Memory Stick</li>
<li>Creando la Memory Stick mágica</li>
<li>Creando la batería mágica</li>
</ul>
</li>
</ul>
<p><em><strong>Nota:</strong></em> <span style="color:#ff0000;">NO</span> <span style="color:#99cc00;">hagas los pasos bajo el subtema: <em><strong>Usando el Despertar del Cementerio.</strong></em></span><br />
<span style="color:#0000ff;">_____________________________________________________________________________________</span></p>
<p><em><strong><span style="color:#ff6600;">Tutorial del TimeMachine:</span> </strong></em></p>
<ul>
<li><a href="http://www.mediafire.com/?dijj01budee" target="_blank">Descargar los archivos necesarios.</a></li>
<li>Copia la carpeta <em><strong>PSP</strong></em> y <em><strong>TM</strong></em> en la raíz de la memory stick.</li>
<li>Ve al menú de juego y ejecuta el <em><strong>Time Machine</strong></em>.</li>
<li>Te saldrá un menú con las siguientes opciones:</li>
</ul>
<blockquote><p><span class="postbody"><span style="font-family:Century Gothic;"><span class="postbody"><span style="color:red;">TIME MACHINE INSTALER</span></span></span></span></p>
<p><span style="color:#00ffff;"> Install  iplloader on PSP MS boot sector </span><br />
Convert  Pandora/DC1-DC4 ipl intro TM format<br />
Install  1.50 (PHAT)<br />
Install  1.50 with 3.40 hw modules (PHAT&#38;SLIM)<br />
Install  3.40 OE (PHAT)<br />
Install  3.60 M33 (SLIM)</p>
<p>Exit</p></blockquote>
<ul>
<li> Selecciona la primera opción: <em><strong>“Install iplloader on PSP MS boot sector</strong></em>“, presionando <em><strong>X</strong></em> sobre la misma.</li>
<li>Al hacer el paso anterior, te saldrá lo siguiente:</li>
</ul>
<blockquote><p><span class="postbody"><span style="font-family:Century Gothic;"><span class="postbody"><span style="color:green;">Checking space… OK<br />
Writing ipl… OK</span></span></span></span></p>
<p>Press X to return to main menu</p></blockquote>
<ul>
<li><span class="postbody"><span style="font-family:Century Gothic;"></span></span>Una vez que termine, presiona <strong><em>X</em></strong> para volver al menú principal.</li>
<li>Ahora, presiona <em><strong>X</strong></em> sobre la opción: <em><strong>“Convert Pandora/DC1-D4 ipl into TM format”</strong></em></li>
<li>Como paso final, en el menú principal, sal de la aplicación y<em><strong> apaga la consola</strong></em> (completamente).</li>
</ul>
<p><span style="color:#0000ff;">_____________________________________________________________________________________</span></p>
<p><span style="color:#ff6600;"><em><strong>Usando el Time Machine: </strong></em></span></p>
<ul>
<li>Con la consola completamente apagada, <em><strong>introduce la batería  mágica </strong></em>(pandorizada)<em><strong> en la consola</strong></em>.</li>
<li>Tan pronto se encienda la luz verde de la batería, <em><strong>presiona uno de los siguientes botones</strong></em>, según lo que desees:</li>
</ul>
<blockquote>
<ul>
<li><strong>X:</strong> Cargar  Firmware 1.50 oficial (Solo PSP Normal).</li>
<li><strong>Circulo:</strong> Cargar Firmware 1.50 Mod (PSP Normal y Slim)</li>
<li><strong>Triangulo:</strong> Cargar 3.40 OE (Solo PSP Normal)</li>
<li><strong>Cuadrado: </strong>Carga 3.60 M33 (Solo PSP Slim)</li>
<li><strong>Flecha arriba:</strong> Carga Pandora.</li>
</ul>
</blockquote>
<p><span style="color:#99cc00;">Todo listo, ya tienes el Time Machine corriendo en tu PSP.  A continuación algunos datos de interés.</span></p>
<p><span style="color:#0000ff;">_____________________________________________________________________________________</span></p>
<p><span style="color:#ff6600;"><em><strong>Datos de interés: </strong></em></span></p>
<ul>
<li>Todo homebrew que se quiera cargar en el firmware 1.50, debe meterse en la carpeta <em><strong>PSP\GAME</strong></em>.</li>
<li><em><strong>Es posible que hayan algunos problemas de visualización</strong></em> como por ejemplo en el gameboot, esto es normal y se espera que se resuelva en futuras versiones.</li>
<li>Si pones tu <em><strong>PSP en Sleep Mode</strong></em>, para encenderlo tendrás que tener la memoria, en la que instalaste el Time Machine, insertada.  De lo contrario no encenderá.</li>
</ul>
<p><span style="color:#0000ff;">_____________________________________________________________________________________</span></p>
<p><span style="color:#ff6600;"><em><strong>Desinstalar el Time Machine:</strong></em></span></p>
<p><span style="color:#99cc00;">Si por alguna razón probaste esta aplicación y ya no la deseas tener en tu PSP, hay una forma muy fácil de des instalarla. A continuación los pasos a seguir.</span></p>
<p><span style="color:#0000ff;"><em><strong>La bateria:</strong></em></span></p>
<p>Es necesario que vuelvas la batería a su estado normal, para eso puedes usar el <em><strong>Ultra Pandora Installer</strong></em>.  Si deseas puedes pasar por el tutorial del <a href="http://playstationunderground.wordpress.com/2007/11/21/el-despertar-del-cementerio-hackea-o-repara-tu-psppsp-slim/" target="_blank"><strong><em>Despertar del Cementerio v4</em></strong></a>, para mas información de como hacerlo.</p>
<p><em><strong>Nota:</strong></em> Se encuentra bajo el subtema: <em><strong>Regresar la batería y memoria a su estado normal/La batería. </strong></em></p>
<p><span style="color:#99cc00;">Al hacer esto la batería quedara en funcionamiento nuevamente.  Ahora pasamos a la memoria.</span></p>
<p><span style="color:#0000ff;"><em><strong>La memoria:</strong></em></span></p>
<p>También es necesario que vuelvas la memoria a su estado normal, esto borrando los respectivos archivos.  Para volver la memoria a su estado original es realmente sencillo:</p>
<ul>
<li> Ve a ajustes/ajustes del sistema/<em><strong>Formatear Memory Sick.</strong></em></li>
</ul>
<div style="text-align:center;"><img src="http://playstationunderground.files.wordpress.com/2008/02/formatmemorystick.png" alt="formatmemorystick.png" /></div>
<p><span style="color:#99cc00;">Al hacer el formateo la memory stick quedara en su estado original y en funcionamiento normal.</span></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Lua shell]]></title>
<link>http://pspmax.wordpress.com/?p=658</link>
<pubDate>Fri, 27 Jun 2008 18:12:28 +0000</pubDate>
<dc:creator>hectok</dc:creator>
<guid>http://pspmax.wordpress.com/?p=658</guid>
<description><![CDATA[Hoy en la sección de aplicaciones útiles os traigo una muy útil.
Esta aplicación esta destinada ]]></description>
<content:encoded><![CDATA[<p><img class="alignnone" src="http://img167.imageshack.us/img167/2082/icon0luashellv2uy3.png" alt="" />Hoy en la sección de aplicaciones útiles os traigo una muy útil.</p>
<div dir="ltr">Esta aplicación esta destinada a todas las paersonas que nos les guste un shell y quieran cambiarlo. Esta aplicación tiene una <strong>multitud de funciones</strong> entre ellas modificar las diferentes flash de la PSP. Como noticia tiene un entorno <strong>gráfico intuitivo</strong> que se parece mucho al <strong>xmb </strong>de nuestra PSP.</div>
<div dir="ltr"><!--more--></div>
<div dir="ltr">
<ul>
<li>
<ul>
<li>
<div>os.</div>
</li>
</ul>
</li>
<li>
<div>Un visor de imagenes: <strong>JPG, PNG</strong>.</div>
</li>
<li>
<div>Sección de carga de juegos: <strong>PSX, UMD, ISO</strong>.</div>
</li>
<li>
<div>Podemos cambiar la velocidad de la CPU: <strong>133 Mhz, 266 Mhz, 333 Mhz.</strong></div>
</li>
<li>
<div><strong>Información sobre la PSP:</strong> Usuario, Versión, Dirección Mac, Espacio total de la memory stick, Espacio libre de la memory stick, Velocidad CPU actual y la Velocidad BUS.</div>
</li>
<li>
<div><strong>Navegador web</strong>.</div>
</li>
<li>
<div><strong>Conexion USB:</strong> Memory stick, Flash0, Flash1, Flash2, Flash3.</div>
</li>
</ul>
<h2>Bugs</h2>
<ul>
<li>No funciona el reproductor mp3.</li>
<li>Si pulsais los botones mostrados abajo se os colgará el homebrew.</li>
<li>No funciona correctamente el reproductor de ISOs.</li>
</ul>
<h2>Observaciones</h2>
<ul>
<li>Si os fijais bien en el menú del homebrew veréis unos datos: Usuario, La vida de la bateria, La hora, el mes y el dia.</li>
</ul>
<h2>Controles:</h2>
<p><strong><em><span style="text-decoration:underline;">Browser</span></em></strong></p>
<ul>
<li><strong>Pad Digital: </strong>Mover el cursor</li>
<li><strong>X:</strong> Aceptar</li>
<li><strong>Triángulo:</strong> Atrás</li>
<li><strong>Gatillo R y L: </strong>Elegir: Memory stick, Flash0, Flash1, Flash2, Flash3.</li>
<li><strong>Cuadrado: </strong>Borrar directorio/archivo</li>
<li><strong>O: </strong>Renombrar el archivo</li>
<li><strong>Select: </strong>Copiar</li>
<li><strong>Start: </strong>Salir al menú del homebrew</li>
</ul>
<p><strong><em><span style="text-decoration:underline;">Visor de imágenes o IMG</span></em></strong></p>
<ul>
<li><strong>Pad Digital: </strong>Mover el cursor</li>
<li><strong>Triángulo: </strong>Atrás</li>
<li><strong>X: </strong>Aceptar</li>
<li><strong>Start:</strong> Salir al menú del homebrew</li>
</ul>
<p><strong><em><span style="text-decoration:underline;">GAMES</span></em></strong></p>
<ul>
<li><strong>Pad Digital:</strong> Mover el cursor</li>
<li><strong>X:</strong> Aceptar</li>
<li><strong>Triángulo(Dentro de la sección):</strong> Atrás</li>
<li><strong>Start: </strong>Salir al menú del homebrew</li>
</ul>
<p><strong><em><span style="text-decoration:underline;">CPU</span></em></strong></p>
<ul>
<li><strong>Triángulo: </strong>Activar 133Mhz</li>
<li><strong>Cuadrado: </strong>Activar 266Mhz</li>
<li><strong>O: </strong>Activar<strong> </strong>333Mhz</li>
<li><strong>Start: </strong>Salir al menú del homebrew</li>
</ul>
<p><strong><em><span style="text-decoration:underline;">Usb mode</span></em></strong></p>
<ul>
<li><strong>X: </strong>Aceptar</li>
<li><strong>Pad Digital arriba: </strong>Activar<strong> </strong>Flash0</li>
<li><strong>Pad Digital abajo: </strong>Activar Flash2</li>
<li><strong>Pad Digital derecho: </strong>Activar Flash3</li>
<li><strong>Pad Digital izquierdo: </strong>Activar Flash1</li>
<li><strong>Start: </strong>Salir al menú del homebrew</li>
</ul>
</div>
<div dir="ltr">Capturas de la aplicación:</div>
<div dir="ltr"><img class="alignnone" src="http://img167.imageshack.us/img167/421/luashellv2menuqb6.jpg" alt="" /></div>
<div dir="ltr">Descargas:</div>
<div dir="ltr">
<p><a href="/Users/H%C3%A9ctor/Desktop/AutoStartPRXv3CFPlusEn(pspmax.wordpress.com).rar"><br />
</a></p>
<p>Descargar ahora la versión en español:<img class="alignnone" src="http://www.adrive.com/public/666afb7af314522523e0a21f4d1f2a072e2d88e3a33a1555b7981c506a1544fc.html" alt="" /></p>
<p><img src="http://img123.imageshack.us/img123/6750/igcg0mau6.gif" alt="" width="176" height="57" /></p>
<p>Descarga ahora la versión en inglés:</p>
<p><a href="http://www.adrive.com/public/f051bf56cb60003f143204a619bea988533b94becb751c35ac7087f39ca4eef1.html"><img src="http://img123.imageshack.us/img123/6750/igcg0mau6.gif" alt="" width="176" height="57" /></a></div>
]]></content:encoded>
</item>
<item>
<title><![CDATA[General PSP]]></title>
<link>http://pspmax.wordpress.com/?p=345</link>
<pubDate>Wed, 25 Jun 2008 20:28:04 +0000</pubDate>
<dc:creator>pspmax</dc:creator>
<guid>http://pspmax.wordpress.com/?p=345</guid>
<description><![CDATA[esta es una aplicación que sirve parahacer varias cosas (todas con respecto a la seguridad) : podem]]></description>
<content:encoded><![CDATA[<p><a href="http://pspmax.files.wordpress.com/2008/06/icon0generalpsp.png"><img class="alignnone size-medium wp-image-346" src="http://pspmax.wordpress.com/files/2008/06/icon0generalpsp.png?w=140" alt="" width="140" height="72" /></a>esta es una aplicación que sirve parahacer varias cosas (todas con respecto a la seguridad) : podemos dumpear la nand, las flashs, la IPL, el Idstorage .el resultado se guarda en la raíz de la MS Autor : javi72</p>
<p><!--more--></p>
<p><a href="http://pspmax.files.wordpress.com/2008/06/generalpspv1.jpg"><img class="alignnone size-medium wp-image-347" src="http://pspmax.wordpress.com/files/2008/06/generalpspv1.jpg?w=300" alt="" width="372" height="196" /></a></p>
<p><a href="http://adrive.com/public/07c37c0f8118d7646b97dc3791a49fbca612c2f3b5ea0c9cbafd3f09983e383a.html"><img src="http://img123.imageshack.us/img123/6750/igcg0mau6.gif" alt="" width="176" height="57" /></a></p>
<p>DESCARGAR</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Gimpshop, imitando a Photoshop]]></title>
<link>http://arbolcharyou.wordpress.com/?p=661</link>
<pubDate>Mon, 23 Jun 2008 13:04:05 +0000</pubDate>
<dc:creator>DiS</dc:creator>
<guid>http://arbolcharyou.wordpress.com/?p=661</guid>
<description><![CDATA[Leo en UbuntuGeek sobre Gimpshop, una modificación de GIMP que pretende reproducir la sensación de]]></description>
<content:encoded><![CDATA[<p>Leo en <a href="http://www.ubuntugeek.com/howto-install-gimpshop-in-ubuntu-hardy.html" target="_blank">UbuntuGeek</a><strong> </strong>sobre <strong>Gimpshop,</strong> <span style="text-decoration:underline;">una modificación de GIMP</span> que pretende reproducir la sensación de estar trabajando con <em>Adobe Photoshop.</em> La idea es que los usuarios de éste último se planteen el cambio a GIMP al sentirse más familiarizados y, por lo tanto, cómodos en el entorno modificado de Gimpshop.</p>
<p>Se ha intentado <span style="text-decoration:underline;">ofrecer una réplica de la interfaz lo más fiel posible</span> además de haber adoptado algunos términos de <em>Photoshop</em>. La única desventaja es que se basa en la versión 2.2 de GIMP cuando la actual es la 2.5.1.</p>
<p style="text-align:center;"><a href="http://arbolcharyou.wordpress.com/files/2008/06/gimpshoplogo.gif"><img class="alignnone size-medium wp-image-662 aligncenter" src="http://arbolcharyou.wordpress.com/files/2008/06/gimpshoplogo.gif?w=300" alt="" width="300" height="118" /></a></p>
<p style="text-align:left;"><strong><span style="text-decoration:underline;">Enlaces</span>:</strong></p>
<ul>
<li><a href="http://plasticbugs.com/" target="_blank">Página del proyecto</a></li>
<li><a href="http://www.plasticbugs.com/blogimg/gimpshop_2.2.11-1_i386.deb" target="_blank">Descargar .deb</a></li>
</ul>
<p><strong><span style="text-decoration:underline;">Relacionado</span>:</strong></p>
<ul>
<li><a href="http://arbolcharyou.wordpress.com/2008/06/20/alternativa-gimp/" target="_blank">Alternativa de pago a GIMP</a></li>
</ul>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Reproducir archivos .rmvb en Mplayer -Ubuntu-]]></title>
<link>http://alvarolivares.wordpress.com/?p=93</link>
<pubDate>Sun, 22 Jun 2008 18:22:17 +0000</pubDate>
<dc:creator>alvarolivares</dc:creator>
<guid>http://alvarolivares.wordpress.com/?p=93</guid>
<description><![CDATA[Hace algún tiempo que están apareciendo con más frecuencia los videos en formato .rmvb, creo que ]]></description>
<content:encoded><![CDATA[<p>Hace algún tiempo que están apareciendo con más frecuencia los videos en formato .rmvb, creo que por el poco espacio que este formato requiere. Generalmente pesa la mitad que un .avi</p>
<p>El problema: Los codecs no se instalan con el famoso paquete restricted-extras en ubuntu.</p>
<p>Sin embargo, hay un par de cosas que quiero ver y no están en otro formato por ninguna parte.</p>
<p>Después de horas buscando di con la solución. En el proceso me encontré con gente que convertía en avi, en vcd, en dvd etc (pero no lo intenté porque creo que para ello también es necesario tener los codecs).</p>
<p>La solución la tenía <a href="http://fernandovillatoro.blogspot.com/2007/08/como-ver-archivos-rmvb-en-ubuntu.html">Fernando Villatoro en su blog</a>. Y como soy flojo lo voy a pegar acá. Además yo no lo podría explicar mejor:</p>
<blockquote><p>Se debe tener instalado el reproductor Mplayer. Si no se tiene en el equipo se debe acceder al Synaptic Package Manager, buscar Mplayer y seleccionar el nombre de este reproductor. Al seleccionarse puede que se nos avise que se tienen que instalar otros paquetes.</p>
<p>Después de instalado, debemos dirigirnos a la página de <a href="http://www.mplayerhq.hu/design7/dload.html#binary_codecs">Mplayer binary codec download</a>. Una vez en la página debemos bajar el paquete segun nuestro sistema. En mi caso escogí "Linux x86" debido a las caracteristicas de mi computadora.</p>
<p>Descargamos el paquete a nuestra computadora. Una vez descargado, damos doble click en él, seleccionamos el folder a descomprimir y damos click en el boton Extraer.</p>
<p>Escogemos el lugar donde se descomprimirá el archivo, una buena opción es en el escritorio. Una vez que se ha descomprimido el folder tendrá el nombre essential-date.</p>
<p>Ahora tenemos que abrir una terminal. Una vez abierta escribimos los siguientes comandos (introducimos nuestra contraseña cuando se nos pida):<br />
* cd Desktop<br />
* cd essential-date<br />
* sudo mkdir /usr/lib/win32<br />
* sudo cp * /usr/lib/win32</p>
<p>Una vez hecho esto, debemos abrir el reproductor Mplayer, el cual se encuentra en Aplicaciones -&#62; Sonido y Video -&#62; Mplayer. Damos click derecho en la ventana de video del programa y del menu seleccionamos Preferencias.</p>
<p>Una vez en la ventana Preferencias, en la pestaña Video, debemos cambiar del menú Available Drivers a x11 X11 (XImage/Shm).</p>
<p>Ahora nos dirigimos a la pestaña Codecs &#38; demuxer. En la opción Video Codec Family seleccionamos la opción RealVideo decoder. En la opción Audio Codec Family seleccionamos la opción FFmpeg/libavcodec audio decoders. Una vez hecho esto damos click en OK.</p>
<p>Localizamos algún archivo que tengamos en formato .rmvb, damos click derecho en él y seleccionamos Propiedades. En la pestaña Open with seleccionamos Mplayer Movie Player.</p></blockquote>
<p>O simplemente con una consola se ubican en la carpeta contenedora del video que quieren reproducir, y usan el comando mplayer -zoom -fs *</p>
<p>Ojo que una vez que terminen de ver el video .rmvb deben volver a dejar todo como estaba en la configuración de mplayer. Por eso es recomendable que anoten la configuración que tenían (en mi caso en la pesataña video: estaba seleccionado xv X11/Xv y en la de codecs tanto en video como en audio estaba en 'none'.</p>
<p>Nota: Sin perjuicio de lo anterior, he podido ver videos rmbv, mp4, avi etc dejando la siguiente configuración, pero, que a mi me funcione no quiere decir que resulte a todos:<br />
Video:<br />
x11 X11/Xv</p>
<p>Codecs &#38; demuxer:<br />
Video codec family RealVideo decoder<br />
Video codec family RealAudio decoder</p>
<p>(sin embargo con esta configuración no tengo que estar cambiando las preferencias a cada rato)</p>
<p>Espero que les sea de utilidad.</p>
<p>Edito: Es posible que con el paquete non-free-codecs que se encuentra en synaptic funcione y no se deba descargar nada.</p>
<p>pd. Gracias Cdk1 por el dato, pero debido a que tu comentario no fue hecho con respeto, me vi obligado a borrarlo ;-)</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[FlashGet]]></title>
<link>http://pspmax.wordpress.com/?p=290</link>
<pubDate>Sun, 22 Jun 2008 17:44:10 +0000</pubDate>
<dc:creator>pspmax</dc:creator>
<guid>http://pspmax.wordpress.com/?p=290</guid>
<description><![CDATA[Flashget es un gestor de descargas para windows.este programa es útil especialmente porque sin el e]]></description>
<content:encoded><![CDATA[<p><img style="border:1px solid;" src="http://tbn0.google.com/images?q=tbn:jhvCc6TZ3fo0SM:http://img106.imageshack.us/img106/3103/flashget2rj7.jpg" alt="" width="116" height="111" />Flashget es un gestor de descargas para windows.este programa es útil especialmente porque sin el es realmente cansino descargar un archivo que esté dividido en varias partes y además , acelera muchísimo la velocidad de descarga.Pero no solo eso , también es un cliente bittorrent.</p>
<p><!--more--></p>
<p>FUNCIONA EN :</p>
<p>Win95/98/98SE/Me/2000/NT/XP/Vista</p>
<p><a href="http://adrive.com/public/60a9a0b4dcb40f01951ab1531e7b71144b29d22d0069d7c83584d7275aa8c4da.html"><img src="http://img123.imageshack.us/img123/6750/igcg0mau6.gif" alt="" width="176" height="57" /></a></p>
<p><img src="http://scr.softonic.com/s2/10000/10118/3_fg-y.jpg" alt="" width="461" height="279" /></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Down psp]]></title>
<link>http://pspmax.wordpress.com/?p=281</link>
<pubDate>Fri, 20 Jun 2008 17:37:47 +0000</pubDate>
<dc:creator>hectok</dc:creator>
<guid>http://pspmax.wordpress.com/?p=281</guid>
<description><![CDATA[Os presento una aplicacion que sirve para descargar e instalar todos los homebrews (o al menos los m]]></description>
<content:encoded><![CDATA[<p><img src="http://img148.imageshack.us/img148/4960/downpspminiuj5.png" alt="" />Os presento una <strong>aplicacion </strong>que sirve para <strong>descargar e instalar</strong> todos los <strong>homebrews </strong>(o al menos los mejores) directamente en la PSP sin usar el ordenador mas que para instalarlo. Está en español y <strong>compatible para PSP Slim y Fat</strong>. Usa una <strong>red wifi</strong> para acceder al servidor donde estan subidos los hombrews. <a href="http://www.scenebeta.com/noticia/scenery-beta-2008-international-homebrew-showcase" target="_blank"><strong></strong></a><strong></strong></p>
<p>Autor: <strong><span class="submitted"><a title="Ver el perfil de usuario." href="http://psp.scenebeta.com/user/204092">carlosgs</a></span></strong>Web oficial <strong><a class="ext" href="http://downpsp.evoconsolas.com/" target="_blank">downPSP</a>, </strong>gracias a evoconsolas.com.</p>
<p align="left">
<p align="left"><!--more--></p>
<p align="left">El idioma se selecciona en el menu principal y cada vez que se inicie el wifi por primera vez, buscará actualizaciones.</p>
<h2>Requerimientos<span style="text-decoration:underline;"><strong> </strong></span></h2>
<div>
<ul>
<li>PSP CF m33</li>
<li>Wi-Fi disponible</li>
<li>Tarjeta con espacio suficiente. (intentaré añadir una función que compruebe el espacio disponible antes de descargar nada)</li>
</ul>
<h2>Bugs conocidos<span style="text-decoration:underline;"><strong> </strong></span></h2>
</div>
<p align="left">(se intentarán reparar)</p>
<div>
<ul>
<li>Si se desconecta el interruptor wlan, o se pierde la conexión, se queda colgado (investigando causa)</li>
<li>Los menús son un poco incómodos de manejar (intentando reparar)</li>
<li>Los menús de skins y de idiomas no permiten tener mas de X elementos -porque se salen de la pantalla- (en breve se arreglará)</li>
</ul>
</div>
<h2>Futuras funciones:</h2>
<ul>
<li>Mejoras en el menú de la lista de homebrew</li>
</ul>
<p><img src="http://img507.imageshack.us/img507/4734/capturadownpsp16yx3.jpg" alt="" /></p>
<p><a href="http://www.adrive.com/public/662b1c0076330dc9e5e61343f45a8013be25e4d7665bd71b156ef35871623af1.html"><img src="http://img123.imageshack.us/img123/6750/igcg0mau6.gif" alt="" /></a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[PSP Hardware Alarm Interface]]></title>
<link>http://pspmax.wordpress.com/?p=279</link>
<pubDate>Fri, 20 Jun 2008 17:05:14 +0000</pubDate>
<dc:creator>hectok</dc:creator>
<guid>http://pspmax.wordpress.com/?p=279</guid>
<description><![CDATA[Si quieres tener un reloj y un despertador a la vez puedes descargarte este fantástico homebrew.Una]]></description>
<content:encoded><![CDATA[<p><img src="http://img241.imageshack.us/img241/1846/icon0hardwarealarminterph5.png" alt="" />Si quieres tener un reloj y un despertador a la vez puedes descargarte este fantástico homebrew.Una de sus principales ventajas es que puedes dejar tu psp en modo de apgado o de suspensión. Desgraciadamente esta <strong>aplicación</strong> en modo de alarma no puede funcionar en <strong>3.95 GEN-2.</strong></p>
<p><strong>Autor: Mr305</strong></p>
<h2><!--more--></h2>
<h2>Características</h2>
<ul>
<li>Compatible tanto <strong>PSP Slim</strong> como<strong> PSP Fat</strong>.</li>
<li><strong>Milisegundos</strong>.</li>
<li>Alarma programable hasta 23:59</li>
<li><strong>AM/PM</strong></li>
<li><strong>Sonido mp3</strong> cuando suena la alarma.</li>
</ul>
<h2>Funcionamiento</h2>
<ol>
<li>Extraeis la descarga.</li>
<li>Cuando arranque el homebrew vereis como se pone a la hora actual de vuestra <strong>zona horaria.</strong></li>
<li>Si clickeais el Gatillo R se os activará el <strong>modo alarma</strong>.</li>
</ol>
<h2>Funcionamiento de la alarma</h2>
<ol>
<li>Clickeais el Gatillo R y os saldra los numeros de <strong>color rojo.</strong></li>
<li>Ahora con el Pad Digital arriba/abajo poneis la hora que quereis.</li>
<li>Para ser más precisos a la hora de poner la alarma mantener pulsado el Triángulo cuando estéis cambiando <strong>la hora de la alarma</strong>.</li>
<li>Cuando acabeis de poner la hora de la alarma <strong>clickeais el Círculo</strong>.</li>
<li>Para que se os active la alarma pulsais Start y la psp se pondra en modo de espera hasta que suene la alarma.</li>
</ol>
<h2>Como cambiar el sonido mp3 de la alarma</h2>
<p>Solamente teneis que coger vuestro sonido mp3 y ponerlo en la carpeta del homebrew con el nombre de "<strong><em>Alarm.mp3".</em></strong></p>
<h2>Controles</h2>
<p><strong><em><span style="text-decoration:underline;">Reloj</span></em></strong>(Sin alarma programada)</p>
<ul>
<li><strong>Pad Digital derecho: </strong>Parar unos segundos el reloj. Es un bug poco importante.</li>
<li><strong>Gatillo R: </strong>Modo Alarma.</li>
<li><strong>Triángulo: </strong>Milisegundos<strong>.</strong></li>
</ul>
<p><strong><em><span style="text-decoration:underline;">Alarma</span></em></strong>(Modo alarma)</p>
<ul>
<li><strong>Gatillo L: </strong>Volver al reloj.</li>
<li><strong>Pad Digital: </strong>Modificar la hora.</li>
<li><strong>O: </strong>Aceptar la hora de la alarma.</li>
<li><strong>Cuadrado: </strong>Para saber la hora actual.</li>
<li><strong>Triángulo: </strong>Con el Pad Digital más el Tríangulo el tiempo va minuto por minuto.</li>
</ul>
<p><img src="http://img241.imageshack.us/img241/5466/psphardwarealarminterfale6.jpg" alt="" /></p>
<p><a href="http://www.adrive.com/public/92e4e47336dace2aac47cf33320ecb5e5ba9953b38da3f78d2b748e46ebea787.html"><img src="http://img123.imageshack.us/img123/6750/igcg0mau6.gif" alt="" /></a></p>
<p><a href="http://www.adrive.com/public/92e4e47336dace2aac47cf33320ecb5e5ba9953b38da3f78d2b748e46ebea787.html"><br />
</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[iPhoneStimulator]]></title>
<link>http://pspmax.wordpress.com/?p=278</link>
<pubDate>Fri, 20 Jun 2008 16:49:52 +0000</pubDate>
<dc:creator>hectok</dc:creator>
<guid>http://pspmax.wordpress.com/?p=278</guid>
<description><![CDATA[Si no quieres comprarte el iPhone pero te gustan sus aplicaciones solo tienes que meterte en tu psp ]]></description>
<content:encoded><![CDATA[<p><img src="http://img55.imageshack.us/img55/4664/icon0ipstimulatorvt2jg5.png" alt="" />Si no quieres comprarte el iPhone pero te gustan sus aplicaciones solo tienes que meterte en tu psp este magnífico homebrew que simula el software del iPhone. Este homebrew cuenta con nuevas funciones que no trae el iPhone de apple.Además este homebrew demuestra que los gráficos de juegos programados en lua son fantásticos y prometen mucho.</p>
<div>
<h2><!--more--></h2>
<h2>Caracteristicas:</h2>
</div>
<div>Este homebrew tiene muchas <strong>funciones</strong> y nos servira para muchas cosas. En este homebrew podemos:</div>
<div>
<ul>
<li>Abrir <strong>el navegador de internet</strong></li>
<li>Reproducir <strong>musica mp3 y ogg</strong> mostrando en la pantalla el<strong> titulo, el cantante y el albun de la cancion</strong></li>
<li>Ejecutar un<strong> UMD</strong></li>
<li>Ejecutar un <strong>ISO/CSO</strong></li>
<li>Hacer una copia de seguridad del <strong>UMD</strong></li>
<li>Usar una <strong>calculadora</strong></li>
<li><strong>Escribir y leer</strong> archivos en <strong>lua</strong></li>
<li><strong>Extraer</strong> archivos en <strong>zip</strong></li>
<li><strong>Ejecutar</strong> un archivo en <strong>PBP</strong></li>
<li><strong>Ejecutar</strong> un archivo en <strong>ELF</strong></li>
<li>Abrir <strong>el explorador de directorios</strong></li>
<li><strong>Copiar/Pegar/Eliminar/Renombrar</strong> archivos</li>
<li>Ver fotos en <strong>jpg y png</strong></li>
<li>Tambien podemos <strong>cambiar</strong> el fondo <strong>pantalla y el cursor</strong></li>
</ul>
<h2>Controles:</h2>
<ul>
<li><strong>Pad analogico:</strong> Mover el cursor</li>
<li><strong>Pad digital:</strong> Moverse (Cuando estamos en un menu)</li>
<li><strong>X:</strong> Selecionar</li>
</ul>
</div>
<div>
<p><img src="http://img114.imageshack.us/img114/2971/capturaiphonestimulatorsq9.jpg" alt="" /></p>
<p><a href="http://www.adrive.com/public/c232a7eb301cadd6e725e1bf0f7164cb606eccade1ba630fd082f66f130a04ce.html"><img src="http://img123.imageshack.us/img123/6750/igcg0mau6.gif" alt="" /></a></div>
]]></content:encoded>
</item>
<item>
<title><![CDATA[¿Qué es... el Software?]]></title>
<link>http://tigerfenix.wordpress.com/?p=315</link>
<pubDate>Thu, 19 Jun 2008 04:31:45 +0000</pubDate>
<dc:creator>Tiger Fénix</dc:creator>
<guid>http://tigerfenix.wordpress.com/?p=315</guid>
<description><![CDATA[
Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociad]]></description>
<content:encoded><![CDATA[<p><a href="http://tigerfenix.files.wordpress.com/2008/06/debian4.png"><img class="alignnone size-medium wp-image-316" src="http://tigerfenix.wordpress.com/files/2008/06/debian4.png?w=300" alt="Se pueden ver varios software abiertos en sus respectivas ventanas" width="300" height="225" /></a></p>
<blockquote><p><em>Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones de un sistema de computación. </em><span style="color:#999999;"><br />
Extraído del estándar 729 del <a title="IEEE" href="http://es.wikipedia.org/wiki/IEEE">IEEE</a>.</span></p></blockquote>
<p>Se refiere al <strong>equipamiento lógico</strong> o <strong>soporte lógico</strong> de un computador digital, comprende el conjunto de los componentes lógicos necesarios para hacer posible la realización de una tarea específica, en contraposición a los componentes físicos del sistema (<a title="Hardware" href="http://es.wikipedia.org/wiki/Hardware">hardware</a>).</p>
<p><!--more--><span style="color:#ff9900;"><strong>Etimología. </strong></span>Es una palabra proveniente del <a title="Idioma inglés" href="http://es.wikipedia.org/wiki/Idioma_ingl%C3%A9s">inglés</a> (literalmente: partes blandas o suaves) que en nuestro idioma no posee una traducción adecuada al contexto, por lo cual se la utiliza asiduamente sin traducir y fue adoptada por la <a href="http://es.wikipedia.org/wiki/RAE" target="_blank">RAE</a>.</p>
<p>El término «software» fue usado por primera vez en este sentido por <a title="John W. Tukey" href="http://es.wikipedia.org/wiki/John_W._Tukey">John W. Tukey</a> en <a title="1957" href="http://es.wikipedia.org/wiki/1957">1957</a>. En las <a title="Ciencias de la computación" href="http://es.wikipedia.org/wiki/Ciencias_de_la_computaci%C3%B3n">ciencias de la computación</a> y la <a title="Ingenier�a de software" href="http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_software">ingeniería de software</a>, el software es toda la <a title="Información" href="http://es.wikipedia.org/wiki/Informaci%C3%B3n">información</a> procesada por los <a title="Sistema informático" href="http://es.wikipedia.org/wiki/Sistema_inform%C3%A1tico">sistemas informáticos</a>: programas y <a title="Dato" href="http://es.wikipedia.org/wiki/Dato">datos</a>. El concepto de leer diferentes secuencias de instrucciones desde la <a class="mw-redirect" title="Memoria de computadora" href="http://es.wikipedia.org/wiki/Memoria_de_computadora">memoria</a> de un dispositivo para controlar los cálculos fue introducido por <a title="Charles Babbage" href="http://es.wikipedia.org/wiki/Charles_Babbage">Charles Babbage</a> como parte de su <a title="Máquina diferencial" href="http://es.wikipedia.org/wiki/M%C3%A1quina_diferencial">máquina diferencial</a>. La teoría que forma la base de la mayor parte del software moderno fue propuesta por vez primera por <a title="Alan Turing" href="http://es.wikipedia.org/wiki/Alan_Turing">Alan Turing</a> en su ensayo de 1936, "Los números computables", con una aplicación al problema de decisión.</p>
<p><span style="color:#ff9900;"><strong>Clasificación. </strong></span>Si bien esta distinción es, en cierto modo, arbitraria, y a veces confusa, se puede clasificar al software de la siguiente forma:</p>
<ul>
<li><strong><a title="Software de sistema" href="http://es.wikipedia.org/wiki/Software_de_sistema">Software de sistema</a>:</strong> Es aquel que permite que el hardware funcione. Su objetivo es desvincular adecuadamente al programador de los detalles del computador en particular que se use, aislándolo especialmente del procesamiento referido a las características internas de: memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc. El software de sistema le procura al usuario y programador adecuadas interfases de alto nivel y utilidades de apoyo que permiten su mantenimiento. Incluye entre otros:
<ul>
<li><a title="Sistema operativo" href="http://es.wikipedia.org/wiki/Sistema_operativo">Sistemas operativos</a></li>
<li><a title="Controlador de dispositivo" href="http://es.wikipedia.org/wiki/Controlador_de_dispositivo">Controladores de dispositivo</a></li>
<li><a title="Herramienta de diagnóstico" href="http://es.wikipedia.org/wiki/Herramienta_de_diagn%C3%B3stico">Herramientas de diagnóstico</a></li>
<li>Herramientas de Corrección y Optimización</li>
<li><a class="mw-redirect" title="Servidor informático" href="http://es.wikipedia.org/wiki/Servidor_inform%C3%A1tico">Servidores</a></li>
<li><a title="Utilidad (informática)" href="http://es.wikipedia.org/wiki/Utilidad_%28inform%C3%A1tica%29">Utilidades</a></li>
</ul>
</li>
<li><strong><a class="mw-redirect" title="Software de programación" href="http://es.wikipedia.org/wiki/Software_de_programaci%C3%B3n">Software de programación</a>:</strong> Es el conjunto de herramientas que permiten al <a title="Programador" href="http://es.wikipedia.org/wiki/Programador">programador</a> desarrollar programas informáticos, usando diferentes alternativas y <a title="Lenguaje de programación" href="http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n">lenguajes de programación</a>, de una manera práctica. Incluye entre otros:
<ul>
<li><a title="Editor de texto" href="http://es.wikipedia.org/wiki/Editor_de_texto">Editores de texto</a></li>
<li><a title="Compilador" href="http://es.wikipedia.org/wiki/Compilador">Compiladores</a></li>
<li><a class="mw-redirect" title="Intérprete informático" href="http://es.wikipedia.org/wiki/Int%C3%A9rprete_inform%C3%A1tico">Intérpretes</a></li>
<li><a title="Enlazador" href="http://es.wikipedia.org/wiki/Enlazador">Enlazadores</a></li>
<li><a title="Depurador" href="http://es.wikipedia.org/wiki/Depurador">Depuradores</a></li>
<li>Entornos de Desarrollo Integrados (<a title="IDE" href="http://es.wikipedia.org/wiki/IDE">IDE</a>): Agrupan las anteriores herramientas, usualmente en un entorno visual, de forma que el programador no necesite introducir múltiples <a title="Comando (informática)" href="http://es.wikipedia.org/wiki/Comando_%28inform%C3%A1tica%29">comandos</a> para compilar, interpretar, depurar, etc.. Habitualmente cuentan con una avanzada <a title="Interfaz gráfica de usuario" href="http://es.wikipedia.org/wiki/Interfaz_gr%C3%A1fica_de_usuario">interfaz gráfica de usuario</a> (<a class="mw-redirect" title="GUI" href="http://es.wikipedia.org/wiki/GUI">GUI</a>).</li>
</ul>
</li>
<li><strong><a class="mw-redirect" title="Software de aplicación" href="http://es.wikipedia.org/wiki/Software_de_aplicaci%C3%B3n">Software de aplicación</a></strong>: Aquel que permite a los usuarios llevar a cabo una o varias tareas específicas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios. Incluye entre otros:
<ul>
<li>Aplicaciones de <a title="Control" href="http://es.wikipedia.org/wiki/Control">control</a> y <a class="mw-redirect" title="Automatización" href="http://es.wikipedia.org/wiki/Automatizaci%C3%B3n">automatización</a> <a title="Industria" href="http://es.wikipedia.org/wiki/Industria">industrial</a></li>
<li><a class="mw-redirect" title="Aplicación ofimática" href="http://es.wikipedia.org/wiki/Aplicaci%C3%B3n_ofim%C3%A1tica">Aplicaciones ofimáticas</a></li>
<li><a title="Software educativo" href="http://es.wikipedia.org/wiki/Software_educativo">Software educativo</a></li>
<li><a title="Software médico" href="http://es.wikipedia.org/wiki/Software_m%C3%A9dico">Software médico</a></li>
<li>Software de <a class="mw-redirect" title="Cálculo Numérico" href="http://es.wikipedia.org/wiki/C%C3%A1lculo_Num%C3%A9rico">Cálculo Numérico</a></li>
<li>Software de <a title="Diseño asistido por computador" href="http://es.wikipedia.org/wiki/Dise%C3%B1o_asistido_por_computador">Diseño Asistido</a> (CAD)</li>
<li>Software de Control Numérico (<a title="Fabricación asistida por computadora" href="http://es.wikipedia.org/wiki/Fabricaci%C3%B3n_asistida_por_computadora">CAM</a>)</li>
</ul>
</li>
</ul>
<p><strong>Si quiere aprender aún más lea lo siguiente:<br />
</strong></p>
<ul>
<li><strong><a href="http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_Software" target="_blank">Ingeniería del Software</a></strong></li>
<li><strong><a href="http://es.wikipedia.org/wiki/Aplicaci%C3%B3n_inform%C3%A1tica" target="_blank">Aplicación informática</a></strong></li>
<li><strong><a href="http://es.wikipedia.org/wiki/Programaci%C3%B3n" target="_blank">Programación</a></strong></li>
<li><strong><a href="http://es.wikipedia.org/wiki/Ingenier%C3%ADa_Inform%C3%A1tica" target="_blank">Ingeniería Informática</a></strong></li>
</ul>
<p><strong>Obtenido de: <a href="http://es.wikipedia.org/wiki/Software" target="_blank">Software</a></strong></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Versión en Esperanto de la Wikipedia tendrá más de 100,000 artículos ]]></title>
<link>http://esperantocl.wordpress.com/?p=270</link>
<pubDate>Wed, 18 Jun 2008 03:31:26 +0000</pubDate>
<dc:creator>chespa</dc:creator>
<guid>http://esperantocl.wordpress.com/?p=270</guid>
<description><![CDATA[Se espera que para el próximo 16 de junio la versión en Esperanto de la Wikipedia tendrá más de ]]></description>
<content:encoded><![CDATA[<p style="text-align:justify;"><strong></strong>Se espera que para el próximo 16 de junio la versión en Esperanto de la Wikipedia tendrá más de 100,000 artículos. Gracias a eso se prevé que el idioma internacional Esperanto será la vigésima lengua que alcanza tal magnitud. Diariamente a la Wikipedia en Esperanto (<a href="http://eo.wikipedia.org/" target="_blank">http://eo.wikipedia.org</a>) se agregan en promedio 40 artículos y algunos cientos mas se actualizan y se amplían. Los colaboradores de esta versión de la Wikipedia pertenecen a decenas de naciones, de esta manera es posible concentrar el conocimiento de las más diversas culturas del mundo en un solo lugar.<br />
En total la versión en Esperanto de la enciclopedia contiene alrededor de 19 millones de palabras, en promedio 190 palabras o 20 líneas de texto por artículo. Colocando 600 palabras sobre una página impresa se tendrían 30,000 páginas o 100 volúmenes de 300 páginas. Algunos artículos constan de tan solo una frase. Otros, como el artículo sobre delfines <a href="http://eo.wikipedia.org/wiki/delfenoj" target="_blank">http://eo.wikipedia.org/wiki/delfenoj</a> o sobre El Muro de Berlín <a href="http://eo.wikipedia.org/wiki/berlina_muro" target="_blank">http://eo.wikipedia.org/wiki/berlina_muro</a>, contienen una presentación detallada sobre un tema definido.<br />
Con el vigésimo lugar alcanzado en la Wikipedia el idioma Esperanto confirma su posición entre las lenguas más utilizadas internacionalmente. El idioma Esperanto es una de las nueve lenguas en que el Centro Chino de Información por Internet <a href="http://esperanto.china.org.cn/" target="_blank">http://esperanto.china.org.cn</a> publica sus noticias. El buscador de Google <a href="http://www.google.com/intl/eo/" target="_blank">http://www.google.com/intl/eo/</a> entre sus 42 lenguas ofrece búsquedas en Esperanto <a href="http://www.google.de/preferences?hl=eo" target="_blank">http://www.google.de/preferences?hl=eo</a>. La versión española de la Wikipedia tiene actualmente alrededor de 370,000 artículos.<br />
Aunque el primer libro para aprender Esperanto se editó en 1887, hace tan solo 121 años, la lengua actualmente es hablada por personas de más de cien países en el mundo. Hoy ocupa uno de los primeros lugares como lengua internacionalmente hablada por lo que se le puede llamar "la lengua de mayor avance del siglo veinte". Ninguna otra lengua, de las 6,000 que se hablan en el mundo, pudo mejorar su posición en tan solo un siglo desde el último lugar hasta estar entre las 50 más ampliamente habladas.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Syscalls en Linux]]></title>
<link>http://julianrdz.wordpress.com/?p=186</link>
<pubDate>Mon, 16 Jun 2008 01:43:03 +0000</pubDate>
<dc:creator>Julián Rodríguez</dc:creator>
<guid>http://julianrdz.wordpress.com/?p=186</guid>
<description><![CDATA[Via: Kernel-Labs
En este artículo vamos a estudiar cómo añadir una llamada al sistema, system cal]]></description>
<content:encoded><![CDATA[<p>Via: <a href="http://www.kernel-labs.org/?q=syscalls" target="_blank">Kernel-Labs</a></p>
<p>En este artículo vamos a estudiar cómo añadir una llamada al sistema, system call, a nuestro sistema operativo. Es una práctica bastante usada en las aproximaciones a la codificación del kernel Linux y bastante documentada, por ello, es obligado dar un repaso a todos estos conceptos. Entender el mecanismo de llamadas al sistema es una buena base para entender la filosofía de funcionamiento de un sistema Unix.<br />
<b>Syscalls</b><br />
Los sistemas Unix, tradicionalmente proporcionan un interface para que las aplicaciones de espacio de usuario puedan comunicarse con el hardware. Esta interface son las system calls, conocidas en Linux simplemente como syscalls. Mediante estas llamadas, las aplicaciones podrán pedir al sistema operativo que realice tareas en su nombre. Por ejemplo, la función open() emitida por un proceso de usuario, estará indicando al kernel que abra algún fichero, el kernel que es el único con potestad para acceder al hardware (en este caso el disco), realizará la apertura del fichero que la aplicación le haya indicado en sus parámetros, es decir, el kernel se ejecutará en nombre del proceso de usuario, realizando la tarea que le ha sido pedida.</p>
<p>En realidad, las llamadas al sistema son casi el único punto de entrada que tienen los procesos de espacio de usuario al kernel. Es el principal mecanismo de comunicación de las aplicaciones con el kernel.<br />
<b>El puente API/syscall</b><br />
Para que nuestra aplicación de espacio de usuario pueda emitir una syscall, es necesario poder realizar la llamada mediante un API que alguien nos proporcione. Este API lo proporciona la librería estándar de C de nuestro sistema, la libc o glibc en el caso de Linux. Una de las APIs más comunes del mundo Unix es la basada en el estándar POSIX. Este estándar aglutina un conjunto de estándares o recomendaciones del instituto IEEE, que intentan definir la base para la realización de sistemas operativos abiertos basados en Unix. Linux es considerado compatible POSIX, e intenta ajustarse al estándar SUSv3 (Single UNIX Specification Version 3 o UNIX 03) cuando es aplicable.</p>
<p>En la siguiente figura podemos ver la relación existente entre las aplicaciones, la librería de C y la llamada al kernel.</p>
<p style="text-align:center;"><img class="aligncenter" src="http://julianrdz.wordpress.com/files/2008/06/api_syscall.jpg" alt="" /></p>
<p><!--more--></p>
<p style="text-align:center;">
<p>Hay que decir que el estándar POSIX se refiere a las APIs, no a las syscalls, es decir, define un comportamiento, pero no como lo debe hacer. Un sistema puede ser certificado como compatible POSIX, pues ofrece un apropiado conjunto de APIs a los programas, no importando como las correspondientes funciones han sido implementadas. Desde el punto de vista del programador de aplicaciones, la distinción entre una API y una syscall es irrelevante, lo único que importa es el nombre de la función, los tipos de los parámetros y el valor devuelto.</p>
<p>Por otro lado, también hay que destacar que el estándar POSIX recomienda que exista una correlación uno a uno entre la función de API y la llamada al sistema. Es decir, el API de una syscall debe ser igual al formato usado en la syscall del kernel. Pero no se garantiza que detrás de un API de una syscall se invoque la pertinente syscall, sino que puede que la funcionalidad de la misma se esté proporcionando desde la propia librería de C, sin invocar al kernel o que el resultado sea la combinación de varias syscalls del kernel. Lo ideal, en aras de la eficiencia y velocidad de ejecución es que la syscall exista realmente en el kernel.<br />
<b>System Call Handler</b><br />
Cuando un proceso de espacio usuario invoca una system call, la CPU cambia a modo kernel y empieza la ejecución de la función del kernel invocada, en nombre del proceso. El método usado para invocar al kernel es la emisión de una <strong>interrupción software</strong>: se producirá una excepción y el procesador cambiará a modo kernel ejecutando un manejador de la excepción (exception handler) del kernel. Este manejador de la excepción en realidad es el <strong>System Call Handler</strong>, que es una sección de código en ensamblador, por tanto es dependiente de la arquitectura subyacente.</p>
<p>En la arquitectura 80x86 la emisión de esta interrupción software se puede realizar mediante dos métodos que comentaremos más adelante: instrucción <strong>int $0x80</strong>, o  una técnica más moderna, instrucción <strong>sysenter</strong>.</p>
<p>Puesto que el kernel implementa muchas syscalls diferentes, el proceso de espacio de usuario debe indicar mediante el paso de un parámetro el <strong>syscall number</strong>, que es un número que identifica unívocamente a la syscall requerida. El syscall number es importante, cuando se asigna un número a una syscall en el kernel, este número no puede ser cambiado en un futuro, si no las aplicaciones compiladas ya existentes fallarán, llamarán a otra syscall no deseada. Por tanto cuando una syscall es eliminada del kernel, su syscall number no puede ser reciclado, sino que se le asigna una syscall especial <strong>sys_ni_syscall()</strong>, que devuelve un valor <strong>-ENOSYS</strong>, indicando que la syscall invocada no está implementada. Por otro lado hay que advertir, que raramente una syscall es eliminada del kernel.</p>
<p>Todas las syscalls devuelven un valor entero como valor de retorno. Las convenciones para este valor pueden variar, pero generalmente, en el kernel un valor positivo o 0 denota éxito en la ejecución de la syscall. Mientras que negativo denota un error ocurrido en la ejecución de la syscall. Cuando se produce un error, el valor devuelto es un código de error en negativo que debe ser devuelto al programa de aplicación en la variable global de espacio de usuario <strong>errno</strong>; debe encargase de ello la librería de C correspondiente.</p>
<p>El system call handler tiene una estructura similar a otros manejadores de excepciones, desarrolla las siguientes operaciones:</p>
<ul>
<li>Guarda el contenido de la mayoría de los registros en la pila del kernel (kernel stack).</li>
<li>Da servicio a la system call invocando la correspondiente función en C llamada la <strong>system call service routine</strong>.</li>
<li>Cuando termina la rutina de servicio, los registros son recuperados de la kernel stack y la CPU vuelve a ejecutar el kernel, vuelve a modo kernel o el proceso de usuario, modo usuario.</li>
</ul>
<p>El nombre de la rutina de servicio asociada con una determinada system call que emite el programa de usuario, nombre_syscall(), suele denominarse sys_nombre_syscall(). La asociación de cada system call number con su correspondiente rutina de servicio viene controlada por la <strong>system call dispatch table</strong>, la cual está almacenada en el array <strong>sys_call_table</strong>, la cual tiene una entrada por cada llamada al sistema, concretamente <strong>nr_syscalls</strong> entradas. Podemos encontrar tradicionalmente el sys_call_table en el fichero dependiente de arquitectura <code>arch/i386/kernel/entry.S</code>, pero a partir de la versión 2.6.12 del kernel, dicho array ha sido extraído del fichero entry.S e incorporado en un fichero independiente <code>arch/i386/kernel/syscall_table.S</code> (hay que observar que siempre estamos hablando de la arquitectura 80x86).</p>
<div class="codeblock"><code>arch/i386/kernel/entry.S<br />
...<br />
#define nr_syscalls ((syscall_table_size)/4)<br />
...<br />
.section .rodata,"a"<br />
#include "syscall_table.S"</code></p>
<p>syscall_table_size=(.-sys_call_table)</p>
<p>arch/i386/kernel/syscall_table.S<br />
...<br />
ENTRY(sys_call_table)<br />
.long sys_restart_syscall<br />
.long sys_exit<br />
...<br />
.long sys_unshare</p></div>
<p><b>Dos métodos para emitir una syscall</b><br />
Existen dos métodos para la invocación de llamadas al sistema en el kernel Linux.</p>
<ol>
<li>Ejecutando la instrucción en lenguaje ensamblador <strong>int $0x80</strong>. Esta ha sido la única forma de cambiar de modo usuario a modo kernel en Linux en procesadores 80x86.</li>
<li>Con la llegada de los procesadores Intel Pentium II, se introdujo una nueva instrucción especializada para la misma tarea <strong>sysenter</strong>. Esta instrucción es soportada por el kernel Linux a partir de la versión 2.6. No obstante se da soporte a ambos métodos, algo que podrá cambiar en el futuro.</li>
</ol>
<p>De igual forma que existen dos métodos para entrar en modo kernel al invocar una syscall, existen dos métodos para salir de la syscall y retornar al modo usuario de la CPU.</p>
<ol>
<li>La tradicional instrucción ensamblador <strong>iret</strong>.</li>
<li>La nueva instrucción a partir de los Pentium II de Intel <strong>sysexit</strong>.</li>
</ol>
<p>Dejaremos el estudio pormenorizado de estas dos técnicas, para un segundo artículo más centrado en el código ensamblador y la manipulación del vector de interrupción 128, el cual es el system call handler.<br />
<b>Nuestra syscall práctica: runqueue()</b><br />
Pasamos a la parte práctica del artículo. El método para añadir una nueva syscall al kernel Linux es bastante simple y mecánico. No tenemos que preocuparnos por la manipulación o comportamiento del system call handler. La dificultad radica en la implementación del trabajo útil de la syscall, ¿qué puede hacer nuestra syscall?. Puesto que este estudio es puramente didáctico no vamos a preocuparnos mucho por la utilidad de nuestra syscall, pero tampoco vamos a quedarnos con un “hola mundo, soy una syscall”. Proponemos acceder a alguna estructura constituyente de algún sistema importante del kernel y obtener algunos datos con fines estadísticos.</p>
<p>Nuestra syscall accederá a la estructura <strong>runqueue</strong>, como sabremos es la estructura de datos básica del planificador de procesos (scheduler). Esta estructura es definida en <code>kernel/sched.c</code> como se muestra en el cuadro siguiente. La runqueue tiene la lista de procesos en estado “runnable” (listos para ejecución) en un procesador dado, hay una runqueue por cada procesador y cada proceso del sistema estará sólo en una runqueue. Esta estructura mantiene información adicional por cada procesador, la cual será el objetivo de nuestra syscall.</p>
<div class="codeblock"><code><span class="synComment">#include &#60;linux/cpu.h&#62;</span></code></p>
<p>struct runqueue {<br />
spinlock_t      lock; /* spin lock para la protección de la runqueue */<br />
unsigned long   nr_running; /* número de runnable tasks en esta runqueue */<br />
<span class="synComment">#ifdef CONFIG_SMP</span><br />
unsigned long   cpu_load[3];<br />
<span class="synComment">#endif</span><br />
unsigned long   long nr_switches; /* contador de context switchs de este micro */<br />
unsigned long   nr_uninterruptible; /* número de tareas en estado uninterruptible */<br />
unsigned long      expired_timestamp;<br />
unsigned long long timestamp_last_tick;<br />
task_t             *curr, *idle;<br />
struct mm_struct   *prev_mm;<br />
prio_array_t       *active, *expired, arrays[2];<br />
int                best_expired_prio;<br />
atomic_t           nr_iowait;<br />
<span class="synComment">#ifdef CONFIG_SMP</span><br />
struct sched_domain *sd;<br />
int active_balance;<br />
int push_cpu;<br />
task_t *migration_thread;<br />
struct list_head migration_queue;<br />
<span class="synComment">#endif</span><br />
<span class="synComment">#ifdef CONFIG_SCHEDSTATS</span><br />
struct sched_info rq_sched_info;</p>
<p>unsigned long yld_exp_empty;<br />
unsigned long yld_act_empty;<br />
unsigned long yld_both_empty;<br />
unsigned long yld_cnt;<br />
unsigned long sched_switch;<br />
unsigned long sched_cnt;<br />
unsigned long sched_goidle;<br />
unsigned long ttwu_cnt;<br />
unsigned long ttwu_local;<br />
<span class="synComment">#endif</span><br />
};</div>
<p>Vamos a intentar acceder con nuestra llamada al sistema a tres sencillos datos almacenados en los campos de la estructura runqueue:</p>
<ul>
<li>nr_running: contiene el número de tareas en estado de ejecución para este procesador, es decir, tareas en estado TASK_RUNNING.</li>
<li>expired_timestamp: timestamp del último cambio del active array y expired array. En scheduler del kernel 2.6 mantiene una array de procesos en estado TASK_RUNNING que cuando consumen su timeslice pasan a otro array idéntico de tareas expiradas. Cuando terminan todas las tareas su timeslice, se cambia el array de tareas expiradas y pasa a ser el array de tareas activas.</li>
<li>nr_uninterruptible: número de tareas en estado no interrumpible, TASK_UNINTERRUMPIBLE. Es decir, tareas esperando por un evento de entrada/salida no activables por la llegada de una señal</li>
</ul>
<p>Por tanto al utilizar nuestra llamada al sistema, que denominaremos a partir de este momento <strong>runqueue()</strong>, obtendremos los datos antes comentados del espacio kernel al espacio de usuario de nuestra aplicación. Implementamos la syscall runqueue() en la próxima sección.</p>
<h1>Pasos para la implementación de la nueva syscall</h1>
<p>El registro en el kernel de nuestra syscall como si fuera una syscall oficial es trivial, los pasos a seguir son los siguientes:</p>
<ol>
<li>El primer paso a dar es añadir una entrada al final de la tabla de llamadas al sistema, syscall table. Esto debería de ser hecho en cada syscall table de cada arquitectura que soporte nuestra syscall, en la práctica real se intenta que todas las arquitecturas soporten todas las syscalls. En nuestro ejemplo, vamos a dar soporte para nuestra syscall sólo a la arquitectura 80x86, para simplificar. Añadimos por tanto al final del fichero kernel/syscall_table.S nuestra nueva syscall, nótese que usamos la nomenclatura oficial para denominar la syscall, esto es, el nombre de la syscall precedido con el prefijo sys_.
<div class="codeblock"><code>arch/i386/kernel/syscall_table.S<br />
...<br />
ENTRY(sys_call_table)<br />
.long sys_restart_syscall<br />
.long sys_exit<br />
...<br />
.long sys_unshare<br />
.long sys_runqueue<br />
</code></div>
</li>
<li> El segundo paso a dar, es identificar nuestra syscall por un número único, el syscall number. Para ello incrementaremos en uno el número de la última syscall disponible en el kernel sobre el que estamos trabajando. Estos números se encuentran definidos en los ficheros, por cada arquitectura, <code>asm/unistd.h</code>. Observesé que también tenemos que incrementar en uno la macro que mantiene el número total de syscall disponibles NR_syscalls.
<div class="codeblock"><code>...<br />
<span class="synComment">#define __NR_ppoll    309</span><br />
<span class="synComment">#define __NR_unshare  310</span><br />
<span class="synComment">#define __NR_runqueue 311</span></code></p>
<p><span class="synComment">#define NR_syscalls   312</span><br />
...</div>
</li>
<li>El último paso es incluir el código de nuestra syscall en algún punto del árbol de fuentes ya sea añadiendo un nuevo fichero al conjunto del kernel o incluyendo nuestra implementación en algún fichero ya existente. La primera opción obligará a modificar los makefiles del kernel para incluir el nuevo fichero fuente. Lo más habitual será añadir el código de nuestra syscall en algún punto del código ya existente. Esta segunda opción es la que decidimos, pero ¿dónde colocamos nuestro código?</li>
</ol>
<p>Existe un fichero donde se almacena un buen conjunto de syscalls generales, <code>kernel/sys.c</code>, es un buen sitio si no sabemos donde colocar el código. Pero, observando el código del kernel vemos que la implementación de las syscall está repartida por todo el árbol, generalmente porque la syscall pertinente accede a recursos del código únicamente accesibles en ese punto. En nuestro ejemplo, el sentido común nos indica que sería un buen sitio para implementar la syscall runqueue() en el fichero <code>kernel/sched.c</code>, donde podemos acceder a la estructura que nos interesa con facilidad, en este mismo fichero se implementan otra syscalls relacionadas con el planificador de CPU, luego vamos por buen camino.</p>
<p>El siguiente cuadro muestra la implementación de nuestra syscall runqueue() que comentaremos a continuación.</p>
<div class="codeblock"><code><span class="synComment">/*</span><br />
<span class="synComment"> * sys_runqueue - Devuelve tres valores de la estructura runqueue.</span><br />
<span class="synComment"> */</span><br />
asmlinkage <span class="synType">long</span> sys_runqueue(<span class="synType">unsigned</span> <span class="synType">long</span> *ubuff, <span class="synType">long</span> len)<br />
{<br />
<span class="synType">struct</span> runqueue *rq;<br />
<span class="synType">unsigned</span> <span class="synType">long</span> flags;<br />
<span class="synType">unsigned</span> <span class="synType">long</span> kbuff[<span class="synConstant">3</span>];</code></p>
<p><span class="synComment">/*</span><br />
<span class="synComment"> * Si el buffer size del usuario</span><br />
<span class="synComment"> * es distinto al nuestro devolvemos error.</span><br />
<span class="synComment"> */</span><br />
<span class="synStatement">if</span> (len != <span class="synStatement">sizeof</span>(kbuff))<br />
<span class="synStatement">return</span> -<span class="synConstant">EINVAL</span>;</p>
<p><span class="synComment">/*</span><br />
<span class="synComment"> * Delimitamos la region critica para</span><br />
<span class="synComment"> * acceder al recurso compartido.</span><br />
<span class="synComment"> */</span><br />
rq = task_rq_lock(current, &#38;flags);</p>
<p>kbuff[<span class="synConstant">0</span>] = rq-&#62;nr_running;<br />
kbuff[<span class="synConstant">1</span>] = rq-&#62;expired_timestamp;<br />
kbuff[<span class="synConstant">2</span>] = rq-&#62;nr_uninterruptible;</p>
<p>task_rq_unlock(rq, &#38;flags);</p>
<p><span class="synStatement">if</span> (copy_to_user(ubuff, &#38;kbuff, len))<br />
<span class="synStatement">return</span> -<span class="synConstant">EFAULT</span>;</p>
<p><span class="synStatement">return</span> len;<br />
}</div>
<p><strong>Declaración de la función</strong>: las syscalls deben declararse usando una extensión del compilador gcc definida en la macro <code>asmlinkage</code>.</p>
<div class="codeblock"><code>asmlinkage long sys_runqueue(unsigned long *ubuff, unsigned long len)<br />
{<br />
...<br />
}<br />
</code></div>
<p>Esta macro se define en <code>include/asm-i386/linkage.h</code> como:</p>
<div class="codeblock"><code><span class="synComment">#define asmlinkage CPP_ASMLINKAGE __attribute__((regparm(0)))</span><br />
</code></div>
<p><code>__attribute__regparm(0)</code>, básicamente se indica al compilador que la función busque sus parámetros en la pila, pues puede ocurrir que el compilador use registros para el paso de parámetros a funciones en algunas optimizaciones. Cuando se invoca a la syscall desde el espacio de usuario, los parámetros para dicha syscall se colocan en registros y se invoca la interrupción 0x80. El control pasa entonces a system_call en <code>entry.S</code>, cuya primera tarea es salvar los registros en la pila del kernel con la macro SAVE_ALL, más tarde invoca la función del kernel que implementa la syscall, la función sys_, a esta función con asmlinkage se le indica que busque los parámetros en la stack kernel, donde los encontrará.</p>
<p><strong>Control de parámetros</strong>: es importante que nuestra syscall compruebe adecuadamente los parámetros llegados antes de satisfacer la petición del proceso de usuario. Esta comprobación puede ser de diversa índole, desde asegurarse de que el proceso tiene permisos para realizar lo que quiere (generalmente usando las capabilities), hasta comprobar si el dato recibido es correcto (si es un PID válido, un descriptor de fichero correcto, ...). Este control por tanto puede variar. Por otro lado, un control que se hace estrictamente obligatorio es controlar los punteros (direcciones de memoria) que el usuario proporciona. Si el usuario proporciona un puntero a un buffer de espacio de usuario para copiar datos en él, debemos asegurarnos de que esa dirección es válida, puesto que el kernel puede acceder a cualquier dirección podríamos estar escribiendo o leyendo datos sensibles del sistema, haciéndolos accesibles al proceso de usuario.</p>
<p>Los controles que se deben tener en cuenta son:</p>
<ol>
<li>Verificar que la dirección proporcionada por el proceso de usuario pertenece al espacio de direcciones del proceso de usuario, no pertenece al espacio de direcciones del kernel o el espacio de direcciones de otro proceso.</li>
<li>Comprobar que la región de memoria (VMA) a la que apunta tiene los apropiados derechos de acceso, es decir, si se quiere leer en ella esté marcada para lectura, etc.</li>
</ol>
<p>Puesto que el trasiego de datos entre el espacio kernel y el espacio usuario es común en drivers y llamadas al sistema, el kernel proporciona dos APIs para enviar datos en ambos sentidos: copy_to_user() y copy_from_user(). Estas macros realizan los controles pertinentes de la dirección de espacio usuario proporcionada.</p>
<p>En nuestra syscall, sys_runqueue(), realizamos dos controles. Uno para determinar que el tamaño del buffer proporcionado por el proceso de usuario es igual al tamaño de nuestro buffer y el otro control lo realiza la macro copy_to_user() como hemos explicado.</p>
<div class="codeblock"><code>copy_to_user(ubuff, &#38;kbuff, len)<br />
</code></div>
<p><strong>Bloqueo del recurso</strong>: es importante destacar en el código que hemos bloqueado la estructura runqueue antes de acceder a ella, para ello hemos usado funciones que nos proporciona el propio código del planificador. Es común y necesario conseguir acceso exclusivo a este tipo de recursos, pues son compartidos por muchas partes del sistema y tenemos que mantenerlos consistentes. En especial, puesto que las syscall son interrumpibles, tenemos que tener mucho cuidado a la hora de acceder a este tipo de recursos.<br />
<b>El último paso</b><br />
Una vez implementada nuestra flamante syscall sólo nos queda hacer uso de ella. Como ya hemos comentado el acceso a las llamadas al sistema desde un programa de usuario se realiza mediante el puente que nos proporciona la librería estándar de C. Existirá una función de librería por cada correspondiente syscall del kernel, pero obviamente no existirá una función de librería que de soporte a nuestra nueva syscall. Esta situación está prevista proporcionándose un conjunto de macros que nos permiten acceder a cualquier syscall, son los macros conocidos como <strong>_syscalln()</strong>, donde “n” es un entero entre 0 y 6. El número corresponde con el número de parámetros pasados a la syscall. Más específicamente la macro espera el tipo devuelto por la syscall, el nombre de la syscall y el tipo y nombres de las variables parámetros de la syscall.</p>
<p>De esta forma, la syscall open() podría invocarse con estas dos sentencias:</p>
<div class="codeblock"><code><span class="synComment">#define __NR_open 5</span><br />
_syscall3(long, open, const char *, filename, int, flags, int, mode);<br />
</code></div>
<p>Nuestra syscall runqueue() debería ser invocada con:</p>
<div class="codeblock"><code><span class="synComment">#define __NR_runqueue 311</span><br />
_syscall2(long, runqueue, unsigned long *, dst, long, len);<br />
</code></div>
<p>El código completo del proceso de espacio usuario podría ser:</p>
<div class="codeblock"><code><span class="synComment">/*</span><br />
<span class="synComment"> * test_sys_runqueue - runqueue() syscall test.</span><br />
<span class="synComment"> *</span><br />
<span class="synComment"> * 2006 kernel-labs.org Team.</span><br />
<span class="synComment"> */</span><br />
<span class="synPreProc">#include </span><span class="synConstant">&#60;stdio.h&#62;</span><br />
<span class="synPreProc">#include </span><span class="synConstant">&#60;errno.h&#62;</span><br />
<span class="synPreProc">#include </span><span class="synConstant">&#60;sys/syscall.h&#62;</span><br />
<span class="synPreProc">#include </span><span class="synConstant">&#60;unistd.h&#62;</span></code></p>
<p><span class="synPreProc">#define __NR_runqueue </span><span class="synConstant">311</span></p>
<p>_syscall2(<span class="synType">long</span>, runqueue, <span class="synType">unsigned</span> <span class="synType">long</span> *, dst, <span class="synType">long</span>, len);</p>
<p><span class="synType">int</span> main(<span class="synType">int</span> argc, <span class="synType">char</span> **argv)<br />
{<br />
<span class="synType">long</span> ret;<br />
<span class="synType">unsigned</span> <span class="synType">long</span> buf[<span class="synConstant">3</span>];</p>
<p>printf(<span class="synConstant">"invocando syscall ..</span><span class="synSpecial">\n</span><span class="synConstant">"</span>);</p>
<p><span class="synStatement">if</span> ((ret = runqueue(buf, <span class="synStatement">sizeof</span>(buf))) &#60; <span class="synConstant">0</span>){<br />
perror(<span class="synConstant">"ERROR"</span>);<br />
<span class="synStatement">return</span> -<span class="synConstant">1</span>;<br />
}</p>
<p>printf(<span class="synConstant">"runnable tasks      : </span><span class="synSpecial">%lu\n</span><span class="synConstant">"</span>, buf[<span class="synConstant">0</span>]);<br />
printf(<span class="synConstant">"time last array swap: </span><span class="synSpecial">%lu\n</span><span class="synConstant">"</span>, buf[<span class="synConstant">1</span>]);<br />
printf(<span class="synConstant">"uninterruptibles    : </span><span class="synSpecial">%lu\n</span><span class="synConstant">"</span>, buf[<span class="synConstant">2</span>]);</p>
<p><span class="synStatement">return</span> <span class="synConstant">0</span>;<br />
}</div>
<p>Por último presentamos el parche que implementa la syscall aplicado contra un árbol 2.6.16, al estilo habitual en la LKML:</p>
<div class="codeblock"><code>arch/i386/kernel/syscall_table.S &#124;    1<br />
include/asm-i386/unistd.h        &#124;    3 +-<br />
kernel/sched.c                   &#124;   34 +++++++++++++++++++++++++++++<br />
3 files changed, 37 insertions(+), 1 deletion(-)<br />
========================================================================<br />
diff -uprN -X linux-2.6.16-vanilla/Documentation/dontdiff linux-2.6.16-vanilla/arch/i386/kernel/syscall_table.S linux-2.6.16/arch/i386/kernel/syscall_table.S<br />
--- linux-2.6.16-vanilla/arch/i386/kernel/syscall_table.S       2006-03-20 06:53:29.000000000 +0100<br />
+++ linux-2.6.16/arch/i386/kernel/syscall_table.S       2006-04-22 12:31:53.000000000 +0200<br />
@@ -310,3 +310,4 @@ ENTRY(sys_call_table)<br />
.long sys_pselect6<br />
.long sys_ppoll<br />
.long sys_unshare               /* 310 */<br />
+       .long sys_runqueue<br />
diff -uprN -X linux-2.6.16-vanilla/Documentation/dontdiff linux-2.6.16-vanilla/include/asm-i386/unistd.h linux-2.6.16/include/asm-i386/unistd.h<br />
--- linux-2.6.16-vanilla/include/asm-i386/unistd.h      2006-03-20 06:53:29.000000000 +0100<br />
+++ linux-2.6.16/include/asm-i386/unistd.h      2006-04-22 12:33:50.000000000 +0200<br />
@@ -316,8 +316,9 @@<br />
#define __NR_pselect6          308<br />
#define __NR_ppoll             309<br />
#define __NR_unshare           310<br />
+#define __NR_runqueue          311</code></p>
<p>-#define NR_syscalls 311<br />
+#define NR_syscalls 312</p>
<p>/*<br />
* user-visible error numbers are in the range -1 - -128: see<br />
diff -uprN -X linux-2.6.16-vanilla/Documentation/dontdiff linux-2.6.16-vanilla/kernel/sched.c linux-2.6.16/kernel/sched.c<br />
--- linux-2.6.16-vanilla/kernel/sched.c 2006-03-20 06:53:29.000000000 +0100<br />
+++ linux-2.6.16/kernel/sched.c 2006-04-25 20:04:42.000000000 +0200<br />
@@ -6160,3 +6160,37 @@ void set_curr_task(int cpu, task_t *p)<br />
}</p>
<p>#endif<br />
+<br />
+/*<br />
+ * sys_runqueue - Devuelve tres valores de la estructura runqueue.<br />
+ */<br />
+asmlinkage long sys_runqueue(unsigned long *ubuff, long len)<br />
+{<br />
+       struct runqueue *rq;<br />
+       unsigned long flags;<br />
+       unsigned long kbuff[3];<br />
+<br />
+       /*<br />
+        * Si el buffer size del usuario<br />
+        * es distinto al nuestro devolvemos error.<br />
+        */<br />
+       if (len != sizeof(kbuff))<br />
+               return -EINVAL;<br />
+<br />
+       /*<br />
+        * Delimitamos la region critica para<br />
+        * acceder al recurso compartido.<br />
+        */<br />
+       rq = task_rq_lock(current, &#38;flags);<br />
+<br />
+       kbuff[0] = rq-&#62;nr_running;<br />
+       kbuff[1] = rq-&#62;expired_timestamp;<br />
+       kbuff[2] = rq-&#62;nr_uninterruptible;<br />
+<br />
+       task_rq_unlock(rq, &#38;flags);<br />
+<br />
+       if (copy_to_user(ubuff, &#38;kbuff, len))<br />
+               return -EFAULT;<br />
+<br />
+       return len;<br />
+}</p></div>
<p><b>Conclusiones</b><br />
Hemos estudiado someramente la manera de incluir una syscall a nuestro núcleo Linux. El tema tiene mucho contenido y puede ser profundizado hasta muy bajo nivel, por ello la intención es continuar el artículo enfocándolo en el código a bajo nivel (ensamblador) y lograr así realizar pequeños trucos como la intercepción de syscalls o incluso aportar alguna modificación al mecanismo de syscalls.<br />
<b>Referencias</b><br />
[1] “Linux Kernel Development, Second Edition”. Robert Love. 2005 Novell Press.<br />
[2] “Adding A System Call” -  <a href="http://fossil.wpi.edu/docs/howto_add_systemcall.html">http://fossil.wpi.edu/docs/howto_add_systemcall.html</a><br />
[3] “Implementing Linux System Calls” -  <a href="http://www.linuxjournal.com/article/3326">http://www.linuxjournal.com/article/3326</a><br />
[4] “System Calls” -  <a href="http://www.linuxjournal.com/article/1145">http://www.linuxjournal.com/article/1145</a><br />
[5] “Linux System Calls” -  <a href="http://www.linuxjournal.com/article/4048">http://www.linuxjournal.com/article/4048</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[MyPSPMenu]]></title>
<link>http://pspmax.wordpress.com/?p=275</link>
<pubDate>Sun, 15 Jun 2008 16:33:13 +0000</pubDate>
<dc:creator>hectok</dc:creator>
<guid>http://pspmax.wordpress.com/?p=275</guid>
<description><![CDATA[MyPSPMenu es un launcher parecido al iRShell, permite gestionar el contenido de nuestra PSP, cuenta ]]></description>
<content:encoded><![CDATA[<p><a href="http://pspmax.wordpress.com/noticia/mypspmenu"></a><img src="http://img125.imageshack.us/img125/2500/cabeceragenericahomebreiu1.jpg" alt="" />MyPSPMenu es un launcher parecido al iRShell, <strong>permite gestionar el contenido de nuestra PSP</strong>, cuenta con explorador de archivos vía USB (usbhost) y tiene una muy buena interfaz gráfica y <strong>posibilidad de cambiar el skin</strong> muy fácilmente, aunque actualmente viene muy completo, en futuras versiones el autor agregara mas funciones.</p>
<p><!--more--></p>
<hr size="2" />
<h2>Descripción:</h2>
<p>Permite lanzar <strong>UMD, ISOs, y homebrew,</strong> cuenta con un explorador de archivos el cual <strong>permite copiar, pegar, eliminar y renombrar</strong> archivos de la flash0, flash1, UMD (solo permite copiar), ISO, CSO y <strong>manipular archivos vía usbhost, nethost,</strong> también permite crear carpetas y cuenta con un visor de imágenes que <strong>reproduce los formatos GIF,PNG y JPG</strong>, no deben superar las dimensiones 512 x 512 y no debe exceder los 500kb. también <strong>incluye un organizador de archivos</strong> en el cual agregamos accesos directos a nuestros <strong>emuladores, homebrew, juegos PSX o ISOs.</strong></p>
<h2>Errores conocidos:</h2>
<p>El <strong>NetHost</strong> aun no funciona bien</p>
<p><strong>Solo se puede salir de la aplicación apagando la psp en el firmware 3.71M33</strong>. Gracias a Thief96 por dar a conocer este bug</p>
<p><strong>No reproduce UMDs</strong>, se cuelga al intentar reproducirlo</p>
<h2>Controles:</h2>
<ul>
<li><strong>Gatillos L/R:</strong> Desplazarnos por el menú superior</li>
<li><strong>Pad Digital:</strong> Movimiento del selector</li>
<li><strong>X:</strong> Aceptar</li>
<li><strong>O:</strong> Cancelar</li>
<li><strong>Select:</strong> Mostrar ayuda</li>
<li><strong>Home:</strong> Muestra menú para salir de MyPSPMenu, reiniciar o apagar la PSP</li>
</ul>
<h2><a href="http://www.adrive.com/public/a2179077cdf4e999bd704df6b618a32433dd548d01d470ccf452e2712113736f.html"><img src="http://imgcash1.imageshack.us/Himg123/scaled.php?server=123&#38;filename=igcg0mau6.gif&#38;xsize=640&#38;ysize=480" alt="" /></a></h2>
<p>Imágenes:</p>
<p><img src="http://img128.imageshack.us/img128/2102/capturamypspmenureleaseyx4.jpg" alt="" /></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Windows Vista]]></title>
<link>http://pspmax.wordpress.com/?p=247</link>
<pubDate>Sat, 14 Jun 2008 09:37:29 +0000</pubDate>
<dc:creator>hectok</dc:creator>
<guid>http://pspmax.wordpress.com/?p=247</guid>
<description><![CDATA[Hoy os presento otro de los muchos portales que podremos encontrarnos en Intenet para nuesta psp.Est]]></description>
<content:encoded><![CDATA[<p><img src="http://img84.imageshack.us/img84/2596/windowsvistaportalcabezyg2.png" alt="" />Hoy os presento otro de los muchos portales que podremos encontrarnos en Intenet para nuesta psp.Este nuevo portal se nos acerca la apriencia del nuevo Windows Vista.</p>
<h2><!--more--></h2>
<h2>Caracteristicas del portal:</h2>
<ul>
<li>En su primera <strong>version beta</strong> no se puede hacer <strong>mucho</strong>, pero esta es para ver como va a ser la <strong>futura version</strong>, que seguramente gozara de <strong>muchas cosas</strong>, practicamente solo se puede <strong>navegar por el entorno</strong> y <strong>configurarlo</strong>, muy bueno para ser una <strong>version beta inicial.</strong></li>
</ul>
<h2>Instalación:</h2>
<ol>
<li>Copia el contenido de la <strong>descarga</strong> en la raiz de la<strong> Memory Stick.</strong></li>
<li>Ve al navegador de tu PSP y en la opción para escribir direccion, en el teclado virtual pones lo siguiente tal y como se muestra:
<ul>
<li><em><strong>file:/PSP/COMMON/Windows Vista/index.html</strong></em></li>
</ul>
</li>
<li>Disfruta de tu <strong>portal.</strong></li>
</ol>
<h2>Descarga:</h2>
<h2><a href="http://adrive.com/public/f58ca8ea2e0794275bc63bf9187da45be3dd8b29e17accbedb6f7d233131cca3.html"><img src="http://imgcash1.imageshack.us/Himg123/scaled.php?server=123&#38;filename=igcg0mau6.gif&#38;xsize=640&#38;ysize=480" alt="" /></a></h2>
<h2>Imágenes del portal:</h2>
<p><img src="http://img171.imageshack.us/img171/6810/windowsvistaportalbigyp3.png" alt="" /></p>
<p><img src="http://img405.imageshack.us/img405/2706/windowsvistaportalbl2.jpg" alt="" /></p>
<p><img src="http://img262.imageshack.us/img262/9481/windowsvistaportalstep3ek9.jpg" alt="" /></p>
<p><img src="http://img405.imageshack.us/img405/694/windowsvistaportalescrikv4.jpg" alt="" /></p>
<p>Post by :hectok</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[SatFinder Portable]]></title>
<link>http://pspmax.wordpress.com/?p=245</link>
<pubDate>Fri, 13 Jun 2008 17:44:44 +0000</pubDate>
<dc:creator>hectok</dc:creator>
<guid>http://pspmax.wordpress.com/?p=245</guid>
<description><![CDATA[Gracias a Pedro J. (enlace a la Pagina Oficial), podremos utilizar esta aplicacion astronomica cuyo ]]></description>
<content:encoded><![CDATA[<p><img src="http://img146.imageshack.us/img146/3521/satfindercaptminiok0.png" alt="" />Gracias a <strong><a href="http://foros.satfinder.es/" target="_blank">Pedro J.</a></strong> (enlace a la Pagina Oficial), podremos utilizar esta <strong>aplicacion astronomica cuyo cometido principal es</strong> <strong>servir de herramienta para encontrar en el cielo los satélites artificiales</strong> que pueden ser <strong>vistos a simple vista</strong>. Se centra <strong>sobre todo</strong> en <strong>encontrar la Estacion Espacial Internacional (ISS)</strong>. Esta nueva version trae importantes mejoras. Disfrutad de, quiza, el Homebrew mas original que haya pasado por estas paginas, y sin lugar a dudas de lo mejor que se ha programado basandose en LUA HM. Nueva version, ahora <strong>100% funcional con PSP Slim</strong> y con mejoras en el entorno grafico.</p>
<p><!--more--></p>
<h2>Además te permite hacer:</h2>
<ul>
<li><strong>Determinar la posición actual de las estrellas, el sol y la luna</strong> en el cielo. Además la luna se muestra con su fase actual. Servirán de referencia para localizar visualmente los satélites.</li>
<li><strong>Determinar cuando será la próxima vez que se pueda ver</strong> <strong>la</strong> estación espacial internacional <strong>(ISS)</strong> <strong>en tu localidad</strong>.</li>
<li><strong>En una futura version, se añadiran los Planetas del sistema solar.</strong></li>
</ul>
<h2>Dispone de un asistente de voz que te comunica eventos importantes:</h2>
<ul>
<li>Cuando se hace de noche o de dia.</li>
<li>Cuando sale/ se pone el Sol o la Luna.</li>
<li>Cuando aparece un satélite por encima del horizonte y antes no lo había.</li>
<li>Cuando aparece un satélite por encima de los 30º de elevacion y antes no lo había.</li>
<li>Cuando aparece un satélite por encima de los 60º de elevacion y antes no lo había.</li>
<li>Cuando aparece un satélite por encima de los 80º de elevacion y antes no lo había.</li>
<li>Cuando aparece la ISS.</li>
<li>Cuando la ISS alcanza su máxima elevación.</li>
<li>Cuando la ISS desaparece.</li>
<li>Además siempre te dice para que dirección tienes que mirar: N, NE, E, SE ,S ,SW, W, NW.</li>
</ul>
<p><img src="http://img146.imageshack.us/img146/1235/datoshw9.png" alt="" /></p>
<h2>Tendremos tambien las siguientes posibilidades:</h2>
<ul>
<li><strong>Cambiar la localizacion del observador</strong> tanto desde el instalador (se queda permanente), como desde la PSP directamente (pero temporalmente).</li>
<li><strong>Cambiar entre visión diurna y nocturna</strong>.</li>
<li>Cambiar la orientación de la bóveda celeste.</li>
<li>Mostrar el <strong>nombre de las constelaciones</strong>.</li>
<li><strong>Posibilidad de actualizar</strong> por Internet <strong>los ficheros TLE</strong> a través de WiFi.</li>
</ul>
<h2>Controles:</h2>
<p><img src="http://img146.imageshack.us/img146/955/satfindercontroleson9.jpg" alt="" /></p>
<li><strong>Triangulo y Cuadrado: </strong>Para buscar siguientes visualizaciones de la ISS. Pulsar Cuadrado para cancelar la busqueda.</li>
<li><strong>Pad Analogico: </strong>Rotar mapa/Zoom.</li>
<li><strong>Pad Digital Izda y Derecha:<br />
</strong></li>
<li><strong>Pad Digital Arriba y abajo: </strong>Cambiar entre visión diurna y nocturna.</li>
<li><strong>L: </strong>Mostrar Mapamundi.<strong><br />
</strong></li>
<li><strong>R: </strong>Visualizar informacion extra.</li>
<li><strong>X</strong>: Configuracion del detalle del cielo.</li>
<li><strong>Circulo y X: </strong>Mostrar el nombre de las constelaciones.</li>
<li><strong>Select: </strong>Actualización de archivos TLE por WIFI.</li>
<li>
<div><strong>Start: </strong>Cambiar la localizacion del observador.</div>
</li>
<p align="left"><img src="http://img146.imageshack.us/img146/9141/mapamundipz1.png" alt="" /></p>
<p align="left">
<h2>Mejoras version 1.3.1</h2>
<p>En palabras del autor:</p>
<ul>
<li><em>Mejorada la descarga de los ficheros TLE a través de la WIFI. Ahora tarda muchísimo menos.</em></li>
</ul>
<p><em>NOTA IMPORTANTE: Recuerda desinstalar primero la versión anterior, borrando los directorios del programa en el directorio GAME o GAME150. El instalador encontraría las versiones anteriores y no instalará la nueva, quedandose simplemente en actualizar los archivos TLE por internet.</em></p>
<p><em></em></p>
<p><a href="http://adrive.com/public/a3629a2a29aaf82d9322620554fc9cb079aba76867142415a05ad9ade0ce8cbb.html"><img src="http://imgcash1.imageshack.us/Himg123/scaled.php?server=123&#38;filename=igcg0mau6.gif&#38;xsize=640&#38;ysize=480" alt="" width="176" height="57" /></a></p>
<p align="left"><strong>Nota</strong>: Teneis TODA la documentacion y el soporte necesario en la <a href="http://foros.satfinder.es/" target="_blank">pagina oficial</a>.</p>
<p align="left"><strong>Nota del autor</strong>: Cualquier duda o problema que encontreis, por favor, escribidla aqui. Todos sois mis betatesters oficiales. Ademas, podeis ver el seguimiento de la proxima version en la pagina: <strong><a href="http://foros.satfinder.es/" target="_blank">http://foros.satfinder.es/</a></strong>, donde se iran subiendo tutoriales, y donde tendreis acceso a un foro donde recibireis soporte.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[UltraPSARDumper]]></title>
<link>http://pspmax.wordpress.com/?p=242</link>
<pubDate>Fri, 13 Jun 2008 17:07:32 +0000</pubDate>
<dc:creator>hectok</dc:creator>
<guid>http://pspmax.wordpress.com/?p=242</guid>
<description><![CDATA[Traemos en primicia una excelente versión del PSARDumper del coder español Dark_Alex, ésta contie]]></description>
<content:encoded><![CDATA[<p><img src="http://img178.imageshack.us/img178/2843/icon0ultrapsardumperzv3.png" alt="" />Traemos en primicia una excelente versión del <strong>PSARDumper </strong>del coder español <strong>Dark_Alex</strong>, ésta contiene opciones para <strong>dumpuear </strong>y <strong>desencriptar </strong>Custom Firmwares, con la nueva y genial característica de ser 100% <strong>gráfico </strong>e intuitivo. Interesados en la scene no deben perderse este aporte, curiosos tampoco.</p>
<p><!--more--></p>
<p>Autores: <strong>Marce_82</strong> y <strong>The Sixth Halcon</strong></p>
<p><strong>Marce_82</strong> nos vuelve a sorprender, esta vez nos trae una versión mejorada (Eso me lo pude haber ahorrado) del <strong>PSARDumper del Team C+D.</strong></p>
<p>Tiene la capacidad del volcar firmwares <strong>3.9X </strong>en <strong>3 modalidades,</strong> una de ellas es <strong>desencriptados</strong>, todo presentado de una forma inmejorable y relamente sencilla. Una aplicación que permitirá en un futuro la creación de nuevos Custom Firmwares, o por lo menos, facilitar un poco el arduo trabajo que coders desinteresados hace por todos nosotros.</p>
<p><img src="http://img237.imageshack.us/img237/3644/ultrapsardumperdc3.jpg" alt="" /></p>
<h2>Funcionamiento</h2>
<p>Como mencionaba antes, más fácil de usar no se puede, introduce el <strong>EBOOT.PBP</strong> del firmware a tratar en la <strong>raíz </strong>de la Memory Stick. Al iniciar la aplicación reconocerá el Firmware automáticamente, simplemente selecciona cualquier opción y en menos de un minuto tendrás el resultado en<strong> ms0:/PsarDumper/</strong></p>
<p><strong></strong></p>
<p><img src="http://img178.imageshack.us/img178/7748/ultrapsardumper2nr0.jpg" alt="" /></p>
<p>Los controles para esta aplicación son muy simples:</p>
<h2>Controles</h2>
<ul>
<li><strong>Pad Digital:</strong> Navegar por el menú</li>
<li><strong>X:</strong> Seleccionar Opción</li>
</ul>
<p><a href="http://adrive.com/public/780c25399406ab169679822188e4ec64330b563c15061a59e0684cfda97cb793.html"><img src="http://img123.imageshack.us/img123/6750/igcg0mau6.gif" alt="" width="176" height="57" /></a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Music club]]></title>
<link>http://pspmax.wordpress.com/?p=763</link>
<pubDate>Sat, 28 Jun 2008 15:34:40 +0000</pubDate>
<dc:creator>pspmax</dc:creator>
<guid>http://pspmax.wordpress.com/?p=763</guid>
<description><![CDATA[Esta aplicacion , es un karaoke.Si , si habeis oido bién : todo un karaoke.  Soporta sonidos en fo]]></description>
<content:encoded><![CDATA[<p><a href="http://pspmax.files.wordpress.com/2008/06/icon0musicclup.png"><img class="alignnone size-medium wp-image-764" src="http://pspmax.wordpress.com/files/2008/06/icon0musicclup.png?w=111" alt="" width="111" height="76" /></a>Esta aplicacion , es un karaoke.Si , si habeis oido bién : todo un karaoke.  Soporta sonidos en formatos MP3, WMA, APE y OGG y además , podemos pasar nuestras canciónes a "formato karaoke"(.lrk)</p>
<p>El archivo está disponible para desargar en chino y en español (traducción gracias a leuneim)</p>
<h2><a href="http://pspmax.wordpress.com/2008/06/28/como-crear-los-archivos-lrc-para-karaoke/">TUTORIAL</a></h2>
<p><!--more--></p>
<h2>Controles:</h2>
<ul>
<li><strong>X</strong>: Cancelar o Salir.</li>
<li><strong>O</strong>: Aceptar o Entrar.</li>
<li><strong>Cuadrado</strong>: Marcar/Desmarcar.</li>
<li><strong>Start</strong>: Pausa.</li>
<li><strong>Gatillo L</strong>:
<ul>
<li><strong>Mantener pulsado</strong>: Retroceder en la canción.</li>
<li><strong>Pulsado 1 vez</strong>: Volver al principio de la canción.</li>
<li><strong>Pulsado 2 veces seguidas</strong>: Saltar a la canción anterior.</li>
</ul>
</li>
<li><strong>Gatillo R</strong>:
<ul>
<li><strong>Mantener pulsado</strong>: Avanzar en la canción.</li>
<li><strong>Pulsado 1 vez</strong>: Saltar a la canción siguiente</li>
</ul>
</li>
</ul>
<p><a href="http://adrive.com/public/543afc328fc0156de95356f60023d9471e61b612ee79c0c82371f072d273a428.html">para descargar en español , pincha aquí <img class="alignnone size-medium wp-image-765" src="http://pspmax.wordpress.com/files/2008/06/es.gif?w=24" alt="" width="24" height="15" /></a></p>
<p><a href="http://adrive.com/public/6c72f1c8e8405310e7ed713b6ab16d43bbc3527e187dc9817210c641c19fa774.html">para descargar en chino , pincha aquí </a><a href="http://pspmax.files.wordpress.com/2008/06/zh.gif"><img class="alignnone size-medium wp-image-766" src="http://pspmax.wordpress.com/files/2008/06/zh.gif?w=24" alt="" width="24" height="15" /></a></p>
<p><a href="http://pspmax.files.wordpress.com/2008/06/musicclubv15captura.jpg"><img class="alignnone size-medium wp-image-767" src="http://pspmax.wordpress.com/files/2008/06/musicclubv15captura.jpg?w=300" alt="" width="300" height="170" /></a></p>
]]></content:encoded>
</item>

</channel>
</rss>
