LumaTeam / Luma3DS

Nintendo 3DS "Custom Firmware"
GNU General Public License v3.0
5.35k stars 559 forks source link

[Compilation] Current and future features for Rosalina (All Rosalina feature requests go here!) #619

Closed ghost closed 7 years ago

ghost commented 7 years ago

EDIT: THIS ISSUE IS NO LONGER MAINTAINED AND HAS BEEN LOCKED; PLEASE SUBMIT NEW FEATURE REQUESTS TO #752!

With the release of Luma3DS 8.0 and the custom sysmodule Rosalina, we have been getting a lot of issues concerning Rosalina's current/planned features, as well as requests for new features. We've created this issue to consolidate these requests; if you want to request a feature for Rosalina, please do so here. If a feature has already been requested, please do not comment about your support or dislike of said feature; instead, use Github's "reaction" system to give it a thumbs up, thumbs down, like, etc. Please note that any arguing, bickering, fluff, and/or drama will be removed without notice.

Original Features

These were Rosalina's original features; i.e. the features available in the v8.0 release of Luma3DS.

Features implemented at the request of the community

These are features that were requested by the community and have been successfully implemented.

Features accepted/planned to be implemented

These are features that have been requested by the community and have been accepted; they will be implemented at some point in the future.

Features under consideration

These are features that have been requested by the community and are currently being considered as possible candidates for future implementation.

Rejected features

These are features requested by the community that were not appropriate for Rosalina, leading them to be rejected and not implemented.

Plailect commented 7 years ago

An integrated FTP/SFTP server with access to SDMC, CTRNAND, and TWLNAND would be an excellent addition to Rosalina.

walterclozet commented 7 years ago

i would like an option to set region stuff for the currently selected title, instead of installing a luma locale switch tool and have to select one title from a large list to set the region info.

Jimmy-Z commented 7 years ago

I would like a default locale.txt, including multiple lines like this:

USA EN US 01
JPN JP JP 01
EUR EN GB 01

when out of region title launches, select the respective setting based on their region if per title locale.txt doesn't exist.

Valeri0p commented 7 years ago

It would be practical to implement a Samba server, rather than an FTP one? (To get rid of mSD management...) Also, if I can ask, why the arm11 exception handlers switch was disabled?

ZenIsBestWolf commented 7 years ago

Possibly improve the screenshot tool. HB used to have a screenshot feature upon pushing the home button or some other kind of key combo. This process was fast, and then to get the screenshots, you launch a separate program that puts them into image files. This was useful when using HANS.

WubTheGame commented 7 years ago

maybe after selecting take screenshot from the rosalina menu, you can have the option to press a button to cancel it before it completes?

Rust-and-Sunset commented 7 years ago

Given the fact that Rosalina allows you to set N3DS Clockspeed/L2 after booting, does this mean that it's now viable to set up per-title configurations for titles with issues with N3DS Clock+L2 that bump them down to O3DS settings whenever they're started/active?

Games like Sega All-Stars Racing Transformed's EU release and the SMT: Devil Survivor games are only really consistently stable/playable at O3DS settings. Up until this point, running them has required powering off the system, manually opening Luma's settings panel, and switching the Clock+L2 boost off every single time the user wants to run them, then rebooting and switching the N3DS setting back on after each play session.

The ideal behaviour would be for Luma/Rosalina to detect when an O3DS-only game is being launched (either through matching its ID against a user-provided blacklist in a config file, or through the user setting it to O3DS-mode in Rosalina at runtime, with the setting being remembered for later instances of that title being started), switch off the Clock+L2 boost for the duration of its runtime, then flip back to N3DS settings when the game has finished running.

Is that kind of behaviour possible now? Whenever it's been raised before, it was dismissed as being fundamentally impossible with the way Luma handles the Clock+L2 boost- has that changed?

ghost commented 7 years ago

@StateOfException Currently, you can manually go into the N3DS menu and disable/enable the clock/L2 boost in real time, yes. Luma doesn't currently do what you stated, but it is likely feasible. Thanks for the request.

RS55 commented 7 years ago

It is possible to add an option that can be activated and deactivated; to disable the Home button and toggle it as a shortcut to take screenshots? Something like what happens with HANS but that can be changed in rosalina.

Derek1199 commented 7 years ago

Having a dump codebins and load codebins feature on luma would be nice. I'd also like a force test menu NS patch. Lol.

WubTheGame commented 7 years ago

when exiting the Rosalina menu, any chance the B button can stop being active after closing the menu? Example of how it currently is: watching Youtube, open Rosalina menu, Exit, Youtube goes back a page.

Edit: Thank you for considering this.

ahoischen commented 7 years ago

I think blocking other software from reading inputs for a certain amount of time would be very hard to implement, but it would be feasible to wait for maybe half a second before closing Rosalina and resuming the application. It would, of course, be best if this delay was optional.

Ennea commented 7 years ago

WiFi toggle would be nice. It's a hassle on N3DS when you have to go back to the home menu.

NightScript370 commented 7 years ago

Is it possible to make it use payloads again?

ghost commented 7 years ago

@maorninja You're going to have to clarify. What do you mean, "make it use payloads again"? Luma is still capable of chainloading ARM9 payloads. If you mean .3dsx *hax payloads, then I don't believe that would be possible because of the shifted memory maps necessary for Rosalina.

Edit: Corrected some incorrect information.

NightScript370 commented 7 years ago

Yeah, I meant the .3dsx

Also, I mean't by if you can use it by Luma's side, not actually open it. And yes, it was made with *hax payloads in mind.

fincs commented 7 years ago

the new Homebrew Menu was not developed with *hax payloads in mind.

Not true. hbmenu 2.0 still supports *hax 2.x payloads and even ninjhax 1.x. And also, hax payloads are not compatible with Rosalina since SYSTEM memory region layout needed to be changed to accomodate for the extra sysmodule (and also other things). There should be no reason to use hax payloads if you already have access to Rosalina, though.

(I wrote this some time ago:) This is intentional. It was decided that target title selection is not useful anymore since 3dsx applications have full ARM11 system permissions now, and it is possible to directly access the savefiles of any title by using the appropriate FSUSER commands. In the meantime, you can use the CIA versions of savegame managers.

Also, HANS is obsoleted by Luma3DS's built-in ExeFS/RomFS (LayeredFS) game patching feature. You can also use GodMode9 instead of braindump for dumping game assets.

ghost commented 7 years ago

@maorninja The new Homebrew Menu already works with .3dsx files still. But you're going to have to clarify: are you wanting Luma to be able to open .3dsx files directly, without the Homebrew Menu?

And @fincs, thanks, I had misunderstood based on previous issues.

NightScript370 commented 7 years ago

No, as in, will hax payloads still work on Luma 8.0?

ghost commented 7 years ago

@maorninja No, they will not, cannot, and in my opinion, should not as they are completely unnecessary under Luma. And, please, don't ask off-topic questions.

mitchellmebane commented 7 years ago

The Rosalina menu shows the Luma3DS version - could it also show SysNAND/EmuNAND info (and the system version if there's room)? That would obviate the need to patch System Settings. Granted, EmuNAND is not particularly useful any more, but it still might be fun to mess with old system versions, or have an EmuNAND with wifi turned off just for non-Nintendo-approved stuff.

Also, would it be possible to add support for ZL/ZR in the menu key combo, or is that a technical limitation of how the New buttons are implemented?

bigretromike commented 7 years ago

Ability to stream screen/video to external device.

Gudf commented 7 years ago

@mitchellmebane I think it's a technical limitation. I can't find the issue where it's been mentionned, but it has already been suggested.

ghost commented 7 years ago

Have gotten a couple feature requests that have either already been asked for or are already implemented. Everyone, please actually read the body of the main post before commenting.

NightScript370 commented 7 years ago

How about, being able to swap out your ROMFS anytime?

Basically, I have a lot of NSMB2 hacks, and I like to play them all. But to do so, I have to go into FBI, rename the folders, then go and play. Why not just make a "ROMFS Selector" thingy?

holly-hacker commented 7 years ago

@maorninja there wouldn't be much demand for that, it'd be easier to just code up a little application to switch it.

pechurc commented 7 years ago

I've tried do "Brightness adjustment" on rosalina but I can't get GSPLCD functions working Rosalina just turn to black screen and the system freezes, no .dmp file generated You can try with this, GSPLCD_SetBrightness also is not working

if (R_SUCCEEDED(gspLcdInit())) {
        GSPLCD_PowerOffBacklight(GSPLCD_SCREEN_BOTH);
        gspLcdExit();
}

Sorry if this is no the correct place for comment this.

doesthisusername commented 7 years ago

TAS tools, like save states (not sure if feasible at all), frame advance, and queued inputs. Probably not fit for the "main version" of Luma, though. So if it isn't, a plugin kind of thing to make it possible to implement would be nice.

Macros could also be fun.

WubTheGame commented 7 years ago

Would it be possible to inject Any title into the currently running title? i.e Injecting Homebrew CIA's into 3DS Sound

onaryc commented 7 years ago

Could it be possible to have a configuration file or different mode/profile choose entry (dev mode with debug/process/... related entries and a "normal" mode with non dev features) to configure the entries in the rosalina menu?

Anyway i think rosalina is a great feature! Great work!

KarmicBacklash commented 7 years ago

As I do a lot of Smash 3ds modding, I think the ability to un/remount the SD Card would be Incredibly useful. Although even i can see that this is a monumental request, but just saying, it would be nice to have.

This and possible a note taking ability. I would love to have this so as to write notes of what to do either in a game or when modding Smash 4.

holly-hacker commented 7 years ago

@Hyperom I've heard that pen and paper work really well for notes.

astronautlevel2 commented 7 years ago

Posting this here because it's mostly relevant;

@LiquidFenrir and I have been working on adding in support for detecting new Luma3DS releases in Rosalina and sending a system notification, progress can be seen at https://github.com/astronautlevel2/Luma3DS-1

ValShaped commented 7 years ago

Would it be possible to allow the user to change certain aspects of the Luma3DS Configuration from within Rosalina?

Specifically, enabling or disabling game patching, showing NAND or user string in system settings, the GBA boot screen in patched AGB_FIRM, and other options could go in the menu. It could replace the New 3DS Menu (which currently only changes the clock speed and access to L2 cache, both options found in the Luma3DS Config menu on boot).

Since it would be an options panel, some already planned and considered features such as screen brightness selection, volume control, and Wi-Fi status could potentially be in there as well.

Rosalina is a very impressive achievement, by the way! I love the expanded functionality of the HBL (uninstalled all the homebrew titles from my 3DS!); taking screenshots, messing with the clock speeds, and Input Redirection are absolutely incredible.

KarmicBacklash commented 7 years ago

@HoLLy-HaCKeR They're looking for requests, thats a request. Just doing my civic duty.

ghost commented 7 years ago

@Hyperom This is actually already possible, with a homebrew called SDmounty. Be aware, though, it'll reset your theme to the default until you reboot.

LiquidFenrir commented 7 years ago

@Hyperom to add to @Hikari-chin's answer, you don't even need SDmounty, just press L+R on the HOME menu to get in the camera applet and you can safely remove the SD card there. Don't answer to their prompt until the SD is back in though.

alnoses commented 7 years ago

[Feature resquest] support for image capture similar to ntr cfw or horizonM

mariogamer2 commented 7 years ago

It would be great to support screen capture yeah.... like HorizonM since he has compat. with old 3ds but with better compatibility...

Shadow322 commented 7 years ago

Have it to where screenshots r saved to sd card instead of ctrnand when u have boot.firm only on ctrnand

MarioMasta64 commented 7 years ago

a delete option for installed titles would be pretty neat. sometimes i go into fbi and look through so many titles then i forget what im looking for. i suppose going home and returning will solve it but itd be pretty neat to delete from home menu.

WubTheGame commented 7 years ago

Any possibility that using Rosalina, you can use HBL kinda like an Applet? i.e Open Rosalina menu, go to Launch HBL (or whatever it would be named) and you could run a 3DSX without having to close your current software? this would be really useful for something like this: Playing a game that you want to spend play coins on, opening Rosalina menu after running out of play coins, and run HBL to use a Playcoin Generator and exiting out without closing the Game and now being able to spend more play coins. i Completely understand if this can't or won't be implemented. (also, i'd love to get home menu notifications about new stable luma releases)

ghost commented 7 years ago

The ability to load custom ROMFS/EXEFS into NAND applications, like other applications (games installed on SD and cartridges), would be pretty neat.

TheMCNerd2017 commented 7 years ago

I personally would like to see more details about processes in the Process List, like the current CPU and RAM usage of a process.

ghost commented 7 years ago

Repeating your rejected (for being impossible) enhancement requests from other issues here won't get them implemented, nor will insulting the collaborators or developers.

Shadow322 commented 7 years ago

be able to select emuNAND options no matter if boot.firm is in your choice of locations ctrNAND or SD Card

CuriousTommy commented 7 years ago

Hello everyone, There are two features I was like to see on Rosalina:

  1. -snip-

  2. This is probably leaning towards the impractical side, but I would be cool to be able to use exFAT or ext2 to add more space without losing speed. If someone actually wanted to do this, it would probably be more realistic for this to be implemented as a plugin instead (assuming that luma does support custom plugin instead).

ValShaped commented 7 years ago

@CuriousTommy I don't think that's practical:

  1. Gateway uses a flashcard to simulate the behavior of an actual cartridge. This is expensive and doesn't require much patching to get done (only basic signature patches, as well as sending some invalid cart commands to change the game on the cartridge. Plus, it's only really useful if you wanted to pirate games, since GodMode9 can backup cartridges to CIA format anyway).

  2. It would require a lot of work to get exFAT or ext2 to work on the 3DS, and wouldn't really give that much of a benefit (especially since there would be no way to get SigHax to load the payload from an exFAT card, given that it can only read FAT32.

CuriousTommy commented 7 years ago

Gateway uses a flashcard to simulate the behavior of an actual cartridge. This is expensive and doesn't require much patching to get done (only basic signature patches, as well as sending some invalid cart commands to change the game on the cartridge...

Yeah, if this was going to be implemented in Luma, then the ROM has to be read from the SD card slot instead of Gateway. It probably would mean patching the home menu and launcher too.

Plus, it's only really useful if you wanted to pirate games, since GodMode9 can backup cartridges to CIA format anyway).

Eh, both ways are easy tbh when it comes to piracy. CIAs just take longer to install. Also, Nintendo is targeting people who are not using legitimate software purchases. I want to avoid install illegitimate tickets on my future 3DS if I can help it while still being able to do mods and backups. There is a solution for homebrew, but I would also love to see one for physical games too.

It would require a lot of work to get exFAT or ext2 to work on the 3DS, and wouldn't really give that much of a benefit (especially since there would be no way to get SigHax to load the payload from an exFAT card, given that it can only read FAT32.

One could partition a small portion of the SD card to be FAT32 and have the rest be in the other format. But I honestly don't see many people interested in wanting to implement something like this.

Kalanyr commented 7 years ago

Is it posssible to soft patch the ARM9 exheader checks via Rosalina ? I'm assuming not, since it's not implemented, but figured I'd ask. As things currently stand you need to reboot and enable the ARM9 patching to allow the 3dsx FBI access to CTR NAND / TWL NAND, but if you're rebooting anyway you can use GM9 instead for NAND / TWL NAND management. Not a dealbreaker but it would certainly be more convenient to be able to do NAND management stuff without having to reboot (eg updating the Luma CTR NAND payload when necessary).