PSP News is a News and downloads site for the Playstation Portable, We have all the latest emulators, homebrew, commercial games for the PSP and all the downloads on this site, we also cover commercial gaming and console news. Part of the DCEmu Homebrew & Gaming Network.

PSP Homebrew

Name = Lua Player

Authors /Website = Shine

Screenshots

Downloads =

v0.16 For 1.5 Firmware / For 1.0 Firmware 7th January 2005
================================================
- Wlan:getIPAddress bugfix: now it returns nil on error and the IP address otherwise
- DNS resolving. Now you can write Socket.connect("www.luaplayer.org", 80) instead of Socket.connect("212.227.39.202", 80), thanks to ideas how to use the resolver lib from PSPRadio
- when loading JPEGs, the file was not closed
- System.md5sum bugfixing for the Windows version
- Wlan.useConnectionConfig index is 1 based instead of 0 based, like usual in Lua
- System.powerTick added: this prevents power off, now you can nail your PSP on a wall for your electronic painting :-)
- System.createDirectory, System.removeDirectory and System.removeFile added

The new functions are documented at http://wiki.ps2dev.org/psp:lua_player:functions.

Lua Player v0.15 For 1.5 Firmware / For 1.0 Firmware 4th December 2005

The changelog:

- timer bug fixed (was bug in PSPSDK) [mrbrown]
- wlan socket support (based on PspPet's "WiFi Multi-Test .03") [Shine]
- changed sceGu* and sceGum* functions to Gu.* and Gum.* [Shine]
- System.getFreeMemory added [Shine]
- Freetype added, with 2 default fonts (see http://www.gnome.org/fonts/ for the licence) [Shine]

The new functions are documented at http://wiki.ps2dev.org/psp:lua_player:functions and with the 2 new samples: True Type Font and WLAN. The WLAN example has a webserver integrated: Enter the IP of your PSP in your webbrowser and the PSP delivers a simple test page.

I'm sure there are many bugs, especially the new WLAN support needs to be enhanced, e.g. DNS lookup and some internal TODOs, but at least it works :-)

Download LuaPlayer v0.15(Preview): 3rd December 2005

- Timer bug fixed (was bug in PSPSDK) [mrbrown]
- Outgoing wlan socket support (based on PspPet's "WiFi Multi-Test .03") [Shine]

WiFi Functions:
– Wlan.init() - Initializes Wlan
– Wlan.term() - Terminates Wlan
– Wlan.getConnectionConfigs () - Returns table consisting of strings that tell the connection configuration names on your psp
– Wlan.useConnectionConfig( string config) - Sets the connection configuration to use (config)

Socket Functions:
– Socket.connect(string IP, integer PORT) - Returns a Socket Object that can Send and Get data from an IP Address(IP) (Connects to Port PORT)

Socket Object Functions:
– socket.send(string data) - Sends data to the Socket that is a string (data)
– socket.recv() - Returns data that has been sent to the Socket
– socket:isConnected() - Returns true(1) or false(0) depending on if you are connected or not

Download LuaPlayer v0.14: 26th November 2005

For 1.5 Firmware
For 1.0 Firmware

- IrDA support [Shine]
- Windows Emulator [sweetlilmre]
sceIoD* functionality added for System.listDirectory().
sceGuClearColor and sceGuClear implemented.
Flicker reduction via GL / PSP drawing sync attempt to improve sound sync by yielding in glutIdleFunc() func.
- Possible signed bug for timer fixed [Shine]

Lua Player version 0.13 21st November 2005

Download LuaPlayer v0.13. If you have a 2.00 firmware PSP, try this EBOOT.PBP Loader (you'll need the user mode Lua Player EBOOT.PBP, without USB support and without debug output and the package for 1.0 firmware for the sample applications).

For 1.5 Firmware
For 1.0 Firmware

The changelog:

- screen:clear bugfix (was always black) [Shine]
- updated Windows version with sound [sweetlilmre]
- JPEG image/screen load and save functionality [Shine]

And I've updated the user mode Lua Player for PSPs with 2.00 firmware, but I didn't tested it.

V0.12 27th October 2005 V1.0 PSP Here v1.5 PSP Here

v0.12
==========
- pixel format changed to true color [Durante / Shine]
- initial GU mapping [Shine]

V0.11 2nd October 2005 V1.0 PSP Here v1.5 PSP Here

- Added System.md5sum and filelist.txt debug ouput on startup failure in boot.lua
- changed case sensitivity handling in boot.lua for problems with Windows 98
- now Image.createEmpty accepts 512x512 pixel sizes
- internal image width and height needs not to be the same size
- max image size can be 512x512 now (larger are not allowed with GU blit)
- System.sioInit, sioWrite and sioRead implemented for serial port support
(see http://www.luaplayer.org/sio/readme.html and http://nil.rpc1.org/psp/remote.html
for information about the hardware interface)
- new Timer class and System.sleep function
- fixed timezone bug
- moved Starfield and SIO Echo example to Applications

V0.10 22nd August 2005 Here Firmware1.5 version Here

- Added the "Bitwise operators and hexadecimal support" patch from
http://lua-users.org/wiki/LuaPowerPatches :
- Hexadecimal support for 0xXXX in numeric literals.
- Hexadecimal support for '\xXX' characters within strings.
- Infix bitwise operators for AND (&), OR (|) and XOR (#).
- Unary bitwise negation using # alone. [Shine]
- Changed the number type to float (more than 4 times faster calculations)
(requires recompilation of the lua libraries from svn) [Shine]
- "save" function writes PNG format now [Shine]
- Restructured files into src/ [Nevyn]
- Changed the main script file to System/system.lua [Nevyn]
- Rewrote the Makefiles and readmes to be more user-friendly. [Nevyn]
- Changed startup load sequence (see the lua dev readme) [Nevyn]
- Made a procedure for making standalone LP apps [Nevyn]
- keyboard mapping fixed in PC version [Shine]
- bitmask operations added in controls class [Shine]
- added battery functions to System
- os.time() returns a userdata instead of a number because of problems
with the float-precision, so you have to use os.difftime instead of
doing calculations with the result.

V0.9 22nd August 2005 Here

On http://www.luaplayer.org you can get a new version. Some bugs are fixed, memory to memory transfer speed is doubled for some functions (VRAM access (with "screen" variable) is not faster) and no new features. Changelog:

- bugfixing clearImage and clearScreen

- sceKernelDcacheWritebackInvalidateAll only needed before sceGu functions, when reading modified main memory

- speed improved for fillImageRect, fillScreenRect, blitAlphaImageToImage, blitImageToImage and drawLine

v0.8 18th August 2006 Here

v0.7 11th August 2005 Here

v0.6 3rd August 2005 Here

Copy the EBOOT.PBP on your PSP and edit the script.lua for your own great programs and games. The script will be compiled on-the-fly on the PSP, without any compiler on your PC, you just need a text editor! A PNG loader is integrated, so you can write your own games with it, by changing the script.lua and copying all your PNGs to the game directory. And important for newbies (and sometimes for me): It doesn't crash (or at least it should not), but if you pass a null-pointer to a function, you'll get a nice error message, with the line in the script, which caused the error.

v0.5 1st August 2005 Here

v0.4 1st august 2005 here

v0.3 Here July 30th 2005

Information = Script language to make games.

Lua Player 0.3 by Shine

Copy the EBOOT.PBP, your script.lua and all PNG files in a PSP/GAME/somewhere
directory to your PSP. See the snake directory for the snake sample game for
1.0 and 1.5 firmware PSPs. To run the game, copy script.lua, background.png
and tiles.png into the same directory, where EBOOT.PBP is (for the 1.5 version
in the directory without the "%" letter).

You can use all Lua functions from http://www.lua.org can be used and the
following special PSP Lua Player functions for your script.lua:


int ctrlRead()

Read the current bitmask of the buttons. Use the isCtrl*-functions to check
which button is pressed.


boolean isCtrlSelect(int bitmask)
boolean isCtrlStart(int bitmask)
boolean isCtrlUp(int bitmask)
boolean isCtrlRight(int bitmask)
boolean isCtrlDown(int bitmask)
boolean isCtrlLeft(int bitmask)
boolean isCtrlUp(int bitmask)
boolean isCtrlLTrigger(int bitmask)
boolean isCtrlRTrigger(int bitmask)
boolean isCtrlTriangle(int bitmask)
boolean isCtrlCircle(int bitmask)
boolean isCtrlCross(int bitmask)
boolean isCtrlSquare(int bitmask)
boolean isCtrlHome(int bitmask)
boolean isCtrlHold(int bitmask)


void waitVblankStart([int count])

Wait for next Vblank start. If you specify a count parameter, it waits
multiple times for Vblank start. This can be used for delays, for
example 60 for a one seconds delay.


int lua_flipScreen(lua_State *L)

Flip the current drawing offscreen with the display screen.


void blitImage(int x, int y, int imageHandle [, int destinationImageHandle])

Blit an image to screen or into another image, if destinationImageHandle
is specified. Alpha channel is ignored.


void blitAlphaImage(int x, int y, int imageHandle [, int destinationImageHandle])

Blit an image to screen or into another image, if destinationImageHandle
is specified.


void blitImageRect(int sx, int sy, int width, int height, int imageHandle, int dx, int dy [, int destinationImageHandle])

sx: left position of rectangle in source image
sy: top position of rectangle in source image
width: width of rectangle in source image
height: height of rectangle in source image
imageHandle: the source image
dx: left target position in destination image or screen
dy: top target position in destination image or screen
destinationImageHandle: destination image, if specified

Blit a part of an image to screen or into another image, if
destinationImageHandle is specified. Alpha channel is ignored.


void blitAlphaImageRect(int sx, int sy, int width, int height, int imageHandle, int dx, int dy [, int destinationImageHandle])

Same as blitImageRect, but with alpha channel.


void fillRect(int color, int x0, int y0, int width, int height [, int destinationImageHandle])

Fill a rectangle.


int createImage(int width, int height)

Create an empty image.


void clear(int color [, int imageHandle])

Clear an image or screen.


void screenshot(string filename)

Save a screenshot in the game directory in TGA format.


int loadImage(string filename)

Load an image in the game directory in PNG format.


getImageWidth(int imageHandle)

Get the width of an image.


getImageHeight(int imageHandle)

Get the height of an image.


void putPixel(int color, int x, int y [, int imageHandle)

Put a pixel on an image or on screen.


void getPixel(int x, int y [, int imageHandle)

Get the color of an pixel of an image or screen.


void printDecimal(int x, int y, int value, int color)

Print a decimal number as 7 segment.





The Hottest DCEmu Posters