Coder Social home page Coder Social logo

luma3ds's Introduction

Luma3DS

Nintendo 3DS "Custom Firmware"

What it is

Luma3DS is a program patching and reimplementing significant parts of the software running on all models of the Nintendo 3DS family of consoles.

It aims at greatly improving the user experience and at supporting the 3DS far beyond its end-of-life. Features include:

  • First class support of 3DSX homebrew
  • An overlay menu called "Rosalina" (triggerable by L+Down+Select by default), allowing amongst many thing to take screenshots while in-game
  • Removal of restrictions such as the region lock
  • Per-game language settings, asset content path redirection (LayeredFS), game plugins...
  • A fully-fledged GDB stub allowing to debug software (homebrew and system software alike)
  • ... and much more!

Luma3DS requires a full-system persisent exploit such as boot9strap to run.

Compiling

To build Luma3DS, the following is needed:

The produced boot.firm is meant to be copied to the root of your SD card for usage with Boot9Strap.

Setup / Usage / Features

See https://github.com/LumaTeam/Luma3DS/wiki (needs rework)

Credits

See https://github.com/LumaTeam/Luma3DS/wiki/Credits (needs rework)

Licensing

This software is licensed under the terms of the GPLv3. You can find a copy of the license in the LICENSE.txt file.

Files in the GDB stub are instead triple-licensed as MIT or "GPLv2 or any later version", in which case it's specified in the file header.

By contributing to this repository, you agree to license your changes to the project's owners.

luma3ds's People

Contributors

9ary avatar adibsurani avatar aurorawright avatar darkmattercore avatar hayleia avatar hikari-chin avatar ihaveamac avatar leoetlino avatar lioncash avatar liquidfenrir avatar luigoalma avatar margen67 avatar mariohackandglitch avatar merrymage avatar mtheall avatar nanquitas avatar noirscape avatar pablomk7 avatar panicbit avatar piepie62 avatar pixel-pop avatar qyriad avatar reisyukaku avatar s5bug avatar sciresm avatar sora10pls avatar stary2001 avatar t3chnolog1c avatar tstambaugh92 avatar tuxsh 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

luma3ds's Issues

Child Mode?

This is more of a request than an issue. I recently hacked my 9 yr. old's 3ds for homebrew, and I would like to "secure" it as much as possible from her accidentally doing something she should not. I've done the obvious, remove FBI from H&S, removed all payloads etc. But ultimately for child use it would be awesome if the ability to hold anything at boot could be disabled. So maybe it's just a matter of disabling the ability to hold select at boot to reach the AuReiNand config?

Potential for patch to block decrementing demo plays?

Is there any chance we could get a patch to launch demo titles without decrementing the number of plays remaining or otherwise bypassing the limited-play system? Some demos would particularly benefit from this, e.g. Bravely Default's demo features content that is unique to the demo, not a subset of the retail game. Being able to play this indefinitely (which is, admittedly, already possible via HANS), would improve it greatly, in addition to being more convenient and, probably, stable than using HANS to do the same. There are many titles that currently don't cooperate with HANS, including a large proportion of demos.

According to @yifanlu: "I think it should be easy. likely a home menu patch somewhere"

Saving config fails

If the /luma folder does not exist, it fails to save the config.bin and will result in endless reboots to the config menu until you create that directory. It should be possible to create that directory if it doesn't exist though is a minor issue, really.

5.3.1 blocks DStwo NDS flashcart

I tried out 5.3.1 today on my O3DS, and I have had no issues other than my DStwo DS flashcart no longer working. Everything seems to work fine on 5.3, but I have not been able to boot into the DStwo on 5.3.1.

Patch DS/DSi games on the fly to use the alternative wfc

This is the alternative wfc: https://github.com/polaris-/dwc_network_server_emulator
And this is what you currently do to get access to it: https://github.com/polaris-/dwc_network_server_emulator/wiki

You need an action replay code or you can use a rom patcher.
I don't know if it is possible but an auto patcher with an auto code generator(or a code list for each game similar to how region change is done) to patch the game could be implemented.

Smash bros (eshop) Not working. [Black screen]

even since 5.0, smashbros boots to a black screen,
I've tired toggling some settings, and had no luck.
It's officially downloaded, and purchased from the e-shop, and I even tried re-downloading.
I know the game takes longer to load then others, but even after 10+ mins, it will still not have loaded.

[Emunand updated to the latest version]
AureiNand 5.1.1 +a9lh

Clash in new payloads

Hi!
I just checked your latest release. I can't try it out right now, but from looking at the code, it seems that the new pattern used for allowing the old payloads to be recognized will also produce a clash between the payload "r" and "right", as r*.bin will also match right.bin. That's why I had the somewhat hard on the eyes solution in my initial commit that checked both the original name, and also the extended pattern with _NAME.

5.3.1

Newest luma fail to boot on old 3ds xl. Dude you have to see me and my friend faces we unboxed old 3ds xl ( new get from store today ) and after hours of tutorial black screen. We was thinking its brick... Older version of luma work good but this not working.

Aureinand booting problems.

Hello! I'm not sure if you read my comment on the Aureinand thread on gbatemp

I've been using this guide to manually compile my own A9LH.3dsx files.
https://gbatemp.net/threads/how-to-compile-and-install-arm9loaderhax.415776/

So my problem here is that every version of Aureinand after 3.11 does not load on my A9LH setup. I get a pure black screen with the blue light on. I used FIX94's fork of A9LH to compile my .3dsx file.
https://github.com/FIX94/arm9loaderhax

The only reason I used his is to not have the backlight flicker on then off during screen init. I assume I need screen init in order to boot various other programs like D9 and other things.

I think that this may have something to do with the merging of the loader file and other things in the aurei folder into the main executable as I'm only having problems with versions that don't have the files in the aurei folder.

Not sure if you'd be willing to fix this so it works on my version of A9LH or if you'd recommend I change my setup. There are so many forks of A9LH that I honestly don't know what to do or what each of them does differently. If you can recommend me a setup that has screen init with no backlight and works with your latest releases of AuReiNand that'd be amazing! Thank you for all of your hard work!

Splash screen too late

Re: 5.0: The splash screen occurs after one would need to hit a key to load a payload, instead of before, like BootCTR. It's enough of an annoyance that I'm reverting to the last version of the CFW (I've had numerous payload failures because I didn't hit the key in time). There also doesn't seem to be a way to configure the splash delay.

EmuNAND 10.5 on SysNAND 4.3

Hi,

I managed to boot your CFW on my O3DS through MSET, although when I try to launch the CFW a black screen is there, and the EmuNAND is not loading. Of course at first boot I didn't touch any option and I just pressed START. With rxTools everything boots fine although.

I tryed to place the firmware.bin file in luma/firmware.bin but it doesn't work anyway.

Any clue? Am I missing a step?

Thanks in advance,
Julian

Unable to load alternate payloads if default.bin is not present

I dont know if this is a bug, or by design, but if there is no default.bin file, the alternate payloads (up/down/left/right) will not trigger at all.

I found this as I dont care so much for using Start as it is odd to do. I just prefer using up/down/left/right as I can trigger that with the left hand, and power on with the right.

Thought I'd throw this out there if it was unexpected behavior.

Apply New 3DS CPU setting on per-game basis like region emulation?

It seems like over(battery)kill for AuReiNand to run every game at the upclocked New 3DS speed. Personally, I have a handful of games that I like to run upclocked because they run terribly, but I don't need to be using it when I'm playing Sudoku.

In this scenario, the settings screen would be selecting a default option, with exceptions specified using txt files as region/language emulation works currently.

Thanks for any consideration.

Freezes pre-backlight init when SD card is write locked

If your SD card is write locked via the slide switch, AuReiNand doesn't present any kind of notice when trying (and failing) to boot an emuNAND. It would be nice if AuReiNand could detect this as an error condition and notify the user instead.

Updating titles not working on >=4.0

If you try and update a title (Flipnote Studio 3D in my case) from system menu, it will tell you that your firmware is outdated and it will try to update and find nothing. I have downgraded to 3.14 and performed the update without issues. I think this might be related to some 3ds_injector stuff added.
New 3DS (EUR) 10.7 SysNand using A9LH

Gracias por tu trabajo

Gracias por tu trabajo y adelante con el proyecto. Que no te importe lo que la gente diga siempre habra gente desagradecida pero habemos muchos muy agradecidos con tu trabajo.

Adelante.

Sometimes themes are lost on reboot.

Since 4.01 I have had issues with my themes being lost on reboot sometimes. I have yet to delete my theme management data and rebuild it. I will try this and update

armips on linux builds

I built static dynamic binaries that should be usable on most linux installations. Don't know if they will be usable for anyone here but it might save some from having to compile it themselves. Details are in the readme. I don't actually claim any credit for this. 32-bit and 64-bit binaries are included.

Static binaries don't work with pthread so I had to do dynamic ones anyways. Good news is that they still worked out for me.

https://mega.nz/#!uQ1T1IAD!Q91O0e12LXKiaXh_YjXD3D5m8_W3FuMI-hEa6KVMRDQ

DNS Blocking?

I read that you block updates and I know that the old way to block push updates was to use the tubehax DNS. Now the issue is when I try and go online in ORAS everything works but battlespot. It gives error code 006-1102 which is a connection error and it recommends going through googles DNS if experiencing problems. This however doesn't work and I have tried for about a week (Switching between Auto and Google DNS) to resolve this issue. Then I read the changelog and thought that you might be blocking all of Nintendo's services other than eshop and NNID and that is how you achieve no push updates. I have tried my cartridge and CIA versions(Made by Uncart and FunKey) and neither worked and I have restarted my router and power cycled it multiple times. I am running AuReiNand 5.1.2 on an Original 3DS.

Region Free Loading Issue?

So I'm not sure why this is happening but I'm using aureinand 4.1 and I've installed an animal crossing new leaf cia (JPN) I can see it on the home menu and it looks fine, the banner doesnt act up at all. When i try to load it it loads and then it boots me to the home menu and says that an error has occurred and that it will reboot. It's weird because loading a japanese game from a cart works fine. I'm not sure what's wrong.

L2 disables n3DS clock in every game

I'm not sure if this is the intended behavior, but enabling only L2 for the new3DS RAM option disables the extra RAM for both o3DS and n3DS games (Making games like Hyrule Warriors Legends lag on new 3DS).

As far as I know, L2 helps loading o3DS game faster right? I was expecting L2 to be active in every game and the extra RAM be active on only n3DS games, but then again, I'm not sure if this is how it's supposed to work.

GPL violation

Removing the copyrights from the files was a violation of GPL. Please revert changes appropriately.

GPL, art.4(1):
"You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program."

https://github.com/Reisyukaku/ReiNand/blob/master/LICENSE.txt#L195

(Enhancement) Patch to Allow Nintendo Zone to be launched

I know this sounds odd, but the Nintendo Zone app is quite a bit larger than health and safety and there's proven work on it done that allows titles to be injected into it successfully.

http://gbatemp.net/threads/nintendo-zone-injection.423195/

As it stands more recent Home Menu's prevent the app from launching at all because "Nintendo Zone has been discontinued" error happens whenever you try to open the app, and it also happens when trying to resume the app if you launch it via something like Masher's Grid Launcher.

Just an idea, if that could patched, it'd be useful in the future for injecting stuff into clean NANDs
¯(º_o)/¯

A9LH Netloader Companion support?

You migth have already seen this:
https://github.com/d0k3/A9LH-Netload-Companion

Now, could you add support for it?

I suggest it work like this:
I change A9LH Netloader Companion to write the payload to your payload directory as nc.bin (or anything else of your choice). Upon starting, you let AuReiNand check if that file (nc.bin) exists. If it does, rename it to nc_old.bin, then start it. The rename is so that upon the next start, the default behaviour is restored again and the same testing payload won't be loaded a second time.

This support will be very helpful for ARM9 developers, as it would allow us to test payloads in the same way as HBL + 3DSlink allowed us in the past.

Implement "Shared Font Tool" functionality

Feature request on the behalf of /u/youjun540164

As I understand it, Chinese 3DS users need to use a tool called Shared Font Tool to play most out of region games without garbled characters. I'm sure a lot of our friends in the chinese gaming community would be very pleased if this feature could be implemented on the CFW level!

For more info, see the thread here

Problems with Software Management

When I go into Settings > Data Management > 3DS > Software, it starts enumerating but stops in the shortly after, showing "Could not access microSD card." next to the microSD card icon on the top screen.

This has been a bug for a while in open source CFWs - the same EmuNAND (back then, now I only use SysNAND) in Gateway Mode did not have this bug. No that I switched to A9LH, I can't easily switch to GW to access Software Management.

I don't think it's the SD card, as I tested it thoroughly with badblocks and used different ones as well. Also, it does not happen on my 2 O3DS.

The NAND was transfered from an O3DS and downgraded once. As stated above, in Gateway Mode before the switch to A9LH this bug did not appear, but at the same time when in rxTools.

Is it possible to make an option to disable all patches and just boot the homemenu clean? Maybe this way we can find out what's wrong.

O3DS Regression (GW Downgrade) 5.3.1

As you stated in the release

"Please note I need testing with this change, as it might cause issues for Old 3DSes which used the Gateway launcher to downgrade the console in the past. I have verified this is probably not an issue as all the leftovers seem to be deleted after an update, but I'm still not 100% sure. If you notice a regression (Luma failing to boot) I'd like to know."

The old 3DS I have was originally downgraded from 7.1->4.2 using the GW downgrader. Then manually updated to 9.2 later on. However, after installing 5.3.1, both emuNAND and sysNAND fail to boot, hanging on a black screen.

Reverting to 5.3 allows the system to operate normally again. If you need any more information, let me know.

Backlight control

It is already possible to control it for payloads but what about the home menu/games? I know it is possible because ntr does it but it doesn't stick after the lid is closed and reopenned. Would it be possible to implement a backlight control that goes below what the 3ds allows? It would be enabled as normal on the luma3ds menu but it would be separate for payloads/luma menu and normal 3ds so that we are able to change it if we set it too low.

System Crashes on ARN 4.0+ at Boot

  • Console = Blue JPN N3DS LL
  • sysNAND = 9.2 JPN
  • emuNAND = 10.7 JPN (Made with emuNAND9)
  • loader = a9lh

Ever since ARN 4.0 and above (nightlies included) my N3DS crashes after a second or two after booting my homescreen. It seems to load up fine showing my theme like normal, then proceeds to crash to this screen shown here. I get this no matter what NAND I boot into regardless if it is sysNAND or emuNAND. I have all of the right files in the right places (I know this because ARN 3.14 works just fine), and my a9lh work fine because I can boot other payloads with no issue (BootCTR9, D9, etc.).

What makes this issue even more odd for me is that is displays the error message in English. If I were to trigger the same kind of error screen by different means (like trying to run a poorly made .CIA) I would get the same error in Japanese. I can not even begin to wonder why is hows the message in English since i have not changed or installed any CIAs to either of my NANDs.

I am by no means an expert but have come to the conclusion it has to do something with the 3ds_injector code that was added and used on ARN 4.0+ not liking something on my system for some reason. I say this because when loading a 3ds_injector .cakes based on ARN implementation of it in CakesI experience the same issue. I am not sure where the issue lie in the 3ds_injector code in ARN because if I use the 3ds_injector.cakes mid-kid released a few days prior I don't have the crash at system start up, but the region free works just fine.

I have even tried coming through my installed titles on my NAND and they all match based on what 3DSbrew said I should have. I have also gone through looking for any bad installed CIAs on my SD and even uninstalled some that I thought may trigger it. Yet, I am left with the same problem.

Thank you for your time.

(Enhancement) Per Game n3DS CPU Clock

I propose it be possible to configure what games use the n3DS Clock Speed, done via a text document, similar to how you're handling region/language emulation.

TitleID's followed by a number for what setting to use. 1 for Clock, 2 for L2, 3 for Clock+L2
Something like that.

If no Title ID is listed then the game will follow it's default behaviour.

The n3DS Clock Speed is a great feature but seamless integration would be a lot better then "always on or always off" I feel.

I haven't a clue how possible this is, but I figured I'd bring it up anyway, I really think it'd be a worthwhile addition.

Patch out requirement to access conntest.nintendowifi.net

I have blocked one of my 3DS from WAN for testing reasons and noticed that all apps that use WiFi are stuck "Waiting for wifi..." (FTPd) or something unless they are allowed to connect to conntest.nintendowifi.net. This means you can't use network apps in closed networks or when your internet is out.

I did get arround this by poisoning my local DNS to point to my computer and serving the webpage there, but it'd be nice to patch this out somehow (optionally, as I realize it could break other things).

Browsing 3dbrew.org, I guess it must be somewhere in ac:u, probably GetWifiStatus or IsConnected.

007-2001 on Region Changed Emunand with 4.2

On 4.1 I can at least look at the eShop save for the 011-6949/026-6949 codes that ensue when trying to access using a NNID or update respectively. On 4.2 though I can't do anything and it just spits back 007-2001 instead.

Can you take a look into this?

Thanks!

EDIT: This might be normal given that I'm re-reading some other directions right now.

Issues compiling

Whenever I try to compile aureinand I get ; Makefile:74: recipe for target 'build/patches.h' failed

DS / Dsi software not working on O3DS

I'm not sure when this started happening but it was probably around v5.

Any DS software, cart or eshop, always get stuck on a black screen.
A problem with the TWL_FIRM patches perhaps? Because they work fine on the N3DS.
(A9LH, 10.7 sysnand)

Should I use SFN(8.3) format in the payloads name?

v5.1.1

  • Fixed the L+SELECT payload not working, this was due to the LFN -> SFN (8.3) conversion. Now the payload must be named sel_NAME.bin.
  • Removed LFN support from the FatFs of the chainloader (as LFNs aren't used at all by it). This shrinks down the binary by ~4 KBs.

Note, you don't need to update if you didn't use the L+SELECT payload or if you aren't obsessed by the binary's size :)

https://github.com/AuroraWright/AuReiNand/releases/tag/v5.1.1
https://github.com/AuroraWright/AuReiNand/commit/a11124a3d60019ca572330b591ca65371a0a2eb7

(e.g. )

Button payloads
up_xxxxx.bin
down_xxx.bin
left_xxx.bin
right_xx.bin
X x_xxxxxx.bin
Y y_xxxxxx.bin
L+R r_xxxxxx.bin
L+SELECT sel_xxxx.bin
START def_xxxx.bin

Am I wrong ?

GBA games not loading?

I'm using updated sysnand and my GBA games wont load, on 4.2 it gives me an error message, on 5.0 i just get a black screen. Am i doing something wrong?

Support for screenshots?

While it is possible to use something like NTR CFW on top of AuReiNand for screenshots and the higher CPU clock, I figured that since you added the higher CPU clock on boot, it'd be worth asking if screenshot implementation could work.

Perhaps toggling it in the configuration menu as well as a hotkey for what to take screenshots with? That is if it's possible to begin with.

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.