Anuncios Google

LuaDEVNetLink

No estoy muerto, no me he ido de la scene, sólo he estado ocupado... xD

Ahora mismo estoy trabajando en algo llamado LuaDEVNetLink (LDNL de ahora en adelante), será algo parecido al psplink pero en red, y sólo para homebrews escritos en LuaDEV.

La aplicación consta de dos partes:

  1. Un servidor hecho en Java 7
  2. El cliente escrito en LuaDEV

El servidor será el encargado de proveer el homebrew al cliente usando sockets. La idea original era cargar MP3s por red, pero luego cambió a algo como wiiload (un programa que corre en la consola y envía el homebrew al cliente de wii sin que lo pida), pero no se puede hacer así tal cual (al menos de momento) porque no hay sockets servidores en LuaDEV actualmente.

LDNL Server

Las carpetas que se ven con una [X] son las que pueden ser cargadas (sólo busca que tengan un script.lua dentro)

 

El cliente lo que hará es administrar la conexión Wi-Fi y remapear todas las funciones que usen lectura/escritura de archivos a peticiones/subidas al servidor de LDNL.

LDNL Client

 

Aun no lo liberaré porque me faltan un par de funciones. De momento están hechas estas funciones:

  • dofile
  • files.list
  • files.exists
  • files.listroots: Esta sirve para saber qué unidades o directorios hay en el sistema en el que corre el servidor
  • files.size: Sólo para archivos locales, ya que la que viene de serie me devolvía siempre -1
  • files.ext: Función modificada para tomar en cuenta extensiones de más de 3 caracteres, además de devolverla en minúsculas. Si no se encuentra extensión, se devolverá el string que se le pasó a la función.
  • files.getName(path): Devuelve el nombre del archivo, files.nopath me estaba dando problemas.
  • files.remove: Esta no está hecha para funcionar en red por cuestiones de integridad de los datos del disco duro, sólo se borrarán archivos del lado del cliente.
  • image.load
  • image.save: La función en teoría está hecha, pero falla al subir la imagen por razones que desconozco.
  • sound.load
  • ini.load
  • ini.read
  • ini.write
  • ini.free: Al hacer el free de serie de LuaDEV sobre un archivo ini cargado cono el ini.load de serie de LuaDEV, da error de que no se puede guardar. Así que se sube el archivo si autosave está seteado (aunque en realidad se sube en cada escritura) y luego se hace nil todo, seguido de un collectgarbage();
  • controls.read: Modificada para poder leer la combinación para provocar errores
  • Y un mapeo de funciones image.drawxxxx a draw.xxxxx y de system.xxxx a os.xxxxx, no sé si están todas, son de una versión vieja de LuaDEV.

Además de otras hechas para LDNL específicamente:

  • LDNL.log.add: Añade una línea al final del log (tanto en pantalla como al archivo .log), si LDNL.log.show está en true, se verán los cambios en la pantalla de la psp.
  • LDNL.log.lastline: Modifica la última línea del log, sólo se ven los cambios si LDNL.log.show está en true. Esta función no guarda en el archivo .log generado.
  • LDNL.log.save: No muestra nada por pantalla, sólo se guarda en el archivo .log
  • LDNL.conn.verify: Para uso interno de LDNL solamente. Verifica la conexión Wi-Fi y si está conectado al servidor.
  • LDNL.requestfile(fname): Pide un archivo al servidor de LDNL, esta función devuelve la ruta en la que se guardó el temporal.
  • LDNL.tostring(var): Función recursiva que convierte a string lo que sea, en caso de ser una tabla devolverá toda la estructura de la tabla como código lua. En caso de haber userdata o function se añadirá "userdata:" o "function:" antes de hacer el tostring de serie. En caso de ser algún tipo no reconocido, se añadirá "unknown type:" antes hacer el tostring de serie.

Faltan implementar las funciones io, carga de objs con sus mtls, files.cdir, y alguna que posiblemente esté olvidando xD

La velocidad de carga es un poco más lenta, pero con esto no es necesario grabar los cambios en la ms esperando que se guarde completamente para que no de errores del tipo "Se esperaba <esto> antes de <eof>", ni estar pegados al cable usb, ni tener suficiente espacio en la ms para tener ahí todos los homebrews, etc...

 

Saludos!



PSP FAT [5.00 M33-6] [6.60 ME] [Hard Moded] / Nintendo Wii [4.1U] [cIOS Hermes] [D2X cIOS] / iPhone 3G [4.2.1] [BB 05.13.04] [redsn0w] / iPod Touch 4 [6.1] [evasi0n]

07/05/10: Tuve el placer de llamarle con todo derecho "N00B" a molotovi xDDD

Recuerda: Sé el intérprete -_-


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.
Imagen de klozz

Vaya alfin algo nuevo :B

Vaya alfin algo nuevo :B espero termines algo pronto men ;) quiero hecharle una mirada :D

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.