gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS development > libluads: A LUA Library for DS homebrew...

#107991 - OOPMan - Fri Nov 03, 2006 9:05 pm

EDIT: An initial release has been available. It is available here under the Other->Various section.

Hey all, I'm hoping to get your opinions in this little project before I take it too much further.

Basically I'm looking at porting LUA to the DS. Now I know this has already been done in the form of DSLua, but after taking a look at that project I cam away rather dissatisfied. Sources are not available and DSLua exists as a standalone binary for executing LUA scripts, rather than as a library that can be added to existing homebrew projects as needed.

As I said, this didn't satisfy me, as something I'm looking at porting (The MAD adventure game engine) relies on LUA in the form of a library...

So I grabbed the latest LUA source release (5.1.1) and set-up a quick build test of it in library form. Much to my surprise (Initially), it compiled under devkitPro r19b without any problems. However, given that the LUA code is written in ANSI C, the surprise wore of pretty quickly.

It seems pretty obvious that in order to actually get LUA working on the DS certain components of it's subsystems (I/O, etc) will need to be altered...

I'm a little bit wary of altering the code too much though. As is it relies on the standard C libraries to implement everything it would be nice to leave things as they are. However, I understand that divkitPro isn't totally mature just yet (Although I'm not totally certain how mature it actually is, given that the documentation component of the site is a little sparse...) and as a result I expect some things will need to be hot-wired, for now at least...

Looking at the LUA reference manual it provides various standard library functions divided into the following categories:

  • Basic LUA functions (Some core LUA funcs, inc garbage collection)
  • Complex LUA functions (Co-routines, etc)
  • LUA modules (Code for loading/building LUA modules)
  • String manipulation (Including Patterns...)
  • Table manipulation (Handling of the key LUA data-type, the Table)
  • Math functions
  • I/O functions
  • OS functions
  • Debug functions


Now, as I said before, I'd imagine that the I/O would need to be re-jiggered off the bat.

The OS functions would also need to be mucked about, from the looks of it and I'd imagine the debug functions would need work.

I would also guess that the Math stuff might need to be changed...

Now, does anyone have any thoughts on any of the other areas I listed?

What's the maturity of string handling code like in devkitPro at the moment?

Well, anyway, thoughts and comments would be appreciated...
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...


Last edited by OOPMan on Mon Nov 20, 2006 9:46 am; edited 1 time in total

#108026 - Extreme Coder - Sat Nov 04, 2006 12:12 pm

I'd say go for it :) I tried a while ago the same experiment but it didn't go very far, due to the /ANSI C stuff, and some laziness from me :P
Oh BTW, I also suggest checking out SpiderMonkey from Mozilla, which is a variant of JavaScript.

#108028 - Payk - Sat Nov 04, 2006 1:02 pm

Squirrel seems to best lua alternative out there.
It can handle co-operative tasks etc, too.
Its based on Lua but with a idfference. Before deving it, the author spoked with game devers in order to get whats the problem with lua and made it on a other (maybe better) way. I do prefer that thing.

#108030 - OOPMan - Sat Nov 04, 2006 3:30 pm

Hmmmmm, I'll take a look at Squirrel Payk, thanks for the tip...

As I said, something else I'm interested in porting needs LUA, and hence porting LUA is required for that project :-)

Well, anyway, it's at least encouraging that LUA compiles in library form with no problems. Of course, if I have to go changing masses of code, that might not stay the case...

Well, only one way to find out :-)
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#108047 - Quirky - Sat Nov 04, 2006 8:19 pm

The MAD engine, which does all the real work, will cause you more headaches. Looking at the source it seems that this engine uses the allegro library.

#108055 - wintermute - Sat Nov 04, 2006 9:26 pm

OOPMan wrote:


Now, as I said before, I'd imagine that the I/O would need to be re-jiggered off the bat.


Possibly not quite as much as you'd imagine. I put quite a lot of work into developing a pseudo device API within newlib. The libnds/libgba code which lets printf work on NDS/GBA doesn't necessarily have to be tile based, you could extend that reasonably easily to work with a bitmap based screen. The last changes I made allow file io to work reasonably well without too much hackery as well. Right now I'm still working on getting an interface to directory listing functions

Quote:

The OS functions would also need to be mucked about, from the looks of it and I'd imagine the debug functions would need work.


These would probably present the most difficulty depending on your requirements. Regardless of how much the newlib code makes it look like you're working with a basic OS there's no real gettingt away from the fact that there isn't an OS available.

Quote:

I would also guess that the Math stuff might need to be changed...


I can't imagine why it would, other than the fact that you probably want to avoid floating point math due to the lack of an FPU.
Now, does anyone have any thoughts on any of the other areas I listed?

Quote:

What's the maturity of string handling code like in devkitPro at the moment?


Well, I'd say pretty mature really - the devkitPro toolchains are all based on gcc.

Most of the problems you'll have with porting things will be related to the limitations of the platform and lack of an underlying operating system.

One of the areas that is likely to cause serious issues is threading. I've seen a few people who have implemented threading libraries of some description for the DS which will work up to a point. Unfortunately for these to be reliable the toolchain will require modification to implement locks around IO and memory allocation. This is something I might consider looking into at some point in the future but for now it's something that will need treated with extreme care.
_________________
devkitPro - professional toolchains at amateur prices
devkitPro IRC support
Personal Blog

#108084 - OOPMan - Sun Nov 05, 2006 8:09 am

Quirky wrote:
The MAD engine, which does all the real work, will cause you more headaches. Looking at the source it seems that this engine uses the allegro library.


Yeah, I'm guessing that's the case as well. In fact, whether or not MAD proves to be portable is still a little dubious :-)


wintermute, thanks for the info in your post. A lot of very useful info in there :-) I'm happy to see that it seems a least fair portions of LUA's C code won't give me many problems :-)

With regards to the threading, I guess I'll have to see whether the MTCLib DS port proves useful. But yes, as you said, without that toolchain support there could be problems. Well, we'll just have to try and see :-)
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#108086 - tepples - Sun Nov 05, 2006 8:15 am

Why is MAD both the name of an adventure game engine and the name of an MPEG audio decoder?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#108089 - OOPMan - Sun Nov 05, 2006 8:41 am

Namespace clash?

I've encountered if before, in other things (Band names, for one ;-)

I think the audio library is at mad.sourceforge.net while the adventure game engine is at mad-project.sourceforge.net. Kinda confusing, I suppose.

Sillyness :-)
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#108098 - tepples - Sun Nov 05, 2006 10:15 am

Super Mario Bros. != Server Message Block
Need For Speed != Network File System
New Super Mario Bros. != Nigga Stole My Bike (cut scene from Punch-Out!!)
PocketNES (for GBA) != PocketNES (for Windows Mobile)
Private message != Post meridiem != Precious Moments
Nintendo DS != everything else that starts with DS
Lua != Least user access

At least Wikipedia knows how to deal with these.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#108100 - OOPMan - Sun Nov 05, 2006 11:47 am

Indeed...

To be honest, I'm not even sure why the MAD adventure game engine is called MAD.

*looks*

No obivous info as to the name. Peculiar...
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#108123 - Payk - Sun Nov 05, 2006 4:17 pm

Nintendo Docking Station...lol

#108193 - OOPMan - Mon Nov 06, 2006 2:27 pm

Hmmmm, some more news from the land of experimentation...

I've been mucking about with compiling the basic included LUA stand-alone interpreter with somewhat comic results :-)

The roms loads and runs fine in ndsmume and but locks on actual hardware. Typical. Time to start digging, I guess :-)

EDIT: Looks like the culprit is lua_cpcall(). Time to dig around so more...
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#108247 - FireSlash - Tue Nov 07, 2006 12:48 am

I'd really like to see this done OOPMan.

I've been thinking of adding LUA to a project I'm currently fiddling with. I can see dozens of projects that would benefit from LUA.

If you need any testers once you get it operational, hit me up. My own little framework is designed around being scripting-language friendly.
_________________
FireSlash.net

#108249 - GPFerror - Tue Nov 07, 2006 12:57 am

well look like this uses LUA for scripting
http://www.dev-scene.com/NDSNews:2006-11-6_-_End_of_the_shadows_First_Demo

Maybe Octobinz can give you a hand with your problems.

Troy(GPF)

#108251 - wintermute - Tue Nov 07, 2006 1:10 am

For what it's worth there's also http://www.dslua.com/
_________________
devkitPro - professional toolchains at amateur prices
devkitPro IRC support
Personal Blog

#108268 - OOPMan - Tue Nov 07, 2006 7:05 am

As I already wrote, I wasn't very satisfied with DSLua. The source does not seem to be readily available, it doesn't exist as an add-in library, only as a stand-alone interpreter.

Also, it's not longer actively developed and is based on an older version of LUA :-)

EDIT:

Thanks for the tip GPFError, I'll wire a PM over to Octo and see what's the status with that on his end :-)
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#108294 - OOPMan - Tue Nov 07, 2006 4:11 pm

Well, I've been in contact with Octobinz and can confirm that he has successfully ported LUA for use in the End of Shadows RPG, so I should be able to get advice from him when required...

Also, very interesting, I just tried my LUA stand-alone interpreter binary after having updated my SuperCard's firmware to v1.7 and suddenly it gets much further in before crashing...

I'm not sure what to make of this really. In case you're wondering, no, I'm not nub enough to try patching a homebrew rom :-)

Funny thing is, I tested this exact same binary last night, prior to updating my SC firmware (It was at 1.63b) and it hung during the call to lua_cpcall()

I don't suppose anyone can guess why this might be?

Anyway, it *seems* to be fixed now, although I'm going to tread softly and carry a large debugging stick just in case...
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#108485 - OOPMan - Thu Nov 09, 2006 11:51 am

Okay, after hacking about with the LUA Stand-alone Interpreter for a bit I decided it would be better to just actually hack it a bit in order to test the example LUA files included with LUA 5.1.1

Since I've just started this I've only tested the Hello World script...

Not much to get too excited about...

BUT

It means that LUA is working perfectly fine with libfat, so loading scripts is not a problem at all, which means I can probably start looking at other potential problem areas :-)
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#108616 - jake2431 - Fri Nov 10, 2006 3:20 pm

I think this is great. I am really busy with school right now (among other things), and I don't have much time to do things at all. I was looking into DSLua a while back, but it seems to be pretty much shut down. If you could make a better Lua for the DS that would be awesome. I think right now the only way I will be able to do any game programming is with LUA because it would be faster to write. I am also really upset that the PSPLua has been shut down. I know I probably won't find much sympathy for that here, but it would be really cool to write some demo games for my PSP in my spare time. The link game they had up on their website was looking pretty nice. That's about it for my thoughts.

#108620 - OOPMan - Fri Nov 10, 2006 3:43 pm

Keep in mind that I'm porting LUA in the form of a library. I have no intention to write a LUA player in the form of the DSLua or anything similar...

LUA was originally intended as an extension language and I just think that hard-locking people into having to rely on a Player App to access LUA is a little silly...

With any luck, though, someone will be able to use lualibds to write a very nice player of their own :-)
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#108625 - jake2431 - Fri Nov 10, 2006 5:37 pm

Sorry if this sounds dumb, but does that mean that we will be able to write games, using LUA, without having to have the player and still be able to run them on the DS, or does this meant that we will need the player and your library? I don't know much about how these scripting languages work, as I have yet to use one, but I do like everything that I have read about LUA.

#108626 - Sausage Boy - Fri Nov 10, 2006 5:53 pm

He means that programmers programming their games in other languages, like C/C++, will be able to include a player in their games. The use of Lua might vary from game to game, but possibilities could be scripting levels, scripting weopons, character talk and much more.

So, what is the advantage of using Lua in these situations? It allows artists and such to make their own content easily, without having to muck around with the source code itself. It's common practice to seperate content from engine as much as possible.
_________________
"no offense, but this is the gayest game ever"

#108654 - jake2431 - Fri Nov 10, 2006 11:18 pm

Okay, gotcha.

#108703 - MrK - Sat Nov 11, 2006 12:01 pm

Sausage Boy wrote:
He means that programmers programming their games in other languages, like C/C++, will be able to include a player in their games. The use of Lua might vary from game to game, but possibilities could be scripting levels, scripting weopons, character talk and much more.


I don't see the point of the project, I had to port something from pocket PC to DS to make a test and it took like 5 minutes to compile and link the whole project
(of course graphics were not working, but the LUA part worked flawlessly)

If you're embedding lua into C, you won't need the LUA OS functions nor IO functions nor other OS dependant functions,making it trivial to be ported, but maybe I misunderstood something...

#108707 - Sausage Boy - Sat Nov 11, 2006 1:12 pm

Heh, that's what I thougt too MtK. Lua is like, built to be portable and easily integrated. I don't know if floating point math would cause slowdowns, that's the only problem I can think of.
_________________
"no offense, but this is the gayest game ever"

#108709 - OOPMan - Sat Nov 11, 2006 2:18 pm

A trivial port is better than no port, and it's a hell of a lot better than a closed-source LUA player like DSLua that can't be used for anything other than a limited set of functions...

Anyway, the easier and less painful it is to port, the better. Having to hack the LUA source extensively would mean that future LUA releases would be more difficult to port.

Blah, anyway, like I said. I'm porting LUA. I'm not writing a LUA player. Someone else can do that and thus ensure that it does exactly what they want. With any luck, though, they won't need to worry about any specific parts of LUA working, because that will already have been tested :-)

Well, without further ado, a test application...

The application is here. Unfortauntely NDS Storage does not want to provide a direct link. The file is located in Other->Various.

It's basically a hacked together little NDS app that runs a LUA file that is on your media adapter. Just enter the filename and watch it go. I've included some sample LUA files (They came with LUA 5.1.1 originally). If anyone has any other LUA files they'd like to test, feel free. Just be sure to let me know how they work...
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#108713 - Payk - Sat Nov 11, 2006 4:10 pm

Yeah. Lua was made to deliver a nice scripting langue FOR games. Not to be language of the game itself. I mean its quite cool tha DSLua can be used to write games, but it wasnt supposed to be like this.
Today i finisehd reading out all datas using tinyxml (instead of my own script) and will now mix it with Squirrel. I expect a nice syntax ;)
Anyway, i wouldnt control all npcs using a script or something. Its more for short called events. I want to keep 60FPS. And wouldnt be possible if the entiry game would be controled by a scriptinterpreter, i guess. I think such a Scipt thing like Lua/SpiderMonkey/Squirrel should be used for overgive commands to the engine and vice versa. For example instead of totaly control a NPC using it, script can overgive waypoints and engine can use this (for example with A* ) to control the npc. Keep in mind nds has 66Mhz for such a script interpreter and renderstuff...

DSLUA is a nice work anyway.

#108730 - OOPMan - Sat Nov 11, 2006 6:22 pm

It's just a pity the DSLua source is closed and development has ceased. It's always a pain when things like that happen...
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#108735 - jake2431 - Sat Nov 11, 2006 6:44 pm

Yeah, I agree. It was a good thing for people with not much time on their hands.

#109057 - FireSlash - Tue Nov 14, 2006 5:34 pm

Hey, I've reached a point in my project where Lua would be... Handy.

If you want a spare tester, send me a PM or nab me on IRC.
_________________
FireSlash.net

#109148 - OOPMan - Wed Nov 15, 2006 4:13 pm

Okay, just a minor update.

I've placed a source release for libLUADS up at NDS Storage under Other->Various

As the blurb for it there says, this is basically a plain version so far. No actual LUA source has been changed just yet. The only real difference is that the Makefile compiles a library usable with devkitPro :-)

I will be adding actual changes in the near future, although my aim is the drastically change as little as possible :-)
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#111688 - Jeremysr - Sat Dec 09, 2006 12:09 am

Hi OOPMan, I don't know if you're still working on this. But I want to let you know that I have gotten the source code of DSLua from someone (I don't know if he's the DSLua creator, waruwaru, his name is "admin" on the forums and won't answer any questions about where waruwaru is.)

Me and a couple other people (named sypherce and daltonlaffs) will be maintaining DSLua now. Would the source code help you with libluads? If so I will send you it. :)

#111695 - josath - Sat Dec 09, 2006 1:12 am

Jeremysr wrote:
Hi OOPMan, I don't know if you're still working on this. But I want to let you know that I have gotten the source code of DSLua from someone (I don't know if he's the DSLua creator, waruwaru, his name is "admin" on the forums and won't answer any questions about where waruwaru is.)

Me and a couple other people (named sypherce and daltonlaffs) will be maintaining DSLua now. Would the source code help you with libluads? If so I will send you it. :)


How about you just make it available to everyone and post it on the official site? (if you haven't already)

#111696 - Jeremysr - Sat Dec 09, 2006 1:25 am

josath wrote:
Jeremysr wrote:
Hi OOPMan, I don't know if you're still working on this. But I want to let you know that I have gotten the source code of DSLua from someone (I don't know if he's the DSLua creator, waruwaru, his name is "admin" on the forums and won't answer any questions about where waruwaru is.)

Me and a couple other people (named sypherce and daltonlaffs) will be maintaining DSLua now. Would the source code help you with libluads? If so I will send you it. :)


How about you just make it available to everyone and post it on the official site? (if you haven't already)


I'm still waiting for "admin" to give me admin permissions so I can post it on the download page and news homepage. Also, the source we got was a backup and was full of errors. We have fixed them (well sypherce has done just about all the work so far), and added Wifi functions and a few others. DSLua 0.6 will be released very soon and with it the source code.

#111708 - OOPMan - Sat Dec 09, 2006 8:43 am

Woops, didn't notice anyone was posting in this thread. Gah, I really need to use the "watch" feature.

Okay, so, questions in chronological order...

Do I need the DSLUA source for libLUADS? Not as far as I know. libLUADS is based on the original lua-5.1.1 source tree, compiled in library form with devkitpro. It isn't at reliant on DSLUA :-)

Oh, right, that's all of them :-)

Anyway, it's good to hear you guys finally got your hands on the DSLUA source. Hopefully you guys will be able to bring the project up to speed.

I haven't done much work on libLUADS for the past few weeks, although I do hope, eventually, to add in some support libraries (Kinda like the existing support libs that come as port of libLUA that handle things like interactions with the OS and so forth...) that will provide access to elements of the DS' HW. However, I'm not sure when I'll be able to get around to this, so that stuff could be a while coming...
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#114069 - ghaxaq - Wed Jan 03, 2007 2:21 pm

Where is lualibds?? I cant seem to find a download.

And is the code exactly the same as used with DSLUA??

#114491 - OOPMan - Mon Jan 08, 2007 12:47 pm

Sorry for the delay. You can find it at my Dev-Scene blog page.

This is here
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#114515 - ghaxaq - Mon Jan 08, 2007 4:59 pm

No problem..thanks for your help

#121700 - Wizard - Wed Mar 14, 2007 2:24 am

Holy Necropost, Batman.
Sorry about that.

But anyway, just wanted to offer up a little encouragement. Some friends of mine and I starting a game project. Long story short, one guy wanted a PC port, I wanted a NDS port, and before I knew it, we'd picked LUA as the scripting lanuage for the spells, events, etc... to be handled by the game.
I was thiiiiis close to starting up a port of LUA for NDS myself, because, as you say, DSLua is less than useful as a library.
Anywho, I hope you keep up the good work. I've not actually attempted to use your LUA library yet. And in fact, in the end, we may need to abandon it entirely, but I hope you keep working on it, and that I am able to use it in the end.
Thanks for caring. :)

#121720 - OOPMan - Wed Mar 14, 2007 8:19 am

Okay, well hopefully you guys will have some luck.

The LUA library port I did is pretty minimal really. Hasn't changed anything. It's basically a straight port to DS. LUA is written in pure C, so with the exception of the OS-library functions, thing should work without any problems.

Feel free to modify it for your own purposes though... (Assuming the LUA license allows that :-)

Maybe when I have more spare time I'll try and get the OS functions re-jiggered :-)
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#121767 - sajiimori - Wed Mar 14, 2007 6:41 pm

Most importantly, convert it to fixed point. It's a seamless transition.

#121845 - OOPMan - Thu Mar 15, 2007 7:43 am

Hmmmm, I'll try and get that one done sometime saji :-)
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#122783 - Wizard - Thu Mar 22, 2007 1:24 am

Incidentally, having whipped together a few tests, I must say I'm quite impressed. Seems to work quite well, and fast enough to be usable by our scripts. So I am in your debt, sir.

Out of curiosity, are there supposed to be that many warnings when I compile the library? Were they introduced due to differences between the PC and DS, or are they remnants of the original Lua code?

#122799 - OOPMan - Thu Mar 22, 2007 7:57 am

Well thanks for the compliment, although it's pretty much a vanilla port, so most of the work was Makefiles :-)

With regards to the warnings, no idea. I should actually try giving it a compile under Linux or Windows to check.

Thing is, compiler warnings under C and C++ are more often pointless output than not :-)
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#122801 - Wizard - Thu Mar 22, 2007 8:04 am

OOPMan wrote:
Thing is, compiler warnings under C and C++ are more often pointless output than not :-)

O.O
Blaspheme! Sure, some are pointless, but the likes of "uninitialized use of FOO" or "variable declared but never used" come to mind as why a lot of software has so many bugs.

#122803 - OOPMan - Thu Mar 22, 2007 8:24 am

Well, feel free to pore over them in detail. Right now my main ineterst is getting DMD working 100% right with devkitARM, so I would be lying if I said arbitrary warnings during C/C++ compiles worry me.

Pretty much every time I compile source under Linux, including the kernel itself, the compiler ALWAYS throws hissy-fits in the form of warnings about something or other...

Does it mean anything?

Who knows, probably only the people behind the code :-)

I'd say my opinion of warnings is best describe here...

Enjoy :-)
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#122805 - Wizard - Thu Mar 22, 2007 10:13 am

The warnings listed seem harmless enough. They stop being funny after you've been bitten by two or three of them in production code, however.

This ain't production code, however, and I'm too lazy to care too much. :p I was just curious, is all, specifically if they were introduced as part of the conversion (due to differences in the compiler, the architecture, or whatever) or if they were there from the original project. Granted, I could have just compiled the original Lua source and found out for myself, but this goes back to the whole lazy thing I mentioned above.
At any rate, I really do appreciate the effort you've put into it. Thanks again.

#122807 - OOPMan - Thu Mar 22, 2007 11:15 am

Like I said, very little effort has gone into this. It was a vanilla port, mainly just a custom makefile...
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...