FeOS, the DS operating system

Got something cool to help make the toolchains better? Post it here.
Post Reply
User avatar
fincs
( ͡° ͜ʖ ͡°)
Posts: 93
Joined: Mon Jul 12, 2010 9:45 pm
Location: Seville, Spain
Contact:

FeOS, the DS operating system

Post by fincs » Sat Apr 21, 2012 9:36 pm

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!
Donate to devkitPro - help us stay alive!

mtheall
Posts: 210
Joined: Thu Feb 03, 2011 10:47 pm

Re: FeOS, the DS operating system

Post by mtheall » Thu May 10, 2012 3:41 pm

My favorite part is the dynamic linking.

lemmymet
Posts: 5
Joined: Fri Dec 16, 2011 2:04 pm

Re: FeOS, the DS operating system

Post by lemmymet » Sat May 19, 2012 8:02 pm

Cool!
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?

WinterMute
Site Admin
Posts: 1845
Joined: Tue Aug 09, 2005 3:21 am
Location: UK
Contact:

Re: FeOS, the DS operating system

Post by WinterMute » Sun May 20, 2012 3:28 pm

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

Personal Blog

mtheall
Posts: 210
Joined: Thu Feb 03, 2011 10:47 pm

Re: FeOS, the DS operating system

Post by mtheall » Sun May 20, 2012 3:52 pm

FeOS does not launch nds binaries. It loads modules.

User avatar
fincs
( ͡° ͜ʖ ͡°)
Posts: 93
Joined: Mon Jul 12, 2010 9:45 pm
Location: Seville, Spain
Contact:

Re: FeOS, the DS operating system

Post by fincs » Wed May 23, 2012 8:30 pm

@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:

Code: Select all

typedef void (*GetInfoType)(params go here...);
//...
instance_t hPlugin = FeOS_LoadModule("nameOfPlugin");
GetInfoType func = (GetInfoType)FeOS_FindSymbol(hPlugin, "MyInterface_GetInfo");
if (func)
{
    func(params...);
    // 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 irc.blitzed.org.
Donate to devkitPro - help us stay alive!

Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests