Here are a few recommendations to those of you who code VSH modules:
1) Do NOT use sceCtrlReadBuffer*, but sceCtrlPeekBuffer*, if you poll the keys often as VSH will not like it at all if it doesn't receive anything in the buffer :)
2) Do NOT use debug font to print stuff, FFS.... It looks like crap and just doesn't go esthetically. If you do, modify it to have transparent BG at least. Instead, use some lightweight font system, or blit your messages in PNG or some other format.
3) Do NOT make 10000 plugins just to get frontpage. Memory is LIMITED in VSH mode, and it takes more of it for dozens of small plugins than for one bigger one. Don't waste memory, it's BAD.
3b) Do NOT make TOTALLY USELESS stuff. Some might recognise themselves, so STOP doing those things.
4) Do NOT rely on static locations in memory for patching stuff. For the reason above, and people loading 10000 other plugins, memory locations shift, as the PSP reorders the modules, especially in VSH.
5) Do NOT patch static locations. Always use FindProc, or stuff which calculates patches dynamically.
6) Do NOT modify flash files. VSH is less stable, as the user can easily make it kill your module without any confirmation (standby, launch game, memory overwrite...)
7) Do NOT make huuuuge modules with 100 libs in them. That's INEFFICIENCY. Stuff like this:
i-e "omg, i need a leet 100Kb function because i'm too leet to use the SCE API". libpng IS in the VSH system, just look for it. (scePaf) Zlib is too.06:03 < sg57> where is the function 'deflate'?
06:04 < sg57> zlib?
8) Do NOT allocate memory as you do normally. Memory in VSH is limited due to the fact that it allocates ~19Mb of heap. Leave some space for other apps. If you DESPERATELY need memory, allocate it with scePaf malloc/free exports. (Use FindProc "malloc" and "free" in "scePaf" to find them)
9) Do NOT forget to FREE all memory you allocate on the heap.
10) Do NOT stop the PSP from going to sleep/standby or rebooting. It can be extremely displeasing for the user.
That's all i can think of. And after all, do what the **** you want. Any SENSIBLE remarks welcome.