Phase NDS — Nintendo DS Bring-up & First Visible Frame

Nintendo DS Emulator — Direct-Boot, ARM7/ARM9 Bring-up, BIOS HLE und erster sichtbarer Frame.

Status (2026-03-17)

Abgeschlossen

  • Direct-Boot Setup für Header/RAM-Seed/Boot-Blöcke ergänzt
  • CP15-Direktboot-Seed für ARM9 ergänzt
  • IPCSYNC Semantik korrigiert (Remote/Input vs. Local/Output Bits)
  • BIOS7/BIOS9 IRQ-Trampolines korrigiert
  • ARM9 BIOS-IF in DTCM(+0x3FF8) gespiegelt
  • IntrWait / VBlankIntrWait verbessert
  • NDS Boot-Probe (tests/nds/nds_boot_probe.c) für ROM-Smokes und Boot-Telemetrie angelegt

Aktueller Stand

  • ARM9 stirbt nicht mehr sofort im alten IPCSYNC-Waitpoint
  • ARM7 kommt deutlich weiter in den kopierten Boot-/Serviceblock bei 0x037F8000
  • Es gibt aber noch keinen ersten sichtbaren Frame
  • Stichprobe: 12 ROMs nach 80 Frames weiterhin best_visible=0
  • Bolt.nds bleibt selbst nach 3000 Frames bei best_visible=0

Aktueller Hauptblocker

  • ARM7 hängt weiter in Boot-/Servicepfaden um 0x037FB9C8, 0x037FBA10 und Helfern um 0x037FE340
  • Damit kommen Display-Init und regulärer Spielcode noch nicht stabil zum Zug

Fokus für den nächsten Schritt

  • #171 ARM7 Boot Services / Wait-Path sauber modellieren
  • #164 BIOS HLE weiter vervollständigen und gegen Retail-Boot validieren
  • #170 FIFO-Nutzung im echten Bootpfad bestätigen
  • danach #167 Cartridge/AUXSPI, #165 DMA, #163 PPU und #166 OBJ
  • #168 als Akzeptanztest auf mindestens einen sichtbaren Titel drehen
No due date
11% Completed