#108419 - Izhido - Wed Nov 08, 2006 5:30 pm
Hey!
Just wanted to say I finally made up my mind, and started this:
http://heribertod.blogspot.com/
The experience I gathered from these days developing with devkitPro provided me with the confidence to say I will develop AT LEAST a proof of concept for the DS, and probably for the GBA.
What do you think about it?
- Izhido
#108422 - FireSlash - Wed Nov 08, 2006 5:48 pm
I don't see why you'd want to.
The .NET frameworks implements countless features, most of which are worthless to the average DS homebrew application.
Most of the "useful" features of .NET rely on the existence of a standardized window manager; which doesn't exist on the DS. Even if one did, the framework doesn't at all account for multiple screens, eliminating the main focus of the framework (easily created cross platform code)
Some people might use it who aren't as experienced in C++ and the DS specifically, but the size increase and speed decrease don't seem to outweigh the losses.
_________________
FireSlash.net
#108424 - Izhido - Wed Nov 08, 2006 6:13 pm
Thanks, FireSlash.
Yep. There's no point in denying that .NET applications might run slower than native ones on these devices. There are three features, however, that I find very much appealing:
1. Consistent user interface design elements;
2. "Native" multitasking (to say, .NET applications are expected to be able to run with multiple threads and, when required, in separate memory spaces, and CLRs are required to support it);
3. Ability to load code and execute it on-the-fly (late loading of assemblies, possibly downloaded from external networks, into the device, with security checks as strong as the user wants them).
And, at least in my mind, there's one kind of application that would benefit a lot from these features: a web browser.
So, yes, I actually find the Common Language Specification a valid development platform for the DS, and maybe (just maybe) for the GBA.
#108448 - OOPMan - Wed Nov 08, 2006 10:40 pm
I'd much rather someone actually finish porting SDL to the DS, but that's just me...
Good luck, I guess...
By the way, we already have two working thread libraries, so 2 is perhaps not a totally relevant point...
As for loading and executing code on the fly, that could probably also be done without needing to implement the whole big, ugly .NET framework...
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI
You can find my NDS homebrew projects here...
#108460 - Darkflame - Thu Nov 09, 2006 1:40 am
Would .Net give standard loading/saving features and GUIs?
I could see that being quite usefull.
_________________
Darkflames Reviews --
Make your own at;
Rateoholic:Reviews for anything, by anyone.
#108467 - tepples - Thu Nov 09, 2006 4:29 am
How much RAM do you think the CLR and a couple apps loaded into it would need?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#108470 - OOPMan - Thu Nov 09, 2006 6:38 am
A lot, I'd imagine...
*checks something*
Right, bad news for you guys, I think...
I just loaded up a very very very basic .NET-based application. It's hardly an app, since what it does could be done with a batch file or shell script. Anyway, 1 small main window a few buttons and one or two dialog boxes.
Memory usage: 53976kb (kb as in kilobytes...)
Izhido is going to have to do a loooooooooooot of optimising :-)
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI
You can find my NDS homebrew projects here...
#108490 - Izhido - Thu Nov 09, 2006 3:24 pm
Yep. I've seen those numbers on my own .NET apps... and, to be honest, I've always thought there's a bit of "bloatness" in there (y'know, being a MS product and all... :)
Yet, this is something I gotta say:
1) See http://www.palmos.com/dev/support/docs/palmos/PalmOSCompanion/Memory.html#1026158, under "Storage Heap Sizes and Memory Management Schemes", and witness what us PalmOS developers have to deal with every day. Suddenly, a DS seems to be a very powerful machine, huh?
2) A quick look at my Task Manager on my PC reveals a "javaw.exe" app running. I think it has something to do with the HP printer driver update manager, which is asleep right now. It has 33696kb loaded in memory. My PC uses Windows XP SP2, btw.
3) http://www.superwaba.com.br/en/default.asp
'nuff said :)
After seeing this, I'm sure you will see we cannot entirely trust a Windows machine to tell us what we're able to do with a Palm, Treo, DS, or GBA. It's because of this that I'm still hopeful that I can pull this through.
Anyway, thanks everyone for your thoughts on this! And keep'em coming, please!
- Izhido
#108499 - OOPMan - Thu Nov 09, 2006 4:38 pm
javaw.exe is the windows java VM. Java is also know for being a memory hole...
I get what you're saying about not trusting the Windows numbers, which is why you might want to seriously look at Mono before you look at anything else...
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI
You can find my NDS homebrew projects here...
#108503 - Izhido - Thu Nov 09, 2006 4:59 pm
I will, OOP. I just finished downloading Mono & Portable .NET, to study them, though not yet sure if I should download Rotor ("Microsoft's Shared Source Common Language Infrastructure" :S ) too, y'know, licensing issues and such.
I promise I'll report any progress on this.
tepples: I'm not really sure how much memory will be used. Many of the DLLs and EXEs I've created are, on average, 200kb in size. When loaded, the memory used for them is at a minimum of 40000kb (on a Windows machine, remember). I guess it really depends on how efficiently I code the runtime engine; this also depending on whether I use Mono, Portable NET, Rotor, or my own VES. We'll see, eventually.
- Izhido
#108607 - Darkflame - Fri Nov 10, 2006 12:59 pm
#108622 - Izhido - Fri Nov 10, 2006 3:48 pm
Thanks, Darkflame.
Answering your post, I actually hope to offer a GUI that matches as closely as possible to the one offered by Windows, through Windows Forms. But, in case anyone thinks a Windows GUI (or any other feature offered) is not a good idea, I'm thinking seriously on licensing this project using a MIT-style license, so (in theory) anyone could modify it to their liking.
As for loading/saving, I'm not sure I understood it right. Given recent progress on libfat (and similar libs), I think IO should be fairly possible. dswifi also covers for System.Net.Sockets mostly right. Is that what you meant?
#108800 - Darkflame - Sun Nov 12, 2006 3:51 am
Yes, it would be both libfat dependant and .net I would guess.
I was just thinking, in windows, if you want a Save option in your software, you just use a standard control and slap it on the form.
If there was something simerla for DS coders, that meant they didnt need to do file navigation interfaces, keyboard to type that name...ontop of the actual saving code. Even if it was just a small step more towards being as easy as a pc app to put a save feature on.
Im not exactly use the extent of the .Net framework, so i wasnt sure if it covered stuff like that.
_________________
Darkflames Reviews --
Make your own at;
Rateoholic:Reviews for anything, by anyone.
#108955 - Izhido - Mon Nov 13, 2006 3:16 pm
Ah! Now I get it. You mean System.Windows.Forms.OpenFileDialog & System.Windows.Forms.SaveFileDialog . Yes, they're standard stuff on Windows Forms; anyone implementing Windows Forms must implement those. I hope to do so with this project.
- Izhido
#108987 - Darkflame - Mon Nov 13, 2006 9:46 pm
Thanks for clearing that up :)
Good luck again!
_________________
Darkflames Reviews --
Make your own at;
Rateoholic:Reviews for anything, by anyone.
#109761 - Izhido - Tue Nov 21, 2006 12:57 am
Hi! Just wanted to tell you, I submitted an initial release (compiles, runs, does nothing yet :D ) of the project. Shows the basic structure I'm planning to follow.
http://sourceforge.net/projects/upclear
All comments welcome.
- Izhido
#109815 - Darkflame - Tue Nov 21, 2006 1:17 pm