AlphaBase PSP

From GameBrew

AlphaBase (A-Base)
AuthorDekraN (Wesker)
Last Updated2014/08/25
TypeSystem tools
Version3.6.8 final
3.6 Download
[3.6.8 Source]

AlphaBase HM7 is a homebrew which may help you for debugging your PSP, developed by Wesker (aka DekraN).

This is an entry from the Neo Summer Coding Compo 2009 (PSP Applications, 8th place).


Copy the folder AlphaBase HM7 in /PSP/GAME/.

And if you want, look up for set main vars into SETTINGS.ini.

User guide


A-Base is a lua-well-coded PSP Bash, made just for debug almost all PSP Parts, even if initially it would be another PSP IDE.

The plist command is lua-readable. The P.S.E.R. parameters (Path Single Extension Requires) have the noextension proof system, which you can safely omit the extension; however, it's highly recommended to put it in any case to increase the execution speed.

Commands Helper

If you forgot the usage of a command, just type it without parameters and A.B. will provide to display you the usageprint and more informations about the interested PSP parts; somehow just be careful that some commands have the shortcut system (pre-imposted parameters) so they can execute unappropriate code for you.

Load/unload elements

A-Base is an object-based environment, so you can load any element by typing "load [ELEMENT]", and use it for example fontprinting a string using the font loaded.

"unload" command doesnt guarantee the effective unloading of the elements (because some elements cannot be unloaded in any case), but it just free the memory from the element-address.

You can simply get more information about the elements used by typing "input (ID) (ID2)" where ID is the ID of the group.

  • 0 for AlphaBase prints.
  • 1 for User prints.
  • 2 for Images.
  • 3 for Rectangles (which aren't considered lines).
  • 4 for Lines.
  • 5 for Timers.

Other commands and examples

You can also delete an User Execution (did by imm, print... commands) by typing "res (ID) (ID2)" If command gets no param, it will provide to reset all the groups, else if it gets only one param, it will reset only the ID group (look up from the ID's list).

To get PSP Information and all, type "info". For cmdlist type "cmd".

Other useful stuffs are the current file system and the current directory, respectively the one can be set by "file" cmd, while the second by "dir".

So, if current file is "example.pbp", if you do "eboot" AB will setup the first parameter as the current file, while the Current Directory just sets the working folder.

You can also set the programme mode right the normal and the extended. The normal mode is more powerful and has a lot of function, while the extended gives more information in AlphaBase prints.

For the detailed commands list please see cmdlist.txt.



  • Fixed a bug in the 'rect' command, which didn't allow to draw an empty rect, even if you passed 1 as MODE param.
  • Created a new main subscript, CEU.LUA. It refers to the C.E.U. (Commands Elaboration Unit), and contains the functions which may be associated with the commands management.
  • Updated the ERROR system at the homebrew launch.
  • Made the SCRIPT.LUA more readable.
  • Script total speed increased of about 10%.
  • Language Syntax optimized.
  • Code optimized.


  • Optimized the 'time', 'set' and 'envs' commands.
  • Fixed a bug in the 'envs' command, which showed a LUA Error on calling if you passed the C.E. or W.E. as param.
  • Fixed a bug which didn't allow to stop a timer if this was started with the repeat param at 1.
  • Code optimized.


  • Optimized the 'list', 'tree', 'load2' and 'cpu2' commands.
  • Now, if in the 'list' or 'tree' commands the PATH param won't pass, then the default param is the current directory.
  • Renamed the command 'remove' to 'rem'.
  • Added a new syscolor, the green, in order to print the successful operations.
  • Made the SCRIPT.LUA more readable.
  • Language Syntax optimized.
  • Code optimized.


  • Fixed a bug in the AUFS I.G.C. (Items Garbage Collector). Now It's newly possible to save the items you collect (like markers, macros, poscontrols) during the environment execution.
  • Fixed a bug in the 'share' command, which didn't work cause a bad call of the fixString Function.
  • Fixed a bug in the 'set' command, which didn't work cause a bad enumeration of the variable which contain the command params.
  • Fixed a bug in the 'print' command, which showed a LUA-Error on calling.
  • Fixed a bug in the 'list' command, which didn't work if you wanted to list a RAR archive.
  • Fixed a bug in the 'play2' command, which didn't play the song after this has been loaded.
  • Removed the Security Informations in the 'info' command.
  • Optimized the 'ext', 'play' and 'play2' commands.
  • Renamed the command 'loadex' in 'load2'.
  • E.M.T. (Environment Main Tree) has been renewed, by removing the aufs folder. Now all the AUF Files are optionally.
  • Environment Syntax highly optimized.
  • Language Syntax highly optimized.
  • Code optimized.
  • Eboot updated.


  • Stringer function (alias fixString), that works to fix the string which contain paths has been highly fixed. Now It works perfectly.
  • Code optimized.
  • Eboot updated.


  • Added the 'envs', 'cenv', 'menv', 'cpu2', 'tree', 'find', 'col' commands.
  • Removed the commands 'ffind', 'mfind' and 'sys' commands.
  • Removed all the commands related to the Temporary File Manipulation:
    • 'ffind', 'fman', 'twrite', 'tread', 'seek' because they're useless and dangerous for heavy files, and cause the HM7 File Manipulation System is however a bit deprecated.
    • Now you can manipulate any file at your own risk by the general command 'exec'.
    • Example: "exec hi_txt ="hi.txt",'w')hi_txt:write("hello, world!")".
  • Renamed the commands: 'help' in 'hlp', 'make' in 'dirs', 'update' to 'upd', 'dofile' to 'dfile, 'extract' to 'ext'.
  • Optimized and fixed all the commands.
  • Optimized all the D.T.E. Features (Directly Template Executing), by implementing loadstring LUA's native function instead of the AB's temp.lua method. Now, for example, the Calculator is 200 times faster than the old one, like the Helper FUnctions (and others...).
  • The E.M.T. (Environment Main Tree) has been renewed: the AUFS Files go to aufs/ and all the commands files go to cmds/.
  • The SCRIPT.LUA has been divided into: SCRIPT.LUA and a-utils.lua, which contain all the necessary LUA functions.
  • Now the 'info' command will tell you about the Security Information, like:
    • Password, PSN Account, PSN Pass, SSID Name, SSID Pass, SSID2 Name and SSID2 Pass, and It will also tell you the Init CPU, the Current CPU and the BUS.
  • Now if a basic file doesnt exist in AlphaBase HM/ main root then the script will tell you this file and the related ERROR Number (identified by 100 + the file ID).
  • Now you can assign to the I.P.R. Commands (Input Param Require), an INPUT which contain the C.P.S. symbol, but you have to put the INPUT param as the last param of the command.
    • This commands so, are now defined as: "marks [NAME]~[INPUT]", "set [TIME2,TIME1]~(MODE)~[INPUT]", "pos [XMIN,YMIN,XMAX,YMAX]~[INPUT]".
  • Added a LUA highly-powerful Commands Handler, which allow you to create new commands after declaring their own related functions.
    • With this system, the function will provide automatically to insert the command in the cmds array.
  • Added the Multi-Environment System. Now you can do more User Execution in more AB environments.
    • You can create a new env by typing 'envs env', where env (optionally) is the name of the env.
    • You can switch the Current Environment by pressing L or R keys.
  • Added new controls at the beginning and performed the existant about the initial stuffs.
  • Script Speed increased of 20% (after all this work, at least...).
  • Environment Syntax highly optimized.
  • Language Syntax highly optimized.
  • Code highly cleared and optimized.
  • Eboot updated.

External links