Atmosphere icon indicating copy to clipboard operation
Atmosphere copied to clipboard

19.0.0 Support

Open SciresM opened this issue 1 year ago • 53 comments

Master issue/check list of stuff to do for 19.0.0 changes. Note that I can't actually work on this properly until Wed/Thurs, I expect

  • [x] Reverse engineer new kernel changes
  • [x] Update fusee/exosphere with new keydata/values
  • [x] Implement most new changes into mesosphere
  • [x] Implement new changes into loader
  • [x] Implement new changes into pm
  • [x] Implement new changes into ro
  • [ ] Implement new changes into <sysmodules, create as needed>
  • [x] Update emummc
  • [x] Miscellaneous exosphere/fusee fixes for new DRAM IDs
  • [ ] Make sure libnx is updated for anything relevant.
  • [x] Implement page table rewrite in mesosphere

Post-release:

  • [ ] Determine what other system modules need reverse engineering changes
  • [x] Reverse engineer potential new boot sysmodule changes.
  • [ ] Miscellaneous post-release reverse engineering
  • [ ] Miscellaneous post-release implementation work/updating
  • [ ] Implement 18.0.0 jpegdec changes, eventually.

SciresM avatar Oct 08 '24 18:10 SciresM

This issue is for me to track my work, please don't spam it with comments.

SciresM avatar Oct 09 '24 15:10 SciresM

I am aware of how to lock issues, when I say "please do not spam", this includes e.g. advice comments on how to lock issues, thanks.

SciresM avatar Oct 09 '24 19:10 SciresM

Kernel is almost-but-not quite fully updated now; I will be coming back to it to tackle the remaining work later. My TODO.txt contains:

* KPageTable implementation was heavily rewritten.
    * Too many changes to summarize here; the fundamental implementation is now based on iteration over levels using TraversalContext instead of separate per-level logic.
* Many heavy K(Initial)PageTable changes, including:
    * KInitialPageTable's table entries no longer have bit 58 (0x0400000000000000) set; previously this was used to indicate/determine whether a mapping was present even if the entry was NotMapped.
        * Bit0 (0x1) is now used to check for mapping existence again in many places.
    * KPageTableImpl::InitializeForKernel now iterates over mappings created by KInitialPageTable, setting PageAttribute=#used entries for tables and setting bit 58 on blocks.

Logic is that rewriting the page table implementation is likely to be much more error-prone for me-as-programmer, and it's a better prioritization of my time to get the rest of ams basically functioning before doing that.

SciresM avatar Oct 10 '24 05:10 SciresM

Well, that's the kernel complete, unless there are bugs lurking in all that code I just wrote.

So far as I can tell, atmosphere is just working, but it's kind of hard for me to test something like this thoroughly. I uploaded a built to ReSwitched's discord, for people who are actually capable of helping me test that.

Please only use this if you are competent enough to give me good bug reports.

Do not use this if you need help with basic stuff/if you're not very familiar with atmosphere.

There may be hidden bugs lurking, please only use this if you're okay with your console being temporarily bricked if I fucked up something important.

SciresM avatar Oct 11 '24 02:10 SciresM

I am going to give this a few extra days to simmer before doing a proper pre-release, however, things seem stable enough to me.

Please feel free to use this build, if you're interested in using atmosphere on 19.0.0 even before a pre-release:

atmosphere-1.8.0-preprerelease-5717ea6c0.zip fusee.bin.zip

Please note: Usage of certain custom system modules (including sys-clk) can cause the system to hang when waking from sleep. This is not an atmosphere bug. Additionally, some sysmodules may need to be compiled with an upgraded switch-tools in order to function correctly, especially if they use debug SVCs.

SciresM avatar Oct 12 '24 02:10 SciresM

I'm unlocking this issue, because I like looking at the emoji reactions to various posts. Any spam will be deleted, please do not make my life difficult as issue moderator, do not ask for help in this issue.

SciresM avatar Oct 12 '24 02:10 SciresM

I would like to be clear that any comment on this issue by another person is spam at this point, and I will begin banning people from the issue tracker if they continue not taking the hint.

SciresM avatar Oct 14 '24 16:10 SciresM

It is amazing how many people commented on this issue after I said "nobody else should comment on this issue".

SciresM avatar Oct 16 '24 19:10 SciresM

That guy has been blocked from interacting with this repo for 7 days. This will also happen to anyone else who does a stupid, here.

SciresM avatar Oct 16 '24 19:10 SciresM

Atmosphere 1.8.0 supports 19.0.1 with no changes. There is no need to comment on this issue.

SciresM avatar Oct 30 '24 08:10 SciresM

I'm aware this will get deleted but I've seen 0 updates in nearly a month. Has any progress been made at a full release? Will sysmodules be supported??

karateman10998 avatar Nov 17 '24 18:11 karateman10998

Will sysmodules be supported??

Everything works, though? Of course if you are up to date.

masagrator avatar Nov 17 '24 18:11 masagrator

Everything works, though? Of course if you are up to date.

Last I tried I couldn't get the Mario Odyssey input display working. Tesla menu and sysmodules menu wouldn't pop up. And this is still in prerelease so other items didn't work properly like Goldleaf or DBI

karateman10998 avatar Nov 17 '24 18:11 karateman10998

Because original nx-ovlloader is not up to date and author ignored our request for uploading fixed release.

Here you have fork working on 19.0.0+ https://github.com/ppkantorski/nx-ovlloader/releases/tag/v1.0.9

Edit: SciresM, don't ban me please. Temporal amnesia 🙏

masagrator avatar Nov 17 '24 18:11 masagrator

Here you have fork working on 19.0.0 https://github.com/ppkantorski/nx-ovlloader/releases/tag/v1.0.9

Will this work on 19.0.1?

karateman10998 avatar Nov 17 '24 18:11 karateman10998

I think SciresM got Nintendo Ninja'd. He hasn't posted anywhere since end of October.

XIV-Enjoyer avatar Nov 19 '24 03:11 XIV-Enjoyer

I think SciresM got Nintendo Ninja'd. He hasn't posted anywhere since end of October.

Not true lol he’s been active, he’s just a busy person with a life.

hexbyt3 avatar Nov 19 '24 03:11 hexbyt3

Creo que a SciresM lo han convertido en un ninja de Nintendo. No ha publicado nada desde finales de octubre.

No es cierto, jajaja, él ha estado activo, solo es una persona ocupada con una vida.

EXACTO

fasajr avatar Nov 19 '24 04:11 fasajr

I think SciresM got Nintendo Ninja'd. He hasn't posted anywhere since end of October.

I've been active on the ReSwitched discord most days. I have just, as said, been busy irl.

SciresM avatar Nov 19 '24 04:11 SciresM

Does 1.8.0 support 19.0.1 completely or will I run into problems if I update? Sry lol I'm not that in touch with this project at the moment. Hope you have a great day and thanks!

NotableSales avatar Nov 21 '24 02:11 NotableSales

Does 1.8.0 support 19.0.1 completely or will I run into problems if I update? Sry lol I'm not that in touch with this project at the moment. Hope you have a great day and thanks!

Can you read?

10 comments above: https://github.com/Atmosphere-NX/Atmosphere/issues/2386#issuecomment-2446115686

The second comment of this issue: https://github.com/Atmosphere-NX/Atmosphere/issues/2386#issuecomment-2402687347

impeeza avatar Nov 21 '24 04:11 impeeza

Does 1.8.0 support 19.0.1 completely or will I run into problems if I update? Sry lol I'm not that in touch with this project at the moment. Hope you have a great day and thanks!

Can you read?

10 comments above: #2386 (comment)

The second comment of this issue: #2386 (comment)

Yes, I can read and I wanted confirmation before potentially f-ing up my switch. So thanks for your help!

NotableSales avatar Nov 21 '24 04:11 NotableSales

Due to the delay, the atmosphere died, Nintendo won =/

curcius avatar Nov 21 '24 23:11 curcius

Weirdly dramatic, considering ams is fine and functional

SciresM avatar Nov 21 '24 23:11 SciresM

If it is fully functional, why doesn't the release come out of pre-release?

curcius avatar Nov 26 '24 18:11 curcius

If it is fully functional, why doesn't the release come out of pre-release?

Because some objectives are not reached yet, image

and sometimes until a major release a version can stand as Prerelease, no harm on that.

impeeza avatar Nov 26 '24 19:11 impeeza

Weirdly dramatic, considering ams is fine and functional

TBH It's pretty funny to do, considering the dooming going on with Nintendo suing various bad actors. Weird time atm. Hell, even the most popular site for early scans for One Piece is dead.

XIV-Enjoyer avatar Nov 29 '24 05:11 XIV-Enjoyer

If it is fully functional, why doesn't the release come out of pre-release?

and now that 19.0.1 is out, not functional at all. just crashes trying to boot into 19.0.1 on my OG switch. I shall await patiently.

MysticalOS avatar Dec 01 '24 18:12 MysticalOS

If it is fully functional, why doesn't the release come out of pre-release?

and now that 19.0.1 is out, not functional at all. just crashes trying to boot into 19.0.1 on my OG switch. I shall await patiently.

As already written in this thread the pre-release is fully functional on the 19.0.1 version. Homebrews maybe not.

berturion avatar Dec 01 '24 18:12 berturion

Well, not for me. and I upgraded it properly like i have been for many years now. I'll wait more time to figure out where problem is. maybe it's hekate, or out of date sigpatches. but I did instlal latest of all for 19.0.0 and it worked with 19.0.0 but NOT with 19.0.1

MysticalOS avatar Dec 01 '24 18:12 MysticalOS