[NDS] PPU: BG Mode 0-5 → VRAM→Framebuffer rendering #163

Open
opened 2026-03-15 19:30:08 +00:00 by krugi20 · 1 comment
Owner

NDS PPU rendert aktuell noch keine sichtbaren Pixel.

Status (2026-03-17)

  • BG/OBJ-Rendering ist weiterhin offen
  • Der aktuelle harte Blocker sitzt aber noch davor im ARM7-Boot-/Servicepfad
  • Solange Display-Init nicht sauber erreicht wird, bleibt diese Issue logisch blockiert

Zu implementieren

  • BG Mode 0 (Tile-based, 4bpp/8bpp)
  • BG Mode 1/2 (Mixed Tile+Affine)
  • BG Mode 3/4/5 (Bitmap)
  • VRAM Bank Mapping (VRAMCNT A-I)
  • Palette RAM -> Pixel-Output

Entblockung

  • Erst nach stabilem ARM7/ARM9 Boot bis zur Display-Initialisierung sinnvoll weiterbearbeiten
NDS PPU rendert aktuell noch keine sichtbaren Pixel. ## Status (2026-03-17) - BG/OBJ-Rendering ist weiterhin offen - Der aktuelle harte Blocker sitzt aber noch davor im ARM7-Boot-/Servicepfad - Solange Display-Init nicht sauber erreicht wird, bleibt diese Issue logisch blockiert ## Zu implementieren - BG Mode 0 (Tile-based, 4bpp/8bpp) - BG Mode 1/2 (Mixed Tile+Affine) - BG Mode 3/4/5 (Bitmap) - VRAM Bank Mapping (VRAMCNT A-I) - Palette RAM -> Pixel-Output ## Entblockung - Erst nach stabilem ARM7/ARM9 Boot bis zur Display-Initialisierung sinnvoll weiterbearbeiten
Author
Owner

Status 2026-03-15

Blockiert durch ARM7-Bug:
Arm9 erreicht PPU-Init (DISPCNT) nicht, weil er in einer IPC-Wait-Loop bei 0x021123F0 steckt und auf ARM7 wartet.

ARM7-Status:

  • Springt bei Schritt ~226521 in unmapped Adressraum (0xE1A01C00)
  • Root Cause: Stack-Korruption — 0xE1A01C01 (ARM-Opcode-Wert!) landet als Return-Adresse auf dem Stack bei 0x0380FB94
  • Subagent debuggt Watchpoint auf [0x0380FB94]

ARM9-Status:

  • PC-Drift vollständig behoben (LDM/STM Fix, commit 5d4fa32)
  • DTCM/ITCM korrekt via CP15 MCR konfiguriert
  • 200 Frames ohne Drift bestätigt

PPU-Implementierung kann erst beginnen wenn ARM7 stabil läuft.

## Status 2026-03-15 **Blockiert durch ARM7-Bug:** Arm9 erreicht PPU-Init (DISPCNT) nicht, weil er in einer IPC-Wait-Loop bei `0x021123F0` steckt und auf ARM7 wartet. **ARM7-Status:** - Springt bei Schritt ~226521 in unmapped Adressraum (`0xE1A01C00`) - Root Cause: Stack-Korruption — `0xE1A01C01` (ARM-Opcode-Wert!) landet als Return-Adresse auf dem Stack bei `0x0380FB94` - Subagent debuggt Watchpoint auf `[0x0380FB94]` **ARM9-Status:** - PC-Drift vollständig behoben (LDM/STM Fix, commit `5d4fa32`) - DTCM/ITCM korrekt via CP15 MCR konfiguriert - 200 Frames ohne Drift bestätigt PPU-Implementierung kann erst beginnen wenn ARM7 stabil läuft.
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
krugi20/retroverse#163
No description provided.