The DS contains several Power Managment functions, some accessed via I/O ports, some accessed via SPI bus (described later on below). 4000304h - NDS9 - POWCNT1 - Graphics Power Control Register (R/W) 0 Enable Flag for both LCDs (0=Disable) (Prohibited, see notes) 1 2D Graphics Engine A (0=Disable) (Ports 008h-05Fh, Pal 5000000h) 2 3D Rendering Engine (0=Disable) (Ports 320h-3FFh) 3 3D Geometry Engine (0=Disable) (Ports 400h-6FFh) 4-8 Not used 9 2D Graphics Engine B (0=Disable) (Ports 1008h-105Fh, Pal 5000400h) 10-14 Not used 15 Display Swap (0=Send Display A to Lower Screen, 1=To Upper Screen) Use SwapBuffers command once after enabling Rendering/Geometry Engine. Improper use of Bit0 may damage the hardware? When disabled, corresponding Ports become Read-only, corresponding (palette-) memory becomes read-only-zero-filled. - http://nocash.emubase.de/gbatek.htm Is it possible to swap displays by changing the 15th bit through this ARDS code? 24000305 00000083 This works with No$gba but does nothing when used with my nintendo ds. The default value for RAM address 04000305h in the rom im working on is 82 and changing the 15th bit from 0 to 1 would be 82h + 1h=83. When activated,Lower screen display should be on the Upper LCD and Upper display should be on the Lower display. I used it with No$gba and the code works perfectly though sometimes it needs a screen refresh. Do I need to learn assembly to make this work on the real hardware? If this would work,I will be using this code to play tales of innocence on my broken ds lite.