Fixes from upstream Xenia Edge: safer loading of game executables and DLLs, a batch of crash and memory-corruption fixes, and the right title update when a game has several installed.
- Games sharing a title ID with another edition (GTA IV and Episodes from Liberty City, Dragon Age: Origins and Awakening) get the title update built for them.
- A game waiting on the same object twice no longer freezes.
- Truncated ISOs, empty XMA audio buffers and network sends with no destination no longer crash the emulator.
Full Changelog: XenDroid-v137-f5eeff4a...XenDroid-v141-a3e2f4a9
What's new
🛠️ Fixed
- Executables with a zeroed DOS stub load, and DLLs get the right startup arguments and notifications.
- Overflows that could corrupt game memory: tiles and gamer pictures, cached title names, Unicode string copies and thread-local storage slots.
- Games on Demand (SVOD) packages stored as a single file mount, and one with no data files no longer crashes.
- ZArchive (.zar) games no longer log every file they open.
🇧🇷 Em português
Correções do Xenia Edge: carga mais segura dos executáveis e DLLs dos jogos, uma leva de correções de travamento e de corrupção de memória, e a title update certa quando o jogo tem várias instaladas.
- Jogos que dividem o title ID com outra edição (GTA IV e Episodes from Liberty City, Dragon Age: Origins e Awakening) recebem a title update feita para eles.
- Um jogo que espera duas vezes pelo mesmo objeto não congela mais.
- ISOs truncadas, buffers de áudio XMA vazios e envios de rede sem destino não derrubam mais o emulador.
🛠️ Corrigido
- Executáveis com o stub DOS zerado carregam, e as DLLs recebem os argumentos e as notificações certos ao iniciar.
- Estouros que podiam corromper a memória do jogo: tiles e fotos de perfil, nomes de títulos em cache, cópias de strings Unicode e slots de armazenamento local de thread.
- Pacotes Games on Demand (SVOD) num arquivo único montam, e um sem arquivos de dados não derruba mais.
- Jogos em ZArchive (.zar) não logam mais cada arquivo que abrem.
📜 Every change since build 137 · 1 pull request, 25 commits
- #102 Upstream, lote 15: carga de XEX e DLLs, correções de estouro do PR 306 do Edge e escolha da title update · @phforner0
- [CPU] Only release a XEX's own image between key retries ·
81c1baaa - [Memory] Give the 4k XEX range its own backing ·
3145f5fc - [VFS] Mount single-file SVOD packages laid out like multi-file ones ·
2950b9cb - [CPU] Accept XEX images with a zeroed DOS stub ·
d23e0d41 - [Kernel] Fix DllMain arguments and DLL notifications from non-title threads ·
29ebd1e9 - [Kernel] Implement XexPcToFileHeader and RtlCaptureContext ·
968130fd - [XAM] Fix XamReadTileToTexture overrunning the texture and stalling overlapped calls ·
09e06e7b - [XAM] Implement XamContentGetDefaultDevice ·
c4e630dd - [XAM] Stub XamLrcGetInputWithSeek ·
c7115db1 - [XAM] Treat ordinals 0x7DC and 0x7DD as the extra AV codec loader ·
0ee18afb - [Kernel] Fix notify listeners queueing repeats and staying signaled ·
dbdac0e1 - [Base] Fix POSIX multi-object waits spinning forever on a repeated handle ·
330c950a - [Kernel] Fix RtlCopyUnicodeString overflowing and RtlUnicodeStringToAnsiString length ·
822c6dc0 - [VFS] Fix reads from a truncated ISO crashing the emulator ·
6c38bd02 - VFS: a truncated disc image no longer maps a file past its end ·
da0bc7f2 - [VFS] Fix SVOD reading the root block from an uninitialized offset ·
8e3beaf2 - [VFS] Stop ZArchive logging and looking up every path twice ·
273da4d8 - [Kernel] Fix TLS slot accesses writing past the thread's TLS block ·
a1b78f47 - [XAM] Fix XamGetCachedTitleName ignoring the caller's buffer size ·
02c18b50 - [XAM] Fix XamReadTile and XamReadTileToTexture overflowing guest buffers ·
df917fc7 - [XAM/Net] Fix sendto with a NULL destination crashing the emulator ·
0f97fb23 - [Kernel/XSocket] Fix FIONREAD returning a byte-swapped count for host sockets ·
a8aea9f8 - [APU] Fix XMA output buffers with no blocks dividing by zero ·
b2e9a00c - [Kernel] Select the most compatible and newest title update ·
acf4d3ea
- [CPU] Only release a XEX's own image between key retries ·
Built by Xendroid+ #141 from a3e2f4a9, signed with the release key.
| File | Size | SHA-256 |
|---|---|---|
XenDroid_Release_a3e2f4a9.apk
| 40.6 MiB | 609cb8259f362c9117e757eda7cb181cfeb169f103c100cad3fe1178c9eb699a
|