Coder Social home page Coder Social logo

vitashell's Introduction

VitaShell

VitaShell is an alternative replacement of the PS Vita's LiveArea. It offers you a file manager, package installer, built-in FTP and much more. This homebrew was an entry of the Revitalize PS Vita homebrew competition and won the first prize. HENkaku's molecularShell is also based on VitaShell.

Changelog

See CHANGELOG.md

How to use an USB flash drive as Memory Card on a PS TV

  • Format your USB flash drive as exFAT or FAT32.
  • Launch VitaShell and press in the home section.
  • Select Mount uma0: and attach your USB flash drive. You can now copy stuff from/to your USB stick.
  • Once uma0: is listed under the partitions, press again and choose Mount USB ux0:. This will copy important apps like VitaShell, molecularShell, and other files.
  • Your USB flash drive is now acting as a Memory Card.
  • To sync all your apps on your USB flash drive, press and choose Refresh livearea. This will NOT refresh PSP games.
  • If you wish to revert the patch, press and select Umount USB ux0:.
  • Note that this patch is only temporary and you need to redo the procedure everytime you launch your PS TV.

Customization

You can customize those files:

File Note
colors.txt All colors adjustable
archive_icon.png Archive icon
audio_icon.png Audio icon
battery.png Battery border icon
battery_bar_charge.png Charging battery bar
battery_bar_green.png Green battery bar
battery_bar_red.png Red battery bar
bg_audioplayer.png Background for audio player
bg_browser.png Background for file browser
bg_hexeditor.png Background for hex editor
bg_photoviewer.png Background for photo viewer
bg_texteditor.png Background for text editor
context.png Context menu image (Can be any size. Suggestion: It will look great if you add alpha channel to your image)
context_more.png Context menu more image (Can be any size. Suggestion: It will look great if you add alpha channel to your image)
cover.png Default album cover
dialog.png Dialog menu image (Can be any size. This image file will be stretched by VitaShell to fit the dialog box. Suggestion: Don't use motives, as it will not look good with wrong proportion)
fastforward.png Fastforward icon
fastrewind.png Fastrewind icon
file_icon.png File icon
folder_icon.png Folder icon
ftp.png FTP icon
image_icon.png Image icon
pause.png Pause icon
play.png Play icon
settings.png Settings icon
sfo_icon.png SFO icon
text_icon.png Text icon
wallpaper.png Wallpaper

Theme setting: VitaShell will load the theme that is set in ux0:VitaShell/theme/theme.txt (THEME_NAME = "YOUR_THEME_NAME")

General info: You don't need to have all these files in your custom theme, if one of them is missing, the default image file will be loaded instead.

Dialog and context image: If these files are not available, the colors DIALOG_BG_COLOR and CONTEXT_MENU_COLOR from colors.txt will be used instead.

Multi-language

Put your language file at ux0:VitaShell/language/x.txt, where the file must be UTF-8 encoded and x is one of the language listed below:

  • japanese
  • english_us
  • french
  • spanish
  • german
  • italian
  • dutch
  • portuguese
  • russian
  • korean
  • chinese_t
  • chinese_s
  • finnish
  • swedish
  • danish
  • norwegian
  • polish
  • portuguese_br
  • turkish

VitaShell does automatically load the language that matches to the current system language. If your system language is for example french, it will load from ux0:VitaShell/language/french.txt.

Languages files are available in the l10n folder of this repository.

Building

Install vitasdk and build VitaShell using:

mkdir build && cd build && cmake .. && make

Credits

  • Team Molecule for HENkaku
  • xerpi for ftpvitalib and vita2dlib
  • wololo for the Revitalize contest
  • sakya for Lightmp3
  • Everybody who contributed on vitasdk

vitashell's People

Contributors

1upus avatar astarothl avatar azumukupoe avatar bigboot avatar coestergaard avatar cxziaho avatar d3m3vilurr avatar darkmet98 avatar devnoname120 avatar fox-john avatar heavydpt avatar joonie86 avatar limyz avatar littlebalup avatar marvinparlevliet avatar mayoshiroi avatar mrsshr avatar princess-of-sleeping avatar ribbid987 avatar sora3100 avatar soywiz avatar tails32 avatar theherogac avatar theofficialflow avatar thhoang99 avatar umineko1993 avatar wassburgare avatar wesleypolicena avatar xerpi avatar zhtw2013 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vitashell's Issues

Incomplete FTP File Transfer

Trying to Copy a larger-ish File (200MB+) often turns out Incomplete for me.
The File will be in the Directory but will not have the correct size, thus leaving me with Error 0xFFFFFFFF when trying to Install.

The FTP Transfer Process does complete seemingly successful and takes as long as it usually would for the original file size.

-usually i try to copy it to ur0:/homebrew/vpks/ but copying it into ur0:/ shows the same behaviour.
-Rebooting / Rebuilding the Database in the Vita's Safe Mode does not help.
VitaShell 0.86
-I do have a 64GB Vita Memcard
(since these are not usually available in Germany/EU i thought i should point that out)

Separate File_Color and General_Color

Hi guys I would like you to seperate General_Color and File_Color.
It's fine to change the color of the right tab but it is linked to the file name color.

INSTALL_WARNING crashes

Reproduce Steps

  • change system language to 한국어 (Settings -> Language -> System Language)
  • (maybe optional) delete all files in ux0:/VitaShell/language
  • put attached korean.txt to ux0:/VitaShell/language
  • install any package with extended permissions
  • crashes after: '설치중...'

lang_and_dump.zip

[Suggestion/survey] lightly increase scale of dialogbox background

Some guys asked me if it's possible to increase the scale of the dialogbox background for theme stuf.

So I build and shared this for test (ugly but works...):
`
int drawUncommonDialog() {
...

// Dialog background
vita2d_draw_texture_scale_rotate_hotspot(dialog_image, uncommon_dialog.x + uncommon_dialog.width / 2.0f,
                                                    uncommon_dialog.y + uncommon_dialog.height / 2.0f,
                                                    uncommon_dialog.scale * ((uncommon_dialog.width + 20.0f) / vita2d_texture_get_width(dialog_image)),
                                                    uncommon_dialog.scale * ((uncommon_dialog.height + 20.0f)/ vita2d_texture_get_height(dialog_image)),
                                                    0.0f, vita2d_texture_get_width(dialog_image) / 2.0f, vita2d_texture_get_height(dialog_image) / 2.0f);

`
Where I arbitrarily added 20.0f to lightly increase width/height scale.

As I'm leaving for a week, I asked them to react here with their feeling. so we will see.

Compile error on master branch

Getting this error when trying to compile the latest master branch

xx@xx:~/Documents/VitaShell$ make clean && make
arm-vita-eabi-gcc -Wl,-q -Wall -O3 -Wno-unused-variable -Wno-unused-but-set-variable -c -o main.o main.c
main.c: In function 'main':
main.c:1550:2: warning: implicit declaration of function 'vitaAudioInit' [-Wimplicit-function-declaration]
vitaAudioInit(0x40);
^
arm-vita-eabi-gcc -Wl,-q -Wall -O3 -Wno-unused-variable -Wno-unused-but-set-variable -c -o init.o init.c
arm-vita-eabi-gcc -Wl,-q -Wall -O3 -Wno-unused-variable -Wno-unused-but-set-variable -c -o io_process.o io_process.c
arm-vita-eabi-gcc -Wl,-q -Wall -O3 -Wno-unused-variable -Wno-unused-but-set-variable -c -o package_installer.o package_installer.c
package_installer.c: In function 'loadScePaf':
package_installer.c:39:2: warning: implicit declaration of function 'sceSysmoduleLoadModuleInternalWithArg' [-Wimplicit-function-declaration]
sceSysmoduleLoadModuleInternalWithArg(0x80000008, sizeof(scepaf_argp), scepaf_argp, ptr);
^
arm-vita-eabi-gcc -Wl,-q -Wall -O3 -Wno-unused-variable -Wno-unused-but-set-variable -c -o network_update.o network_update.c
arm-vita-eabi-gcc -Wl,-q -Wall -O3 -Wno-unused-variable -Wno-unused-but-set-variable -c -o context_menu.o context_menu.c
arm-vita-eabi-gcc -Wl,-q -Wall -O3 -Wno-unused-variable -Wno-unused-but-set-variable -c -o archive.o archive.c
arm-vita-eabi-gcc -Wl,-q -Wall -O3 -Wno-unused-variable -Wno-unused-but-set-variable -c -o photo.o photo.c
arm-vita-eabi-gcc -Wl,-q -Wall -O3 -Wno-unused-variable -Wno-unused-but-set-variable -c -o audioplayer.o audioplayer.c
In file included from audioplayer.c:28:0:
audio/mp3player.h:18:17: fatal error: mad.h: No such file or directory

include <*mad.h>

^
compilation terminated.
: recipe for target 'audioplayer.o' failed
make: *** [audioplayer.o] Error 1

USB support for PSTV

Hi,

It'd be great if I could manage things that are in the USB port of my PSTV from VitaShell.

FTP client

have the opposite option, you can connect the PS Vita to an FTP started on a PC to download files or stream file.

Directory renaming fails when renaming 'word' as same uppercase 'WORD'

I noticed a bug happening whether a file is renamed from inside vitashell or via FTP renaming.
This happened in ux0:/data. I used vitashell 0.95 on a vita TV and renamed files in the internal memory (1gb).
I had a directory ux0:/data/gg and wanted to rename it ux0:/data/GG .
When validating the renaming nothing happens and the filename stays the same (i.e. ux0:/data/gg).

Second panel on file manager

Hi, maybe you can add second panel in file manager like total commander/far manager.
On psp was file assistant with two panels (screenshot below).
Thx!
image

Lock buttons during install vpk process

Hi Theflow,

I would thank you for the huge work that you are doing for PS VITA scene.

I have a request to lock the buttons during the install process because if we touch the power button or the circle button accidentally the install is canceled, can you please add it.

Best regards

Klinux

make error

i try make lastest vitashell but mingw show error :

arm-vita-eabi-gcc -Wl,-q -Wall -O3 -Wno-unused-variable -Wno-unused-but-set-variable -c -o main.o main.c
In file included from main.c:36:0:
main.h:200:19: error: unknown type name 'ftpvita_client_info_t'
void ftpvita_PROM(ftpvita_client_info_t client);
^
main.c: In function 'fileBrowserMenuCtrl':
main.c:1112:5: warning: implicit declaration of function 'ftpvita_ext_add_custom_command' [-Wimplicit-function-declaration]
ftpvita_ext_add_custom_command("PROM", ftpvita_PROM);
^
main.c:1112:44: error: 'ftpvita_PROM' undeclared (first use in this function)
ftpvita_ext_add_custom_command("PROM", ftpvita_PROM);
^
main.c:1112:44: note: each undeclared identifier is reported only once for each function it appears in
main.c: In function 'shellMain':
main.c:1255:3: warning: implicit declaration of function 'sceAppMgrReceiveSystemEvent' [-Wimplicit-function-declaration]
sceAppMgrReceiveSystemEvent(&event);
^
main.c: At top level:
main.c:1442:19: error: unknown type name 'ftpvita_client_info_t'
void ftpvita_PROM(ftpvita_client_info_t *client) {
^
make: *
* [main.o] Error 1

what i missing ?

C2-12828-1 error when booting up vitashell/moleculeshell

So yeah , after i install vitashell and press on the bubble i get this message: (C2-12828-1) Saved Core File Succeeded ux0:data/psp2core-xxxxxxxxxx-eboot.bin.psp2dmp.
I can't really boot up the shell.
Seems like it's a problem with ux0:data/ files being saved.

Unable to update from 0.91

When opening VitaShell 0.91 for the first time, using a PCH-1104 model PS Vita, the shell asks to update by selecting either X for yes or O for no, but will not respond to input of any kind and the prompt remains open.

Allow user to sort files by file name, size or type

These past few days I've been doing a lot of file ripping from my games to reduce memory size. I find myself using Filezilla more than VitaShell because I can sort files by size and type. Would be a nice feature to have in a file manager.

[Improvement] Unzip the zip files

Would you add unzip the .zip files function for VitaShell ?
It will reduce the time of transporting a great many small files from PC to Vita. For example, some vpk, which have about 10 thousand files. it need 5 more hours to transport the all files to Vita via FTP or CMA. I tried to pack some vpk folder to .zip and rename to .vpk ,transport it to Vita within about 10 minutes, then install it with vitashell, but failed with an error 0xFFFFE when progress at 99% even through there were 5GB free space. If Vitshell can unzip the .zip to folder,then I can use some tool to install some vpk from folder in seconds, It will save very much time. Thank you.

VitaOrganizer + question about promoting

I have created a tool for organizing games and homebrew and uploading them directly to psvita without the VPK (uncompressing it in the desktop). You can download it here:
https://github.com/soywiz/vitaorganizer/releases/tag/0.1

Right it allows to process a folder VPKs, and allows you to create a small VPK with eboot + sce_sys folder and upload it to vita. After that it allows you to send all the rest files from the VPK directly without uncompressing in the vita, or even uncompressing on the computer via FTP.

Right now it requires those two steps. But it would be great if it could be just one step.
What about telling VitaShell somehow to promote something, either via a custom FTP command. Or either writting a file in the ux0: something like autopromote.txt or something like that?
That would make the whole process much more comfortable with less memory card size requirements and less time. And even allowing to push several games unassistedly.
If you like the idea, I could create a PR with the promoting stuff.

https://raw.githubusercontent.com/soywiz/vitaorganizer/0.1/extra/screenshot.png

[ENHANCEMENT] USB Support :)

please add a usb support to vitashell, i hate when i have to transfer with mobile hotspot (due to speed), it would help a lot.

Add GUI theme switcher

Sorry if this is a big request.

For swapping themes via VitaShell itself. Name and author could be read from the theme folder (which I enforce in the theme repo, via theme-name^author.) Maybe with the ability to display preview (reading preview.jpg from the theme folder, or previewX.jpg if there are multiple previews and cycling them.)

Theme

stop.png not in the theme.

Support for Cobra Black Fin Emulator card

First of all thank you very much to all members involved at creating HENkaku and VitaShell!

Im owning a Cobra Black Fin Emulator card
font201605230311507286
and it would be awesome, if you can support the microSD storage, which is located inside the adapter. That would allow to easily extend the memory of the PS Vita.

Keep up the great work!

Prompt user file/folder name if deleting a file/folder

As we know, vitashell will notice user when they delete file, but the dialog covered the file list, user cant confirm what they have selected, but the dialog only display a message "Are you sure you want to delete this file?", I suggest the message should be "Are you sure you want to delete 'filename' file?". It will very usefull to warn user not delete file/folder by accident.

Side effects using FTP transfer when reaching full size of Vita TV internal memory.

I transferred many files to my vita TV through the FTP functionnality of vitashell 0.95.
The transfer went fine, and Filezilla reported a correct transfer of the files.

Then going back to the vita TV and vitashell, I realized that all the last files had a size of 0 bytes. This is normal as I transfered more files than the internal memory could handle.
I reached the full size of the internal memory, confirmed by the systeme messages "You have less than <40 Mb "

Side effects observed:

  • Filezilla reported a successful transfer while the transfer was in fact failing. The ftp server on the vita side should report errors when maximum memory capacity is reached.
  • I deleted all the 0 bytes files, but the vita TV still reports the internal memory card as full ! And i cannot launch any software or copy any files because of this). I get this exact message in the vita TV menu, even after reboot (the bublle menu): "Free space on the memory card is less than 40mb".
  • I observed that the "content manager" reports these extra data as "Other" (gray color).
  • Rebooting the vita TV and using the offline henkaku do not work anymore (needs storage as cache?), exiting the mail application after this attemps brings an unstable bubble menu, with flickering screen. After this bug, impossible to restart vita TV via "shutdown" option, only solution is to cut the power.
  • Deleting the directories in which the failes transfers occured didn't change anything. I think there is an issue in the ways used blocks are registered. Vita memory formating the only option ?

Japanese (UTF-8) file names?

Someone told me to post this here.

Is there a possibility for VitaShell to handle Japanese (UTF-8) file names? Or is it a Vita limitation?

Disable Sleep Mode while FTP

Automatic Sleep Mode kills an FTP transfer and the same happen when you go to the dashboard.

A possible fix for this please?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.