This is the functions for LuaPlayerHM8

%%%%%%%% NEW %%%%%%%%

Fixed Wlan.startGameShare(filepath)  Now all homebrew work for gameshare.

Added and Fixed System.autoCpu() now has power modes. 1 for saver, 2 for performance.

Added Controls.wlan() returns 1 for on and 0 for off

Added System.stopPRX() Will stop and unload a PRX file that has been loaded. It needs the unique name of the PRX file given when the PRX is loaded. 
			Eg name = System.loadPrxKernel(filename) System.stopPRX(name)

Fixed System.loadPrxKernel(filename) Will load a PRX into the kernel memory. Allows kernel functions to be used. returns a unique name

Fixed System.loadPrx(filename) Will load a PRX into the memory. returns a unique name

Fixed System.startGameSave() Saves game data Eg System.startGameSave("Name of savegame","Name of game","Details/message",data to save, "Name of the game*used to identify the save data")

Fixed System.startGameLoad() Loads the save data selected Eg data = System.startGameLoad("Name of the game*used to identify the save data")

Fixed Wlan.init(connection number) Can use just Wlan.init() to see all conections of use Wlan.init(1-10) to automaticaly connect to a specific conection.

Added IntraFont * Use in between Gu.start3d() and Gu.end3d() *
	IntraFont.init() Call befor loading intrafont. Starts the IntraFont engine
	IntraFont.term() Ends the IntraFont engine
	IntraFont.load() Load a font 1 = Normal 2 = fast draw|less memory 3 = Large Memory 4 = Japaniese
	IntraFont.print() Prints the text to screen Eg IntraFont.print(x,y,TEXT,Size,Color,Glow) Color and Glow must be in a HEXIDECIMAL format Eg 	
			"0xFF0000FF" = red *****Use in between Gu.start3d() and Gu.end3d()
	IntraFont.color() (Red/Gree/Blue/Alpha) Returns a Hexidecimal Value for the color

Added New TTF library (
	Font.init() Call befor loading Font. Starts the Font engine
  	Font.print() Prints test to the screen with a font. Eg Font.print(x,y,"TEXT",color,fontslot)
  	Font.load() Loads a font to a font slot Eg. Font.load("ms0:/font.ttf",1) slots range from 1 to 5
  	Font.unload() Unloads a font from a slot Eg. Font.unload(1)
  	Font.term() Ends the Font engin
  	Font.color() (Red/Gree/Blue/Alpha) Returns a Hexidecimal Value for the color

Fixed System.startUpdate() Now works properly

Added March33 and NP9660 use for ISO loading. *Only when LPHM Drivers are installed. 

Improved System.runeboot()

Improved System.startPSX()

Added Mp3me.setPos() Sets the position of the mp3 file can be used for FastFwd OR Back. Returnes the position of the file

Added Mp3me.getPos() Returnes the position of the file

Added Mp3me.stream() Will return the remaining buffer left of the mp3.

Added Mp3me Will stream songs from the internet

Added Mp3me.visL() Will return the Visualtion data for left channel.

Added Mp3me.visR() Will return the Visualtion data for right channel.

Fixed Mp3me.percent() 

Fixed Mp3me.rawSongTime() 

Added PingPSP. In Adhoc send string "PINGPSP", start a timer and stop the timer when the Nickname of the pinged psp is returned with PING. Eg Adhoc.send("ping) the receved data will be "OtherPSP'sNicknamePING"

Added Aac to Audio files able to be played (thx to sakya)
	Aac.load()
  	Aac.play()
  	Aac.stop()
  	Aac.eos()
  	Aac.gettime()
  	Aac.percent()
  	Aac.pause()
  	Aac.songTime()
  	Aac.artist()
  	Aac.title()
  	Aac.album()
  	Aac.genre()
  	Aac.year()
  	Aac.trackNumber()
  	Aac.layer()
  	Aac.kbit()
  	Aac.mode()

Added Aa3me.setPos() Sets the position of the Aa3 file can be used for FastFwd OR Back. Returnes the position of the file

Added Aa3me.getPos() Returnes the position of the file

Added Aa3me.stream() Will return the remaining buffer left of the Aa3

Added Aa3me Will stream songs from the internet

Added Aa3me.visL() Will return the Visualtion data for left channel.

Added Aa3me.visR() Will return the Visualtion data for right channel.

Fixed Aa3me.percent() 

Fixed Aa3me.rawSongTime() 

Added System.getTachyon() return version

Added System.getPommel() return version

Added System.getBaryon() return version
	
Added System.download() Use like the Webbrowser System.download(url,download path) Must be in same directory as the LPHM Eboot 
			Eg System.download("http://www.homemister.axspace.com/LuaPlayerHM7.zip","ms0:/PSP/GAME/LPHM"), 
			You can also use the Webbreowser to download files just put the download url in. 

########## LPHMDRIVERS############
Added Syslib Will load the syslib.prx from the flash1:/ Alows for the following functions
	Added System.mute() Mute the System volume
	Added System.disableDisplay() Turn off the Screen
	Added System.enableDisplay() Turn on the screen
	Added System.getVolume() Returns the system volume 0-30
	Added System.setVolume() Set the system Volume 0->30
	Added System.setBrightness() Set the backligh brightness 0->100
	Added System.getBrightness() Return the backligh brightness 0->100
	Added System.homePopup() 1 to enable 0 to disable
	Added volup,voldown,screen,note,home to the Controls function. Therefor all controls need the LPHMDRIVERS installed

Added System.hook() Will make the target EBOOT.PBP loaded after the game is exited. Can be used to return to your app from UMD,ISO,Other Homebrew,PSX.
			Eg System.hook("ms0:/PSP/GAME/LPHM8/EBOOT.PBP")
Added System.unhook() Will stop the returning to the selected EBOOT.PBP Eg System.unhook()

Fixed Other Bugs.
%%%%%%%% Updated %%%%%%%%
System.madeby() to 8.0

System.playerVer() To 8.0

%%%%%%% Next release %%%%%%%%
System.runeboot150() Will run 1.50 eboots. Still in progress.
Adhoc Matching
Wlan statis eg Like in the FW Internet Browser
Improved Gamesharing
RAR extracting

%%%%%%% Following functions are only for Fw 1.52 and Lower %%%%%%% 
System.sioInit()
System.sioRead()
System.sioWrite()

%%%%%%% Following functions are only for Fw 2.00 and higher %%%%%%% 
System.startOSK()
System.startPSX()
System.startISO()
System.startUMD()
System.startGameSave()
System.startGameLoad()
All Adhoc
All Wlan


%%%%%%%% LUAPLAYER HM FUNCTIONS LIST %%%%%%%%

For more info on the functions of the Luaplayer goto http://wiki.ps2dev.org/psp:lua_player:functions

%%%%%%%%SYSTEM FUNCTIONS%%%%%%%%%%
System.currentDirectory() Either sets the current directory or get the current directory. Eg set, System.currentDirectory 				  ("ms0:/"). Eg get, dir = System.currentDirectory()

System.listDirectory() Lists the files inn the Directory

System.createDirectory() Makes a Directory in the current directory Eg. System.creatDirectory("LuaPlayerHM")

System.removeDirectory() Removes a Directory Eg. System.removeDirectory("SonyOFW")

System.removeFile() Removes a file Eg. System.removeFile("Sonyrestrictions.lol")

System.rename() Renames a file Eg. System.rename("oldname.exe","newname.lua")

System.usbDiskModeActivate() Makes the USB Enabled

System.usbDiskModeDeactivate() Makes the USB Disabled

System.powerIsPowerOnline() Checks if the power is online

System.powerIsBatteryExist() Checks if the battery is connected

System.powerIsBatteryCharging() Checkes of the battery is charging

System.powerGetBatteryChargingStatus() Checks the stattis of charging

System.powerIsLowBattery() Checks if the battery is low

System.powerGetBatteryLifePercent() Returns the %charge of the battery

System.powerGetBatteryLifeTime() Returns the time left on the battery

System.powerGetBatteryTemp() Returns the temp of the battery

System.powerGetBatteryVolt() Returns the Voltage of the battery

System.powerTick() Sends a power tick to the psp. stops the psp going in to standby and powersaving mode

System.md5sum() Returns a MD5 checksum of a file Eg. sum = System.md5sum("ms0:/EBOOT.PBP")

&&Serial port functions&&&

System.sioInit() Initiats the I/O

System.sioRead() reads form the I/O

System.sioWrite() Writes to the I/O

&&End Serial port functions&&&

System.irdaInit() Initiats the Infa-red

System.irdaRead() reads from the Infa-red Eg. data = System.irdaRead()

System.irdaWrite() Writes the the Infa-red Eg. System.irdaWrite(newdata)

System.sleep() Puts the homebrew app into sleep for x milliseconds Eg. System.sleep(300) "3sec"

System.getFreeMemory() Returns the abount of free memory.

System.madeby() Displays the LuaPlayerHM version and makers Eg. System.madeby()

System.Quit() Exits to the XMB

System.setLow() Sets the cpu to 133Mhz

System.setReg() Set the Cpu to 266Mhz

System.setHigh() Set the Cpu is 333Mhz

System.setcpuspeed() Sets the Cpu speed and bus speed Eg. System.setcpuspeed(266) "Cpu = 266 bus = 266/2"

System.runeboot() Loads and starts a *.PBP File Eg. System.runeboot("ms0:/Eboot.PBP") 3.xx and 1.50 (in corosponding kernel)

System.runeboot150() Will run 1.50 eboots. Still in progress.

System.playerVer() Returns the LuaPlayerHM version Eg. ver = System.playerVer()

System.unassign() POSIBLE BUG IN FLASH2. NOT WRITING. IT happend on my PSP)
	E.G.System.unassign("flashX:")
	System.assign("flashX:","lflash0:0,X","flashfatX:")
	replace X with the flash you want to use.

System.assign() POSIBLE BUG IN FLASH2. NOT WRITING. IT happend on my PSP)
	E.G.System.unassign("flashX:")
	System.assign("flashX:","lflash0:0,X","flashfatX:")
	replace X with the flash you want to use.

System.memclean() Cleans up the memory and removes non used files in the memory. "use it to free up memory"

System.cfwVersion() Shows m33 at end of CFw upto Version 3.90m33 and CFW version 3.93??? (not a Dax CFW. When the CFW maker is known there trademark
		    replaces ???)now updated to CFW Gen. Returns E.g. 3.90M33-3

System.oaenable() Enables the use of Sound.* and Music.* and Voice.* functions. "Dont use it if you want to use the Media   			  Engine or else it will not play the songs properly"

System.oadisable() Disables the us of Sound.* and Music.* and Voice.* functions

System.loadPrx() Loads a Prx file and starts it. Warning it could cause the player to not function properly or crask the  system

System.nickName() Returns the psp's nickname Eg. name = System.nickname

System.message() Prints a message to the screen with Yes,no,back options. Eg. System.message("Hello",0) has only back option
		Eg. System.message("Hello",1) has Yes,No and back options.

System.buttonPressed() Performs an action from the option selected in the System.message() function
			Use 1 to return string "Yes" or 0 to return number "1"
			Eg. button = System.buttonPressed(1) If button == "yes" then System.Quit() end
			Eg. button = System.buttonPressed(0) If button == 1 then System.Quit() end

System.copyFile() Copys a file from one place to another Eg. System.copyFile("oldfiledir.lol","newfiledir.lol",1) Will copy 			  the file from one place to another and delete the oldfiledir.lol. replace 1 with 0 to not delete the 	  			  oldfiledir.lol

System.suspend() Puts the PSP into suspend mode

System.shutdown() Shuts down the psp

System.startUMD() Load and runs a UMD in the UMD Drive. If no UMD then a message is displayed and tells there is no UMD in  			  the Drive

System.startISO() Loads and runs a ISO image from the memory stick. Eg. System.startISO("ms0:/ISO/game.iso") UMD MODE SET  			  TO OE isofs
System.startPSX() Loads and Starts a Ps1 game from the playstaton store (PSX)

System.startOSK() Displays the On screen Keyboard. Eg outputtxt = System.startOSK() screen:print(1,1,outputtxt,red)

System.startGameSave() Saves game data Eg System.startGameSave("Name of savegame","Name of game","Details/message",data to save, "Name od the game*used to identify the save data")

System.startGameLoad() Loads the save data selected Eg data = System.startGameLoad("Name od the game*used to identify the save data")

System.usbDevFlash0() Sets the USB device to be Flash0

System.usbDevFlash1() Sets the USB device to be Flash1
 
System.usbDevFlash2() Sets the USB device to be Flash2

System.usbDevFlash3() Sets the USB device to be Flash3

System.usbDevUMD() Sets the USB device to be the UMD Drive. If no disk it will tell you and use the memory stick insted.  			   The UMD will be read as a ISO image

System.getModel() Use 1 to return string "PHAT" or 0 to return number "1000" Reterns either PHAT (1000) or SLIM (2000) 
		  Eg PSPtype = System.getModel(1) return "PHAT"
		  Eg PSPtype = System.getModel(0) return "1000"

System.getDate() Only 1 Time call expected Eg year = 1,month = 2 or day = 3 Eg. year = System.getDate(1) Returns the year.

System.getTime() Only 1 Time call expected Eg hour = 1,minutes = 2 or seconds = 3 and microseconds = 4 and pm or am = 5.
		 Eg hour = System.getTime(1) Returns the hour. uses the psp clock.

System.startUpdate() Runs an update.pbp file Almost working. Should alow for m33 updates to run.

System.usbState() USBstate calls. Eg isactive 1 or isconnected 2 , isestablished. 3 Reterns what the state is. Doesn't need
		  usb active

System.getDirSize() Gets the Directory size in bytes. Eg size = System.getFileSize("ms0:/PSP")

System.getFileSize() Gets the file size in bytes. Eg size = System.getFileSize("ms0:/helloworld.txt")

System.webbrowser() System.webbrowser(Pathofwebbrowser.pbp, url) Will load the webbrowser with the url entered. If no url then google will load.
	Eg. System.webbrowser("ms0:/psp/game/LuaPlayerHM6") Will load google.com
	Eg2. System.webbrowser("ms0:/psp/game/LuaPlayerHM6","http://homemister.axspace.com/") Will load homemister.axspace.com

System.loadPrxKernel() System.loadPrxKernel(filename) Will load a PRX into the kernel memory. Allows kernel functions to be used.

System.autoCpu() This will automaticaly change the cpu speed to meet the needed cpu requirment. It also returns the speed of the script cycle.
			Use only once in a loop. Look in the LuaPlayerHM tester under system2.lua.

System.getCpuSpeed() Returns the CPU speed.

System.getBusSpeed() Returns the Bus speed.

System.LCDTimerDisable() Disables the LCD from turning off after no activity

ZIP.extract() Use to extract zip files. ZIP.extract(zipdirectory,extractdirectory,password) Eg. ZIP.extract("ms0:/hi.zip","ms0:/psp/hi","") 
			use "" when no password



System.LCDTimerGet() Returns the time of the powersave.

System.LCDTimerEnable() Enables the LCD to turn off after no activity
	
System.getEboot() 1 for "ICON0.PNG", 2 for "PIC0.PNG", 3 for "PIC1.PNG" Eg. image = System.getEboot("ms0:/150.pbp",1) screen.blit(1,1,image)

System.loadPrxKernel(filename) Will load a PRX into the kernel memory. Allows kernel functions to be used.

System.webbrowser(Pathofwebbrowser.pbp, url) Will load the webbrowser with the url entered. If no url then google will load.
	Eg. System.webbrowser("ms0:/psp/game/LuaPlayerHM6") Will load google.com
	Eg2. System.webbrowser("ms0:/psp/game/LuaPlayerHM6","http://homemister.axspace.com/") Will load homemister.axspace.com

System.runeboot() now can run Eboots in 1.50 kernel. (PSP PHAT ONLY, You must boot the LuaPlayerHM in 1.50 Kernal)

System.getFileSize() Gets the file size in bytes. Eg size = System.getFileSize("ms0:/helloworld.txt")

System.getDirSize() Gets the Directory size in bytes. Eg size = System.getFileSize("ms0:/PSP")

System.autoCpu() This will automaticaly change the cpu speed to meet the needed cpu requirment. If pluged into power will defult to 300mhz
			 It also returns the speed of the script cycle. ####Use only once in a loop. Look in the LuaPlayerHM tester under system2.lua.

System.getCpuSpeed() Returns the CPU speed.

System.getBusSpeed() Returns the Bus speed.

System.doesDirExist() Returns a 1 on yes and 0 on no. Eg ok = System.doesDirExist("ms0:/psp")

System.doesFileExist() Returns a 1 on yes and 0 on no. Eg ok = System.doesFileExist("ms0:/psp/eboot.pbp")

System.getTotalSize() Total size of a device. Eg size = System.getTotalSize("ms0:/")

System.getFreeSpace() Total free space of a device. Eg size = System.getFreeSpace("ms0:/")

System.loadElf() Loads and elf file eg System.loadElf("ms0:/hi.elf") 1.50 kernel only.



The sound funcions a stright forward.
%%%%%%%%%%%%Mp3 Media engine Functions%%%%%%%%%%%%%%
Mp3me.load()
Mp3me.play()
Mp3me.stop()
Mp3me.eos() eos is Endofstream in other words end of song
Mp3me.gettime()
Mp3me.percent()
Mp3me.pause()
Mp3me.songTime()
Mp3me.artist()
Mp3me.title()
Mp3me.album()
Mp3me.genre()
Mp3me.year()
Mp3me.trackNumber()
Mp3me.layer()
Mp3me.kbit()
Mp3me.mode()
Mp3me.rawSongTime() Returns the amount of seconds in a song. raw data able to use for progress bars.
Mp3me.instantBitrate() 
Mp3me.rawSongTime() Returns the amount of seconds in a song. raw data able to use for progress bars.
Mp3me.instantBitrate() Returns the instant bitrate.
Mp3me.vis() Returns data for a visuliation(use a number between 1 and 100). Eg Mp3me.vis(45) 1 is most trebel where as 100 is most base
%%%%%%%%%%%%Aa3 Media engin Functions%%%%%%%%%%%%%%
Aa3me.load()
Aa3me.play()
Aa3me.stop()
Aa3me.eos()
Aa3me.gettime()
Aa3me.percent()
Aa3me.pause()
Aa3me.songTime()
Aa3me.artist()
Aa3me.title()
Aa3me.album()
Aa3me.genre()
Aa3me.year()
Aa3me.trackNumber()
Aa3me.layer()
Aa3me.kbit()
Aa3me.mode()
Aa3me.rawSongTime() Returns the amount of seconds in a song. raw data able to use for progress bars.
Aa3me.instantBitrate() 
Aa3me.vis() Returns data for a visuliation(use a number between 1 and 100). Eg Aa3me.vis(45) 1 is most trebel where as 100 is most base
Aa3me.instantBitrate() Returns the instant bitrate.
Aa3me.rawSongTime() Returns the amount of seconds in a song. raw data able to use for progress bars.
%%%%%%%%%%%%Music Functions%%%%%%%%%%%%%%
Music.playFile()
Music.stop()
Music.pause()
Music.resume()
Music.playing()
Music.volume()
%%%%%%%%%%%%Mp3  Functions%%%%%%%%%%%%%%
Mp3.load()
Mp3.stop()
Mp3.pause()
Mp3.play()
Mp3.EndOfStream()
Mp3.getTime()
Mp3.songTime()
Mp3.artist()
Mp3.title()
Mp3.album()
Mp3.genre()
Mp3.year()
Mp3.trackNumber()
Mp3.layer()
Mp3.kbit()
Mp3.mode()
%%%%%%%%%%%%Ogg Functions%%%%%%%%%%%%%%
Ogg.load()
Ogg.stop()
Ogg.pause()
Ogg.play()
Ogg.EndOfStream()
Ogg.songTime()
Ogg.artist()
Ogg.title()
Ogg.album()
Ogg.genre()
Ogg.year()
Ogg.trackNumber()
Ogg.layer()
Ogg.kbit()
Ogg.mode()
%%%%%%%%%%%%System Sound Functions%%%%%%%%%%%%%%
SoundSystem.SFXVolume()
SoundSystem.reverb()
SoundSystem.panoramicSeparation()
%%%%%%%%%%%%Sound Functions%%%%%%%%%%%%%%
Sound.load()
Sound.play()
&&&Sound meta&&&
sound:gc()
sound:tostring()

%%%%%%%%%%%%Voice Functions%%%%%%%%%%%%%%
Voice.stop()
Voice.resume()
Voice.volume()
Voice.pan()
Voice.frequency()
Voice.playing()
&&&&Voice Meta&&&&&
voice:tostring()

%%%%%%%%%%%%PSP Button Controls%%%%%%%%%%%%%%
Controls.read() reads the button pressed Eg pad = Controls.read() if pad:cross() then System.Quit end
Controls.select()
Controls.start()
Controls.up()
Controls.right()
Controls.down()
Controls.left()
Controls.l()
Controls.r()
Controls.triangle()
Controls.circle()
Controls.cross()
Controls.square()
Controls.home()
Controls.hold()
Controls.note()
Controls.analogX()
Controls.analogY()
Controls.buttons() 

%%%%%%%%%%%% HPRM FUNCTIONS %%%%%%%%%%%%
	Hprm.read() Returns "PLAY","FWD","BACK","VOLUP","VOLDOWN","HOLD"
  	Hprm.headphone() Returns 0 for no 1 for yes
  	Hprm.remote() Returns 0 for no 1 for yes
  	Hprm.mic() Returns 0 for no 1 for yes
%%%%%%%%%%%%Wlan Functions%%%%%%%%%%%%%%
Wlan.init() Initates the wireless and Netdialog selection screen
Wlan.term() Terminates the wireless
Wlan.getIP() Returns the IP address
Wlan.startGameShare(filepath) Eg Wlan.startGameShare("ms0:/150.PBP")
%%%%%%%%%%%%Socket Functions%%%%%%%%%%%%%%
Socket.connect() Connects to a host and port Eg. Socket.connect("www.google.com.au",80)
Socket.createServerSocket() makes a socket usable Eg Socket.creatServerSocket(80)
&&&Socket methods&&&
Socket.isConnected() Returns a 1 if connected
Socket.accept() will accept conections
Socket.send() Will send http calls
Socket.recv() Will receve data from a send
Socket.close() Will close all sockets that is open
&&&Socket meta&&&
Socket:gc()
Socket:tostring()

%%%%%%%%%%%%Adhoc Functions%%%%%%%%%%%%%%
Adhoc.init() Initates the Adhoc
Adhoc.connect() Connects to the adhoc or makes a adhoc connection
Adhoc.getState() Returns the state of the connection 1=ok 0=error
Adhoc.send() Sends data Eg Adhoc.send("hello")
Adhoc.recv() Receives data send from another psp as a string Eg data = Adhoc.recv()
Adhoc.term() Terminates the Adhoc
Adhoc.getMac() Returns the mac address of the psp. The Adhoc does not need to be Init to use it.

%%%%%%%%%%%%UMD Functions%%%%%%%%%%%%%%
UMD.init() initiats the UMD drive and checks for a Disk. If no disk it displays a message and does not load the UMD drive.
	   UMD drive is "disc0:"

UMD.term() Stops the Umd drive

UMD.checkDisk() Checks if there is a disk in the drive.

UMD.ripISO() needs a path and file name Eg UMD.ripISO("ms0:/ISO/Game.ISO")

UMD.getSize() Gets size of the UMD in bytes Eg. UMDSize = UMD.getSize()

Regards
The LuaPlayerHM Team

Thx to the following for all there hard work
Sakya for the Media engine help and source.
Thx to FaT3oYCG for the help,
sg57 for the flash assign functions,
and Insert_Witty_Name for netdialog in sdk and wav loading,
And grafele for the ISO,UMD,EBOOT Loading
romero126 Effects.
bumuckl for the new Eboot logo and Pic.

