From GameBrew

Last Updated2005/08/10
TypeOperating systems

WinDS, also known as NDS WinS, is an API for the Nintendo Dual Screen. This is a port of the GBA WinS first coded by Francesco Napolitano. However, NDS WinS is not a direct port of GBA WinS.

This homebrew was an entry into the NEO Flash Competition 2005 and ranked 5th.


  • 100% Touch Screen Integration:
    • Drag-able and Resize-able Windows.
    • On-Screen Kb (virtual Keyboard) for easy text editing.
    • Clickable Buttons and other Controls.
  • Cool new Application Lunching system and Icons.
  • On-Screen Real-Time-Clock.
  • Can hold ANY GBA WinS application.

User guide

Please note that NDS WinS can run any application coded and compiled correctly using any compiler. The applications at this stage built in and must be pre-compiled with the NDS WinS and WGL (WinS Graphic Library) libraries.


  • WinS Paint - A basic Paint application.
  • WinS BasiCalc - Calculator with an added divide button.
  • Dominator - WinS puzzle game – more info in the game.
  • LoveCalc - Computes the love-rate of two names.
  • Notepad - Text editing program.
  • TicTacToe - Tic-Tac-Toe game.


Control everything with stylus.


winds2.png winds3.png


Tested on:

R4 Pro (firmware 1.51)
R4 SDHC (firmware 1.26)
SuperCard DSONEi (firmware 3.0)
iPlayer (firmware OS 1.2 V.1.0.6)
M3 DS Simply (firmware 1.14)
M3 Real (M3 Sakura firmware 1.41 and firmware 4.6Beta)


WinDS NeoFlash Release 10/08/2005


  • WinDS won 2nd place at GBAX2k5.
  • Now being compiled with devkitARM r15.
  • Now using the IPC version 2, touch code is more accurate.

WGL changes:

  • Major speed optimizations.
  • Bug Fix: Clipping issues with SwSprites.

WinSAPI changes:

  • Option to Drag/Resize windows by wireframe.
  • Wallpaper changed, by TheGeek.
  • Software Clock interrupt.
  • PowerSaving mode is now relaying on seconds.
  • Faster (none-wireframe) dragging/resizing Alogorithms.
  • Added Icon select feature.
  • Added Icon drag feature.
  • Added Align Support.
  • Added Control: CtlTabList.
  • Added Control: CtlSlider.
  • Added Settings engine.
  • Added Firm 'Settings' application.
  • Added On-run Selectable color theme engine.
  • Added feature: Enable/Disable Control.
  • Added feature: Fake Selection.
  • Removed unused variables to save RAM and ROM.
  • Application would now run via double-tap.
  • Bug Fix: Hiding and UnHiding Controls.
  • Bug Fix: Sending Messages to hiddened Controls.
  • Bug Fix: PowerSave mode when in vKb mode.
  • Bug Fix: Message sending with no ancestor.
  • Bug Fix: Shift key didn't work (rare).
  • Bug Fix: de-allocation bug that caused WinS to crash on devkitARM r15.

Applications changes:

  • Icons changed.
  • Paint: Added diffrent drawing modes: FreeHand, Line and Rectangle.
  • Paint: Added Yellow color.
  • TicTacToe: Re-Wrote engine.
  • TicTacToe: Disabled buttons when game is finished.
  • Settings: Layout changed.
  • Removed: GraphCalc Beta - caused heavey memory problems with devkitARM r15.

WinDS 1st Release 02/06/2005


  • Name change: WinDS.
  • Now sponsored by NeoFlash.

WGL changes:

  • Now using the 2nd screen.
  • New Screen32k Object: upScreen.

WinSAPI changes:

  • Bigger vKb.
  • Added watermark: "Powered by".
  • Wallpaper changed, by Maxamor.
  • PowerSave mode after 200 frames.
  • PowerSave mode when closing the lid.
  • Added Control: CtlButtonEx.
  • Added control: CtlCheckBox.
  • Added control: CtlDropList.
  • Removed: Bugged RTC on screen.

Applications changes:

  • Icons changed (by ????).
  • BasiCalc renamed to Calculator.
  • Added: '.' Button on Calculator.
  • Added: '+/-' Button on Calculator.
  • Added: GraphCalc BETA Application.

NDS WinS GBAX2005 Release 31/05/2005

WGL changes:

  • Ported to the NDS's HardWare.
  • Screen32k::D_Printf() now outputs to the second screen.

WinSAPI changes:

  • Windows are now Dragable by the Stylus.
  • Windows are now Resizeable by the Stylus.
  • Wallpaper change, by Chetic.
  • vKb (virtual Keybored).
  • RTC on Screen..
  • Added control: CtlIcon.
  • Removed: CtlPointer.
  • Removed: K+ Input System.
  • Disabled: CtlScroller.
  • Disabled: CtlScrollBar.
  • Bug Fix: Control::SetAhead().
  • Bug Fix: Control::AddSubControl().
  • Bug Fix: Control::RemoveSubControl().

Applications changes:

  • BasiCalc can now handle floats.
  • Added: Devision on BasiCalc.


Francesco Napolitano for creating the original GBA WinS.

Chétic for great help in beta testing.

External links