Anuncios Google

[Tuto] Prgramar una aplicacion para FISHELL [luaDev]

Hola a todos, aqui les dejo un pequeño tutorial BASICO para cualquier usuario que le interese hacer una aplicacion para ejecutar en el entorno de FISHELL http://fishell-psp.tk

Gracias a que FISHELL esta programada en luaDev (Interprete de lua para
PSP) el shell es totalmente programable con scripts de código abierto,
en este tutorial enseñare como utilizar luaDev para crear sus propias
aplicaciones ejecutables dentro del entorno de ventanas del shell (y con
soporte para abrir múltiples instancias)

Primero que nada
comenzare por explicar en que directorio de la PSP vamos a trabajar, por
defecto las aplicaciones fishell están alojaras en ms0:/FISHELL/APP
Para
comenzar una nueva app te recomiendo utilizar una aplicación existente
como “molde” para saber donde va cada archivo del programa

Pasos a seguir para comenzar:

Utilice el programa “ID001TC” (terminal de comandos) como base para realizar su programa, Path: ms0:/FISHELL/APP/ID001TC

Y copia todo el folder de la APP en el directorio de aplicaciones (ms0:FISHELL/APP)

Escoja
un ID para su programa, esta id es importante para hacer referencia a
la aplicación que vamos a desarrollar, asegúrate de que la ID no exista y
no contenga ningún tipo de signos de puntuación

POR EJEMPLO:

“BUTTONTEST”, “MIAPP001” o “IDBLABLA” etc.

Ahora
renombre la nueva carpeta creada con el ID que usted escogió para su
aplicación (Recuerde que siempre va a utilizar esta ID para cualquier
referencia a su aplicación)

El script donde vamos a programar
esta en ms0:/FISEHLL/APP/TUID00X/app.lua y la misma sintaxis, la
diferencia entre programar una app normal y una para fishell es que se
requieren funciones especificas para los scripts (para realizar cada
acción)

El formato base del shell es el siguiente:

(Reemplace el ID001TC por su id de aplicacion)

    ----------_se inicia el id de la aplicacion_----------
    ID001TC = {}
    ------------------------------------------------------
 
    --[[Aqui se configuran las caracteristicas de la aplicacion]]--
    ID001TC.cfg_ = {}      -- tabla de configuracion (se queda intacta)
    ID001TC.cfg_.title = "Terminal de comandos 1.0 @ zerozelta"      -- Titulo de la APP
    ID001TC.cfg_.title_for_accs = "Terminal"                  -- Titulo del acceso directo
    ID001TC.cfg_.multiLoad = true                           -- Si se pueden abrir varias instancias de esta app
 
    ---------------------------------------------------------------
    ---------------------------------------------------------------
 
    --[[ FUNCIONES BASICAS ]]--
 
    function ID001TC.init(id,input)
       -- Aqui va el codigo al iniciar una instancia de la app
       -- id | Referencia a la instancia enfocada actualmente
       -- Input es el archivo adjunto al abrir la aplicacion (para la funcion abrir con...)
    end
 
    function ID001TC.run(id)
       -- Aqui va el codigo principal de la aplicacion (No requiere ni screen.flip() ni controls.read())
    end
 
    function ID001TC.exit(id) --[[ Aqui se coloca lo que se ejecutará al finalizar la aplicacion (se pueden liberar elementos individuales) ]]--
 
    end
 
    function ID001TC.free() --[[ Aqui se liberan los recursos que fueron requeridos (se eliminan los elementos GLOBALES) ]]--
 
    end
 
    -------------------------------------
 
    ---[[ FUNCIONES EXTRAS ]]--

Notas:
Para
darle soporte para abrir múltiples instancias de aplicaciones cada
variable (dentro de las funciones init, run y exit) debe definirse
dentro de la tabla id
Ejemplo
id.foco = 1
id.imagen = image load()
Todas las variables GLOBALES del programa deben definirse con el ID del programa

ejemplo:
ID001.foco = 1
ID001.imagen = image.load()
(Para
acceder a las variables globales se deben de llamar de la misma manera
aunque estén dentro o fuera de las funciones init, tun y exit)

Recomendamos basarse en todas las aplicaciones ya hechas para evitar errores.

Para ver su programa y probar los resultados solo entre al shell > menu de inicio > todos los programas
y busca el nombre o ID de la aplicacion que tu desarrollaste

Espero que les haya gustado

Saludos¡¡



Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

...

Tengo que hablar contigo sobre los id's, tio, porque yo tengo un sistema parecido en mi librería recien implementada...

Hablamos por MSN.

Un saludo.


 

 

Imagen de jorge_97

By jorge_97

Y...

de qué te sirve este comentario aquí...?

Para contactar con él...

Porque no esta en el MSN...

De todas formas, ya está todo solucionado :D

Voy a programar para tu shell

Gracias por el tutorial, voy a programar algo para tu shell en cuando tenga tiempo, ultimamente estoy lleno de exámenes...

 

Saludos!

Imagen de zerozelta

muy bien, si tienen cualquier

muy bien, si tienen cualquier duda avisame en este post para resolvertelas

Saludos¡¡

Imagen de truegentleman

:( Se Me Hace Tan Dificil

:( Se Me Hace Tan Dificil Esto.

Imagen de zerozelta

Pues en si, no es dificil,

Pues en si, no es dificil, luaDev es lenguage de programacion mas facil que he visto, pero programar para el shell si es un tanto mas complicado qeu hacer una app normal

El tutorial esta hecho para personas con conocimientos minimos sobre luaDev

tu sabes programar en luaDev?


Imagen de truegentleman

Noup La Verdad No Se

Noup La Verdad No Se Programar En LuaDev Y Es Algo Que Quiero Aprender :)

Imagen de Andres_Ne

Si nececitas ayuda en luaDEV

Si nececitas ayuda en luaDEV te ayudo con gusto. :D

Imagen de NEKERAFA

Mmm...

Ya estuve viendo como hacias tus apps, y en parte también las Apps de NekeOS serán así, solo que para el diseño se utiliza XML, la ID la pone NekeOS y algunas cosas más...


NekeOS, el nuevo shell para PSP

PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.

Sony Xperia Z1 Compact con Android 5.1.1

Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).

Imagen de zerozelta

XML? como usaras el XML en

XML? como usaras el XML en luaDEV?, no seria mas complicado hacer el interprete de los codigos XML que solo usar el mismo lua?

o como le harias?


Imagen de NEKERAFA

Mmm...

Extraigo las variables de las etiquetas de XML (Que representan una función grafia de Lua) para convertirlas en variables de Lua. Se que es enrollarse al convertir, pero me parece que queda mucho mejor.


NekeOS, el nuevo shell para PSP

PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.

Sony Xperia Z1 Compact con Android 5.1.1

Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).

Imagen de zerozelta

si, suena algo complicado,

si, suena algo complicado, pero cada quien XD

Suerte con el nekeOS

saludos¡¡

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.