Commit Graph

  • 6c0a14dcb8 Host: saves survive a full disk; free thread blocks; iOS memory headroom seedds 2026-10-15 08:12:10 +08:00
  • 6788f74019 NVN: dirty-page tracker race; graphics unit tests build and run again seedds 2026-10-15 07:59:35 +08:00
  • 7aef571f0b NVN: pools resident on first GPU use; vis overflow buffer; view format prediction seedds 2026-10-15 07:41:44 +08:00
  • aadb9398e8 NVN: drop a finalized pool's texture-ID views; readout without pinning seedds 2026-10-15 06:34:56 +08:00
  • 34b04ee5ba NVN: depth / stencil clear in the middle of a render pass seedds 2026-10-15 05:59:45 +08:00
  • 12a20d08ff NVN: evict a finalized pool's shared textures; more memory readouts seedds 2026-10-15 05:40:02 +08:00
  • ca90b26ff1 NVN: release a memory pool's Metal buffer when the pool is finalized seedds 2026-10-15 04:26:34 +08:00
  • 6e27a96b1d README: Engage row reflects the prologue gameplay seedds 2026-10-15 03:49:10 +08:00
  • b1c814f676 NVN: GPU timestamps in nanoseconds on the guest clock seedds 2026-10-15 03:47:54 +08:00
  • 85bed8087b Engage: fit the guest block in 5 GB; the early stalls look fixed seedds 2026-10-15 03:01:15 +08:00
  • fd56427caf Docs: the Engage battle crash entry in 04-graphics is fixed seedds 2026-10-15 02:08:40 +08:00
  • 3ab0ea16cd Host: crash report never waits forever on stderr; Engage demo crash fixed seedds 2026-10-15 02:05:23 +08:00
  • 4ab6d84190 Engage: shrink the SDK's address-region node area; the battle crash is gone seedds 2026-10-15 01:35:34 +08:00
  • 72aa5ca40b Host: real thread pause for IL2CPP's GC; Engage reaches its first battle seedds 2026-10-15 00:40:49 +08:00
  • eecc7fa168 NVN: Downsample as a Metal resolve, snapshot fallback seedds 2026-10-15 00:40:49 +08:00
  • d47f89986b Host: crash gate, NVN texture snapshots, address arbiter fix seedds 2026-10-14 23:15:44 +08:00
  • 18515e6797 Movies: VP9 decoding with libvpx seedds 2026-10-14 23:15:44 +08:00
  • 53a1273cd1 Host movie decoder: Fire Emblem Engage reaches its title screen - hle_movie.c implements movie::Decoder (the SDK's MediaCodec wrapper) through hooks on every vtable method: DecoderEvents signalled with the SDK's SignalEvent, input / output index queues, Buffer and MediaData filled with the SDK's own setters, one NV12 frame per packet into the buffer Unity allocates (w x h x 1.5); packets wait while every output slot is taken. Frames are black for now (no VP9 decoding yet); the size comes from Configure or the VP9 header. - Engage on the Mac: loading screen, the 94 s opening movie, then the title screen and, left idle, the 3D attract demo. Not yet: input, a crash about 221 s into the demo, an unmapped texture format, iOS. - Docs: catalogue entries (movie protocol, shader keys, CPU-written textures, NVNprogram size), Engage graphics notes, README row. seedds 2026-10-14 20:29:27 +08:00
  • 830404a25e NVN: shader keys at SetShaders, CPU-written textures, sampler table - Shader keys are computed inside nvnProgramSetShaders: NVN lets the caller free the control section once it returns, and Unity does (about 100 programs were reported missing with garbage control sections). A stage whose code is not yet in a memory pool (Mario sets some programs with an unmapped address first) is hashed at its first draw. Keys live in a side table: Mario's NVNprogram is smaller than the header's 0xC0, and growing prog_t corrupted the next object. - Textures written with nvnTextureWriteTexels resolve like packaged textures: uploaded from guest memory and re-uploaded on dirty pages. Unity's video frames and the engines' 4x4 default textures (black, white, transparent, red) used to stay zero. Mario's course frames get slightly brighter where materials sample the default white. - The c2 driver bank also gets the separate-sampler table (0x568 + 8 r), which Engage's shaders read at run time. - Mario 1.2.1 regression (120 s scripted) clean: only the known SetRenderEnableConditional red line. seedds 2026-10-14 20:29:26 +08:00
  • 41ac235637 Unity shaders: UnityFS reader, Engage shader tables and NVN layout - New dm/gfx/tools/unityfs.py: UnityFS bundles (LZ4 / LZMA blocks), serialized files (formats 19..22), objects read by their type trees (Unity's common string table comes from the game's own main), and a Shader object's per-platform compressed subprograms. The player's own files have no type trees and borrow the bundles' Shader tree of the same type hash. - shader_split.py reads Unity Shader objects in a second pass: each Switch subprogram is one NVN program (0x60-byte header of per-stage offset / control size / code size, then control + code per stage); a program's vertex / pixel stages form a pair. Engage: 9,269 shaders, 4,634 pairs. Mario's tables and package are byte-identical. - Engage profile: shader groups engine / assets, measured NVN layout (texture handles 0x168 + 8 r, 128 slots; separate samplers 0x568), regenerated tables, chain a295a8035b7b. 9,268 of 9,269 compile (one geometry shader; Metal has none). - dmsh_build.py: the translator's built-in bases only matter with per-slot facts, so the guard checks that; c2 reads count the sampler table and 16-byte rows overlapping a table as fillable. - game.py: DM_GAME_NVN_SAMP_BASE. NSP script survey note updated. - Mario chain is now 271056163ea2 (Mac and iOS libraries rebuilt, 16,266 of 16,268 as before; c1_full regenerated). seedds 2026-10-14 20:29:26 +08:00
  • 62516cb750 Fire Emblem Engage profile (bring-up started) seedds 2026-10-14 18:09:30 +08:00
  • 779e5097f3 Host and rewriter: fixes for Unity / SDK 12 titles (Engage bring-up) seedds 2026-10-14 18:09:30 +08:00
  • 90875c73bd NVN: honour render-target view formats; present sRGB swapchains raw seedds 2026-10-14 18:09:30 +08:00
  • 527fa29007 Remove the [DEBUG-flk1] instrumentation seedds 2026-10-14 13:02:16 +08:00
  • af80109761 Docs: a general Switch-on-Apple project, one supported game seedds 2026-10-14 11:15:55 +08:00
  • 5d4d66a19b build_ipa_from_nsp.py: game-neutral, survey mode, app name from the NSP seedds 2026-10-14 11:15:55 +08:00
  • 8783deee5b Game profiles: per-game constants and tables in dm/games/<id> seedds 2026-10-14 10:59:12 +08:00
  • 6868b6d398 nx_extract, nso_syms: survey support for new titles seedds 2026-10-14 10:58:06 +08:00
  • e6b5333a1b build_ipa_from_nsp.py: unsigned IPA from the NSPs and prod.keys seedds 2026-10-14 03:06:56 +08:00
  • f058fb42c0 iOS gamepad: streaming-pad layout, compact and translucent, right stick seedds 2026-10-14 03:06:56 +08:00
  • 73b1722248 Docs: iPhone fixes, update 1.2.1, prewarm lists; drop host README seedds 2026-10-14 01:21:04 +08:00
  • 8911232933 Update 1.2.1 (v327680): extractor, offset mapper, build IDs, new SDK calls seedds 2026-10-14 01:21:04 +08:00
  • dfd016a234 Shader chain: vertex output padding; tables for v0 + 1.2.1 seedds 2026-10-14 01:21:04 +08:00
  • 3a1e6a3915 iPhone: command-buffer byte +0x10, command memory, audio buffer size seedds 2026-10-14 01:21:04 +08:00
  • 1a65553ead WIP iOS flicker diagnostics [DEBUG-flk1] (temporary) seedds 2026-10-13 16:57:23 +08:00
  • 96f9fb3da9 iOS shaders: compile with -fmetal-math-mode=relaxed (untested on device) seedds 2026-10-13 16:57:07 +08:00
  • 89fc708348 Shader chain: tool lock for Homebrew spirv-cross 1.4.363 / .NET 10.0.401 seedds 2026-10-13 16:55:57 +08:00
  • 753a6f97b3 iOS: environment switch files for sideloaded diagnostic builds seedds 2026-10-13 16:55:43 +08:00
  • 7e7e643df6 Dirty-page tracking: pools that share a host page seedds 2026-10-13 16:55:43 +08:00
  • 874001eaee Sound, button icons, fountain water: CPU audio renderer, extension font, ordered copies seedds 2026-10-13 13:16:42 +08:00
  • b8d8164639 iOS app: unsigned all-in-one IPA with a standard-controller gamepad seedds 2026-10-13 09:20:43 +08:00
  • 53642a6f9c Opening course playable: integer vertex inputs for skinned models, sky colour ramps seedds 2026-10-13 08:56:30 +08:00
  • 4d8ac53681 Into the opening course: resource heap slack, compute start offset, CPU-written text seedds 2026-10-13 08:13:48 +08:00
  • 02321677e7 Input past the title screen; virtual pools; probes without a debugger seedds 2026-10-13 01:26:39 +08:00
  • 16d3820a72 Mario Wonder renders its title screen on the Mac host seedds 2026-10-13 00:54:49 +08:00
  • 679c569bc7 Mario Wonder reaches its render loop and presents frames seedds 2026-10-12 23:32:10 +08:00
  • 6781066894 NVN render commands for SDK 16: binds, draws, clears, texel writes seedds 2026-10-12 22:35:17 +08:00
  • f68dea7add Boot Mario Wonder into its game loop: VA memory, audio, settings, fs seedds 2026-10-12 22:21:36 +08:00
  • d1b17080ed smbw-mobile: Mac host boots Mario Wonder v0 into its frame loop seedds 2026-10-12 22:04:20 +08:00