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).
Enjoy, and have fun hacking!
FeOS, the DS operating system
FeOS, the DS operating system
Donate to devkitPro - help us stay alive!
Re: FeOS, the DS operating system
My favorite part is the dynamic linking.
Re: FeOS, the DS operating system
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?
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?
-
- Site Admin
- Posts: 1989
- Joined: Tue Aug 09, 2005 3:21 am
- Location: UK
- Contact:
Re: FeOS, the DS operating system
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.
Standard NDS binaries cannot be launched without stopping the launching application.
Re: FeOS, the DS operating system
FeOS does not launch nds binaries. It loads modules.
Re: FeOS, the DS operating system
@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:
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.
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
}
Donate to devkitPro - help us stay alive!
Who is online
Users browsing this forum: No registered users and 0 guests