View unanswered posts | View active topics It is currently Fri Dec 14, 2018 11:47 am

Reply to topic  [ 6 posts ] 
 FeOS, the DS operating system 
Author Message

Joined: Mon Jul 12, 2010 9:45 pm
Posts: 33
Hello fellow DS dev'rs:

I'm doing a free, open-source operating system for the Nintendo DS. This has been brewing for a few months, and is starting to get ready. Currently FeOS supports loading relocatable code (which includes support for shared libraries), basic console I/O (thanks to libnds' functions), ARM7 code loading support (!!!), a native libnds-based DS video API and cooperative multitasking (!!!). dswifi and libnds' videoGL API have also been ported to FeOS under the names FeOSWifi and FeOS3D, respectively.

As usual, it's available through GitHub. Pre-built packages (including the FeOS SDK) will be available soon.

Website - Forums

I've also currently ported Lua to FeOS (pictured below), and since there is shared library support, Lua extensions (plugins) are also supported.
NitroTracker has also been ported to FeOS, and it is fully functional (sans DSMidiWifi stuff).

Image Image

Enjoy, and have fun hacking!

My blog

Sat Apr 21, 2012 9:36 pm

Joined: Thu Feb 03, 2011 10:47 pm
Posts: 210
My favorite part is the dynamic linking.

Thu May 10, 2012 3:41 pm

Joined: Fri Dec 16, 2011 2:04 pm
Posts: 5
Mind if i use some code(with giving you credits) to make a plugin system for my file manager?
If i understand it good this can load nds binarys without stopping the launching application?

Sat May 19, 2012 8:02 pm
Site Admin

Joined: Tue Aug 09, 2005 3:21 am
Posts: 1301
Location: UK
Please don't use FeOS code to make a plugin system for your file manager, rewrite your file manager as a FeOS application.

Standard NDS binaries cannot be launched without stopping the launching application.

Help keep devkitPro toolchains free, Donate today

devkitPro IRC support
Personal Blog

Sun May 20, 2012 3:28 pm
Profile ICQ WWW

Joined: Thu Feb 03, 2011 10:47 pm
Posts: 210
FeOS does not launch nds binaries. It loads modules.

Sun May 20, 2012 3:52 pm

Joined: Mon Jul 12, 2010 9:45 pm
Posts: 33
@lemmymet: thank you for your interest in FeOS. It seems that you have misunderstood what FeOS does. FeOS is an operating system that provides a way to load "modules" (applications and shared libraries) thanks to the relocatable FXE2 (.fx2) format; and interact between them. When an application is loaded, the others are kept in memory and can in fact continue running in the background if that's what they are designed for. As WinterMute said, you're better off porting your file manager to FeOS in order to get the benefits of being able to have a plugin system. For example, the code would look like this:
typedef void (*GetInfoType)(params go here...);
instance_t hPlugin = FeOS_LoadModule("nameOfPlugin");
GetInfoType func = (GetInfoType)FeOS_FindSymbol(hPlugin, "MyInterface_GetInfo");
if (func)
    // etc

If you have any further questions and/or need advice on how to use FeOS and port applications to it, don't hesitate to join #FeOS at

My blog

Wed May 23, 2012 8:30 pm
Display posts from previous:  Sort by  
Reply to topic   [ 6 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
  Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.
Get devkitPro at Fast, secure and Free Open Source software downloads