diff --git a/.upstream-ref b/.upstream-ref index fd4b88cfb..86e8667f4 100644 --- a/.upstream-ref +++ b/.upstream-ref @@ -1 +1 @@ -7249ee9f95ed728aff9a86395330d10d4c91fb5c +88c7e03f51e3934dc227089ea81ec64fcd525b03 diff --git a/GAMES.it.md b/GAMES.it.md index 86de57c56..4d33ebfd0 100644 --- a/GAMES.it.md +++ b/GAMES.it.md @@ -2,7 +2,7 @@ Follows [GAMES.md](GAMES.md) as of v1.0.2 # Giochi -Tutti i giochi per i quali questo fork dispone di un profilo, con il relativo pacchetto di aggiornamento NSP richiesto da ciascuno. La pagina principale per i giocatori è [README.it.md](README.it.md), mentre [dm/games/README.md](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/dm/games/README.md) (in inglese) elenca gli stessi titoli con le note tecniche del motore per ciascuno di essi. Questa pagina raccoglie l'elenco completo e la galleria, così da mantenere il README principale snello. English: [GAMES.md](GAMES.md). 中文:[GAMES.zh-CN.md](GAMES.zh-CN.md). +Tutti i giochi per i quali questo fork dispone di un profilo, con il relativo pacchetto di aggiornamento NSP richiesto da ciascuno. La pagina principale per i giocatori è [README.it.md](README.it.md), mentre [dm/games/README.md](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/dm/games/README.md) (in inglese) elenca gli stessi titoli con le note tecniche del motore per ciascuno di essi. Questa pagina raccoglie l'elenco completo e la galleria, così da mantenere il README principale snello. English: [GAMES.md](GAMES.md). 中文:[GAMES.zh-CN.md](GAMES.zh-CN.md). ## Galleria @@ -10,213 +10,213 @@ Screenshot accompagnati da una nota quando un gioco presenta indicazioni specifi
| The Legend of Zelda: Tears of the Kingdom | Mac und iPhone | **Hier verifiziert**: 304.243 Dateien, Byte für Byte geprüft, ca. 17 GB |
-|
| Hades II | Mac und iPhone | **Hier verifiziert** |
-|
| Animal Crossing: New Horizons | iPhone | **Hier verifiziert**: läuft flüssig |
-|
| Super Mario Odyssey | iPhone | Upstream als spielbar gemeldet |
-|
| The Legend of Zelda: Breath of the Wild | iPhone | Upstream als spielbar gemeldet, 60 fps mit 1.9.0 |
-|
| Mario Kart 8 Deluxe | iPhone | Upstream als spielbar gemeldet |
+|
| The Legend of Zelda: Tears of the Kingdom | Mac und iPhone | **Hier verifiziert**: 304.243 Dateien, Byte für Byte geprüft, ca. 17 GB |
+|
| Hades II | Mac und iPhone | **Hier verifiziert** |
+|
| Animal Crossing: New Horizons | iPhone | **Hier verifiziert**: läuft flüssig |
+|
| Super Mario Odyssey | iPhone | Upstream als spielbar gemeldet |
+|
| The Legend of Zelda: Breath of the Wild | iPhone | Upstream als spielbar gemeldet, 60 fps mit 1.9.0 |
+|
| Mario Kart 8 Deluxe | iPhone | Upstream als spielbar gemeldet |
**[GAMES.md](GAMES.md)** enthält die Screenshot-Galerie mit der Installationsgröße jedes Spiels und die
vollständige Tabelle mit der Update-Version, die jedes Spiel braucht: Die angezeigte Version der Update-NSP
@@ -176,7 +176,7 @@ muss zu der des Profils passen, sonst sagt dir das der Build.
## Einschränkungen
- **Nur die Spiele mit einem Profil.** Ein Titel außerhalb der Liste braucht eigene Bring-up-Arbeit. Der
- Einstieg ist [docs/agents](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/docs/agents/README.md), der Leitfaden von upstream für einen weiteren Switch-Titel.
+ Einstieg ist [docs/agents](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/docs/agents/README.md), der Leitfaden von upstream für einen weiteren Switch-Titel.
- **Große Spiele stoßen auf dem iPhone an ein Speicherlimit.** Ohne das Entitlement Increased Memory Limit
gibt iOS der App etwa 3,4 GB, was für Tears of the Kingdom nicht reicht. Die App fordert es an, und
AltStore Classic 2.2+, Impactor und Xcode mit einem Personal Team behalten es. SideStore mit einer
@@ -199,7 +199,7 @@ muss zu der des Profils passen, sonst sagt dir das der Build.
[patches/README.md](patches/README.md) erklärt das, und `python3 tools/engine.py status` listet auf, was
mitgetragen wird. Ein täglicher Job verschiebt den Pin und öffnet einen Pull Request, oder ein Issue, das den Patch
nennt, der nicht mehr passt. Die Links zu den Dokumenten der Engine in dieser README zeigen auf nxnative am festgelegten Commit.
-- **Ein anderes Switch-Spiel:** [docs/agents](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/docs/agents/README.md) (Extraktion, Binärübersicht, Bring-up).
+- **Ein anderes Switch-Spiel:** [docs/agents](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/docs/agents/README.md) (Extraktion, Binärübersicht, Bring-up).
- **Versionsverlauf:** [CHANGELOG.md](CHANGELOG.md).
## Danksagung
@@ -227,7 +227,7 @@ Die gesamte Arbeit an der Engine stammt von anderen. Dieses Repository ergänzt
- **[SPIRV-Cross](https://github.com/KhronosGroup/SPIRV-Cross)**: SPIR-V zu Metal Shading Language.
- **yuzu**, **deko3d**, **libvpx**, **stb_vorbis**, **libdeflate**: in der Danksagungsliste von upstream steht, was jedes beiträgt.
-`dm/third_party` enthält andere Projekte mit ihren Lizenzen ([Liste](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/dm/third_party/README.md)).
+`dm/third_party` enthält andere Projekte mit ihren Lizenzen ([Liste](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/dm/third_party/README.md)).
## Rechtliches
diff --git a/README.fr.md b/README.fr.md
index 768314c5e..59300bf0b 100644
--- a/README.fr.md
+++ b/README.fr.md
@@ -116,12 +116,12 @@ met en cache pour vos propres jeux.
Les **Options de lancement** (par jeu, conservées d’une compilation à l’autre) règlent la fréquence d’images, le
mode de la console (TV ou portable), l’échelle de rendu et la mise à l’échelle, la langue du jeu, les commandes et
plus encore. Ce que fait chaque option est décrit dans
-[docs/settings.md](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/docs/settings.md). Une manette pilote le lanceur aussi bien que les jeux.
+[docs/settings.md](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/docs/settings.md). Une manette pilote le lanceur aussi bien que les jeux.
**Sur l’iPhone**, l’app montre les mêmes réglages avant le démarrage du jeu. Touchez **Jouer**. Les commandes
tactiles existent en disposition 2D et 3D (touchez le bouton en haut au centre), et une manette connectée
(Xbox, PlayStation, Switch Pro, MFi) les remplace.
-[docs/playing.md](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/docs/playing.md) traite du tactile, des vibrations et du mouvement. De courtes saccades la première fois
+[docs/playing.md](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/docs/playing.md) traite du tactile, des vibrations et du mouvement. De courtes saccades la première fois
qu’une scène apparaît sont normales : l’app compile les graphismes pour elle une fois et s’en souvient. Les
données du jeu (`romfs.img`) peuvent se trouver sur un disque externe choisi dans l’app Fichiers.
@@ -158,12 +158,12 @@ profil qui n’a pas encore été essayé sur un téléphone. En voici quelques-
| | Jeu | Où il tourne | Statut |
|---|---|---|---|
-|
| The Legend of Zelda: Tears of the Kingdom | Mac et iPhone | **Vérifié ici** : 304 243 fichiers, vérifiés octet par octet, environ 17 Go |
-|
| Hades II | Mac et iPhone | **Vérifié ici** |
-|
| Animal Crossing: New Horizons | iPhone | **Vérifié ici** : tourne de façon fluide |
-|
| Super Mario Odyssey | iPhone | Signalé jouable en amont |
-|
| The Legend of Zelda: Breath of the Wild | iPhone | Signalé jouable en amont, 60 fps avec 1.9.0 |
-|
| Mario Kart 8 Deluxe | iPhone | Signalé jouable en amont |
+|
| The Legend of Zelda: Tears of the Kingdom | Mac et iPhone | **Vérifié ici** : 304 243 fichiers, vérifiés octet par octet, environ 17 Go |
+|
| Hades II | Mac et iPhone | **Vérifié ici** |
+|
| Animal Crossing: New Horizons | iPhone | **Vérifié ici** : tourne de façon fluide |
+|
| Super Mario Odyssey | iPhone | Signalé jouable en amont |
+|
| The Legend of Zelda: Breath of the Wild | iPhone | Signalé jouable en amont, 60 fps avec 1.9.0 |
+|
| Mario Kart 8 Deluxe | iPhone | Signalé jouable en amont |
**[GAMES.md](GAMES.md)** contient la galerie de captures avec la taille d’installation de chaque jeu, et le
tableau complet avec la version de mise à jour dont chaque jeu a besoin : la version affichée du NSP de mise à
@@ -172,7 +172,7 @@ jour doit correspondre à celle du profil, sinon la compilation le signale.
## Limites
- **Seulement les jeux qui ont un profil.** Un titre hors de la liste demande son propre travail de mise en route.
- Le point de départ est [docs/agents](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/docs/agents/README.md), le guide du projet en amont pour un autre titre Switch.
+ Le point de départ est [docs/agents](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/docs/agents/README.md), le guide du projet en amont pour un autre titre Switch.
- **Les gros jeux atteignent une limite de mémoire sur iPhone.** Sans l’entitlement Increased Memory Limit, iOS
donne à l’app environ 3,4 Go, ce qui ne suffit pas pour Tears of the Kingdom. L’app le demande, et
AltStore Classic 2.2+, Impactor et Xcode avec une Personal Team le conservent. SideStore avec un identifiant
@@ -196,7 +196,7 @@ jour doit correspondre à celle du profil, sinon la compilation le signale.
l’explique, et `python3 tools/engine.py status` liste ce qui est porté. Une tâche quotidienne déplace l’épingle
et ouvre une pull request, ou un ticket qui nomme le correctif qui ne s’applique plus. Les liens vers les
documents du moteur dans ce README pointent vers nxnative au commit épinglé.
-- **Un autre jeu Switch :** [docs/agents](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/docs/agents/README.md) (extraction, analyse du binaire, mise en route).
+- **Un autre jeu Switch :** [docs/agents](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/docs/agents/README.md) (extraction, analyse du binaire, mise en route).
- **Historique des versions :** [CHANGELOG.md](CHANGELOG.md).
## Remerciements
@@ -224,7 +224,7 @@ Tout le travail sur le moteur est celui d’autres personnes. Ce dépôt ajoute
- **[SPIRV-Cross](https://github.com/KhronosGroup/SPIRV-Cross)** : de SPIR-V vers Metal Shading Language.
- **yuzu**, **deko3d**, **libvpx**, **stb_vorbis**, **libdeflate** : la liste de remerciements du projet en amont dit ce que chacun apporte.
-`dm/third_party` contient d’autres projets avec leurs licences ([liste](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/dm/third_party/README.md)).
+`dm/third_party` contient d’autres projets avec leurs licences ([liste](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/dm/third_party/README.md)).
## Mentions légales
diff --git a/README.it.md b/README.it.md
index 314f3a618..f7114ae03 100644
--- a/README.it.md
+++ b/README.it.md
@@ -117,11 +117,11 @@ per i tuoi giochi.
**Sul Mac**, un gioco completato compare nella libreria con la sua copertina. **Play** lo avvia.
Le **Opzioni di avvio** (specifiche per ogni gioco e mantenute anche dopo nuove compilazioni) regolano il frame rate, la modalità console (dock o
portatile), la scala di rendering e l'upscaling, la lingua del gioco, i controlli e altro ancora. La spiegazione dettagliata di ogni opzione si trova in
-[docs/settings.md](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/docs/settings.md). Un controller può comandare sia il launcher sia i giochi.
+[docs/settings.md](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/docs/settings.md). Un controller può comandare sia il launcher sia i giochi.
**Sull'iPhone**, l'app mostra le stesse impostazioni prima dell'avvio del gioco: tocca **Play**. I controlli touch
sono disponibili in un layout 2D e uno 3D (tocca il pulsante in alto al centro per cambiare) e vengono sostituiti automaticamente quando colleghi un controller
-(Xbox, PlayStation, Switch Pro, MFi). [docs/playing.md](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/docs/playing.md) illustra i controlli touch,
+(Xbox, PlayStation, Switch Pro, MFi). [docs/playing.md](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/docs/playing.md) illustra i controlli touch,
la vibrazione e i sensori di movimento. Brevi incertezze la prima volta che compare una nuova scena sono normali: l'app compila
la grafica per quella scena una sola volta e poi la memorizza. I dati del gioco (`romfs.img`) possono risiedere anche su un'unità esterna
selezionata tramite l'app File.
@@ -152,12 +152,12 @@ parte ha un profilo che non è ancora stato provato su un telefono. Eccone alcun
| | Gioco | Dove gira | Stato |
|---|---|---|---|
-|
| The Legend of Zelda: Tears of the Kingdom | Mac e iPhone | **Verificato qui**: 304.243 file controllati byte per byte, circa 17 GB |
-|
| Hades II | Mac e iPhone | **Verificato qui** |
-|
| Animal Crossing: New Horizons | iPhone | **Verificato qui**: gira in modo fluido |
-|
| Super Mario Odyssey | iPhone | Segnalato come giocabile upstream |
-|
| The Legend of Zelda: Breath of the Wild | iPhone | Segnalato come giocabile upstream, 60 fps con la versione 1.9.0 |
-|
| Mario Kart 8 Deluxe | iPhone | Segnalato come giocabile upstream |
+|
| The Legend of Zelda: Tears of the Kingdom | Mac e iPhone | **Verificato qui**: 304.243 file controllati byte per byte, circa 17 GB |
+|
| Hades II | Mac e iPhone | **Verificato qui** |
+|
| Animal Crossing: New Horizons | iPhone | **Verificato qui**: gira in modo fluido |
+|
| Super Mario Odyssey | iPhone | Segnalato come giocabile upstream |
+|
| The Legend of Zelda: Breath of the Wild | iPhone | Segnalato come giocabile upstream, 60 fps con la versione 1.9.0 |
+|
| Mario Kart 8 Deluxe | iPhone | Segnalato come giocabile upstream |
**[GAMES.it.md](GAMES.it.md)** contiene la galleria di screenshot con le dimensioni di installazione
di ciascun gioco e la tabella completa con la versione dell'aggiornamento richiesta da ogni titolo: la versione visualizzata dell'NSP di aggiornamento
@@ -166,7 +166,7 @@ deve corrispondere a quella prevista dal profilo, altrimenti il processo di comp
## Limitazioni
- **Solo i giochi dotati di un profilo.** Un titolo non presente nell'elenco richiede un lavoro di adattamento dedicato, e il
- punto di partenza è [docs/agents](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/docs/agents/README.md), la guida upstream per aggiungere il supporto a un altro titolo Switch.
+ punto di partenza è [docs/agents](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/docs/agents/README.md), la guida upstream per aggiungere il supporto a un altro titolo Switch.
- **I giochi di grandi dimensioni su iPhone incontrano un limite di memoria.** Senza l'entitlement Increased Memory Limit, iOS
mette a disposizione dell'app circa 3,4 GB, che non bastano per Tears of the Kingdom. L'app lo richiede automaticamente e
AltStore Classic 2.2+, Impactor e Xcode con un Personal Team lo mantengono. SideStore con un ID Apple gratuito
@@ -189,7 +189,7 @@ deve corrispondere a quella prevista dal profilo, altrimenti il processo di comp
[patches/README.md](patches/README.md) ne spiega il funzionamento e `python3 tools/engine.py status` elenca le patch attualmente
applicate. Un'operazione automatica giornaliera aggiorna il commit di riferimento e apre una pull request, oppure apre una issue indicando la patch che non
si applica più correttamente. I collegamenti ai documenti del motore presenti in questo README puntano a nxnative al commit fissato.
-- **Aggiungere un altro gioco Switch:** [docs/agents](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/docs/agents/README.md) (estrazione, analisi dei binari, bring-up).
+- **Aggiungere un altro gioco Switch:** [docs/agents](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/docs/agents/README.md) (estrazione, analisi dei binari, bring-up).
- **Cronologia delle versioni:** [CHANGELOG.it.md](CHANGELOG.it.md).
## Riconoscimenti
@@ -221,7 +221,7 @@ Tutto il lavoro sul motore sottostante è opera di altri sviluppatori. Questo re
- **yuzu**, **deko3d**, **libvpx**, **stb_vorbis**, **libdeflate** — consulta l'elenco dei ringraziamenti upstream
per scoprire il contributo di ciascun progetto.
-La cartella `dm/third_party` include altri progetti con le rispettive licenze ([elenco](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/dm/third_party/README.md)).
+La cartella `dm/third_party` include altri progetti con le rispettive licenze ([elenco](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/dm/third_party/README.md)).
## Note legali
diff --git a/README.md b/README.md
index fe71b40d3..9c7d8335a 100644
--- a/README.md
+++ b/README.md
@@ -123,11 +123,11 @@ for your own games.
**On the Mac**, a finished game appears in the library with its key art. **Play** starts it.
**Launch options** (per game, kept across rebuilds) set the frame rate, console mode (docked or
handheld), render scale and upscaling, game language, controls and more; what each does is in
-[docs/settings.md](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/docs/settings.md). A controller drives the launcher as well as the games.
+[docs/settings.md](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/docs/settings.md). A controller drives the launcher as well as the games.
**On the iPhone**, the app shows the same settings before the game starts; tap **Play**. Touch
controls come in a 2D and a 3D layout (tap the button at the top centre), and a connected controller
-(Xbox, PlayStation, Switch Pro, MFi) replaces them. [docs/playing.md](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/docs/playing.md) covers touch,
+(Xbox, PlayStation, Switch Pro, MFi) replaces them. [docs/playing.md](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/docs/playing.md) covers touch,
rumble and motion. Short stutters the first time a scene appears are normal: the app compiles
graphics for it once and remembers them. The game's data (`romfs.img`) can live on an external drive
that the Files app picks.
@@ -165,12 +165,12 @@ profile that has not been tried on a phone yet. A few of them:
| | Game | Where it runs | Status |
|---|---|---|---|
-|
| The Legend of Zelda: Tears of the Kingdom | Mac and iPhone | **Verified here**: 304,243 files, byte-checked; ~17 GB |
-|
| Hades II | Mac and iPhone | **Verified here** |
-|
| Animal Crossing: New Horizons | iPhone | **Verified here**: runs smoothly |
-|
| Super Mario Odyssey | iPhone | Reported playable upstream |
-|
| The Legend of Zelda: Breath of the Wild | iPhone | Reported playable upstream; 60 fps with 1.9.0 |
-|
| Mario Kart 8 Deluxe | iPhone | Reported playable upstream |
+|
| The Legend of Zelda: Tears of the Kingdom | Mac and iPhone | **Verified here**: 304,243 files, byte-checked; ~17 GB |
+|
| Hades II | Mac and iPhone | **Verified here** |
+|
| Animal Crossing: New Horizons | iPhone | **Verified here**: runs smoothly |
+|
| Super Mario Odyssey | iPhone | Reported playable upstream |
+|
| The Legend of Zelda: Breath of the Wild | iPhone | Reported playable upstream; 60 fps with 1.9.0 |
+|
| Mario Kart 8 Deluxe | iPhone | Reported playable upstream |
**[GAMES.md](GAMES.md)** has the screenshot gallery with each
game's install size, and the full table with the update version each game needs: the update NSP's
@@ -187,7 +187,7 @@ the iPad. The other Switch 2 games were not tried here. [GAMES.md](GAMES.md#swit
## Limitations
- **Only the games with a profile.** A title outside the list needs bring-up work of its own; the
- place to start is [docs/agents](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/docs/agents/README.md), upstream's guide for another Switch title.
+ place to start is [docs/agents](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/docs/agents/README.md), upstream's guide for another Switch title.
- **Big games on an iPhone hit a memory limit.** Without the Increased Memory Limit entitlement iOS
gives the app about 3.4 GB, which is not enough for Tears of the Kingdom. The app requests it, and
AltStore Classic 2.2+, Impactor and Xcode with a Personal Team keep it; SideStore with a free Apple
@@ -211,7 +211,7 @@ the iPad. The other Switch 2 games were not tried here. [GAMES.md](GAMES.md#swit
[patches/README.md](patches/README.md) explains it, and `python3 tools/engine.py status` lists what
is carried. A daily job moves the pin and opens a pull request, or an issue naming the patch that no
longer fits. The links to the engine's documents in this README point at nxnative at the pinned commit.
-- **Another Switch game:** [docs/agents](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/docs/agents/README.md) (extraction, binary survey, bring-up).
+- **Another Switch game:** [docs/agents](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/docs/agents/README.md) (extraction, binary survey, bring-up).
- **Release history:** [CHANGELOG.md](CHANGELOG.md).
## Credits
@@ -243,7 +243,7 @@ All of the engine work is other people's. This repository adds the launcher and
- **yuzu**, **deko3d**, **libvpx**, **stb_vorbis**, **libdeflate** — see upstream's acknowledgement
list for what each contributes.
-`dm/third_party` ships other projects with their licenses ([list](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/dm/third_party/README.md)).
+`dm/third_party` ships other projects with their licenses ([list](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/dm/third_party/README.md)).
## Legal
diff --git a/README.sv.md b/README.sv.md
index f218491f2..b7df8150d 100644
--- a/README.sv.md
+++ b/README.sv.md
@@ -115,12 +115,12 @@ dina egna spel.
**På Mac** visas ett färdigt spel i biblioteket med sin key art. **Spela** startar det.
**Startalternativ** (per spel, behålls vid ombyggen) styr bildfrekvens, konsolläge (dockad eller handhållen),
renderskala och uppskalning, spelspråk, kontroller med mera. Vad varje alternativ gör står i
-[docs/settings.md](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/docs/settings.md). En handkontroll styr launchern lika väl som spelen.
+[docs/settings.md](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/docs/settings.md). En handkontroll styr launchern lika väl som spelen.
**På iPhone** visar appen samma inställningar innan spelet startar. Tryck på **Spela**. Pekkontrollerna
finns i en 2D- och en 3D-layout (tryck på knappen överst i mitten), och en ansluten handkontroll (Xbox,
PlayStation, Switch Pro, MFi) ersätter dem.
-[docs/playing.md](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/docs/playing.md) tar upp touch, vibration och rörelse. Korta hack första gången en scen visas är
+[docs/playing.md](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/docs/playing.md) tar upp touch, vibration och rörelse. Korta hack första gången en scen visas är
normala: Appen kompilerar grafiken för den en gång och kommer ihåg den. Spelets data (`romfs.img`) kan ligga
på en extern enhet som appen Filer väljer.
@@ -156,12 +156,12 @@ profil som ännu inte har prövats på en telefon. Några av dem:
| | Spel | Var det körs | Status |
|---|---|---|---|
-|
| The Legend of Zelda: Tears of the Kingdom | Mac och iPhone | **Verifierat här**: 304 243 filer, bytekontrollerade, ca 17 GB |
-|
| Hades II | Mac och iPhone | **Verifierat här** |
-|
| Animal Crossing: New Horizons | iPhone | **Verifierat här**: går smidigt |
-|
| Super Mario Odyssey | iPhone | Rapporterat som spelbart uppströms |
-|
| The Legend of Zelda: Breath of the Wild | iPhone | Rapporterat som spelbart uppströms, 60 fps med 1.9.0 |
-|
| Mario Kart 8 Deluxe | iPhone | Rapporterat som spelbart uppströms |
+|
| The Legend of Zelda: Tears of the Kingdom | Mac och iPhone | **Verifierat här**: 304 243 filer, bytekontrollerade, ca 17 GB |
+|
| Hades II | Mac och iPhone | **Verifierat här** |
+|
| Animal Crossing: New Horizons | iPhone | **Verifierat här**: går smidigt |
+|
| Super Mario Odyssey | iPhone | Rapporterat som spelbart uppströms |
+|
| The Legend of Zelda: Breath of the Wild | iPhone | Rapporterat som spelbart uppströms, 60 fps med 1.9.0 |
+|
| Mario Kart 8 Deluxe | iPhone | Rapporterat som spelbart uppströms |
**[GAMES.md](GAMES.md)** har skärmbildsgalleriet med varje spels installationsstorlek och den fullständiga
tabellen med den uppdateringsversion som varje spel behöver: Uppdaterings-NSP:ns visade version måste
@@ -170,7 +170,7 @@ stämma med profilens, annars säger bygget ifrån.
## Begränsningar
- **Bara spelen med en profil.** En titel utanför listan kräver eget bring-up-arbete. Börja med
- [docs/agents](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/docs/agents/README.md), uppströmsprojektets guide för en annan Switch-titel.
+ [docs/agents](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/docs/agents/README.md), uppströmsprojektets guide för en annan Switch-titel.
- **Stora spel slår i en minnesgräns på iPhone.** Utan behörigheten Increased Memory Limit ger iOS appen
cirka 3,4 GB, vilket inte räcker för Tears of the Kingdom. Appen begär den, och AltStore Classic 2.2+,
Impactor och Xcode med ett Personal Team behåller den. SideStore med ett gratis Apple-ID behöver en
@@ -193,7 +193,7 @@ stämma med profilens, annars säger bygget ifrån.
[patches/README.md](patches/README.md) förklarar det, och `python3 tools/engine.py status` listar vad som
bärs. Ett dagligt jobb flyttar fästpunkten och öppnar en pull request, eller ett ärende som namnger patchen
som inte längre passar. Länkarna till motorns dokument i den här README:n pekar på nxnative vid den fastlåsta committen.
-- **Ett annat Switch-spel:** [docs/agents](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/docs/agents/README.md) (extrahering, binärgenomgång, bring-up).
+- **Ett annat Switch-spel:** [docs/agents](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/docs/agents/README.md) (extrahering, binärgenomgång, bring-up).
- **Versionshistorik:** [CHANGELOG.md](CHANGELOG.md).
## Tack
@@ -221,7 +221,7 @@ Allt motorarbete är andras. Det här förrådet lägger launchern och patchkön
- **[SPIRV-Cross](https://github.com/KhronosGroup/SPIRV-Cross)**: SPIR-V till Metal Shading Language.
- **yuzu**, **deko3d**, **libvpx**, **stb_vorbis**, **libdeflate**: uppströmsprojektets tackslista säger vad var och en bidrar med.
-`dm/third_party` innehåller andra projekt med deras licenser ([lista](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/dm/third_party/README.md)).
+`dm/third_party` innehåller andra projekt med deras licenser ([lista](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/dm/third_party/README.md)).
## Juridik
diff --git a/README.zh-CN.md b/README.zh-CN.md
index f2b9eb986..f6bdd4a2d 100644
--- a/README.zh-CN.md
+++ b/README.zh-CN.md
@@ -104,11 +104,11 @@ App 需要 iOS 或 iPadOS 26 或更新。封面是 Mac 启动器为你自己的
**在 Mac 上**,构建好的游戏带着封面出现在游戏库里,点 **Play** 启动。**启动选项**(按游戏保存,重新
构建后仍然保留)可设置帧率、主机模式(底座或掌机)、渲染缩放和超分辨率、游戏语言、操控等;每项的
-作用见 [docs/settings.md](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/docs/settings.md)(英文)。手柄既能操作游戏,也能操作启动器。
+作用见 [docs/settings.md](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/docs/settings.md)(英文)。手柄既能操作游戏,也能操作启动器。
**在 iPhone 上**,App 在游戏开始前显示同样的设置,点 **Play** 即可。触屏操控有 2D 和 3D 两种布局
(点顶部中央的按钮切换),连接手柄(Xbox、PlayStation、Switch Pro、MFi)后触屏控件会隐藏。
-触屏、震动和体感见 [docs/playing.md](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/docs/playing.md)(英文)。新场景第一次出现时短促卡顿是正常的:
+触屏、震动和体感见 [docs/playing.md](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/docs/playing.md)(英文)。新场景第一次出现时短促卡顿是正常的:
App 会为它编译一次图形并记住。游戏数据(`romfs.img`)可以放在外置硬盘上,用「文件」App 选取。
**游戏语言。** 默认英文。Mac 上用启动选项里的「游戏语言」一行。面板里没有的设置,可以写一个
@@ -138,12 +138,12 @@ iPhone 上在「文件」App 里该 App 名字下:`save/` 和 `log.txt`(上
| | 游戏 | 运行于 | 状态 |
|---|---|---|---|
-|
| 塞尔达传说:王国之泪 | Mac 和 iPhone | **本 fork 验证**:304,243 个文件,逐字节校验;约 17 GB |
-|
| Hades II | Mac 和 iPhone | **本 fork 验证** |
-|
| 集合啦!动物森友会 | iPhone | **本 fork 验证**:流畅运行 |
-|
| 超级马力欧 奥德赛 | iPhone | 上游报告可玩 |
-|
| 塞尔达传说:旷野之息 | iPhone | 上游报告可玩;1.9.0 可 60 fps |
-|
| 马力欧卡丁车 8 豪华版 | iPhone | 上游报告可玩 |
+|
| 塞尔达传说:王国之泪 | Mac 和 iPhone | **本 fork 验证**:304,243 个文件,逐字节校验;约 17 GB |
+|
| Hades II | Mac 和 iPhone | **本 fork 验证** |
+|
| 集合啦!动物森友会 | iPhone | **本 fork 验证**:流畅运行 |
+|
| 超级马力欧 奥德赛 | iPhone | 上游报告可玩 |
+|
| 塞尔达传说:旷野之息 | iPhone | 上游报告可玩;1.9.0 可 60 fps |
+|
| 马力欧卡丁车 8 豪华版 | iPhone | 上游报告可玩 |
**[GAMES.zh-CN.md](GAMES.zh-CN.md)**(带截图图库和每款的安装大小)
有完整表格和每款游戏需要的更新包版本:更新包 NSP 的显示版本必须与 profile 一致,否则构建会提示。
@@ -158,7 +158,7 @@ iPad 上基本没有问题。其他 Switch 2 游戏在本 fork 上没有试过
## 限制
- **只支持有 profile 的游戏。** 列表之外的游戏需要单独的 bring-up 工作;起点是
- [docs/agents](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/docs/agents/README.md)(上游为其他 Switch 游戏写的指南,英文)。
+ [docs/agents](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/docs/agents/README.md)(上游为其他 Switch 游戏写的指南,英文)。
- **大体积游戏在 iPhone 上会碰到内存上限。** 没有 Increased Memory Limit entitlement 时 iOS 只给 App
约 3.4 GB,不够《王国之泪》用。App 请求了它,AltStore Classic 2.2+、Impactor 和 Xcode + Personal Team
会保留;SideStore 配合免费 Apple ID 需要对 App ID 做一次性修复,Sideloadly 会丢掉它
@@ -177,7 +177,7 @@ iPad 上基本没有问题。其他 Switch 2 游戏在本 fork 上没有试过
`python3 tools/engine.py sync` 把它构建到 `engine/`。见 [patches/README.md](patches/README.md)。
`python3 tools/engine.py status` 列出带着的全部补丁。每天一次的任务移动固定提交并开 pull request,
某个补丁对不上时开一个点名该补丁的 issue。本页指向引擎文档的链接都指向 nxnative 的固定提交。
-- **其他 Switch 游戏:** [docs/agents](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/docs/agents/README.md)(解包、二进制调查、bring-up)。
+- **其他 Switch 游戏:** [docs/agents](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/docs/agents/README.md)(解包、二进制调查、bring-up)。
- **版本历史:** [CHANGELOG.zh-CN.md](CHANGELOG.zh-CN.md)。
## 致谢
@@ -201,7 +201,7 @@ iPad 上基本没有问题。其他 Switch 2 游戏在本 fork 上没有试过
- **[SPIRV-Cross](https://github.com/KhronosGroup/SPIRV-Cross)** —— SPIR-V 转 Metal Shading Language。
- **yuzu**、**deko3d**、**libvpx**、**stb_vorbis**、**libdeflate** —— 各自贡献见上游致谢列表。
-`dm/third_party` 里随附了其他项目及其许可证([列表](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/dm/third_party/README.md))。
+`dm/third_party` 里随附了其他项目及其许可证([列表](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/dm/third_party/README.md))。
## 法律
diff --git a/frontend/README.md b/frontend/README.md
index b94b1a916..9622b501e 100644
--- a/frontend/README.md
+++ b/frontend/README.md
@@ -169,7 +169,7 @@ library manifest is stored at
## Launch options
The button beside **Play** opens the game's launch options: the settings the iPhone
-launcher shows before a game starts ([docs/settings.md](https://github.com/seedds/nxnative/blob/7249ee9f95ed728aff9a86395330d10d4c91fb5c/docs/settings.md)), read
+launcher shows before a game starts ([docs/settings.md](https://github.com/seedds/nxnative/blob/88c7e03f51e3934dc227089ea81ec64fcd525b03/docs/settings.md)), read
from the list the engine packs into the Mac app (`Contents/Resources/dm/launcher.json`,
written by `dm/games/settings.py` from `dm/games/settings.tsv`, and the engine change that
packs it is [seedds/nxnative#352](https://github.com/seedds/nxnative/pull/352), so a
diff --git a/patches/0001-runtime-profile.patch b/patches/0001-runtime-profile.patch
index 7c616de36..b5a2c9867 100644
--- a/patches/0001-runtime-profile.patch
+++ b/patches/0001-runtime-profile.patch
@@ -18,22 +18,22 @@ Issue: LNPANDY/NX2Apple#123
dm/host/hle_os.c | 4 +-
dm/host/hle_profile.c | 281 +++++++++++++++++++++++++++++++
dm/host/hle_profile.h | 37 ++++
- dm/host/hle_svc.c | 34 ++--
+ dm/host/hle_svc.c | 38 ++---
dm/host/loader.c | 2 +-
dm/host/tests/Makefile | 68 ++++----
dm/host/tests/t_layout_runtime.c | 103 +++++++++++
dm/ios/Sources/DmGamepad.m | 2 +-
docs/env_switches.tsv | 1 +
- 13 files changed, 514 insertions(+), 57 deletions(-)
+ 13 files changed, 516 insertions(+), 59 deletions(-)
create mode 100644 dm/host/hle_profile.c
create mode 100644 dm/host/hle_profile.h
create mode 100644 dm/host/tests/t_layout_runtime.c
diff --git a/dm/games/game.py b/dm/games/game.py
-index dcbd753..573b94a 100644
+index 53e23ee..b8277f3 100644
--- a/dm/games/game.py
+++ b/dm/games/game.py
-@@ -278,6 +278,40 @@ if __name__ == '__main__':
+@@ -281,6 +281,40 @@ if __name__ == '__main__':
elif len(a) == 3 and a[0] == 'modules': # the modules to load from a folder of rewritten modules: its main build's row, else all the profile's (main.c profile_modules)
g, bid = load(a[1]), re.search(r'^# BUILD_ID\s+(\w+)', (Path(a[2]) / 'main.fixups.tsv').read_text(errors='replace'), re.M)
print(' '.join(g.build_modules().get(bid.group(1) if bid else '', g.words('modules'))))
@@ -465,19 +465,19 @@ index 0000000..a2febeb
+const struct dm_profile *dm_profile(void); // loaded once; never NULL
+void dm_profile_log(void); // one line per differing value (called after loading)
diff --git a/dm/host/hle_svc.c b/dm/host/hle_svc.c
-index 5fe7039..ea76b71 100644
+index 7179c96..e13bb44 100644
--- a/dm/host/hle_svc.c
+++ b/dm/host/hle_svc.c
-@@ -16,7 +16,7 @@
+@@ -25,7 +25,7 @@
// about 4.2 GB in total; on iOS without the "extended virtual addressing" entitlement a single reservation can be at most 6 GB
// (read on a real device: 6 GB succeeds, 7 GB fails), so it cannot be made any wider --
// with an 8 GB reservation, builds from developer accounts that cannot sign that entitlement (free accounts) would exit at this step.
-#define RESERVE DM_GAME_MEM_RESERVE // SMBW: the heap needs only 1.47 GB, so the block stays at 5 GB (the total proven on a real device; a single 6 GB block can be reserved, but Metal etc. still need address space)
+#define RESERVE (dm_profile()->mem_reserve) // SMBW: the heap needs only 1.47 GB, so the block stays at 5 GB (the total proven on a real device; a single 6 GB block can be reserved, but Metal etc. still need address space)
static uint8_t *g_as; // ASLR region base = the whole block
- static size_t g_reserve; // its size: RESERVE, or more with a DM_ALIAS_SIZE alias region
+ static size_t g_reserve; // its size: RESERVE less the profile's alias region plus the one in use (mem_init_once)
static uint8_t *g_heap; static _Atomic size_t g_heap_cur; static size_t g_heap_cap;
-@@ -41,15 +41,15 @@ static void *alias_windows_thread(void *arg);
+@@ -193,21 +193,21 @@ static void *alias_windows_thread(void *arg);
static void *regions_thread(void *arg);
static void mem_init_once(void) {
size_t pg = (size_t)getpagesize();
@@ -488,26 +488,35 @@ index 5fe7039..ea76b71 100644
+ (dm_profile()->mem_stack) > RESERVE - 0x10000000 - (dm_profile()->mem_alias) ||
+ ((RESERVE | (dm_profile()->mem_alias) | (dm_profile()->mem_stack)) & (pg - 1)))
die("guest address-space profile has invalid native boundaries");
- // DM_ALIAS_SIZE=