User Tag List

Página 1 de 3 123 ÚltimoÚltimo
Resultados 1 al 15 de 34

Tema: TUTORIAL BASICO SCRIPTING PRACTICO para Linux GP2x

  1. #1

    Fecha de ingreso
    Aug 2005
    Ubicación
    Lasarte-Oria
    Mensajes
    2,068
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    1
    Thanked in
    Agradecido 1 vez en 1 post

    TUTORIAL BASICO SCRIPTING PRACTICO para Linux GP2x

    Os dejo un cutre-tutorial que he empezado sobre scripting linux practico para GP2x, para los que les de repelus meterse en ello. Mas que nada porque creo k algun programa k nos de problemas comentados en el tutorial pueden solventarse por uno mismo

    Lo ire ampliando poco a poco

    EDIT: tenia aun sin arrglar lo de los exec :rolleyes: y a ver si saco un poco de tiempo para ampliarlo con alguna "magia" pa la GP2x :D


    TUTORIAL BASICO SCRIPTING PRACTICO para Linux GP2x


    Bueno, a ver si esto le resulta util a alguien. Sobretodo esta orientado a los no-linuxeros, o los poco-linuxeros ;)

    Os presento un pequeño tutorial para poder "interactuar" un poco mas con la GP2x, se trata de como realizar "scripts" que nos faciliten un poco la vida con la consola, incluso solucionar "problemas" con algunos programas y/o juegos. Los "scripts" son ficheros de texto con ordenes para procesar automaticamente, como si los teclearamos nosotros. Efectivamente, es la version Unix de los ficheros .BAT del DOS...

    A nivel de ejecutables, la consola conoce .GPE (ejecutable de juego) y .GPU (utilidad) accesibles cada uno desde su menu correspondiente. Ambos son igual de ejecutables, sean binario o script. La diferencia es que con esto los separamos en dos "clases" y la consola solo ve el adecuado a cada menu. Por tanto, navegando con el lanzador de juegos, solo veremos .GPE, y por el de utilidades, solo veremos .GPU. A nivel practico, podrian ser todos GPE o GPU que los podriamos lanzar siempre desde el menu correspondiente de la consola.

    Me voy a abstraer de todo el rollo de los permisos de Linux de ejecucion, propietarios, etc que no viene al caso...

    1-Scripts y binarios: Matrimonio de conveniencia

    Que diferencia hay entre un ejecutable binario y un ejecutable script? Lo mas evidente, es sobretodo y por regla general, el tamaño... Si habeis mirado el 2xQuake, habreis visto un QUAKEBIN.GPE y un QLAUNCH.GPE, el primero mega y pico y el segundo apenas 1 kilobyte... Si, el QLAUNCH.GPE es un script que lanza el QUAKEBIN.GPE y despues nos devuelve al menu... Podeis abrirlo con el editor de texto que mas rabia os de para verlo (Pero para editarlo, ojo!!! vereis algo mas abajo)

    Porque complicarnos tanto? Porque el ejecutable del QUAKE no puede relanzar el menu de la GP2x por si solo, no es "GP2x friendly". Con esto digo que un ejecutable pensado totalmente para GP2x, deberia ser capaz de relanzar el menu de la consola, cosa que un port directo o un proyecto a medio desarrollar, no hara por si solo nunca si no lo preparamos para ello, sea a nivel de codigo fuente, o con ayuda de un script.

    No "adaptar" supondra que al salir del programa, se queda la consola "frita" y tendremos que apagar y encenderla. Para haceros una idea, es como si sales de un juego en MS-DOS, no tienes teclado y se queda el sistema esperando que le teclees ordenes... Tambien mencionar que si se queda el ultimo frame del juego, es porque ha petado y/o no se ha limpiado el frame buffer (pontalla grafica) y por tanto no hay proceso que toque la matriz de la pantalla, nos da la sensacion de que se ha "colgado" cuando realmente hay un sistema operativo por debajo esperando que le metamos ordenes por un teclado (ejem).

    Aqui es donde nos ayudan los scripts... ejecutando el menu segun la aplicacion (juego, utilidad) se cierre, casque, muera, o salga.




    0.1-Posible editor para Windows:



    Para editar los scripts, desde Linux o MacOsX no tendreis problema, ya que son Unix ambos a la hora de tratar ficheros de texto ASCII, pero en PC tenemos un problema... Los saltos de linea son distintos... Solucion, os adjunto en ZIP el pico, un editor intuitivo de Unix, compilado para consola Windows. Es facilito, podeis asociar las extensiones GPE y GPU al pico en windows, o sino ejecutarlo y dentro pulsais CONTROL+R (abajo en la ayuda pone READ FILE) y CONTROL+T para navegar por los ficheros (El ".." es ir un directorio hacia arriba) e ir a la SD directamente. Una vez seleccionado el fichero, lo editais tan campantes, cuando habeis acabado pulsais CTRL+X y dais a Y para grabar los cambios. CONTROL+K corta una linea (o varias seguidas si dais repetidamente a CTRL+K) y CTRL+U pega la/las linea/lineas. Espero que os funcione bien. Linux puede usar este u otros editores, y el terminal de MacOSx tiene tambien el pico ^^




    1.0-Scripts basicos:


    1.1-Caso sencillo: Ejecutar aplicacion, volver al menu...



    Tenemos por ejemplo el Pong de Andrew Williams, un ejecutable binario llamado PONG.GPE que al darle al start para salir, "cuelga" la consola.

    Si os fijais, hay un ejecutable script PONGLAUNCHER.GPU (si, tendreis que lanzarlo desde el menu de Utilidades) que lanza el juego y al dar a start sale al menu... Veamos como funciona esa "magia"

    -----------------
    #!/bin/sh
    #
    # Change the parameter below for a harder or easier game
    # 1=very easy; 8=very hard
    #
    ./pong.gpe 5
    #
    #Re-load the GP2X menu on exit
    cd /usr/gp2x
    ./gp2xmenu
    -----------------

    Asusta??? Vamos a resumirlo al caso que nos ocupa: lanzar y volver al menu:


    -----------------
    #!/bin/sh
    #
    ./pong.gpe
    #Re-load the GP2X menu on exit
    cd /usr/gp2x
    ./gp2xmenu
    -----------------

    Que tambien funcionara sin problemas. Veamos que hace:

    Las lineas que empiezan por # son comentarios, son ignorados, podemos prescindir de ellas, si bien la primera, #!/bin/sh, suele decir al sistema con que shell hay que ejecutarla (Si, en MS-DOS, de serie solo teniais el COMMAND.COM... En Linux/Unix hay muchas shells: sh, bash csh etc..., cada una con su propia sintaxis)

    El ./pong.gpe lanza el ejecutable binario, el ./ es porque el "." significa "el propio directorio/carpeta en el que estas" por tanto ./pong.gpe es "ejecuta el binario pong.gpe en el mismo directorio/carpeta en el que estas ahora". Siempre se asume el directorio local, el mismo donde se aloja el script.

    El cd /usr/gp2x es un cambiar directorio/carpeta (Usare directorio a partir de ahora) a donde estan los ejecutables de los menus de la consola (Si, eso esta en la memoria NAND)

    El ./gp2xmenu es para lanzar el menu de la consola (Volvemos a nuestro menu, oeeee oeeeee!!!)

    Veis que la cosa entonces se resume a:

    ./pong.gpe Lanza el ejecutable en el mismo directorio del script
    cd /usr/gp2x Nos desplaza al directorio de los menus de la consola
    exec ./gp2xmenu Lanza el menu

    Facil? Espero que si ^^




    1.2-Caso especial 1: Paso de parametros,
    (lo que no puedes hacer desde el JoyPad de tu GP2x)



    En el anterior habeis visto que se lanza un ejecutable, y para volver al menu lo relanzamos desde el script al salir del programa. Pero hemos trabajado sobre el script original simplificado... Al principio os habia puesto el original donde se pasa un numero para ajustar la velocidad del juego:

    # Change the parameter below for a harder or easier game
    # 1=very easy; 8=very hard
    ./pong.gpe 5

    Por tanto, poniendo un numerito al final, del 1 al 8, cambiais la velocidad... es un parametro.

    Cojamos otro de los proyectos existentes para verlo mas claro: El emulador de Sega Master System (Gracias Efegea por el trabajo que te has tomado)

    Tenemos estos ficheros en el directorio (carpeta?) del emulador en la SD:

    sms_dll : Ejecutable binario SIN la extension (no aparece en el lanzador de ejecutables)
    smsplus2x.gpe: Script de lanzamiento del emulador
    rom.sms: Una rom cualquiera del sistema emulado.

    smsplus2x.gpe tiene este contenido:

    -----------------
    ./sms_sdl rom.sms
    cd /usr/gp2x/
    /usr/gp2x/gp2xmenu
    -----------------

    Aqui se lanza el emulador sms_sdl y se le pasa de parametro la ROM del juego correspondiente. Despues hace el clasico ejecutado de vuelta del menu...

    Por tanto, podeis duplicar el smsplus2x.gpe con distitos nombres, y poner en cada uno una ROM distinta, y tener varios lanzadores para cada ROM...

    Asi podeis tener:
    juego1.gpe
    juego2,gpe
    juego3.gpe, cambiando en cada gpe, el rom.sms con el juegox.sms correspondiente

    Es una chapuza pero es la forma de tener mas de 1 rom sin tener que renombrarlas desde el PC...

    Por ciero... os habeis dado cuenta??? sms_sdl .... falta algo... NO TIENE EXTENSION .GPE . Por tanto... No es visible en el lanzador de juegos ni utilidades de la consola, pero sigue siendo ejecutable desde los scripts

    Es un buen sistema para ocultar los ejecutables que NECESITAN parametros (En este caso una ROM) o los que no vuelven al menu por si solo, dejando solo visible el script, anulando la posibilidad de lanzar el binario por accidente y bloquear la consola (y ahorrarnos el apagar y encender)




    1.3-Caso especial 2: Rutas absolutas



    En algunos casos podemos encontrarnos que por el motivo que sea, no se usa la forma de ejecutar "en el mismo directorio que el script", o que el script nos fuerce a instalar el programa en una ubicacion determinada (Raiz de la SD, dentro de una carpeta en la raiz que se debe llamar FULANITO y no otra cosa, etc...). Esto es porque esta hecho con rutas absolutas...

    Ejemplo: 2xQuake1

    Script: QLAUNCH.GPE (Script resumido, luego os explicare porque)

    -----------------
    cd /mnt/sd/quake/
    /mnt/sd/quake/quake.gpe
    cd /usr/gp2x/
    exec /usr/gp2x/gp2xmenu
    -----------------

    Por partes... Linux no tiene "letras de unidad", tiene un sistema de archivos unico llamado "/" y de hay cuelga todo lo demas... Cualquier otra particion/disco, se cuelga de un subdirectorio. Por conveniencia es en /mnt donde van a estar esos directorios del que se accede a cada otro disco/particion. Por tanto, la raiz de la SD, esta en /mnt/sd/. En ese directorio esta todo el contenido de la SD...

    Como veis, este script nos obliga a instalar el juego EN LA RAIZ DE LA SD! Mal no esta, pero quien es un poco quisquilloso querra cambiarlo al directorio juegos y ahi dentro el directorio quake... no? :) Asi no petamos de directorios la raiz de una SD grandota...

    Naaa, es facil... Supongamos el directorio JUEGOS en la raiz de la SD, y dentro el directorio QUAKE... Queda tal que asi:

    -----------------
    cd /mnt/sd/juegos/quake/
    /mnt/sd/juegos/quake/quake.gpe
    cd /usr/gp2x/
    exec /usr/gp2x/gp2xmenu
    -----------------

    Que se podria usar el caso 1.1?? Podria ser, pero el script viene tal que asi, lo mismo nos pasa con el rockdogert o el sopwith_camel, que nos obliga a instalarlo en la raiz de la SD

    Podemos corregir las rutas (forzar otra ubicacion) o reducir el script al caso primero, el sencillo

    -----------------
    ./quake.gpe
    cd /usr/gp2x/
    exec /usr/gp2x/gp2xmenu
    -----------------

    :)

    El quake da mucho jugo con esto de los scripts... es un ejecutable enteramente parametrizable...

    -game MOD Nos permite cargar un MOD del quake (Gente se curro en su dia
    expansiones y/o juegos nuevos)
    -nosound No lo he probado en la GP pero en el PC anulaba el audio
    (Mas F/PS??)
    etc...

    El interesante es el -game MOD, a buscar MODs single-player del quake!!!

    Otra opcion es renombrar el ejecutable BINARIO a quake (sin extension) y editar el script:

    -----------------
    cd /mnt/sd/juegos/quake/
    /mnt/sd/juegos/quake/quake
    cd /usr/gp2x
    exec /usr/gp2x/gp2xmenu
    -----------------
    Por ejemplo.... Asi ocultais el binario que no llega al menu por si mismo...




    1.4-La verdad esta ahi...

    Bueno, la verdad es que os he mentido un poco... Vereis:

    Script real del 2xQuake

    -----------------
    mount /mnt/sd -o remount,sync
    cd /mnt/sd/quake/
    /mnt/sd/quake/quake.gpe
    mount /mnt/sd -o remount,async
    cd /usr/gp2x/
    exec /usr/gp2x/gp2xmenu
    -----------------

    Jarl!!!! y esas dos lineas "MOUNT"???

    Script real del SMS emu de Efegea:

    -----------------
    mount -o remount,sync /mnt/sd
    sync
    ./sms_sdl rom.sms
    cd /usr/gp2x/
    sync
    exec /usr/gp2x/gp2xmenu
    -----------------

    Mas "MOUNT" y.... "SYNC"???? Esto que es? bueno.. Por partes..

    MOUNT es la orden que se usa para "montar" los discos o particiones auxiliares a un directorio del sistema de archivos. Los parametros a groso modo que se observan en estos usos concretos son remount y sync. son para remontar la SD (/mnt/sd) en modo sincrono (Cada escritura se escribe IPSO FACTO, no se cachea en un buffer de memoria para grabar despues). el remount async nos deja la SD como estaba... cacheable la escritura (La verdad es que ahorra intentos de escritura, al grabar varios cambios de golpe)

    SYNC es una orden que se usa para grabar IPSO FACTO los buffers de escritura de disco, en cada disco/particion. Esto es, sincronizar el contenido fisico con el que deberia tener (Pueden haber datos pendientes de escritura al usar modo asincrono)

    Nesitemos o no esas ordenes, estan ahi, y biene bien que sepamos que existen y que hacen... Asi sabremos si sobran, hay que dejarlas o hay que tocarlas... ;)

    1.5- RESUMEN SCRIPT BASICO

    Ahora sabemos:
    -Poner comentarios en los scripts ( #Esto es un comentario )
    -Lanzar un binario y volver al menu, cuando este programa no deberia poder hacerlo, gracias a scripts
    -Lanzar un binario con parametros
    -Multiples scripts para multiples parametros (Roms sin menu selector, Mods de quake, parametros numericos, etc)
    -Entender rutas absolutas (Ubicacion de la SD en el sistema de archivos Linux, /mnt/sd) y cambios de directorio ( cd directorio o cd /dir1/dir2 )
    -No asustarnos con ordenes que aun no conocemos (Mount, y sync en este caso)

    En el siguiente capitulo haremos algunas magias con scripts ;) Espero que este os haya ayudado a solventar algun problemita que os haya dado algun ejecutable de la GP2x ;)
    Archivos adjuntados Archivos adjuntados
    Última edición por KaosOverride; 08/02/2006 a las 17:13

  2. #2

    Fecha de ingreso
    Jun 2004
    Ubicación
    Vivo en el pito foro...
    Mensajes
    20,712
    Mencionado
    70 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    235
    Agradecer Thanks Received 
    770
    Thanked in
    Agradecido 479 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    28
    Aplauso, aplauso!!!!

    (oye y no podrias hacerme tu el examen de scripting de la uni? xD

  3. #3

    Fecha de ingreso
    May 2004
    Ubicación
    Coslada, Madrid
    Mensajes
    13,259
    Mencionado
    3 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    26
    Thanked in
    Agradecido 11 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    6
    Solo decirte que te ha quedado genial

    Había cosillas que explicas que no tenía muy claras hasta leer tu tutorial.

    Muchas gracias

  4. #4

    Fecha de ingreso
    Aug 2005
    Ubicación
    Arteixo (A Coruña)
    Mensajes
    399
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Muy bueno Kaos, espero ansioso el siguiente capítulo

    Saludos...

  5. #5

    Fecha de ingreso
    Nov 2005
    Mensajes
    120
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    una pequeña correción: en MacOsX tampoco se pueden editar los ficheros ascii a pelo como en linux, ya que utiliza otro carácter para el salto de linea, por defecto:
    Windows: CR+LF (Retorno de carro + Alimentación de linea)
    Linux: CR (Retorno de Carro)
    MacOSX: LF (Alimentación de línea)

    Pero bueno, es fácilmete solventable trasteando un poco con las opciones de los editores.

  6. #6

    Fecha de ingreso
    Aug 2005
    Ubicación
    Lasarte-Oria
    Mensajes
    2,068
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    1
    Thanked in
    Agradecido 1 vez en 1 post
    Por eso comentaba que el MacOSx trae tb el pico de serie (Al menos el G4 de mi curro asi lo trae...) y lo edita "guay"

  7. #7

    Fecha de ingreso
    Aug 2005
    Mensajes
    3,386
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1
    Agradecer Thanks Received 
    2
    Thanked in
    Agradecido %1$s veces en 1 post
    Buenísimo, el tutorial. Muchas gracias.

    Aunque hay algo que no he pillado. Creo que entiendo la diferencia entre sync y async: el primero permite grabar en la SD cada vez que se hace una petición de escritura, mientras que el segundo con cada petición escribe en un buffer memoria, y al final traspasa toda esa información a disco. Si es así, ¿cuál es la diferencia a efectos prácticos? ¿Es más aconsejable lo primero o lo segundo? ¿O depende del caso?

  8. #8

    Fecha de ingreso
    Aug 2005
    Ubicación
    Lasarte-Oria
    Mensajes
    2,068
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    1
    Thanked in
    Agradecido 1 vez en 1 post
    Con el async escribe "cuando puede" y no al momento... Fijate que en un lector de tarjetas si sacas la SD el ordenador se queja que no has desconectado (expulsado) la tarjeta antes de sacarla, ya que asi se volcaria lo que falta por escribir y no perderias datos no grabados...Apaños de los sistemas operativos para ganar rendimiento a costa de no escribir fisicamente al momento

    Efectivamente, depende del caso, si necesitas tiempo real, o rendimiento... El quake por lo visto necesita tiempo real, proque alguien se debio de dar cuenta que apagando a lo bonzo 10 segundos de salvar una partida, al encender la consola, perdia el contenido Para esto tambien valdria un sync al salir del binario, pero imagina que estas jugando, grabas partida, y apagas de golpe... bendito remount -o sync
    Última edición por KaosOverride; 06/12/2005 a las 08:17

  9. #9

    Fecha de ingreso
    Aug 2005
    Mensajes
    3,386
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1
    Agradecer Thanks Received 
    2
    Thanked in
    Agradecido %1$s veces en 1 post
    Pillado del todo. Muchas gracias de nuevo.

  10. #10

    Fecha de ingreso
    Oct 2005
    Ubicación
    Tarraco
    Mensajes
    1,611
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    3
    Thanked in
    Agradecido 2 veces en [ARG:2 UNDEFINED] posts
    Joer me parece haber vuelto al año enq ue estudie Linux XD

    Juer ahora me doy cuenta que deberia haber prestado as atencion en clase ¬¬U

    Oye en la GP2X que tipo de compatibilidad tiene con los comandos y archivos de linux, vaya que que le han añadido al linux de la GP2X aparte del kernel basico.

  11. #11

    Fecha de ingreso
    Nov 2005
    Mensajes
    181
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Tengo dos (2) dudas.

    Según eso, el script de efegea después de salir del emulador deja el remount,sync, ¿no? El de Qake lo vuelve a dejar en async (que entiendo que es lo habitual). ¿Sería recomendable volver a dejarlo en async en el caso de efegea?

    También está el asunto del límite de lecturas y escrituras de una SD (entre 150.000 y 200.000 cada bloque). ¿Puede ser que usar el modo sync reduzca la vida de la SD?

    Y otra. Si uno hace un dir no se verá porque no hay stdout. ¿Podría crearse un fichero con la salida de los comandos?

    Por lo demás, muy bueno el tutorial, tanto para nuevos como para 'olvidadizos' (XDD) del linux como yo.

  12. #12

    Fecha de ingreso
    May 2004
    Ubicación
    Coslada, Madrid
    Mensajes
    13,259
    Mencionado
    3 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    26
    Thanked in
    Agradecido 11 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    6
    Cita Iniciado por thanatos
    Y otra. Si uno hace un dir no se verá porque no hay stdout. ¿Podría crearse un fichero con la salida de los comandos?
    ¿Has probado con "ls > fichero.txt" ?

    Saludos

  13. #13

    Fecha de ingreso
    Aug 2005
    Mensajes
    9,472
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    13
    Agradecer Thanks Received 
    10
    Thanked in
    Agradecido 6 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por thanatos
    Tengo dos (2) dudas.

    Según eso, el script de efegea después de salir del emulador deja el remount,sync, ¿no? El de Qake lo vuelve a dejar en async (que entiendo que es lo habitual). ¿Sería recomendable volver a dejarlo en async en el caso de efegea?

    También está el asunto del límite de lecturas y escrituras de una SD (entre 150.000 y 200.000 cada bloque). ¿Puede ser que usar el modo sync reduzca la vida de la SD?

    Y otra. Si uno hace un dir no se verá porque no hay stdout. ¿Podría crearse un fichero con la salida de los comandos?

    Por lo demás, muy bueno el tutorial, tanto para nuevos como para 'olvidadizos' (XDD) del linux como yo.
    Todo tiene su explicacion ^_^

    La dejo en modo sync porque es como creo que debería de dejarla GPH por defecto. Es un dispositivo que no tiene "apagado seguro" sino que pulsas el boton de apagado y no escribe los datos al disco, por lo que puede que hayas modificado algo y no se haya escrito en disco. Asi que veo preferible dejarlo en modo sync aunque sea sólo despues de jugar a la master system ^_^

  14. #14

    Fecha de ingreso
    Aug 2005
    Ubicación
    Lasarte-Oria
    Mensajes
    2,068
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    1
    Thanked in
    Agradecido 1 vez en 1 post
    Como dice Efegea, el prefiere dejarlo asi porque lo ve mas coherente (y seguro)

    Sobre los comandos chachis d elinux y redirigir la salida a ficheros de texto (que bien que tenemos un visor de TXT en la propia GP!!) lo tenia pensado para mas adelante... Ahora solo pretendia machacar la parte de "como ejecutar y volver al menu de la gp2x por ti mismo" con los scripts

  15. #15

    Fecha de ingreso
    Jun 2004
    Ubicación
    /dev/null
    Mensajes
    1,055
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Me ha encantado la primera parte de tu tutorial, Kaos... Muy sencillito, breve y claro, así da gusto.
    Muchas gracias.

Página 1 de 3 123 ÚltimoÚltimo

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •