#160692 - hacker013 - Sun Jul 20, 2008 3:35 pm
hey everybody,
I've an idea. And that is:
An development program for the ds, running on the ds itself. An c/cpp compiler for/on the ds with an ide of course. Or something like that. So you haven't the problem from switching from pc to ds and back anymore.
gr,
hacker013.
srry, for my bad english.
[Subject changed by MOD]
_________________
Website / Blog
Let the nds be with you.
#160695 - Kyoufu Kawa - Sun Jul 20, 2008 3:57 pm
You know you have a problem when you're willing to code with a relatively cumbersome on-screen keyboard just so you can do DS coding -on- a DS.
#160696 - Holland - Sun Jul 20, 2008 3:59 pm
haha...sounds like a good idea to me. not a project I'd want to undertake...but more power to you if you decide to do it!!
#160699 - Musturd12 - Sun Jul 20, 2008 6:25 pm
I would bow down to you if you could make a c/c++ compiler on the DS
#160700 - keldon - Sun Jul 20, 2008 6:46 pm
Musturd12 wrote: |
I would bow down to you if you could make a c/c++ compiler on the DS |
Hmm ... well I *could* ... so please do me the honours ^_^
#160701 - Musturd12 - Sun Jul 20, 2008 6:49 pm
please do
and I will
and by c/c++ compiler I mean it needs to compile to .nds
#160706 - silent_code - Sun Jul 20, 2008 8:51 pm
Just make sure to implement a game that can be played while the compiler is working... much like the original Tekken's Galaga loading game. ;^)
_________________
July 5th 08: "Volumetric Shadow Demo" 1.6.0 (final) source released
June 5th 08: "Zombie NDS" WIP released!
It's all on my page, just click WWW below.
#160709 - Fury - Sun Jul 20, 2008 9:49 pm
The ultimate question is, and this seems to be appropriate for a lot of posts is this: "why?"
It's a simple question, I know, with not so simple answers. A lot of ppl seem to want their DS to replace their PC. Barring any armageddon scenerio (that's another forum) I think the PC does just fine as a PC.
If you really need a way to program your DS on a system that can be recharged from a car battery, then get an eepc,
Just my 2c. Ban me if I'm wrong
_________________
Everything is better with cheese on it. Even cheese
#160710 - Fury - Sun Jul 20, 2008 9:52 pm
silent_code wrote: |
Just make sure to implement a game that can be played while the compiler is working... much like the original Tekken's Galaga loading game. ;^) |
Ooohhh.. Galaga. DS. Googling now....
_________________
Everything is better with cheese on it. Even cheese
#160712 - DekuTree64 - Sun Jul 20, 2008 10:26 pm
I don't think I'd get enough use out of an on-DS C compiler to be worth the difficulty of making it. But I have considered an assembler before. You could make an editor for it that would be pretty convenient to use, with buttons for all the instructions and registers, and configurable buttons for labels and named constants and whatever else you don't feel like typing frequently.
_________________
___________
The best optimization is to do nothing at all.
Therefore a fully optimized program doesn't exist.
-Deku
#160714 - yellowstar - Mon Jul 21, 2008 1:06 am
hacker013 wrote: |
I've an idea. And that is:
An development program for the ds, running on the ds itself. An c/cpp compiler for/on the ds with an ide of course. Or something like that. So you haven't the problem from switching from pc to ds and back anymore.
|
I had the same idea a long while ago, a compiler running on DS. I didn't come up with this idea for the same reason as you... Well, I had a NAND card(DS-X), so swapping microSD cards wasn't bugging me back then. The reason in my case was so I could develop my homebrew when somebody was on the main desktop computer I use for development. And also for when on the go.(Which wasn't very often, however.) A DS compiler would be a port of devkitARM to DS, most likely. But, IMO, porting that would be a lot of work, and most of the time it wouldn't get much use. So a lot of work, with hardly any payoff, equals hardly anybody even trying to do it. One of the things that would be difficult, is the processes. GNU has multiple processes running, sequentially, I think. But still, that would be difficult to get working on DS. GNU normally uses IPC pipes for the processes communicating. However, files can be used instead, optionally. And there's probably many other obstacles also.
#160717 - tepples - Mon Jul 21, 2008 1:37 am
TCC, the Tiny C Compiler, might be a more likely port now that it has (alpha quality) support for ARM EABI.
But why C, and not (say) Lua or Basic or Python or some other bytecode-compiled language?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#160720 - silent_code - Mon Jul 21, 2008 2:34 am
tepples wrote: |
But why C, and not (say) Lua or Basic or Python or some other bytecode-compiled language? |
Because C is for cool. :?D
No, seriously, there already is Java for the NDS. It should be enough for prototyping etc. There's just the need of an IDE.
_________________
July 5th 08: "Volumetric Shadow Demo" 1.6.0 (final) source released
June 5th 08: "Zombie NDS" WIP released!
It's all on my page, just click WWW below.
#160724 - elhobbs - Mon Jul 21, 2008 3:30 am
I would lose my mind typing code on a 32-42 character wide screen... all using the touchscreen keyboard. no thanks.
though I suppose it might be fun to make it work.
#160733 - Jeremysr - Mon Jul 21, 2008 8:48 am
What about a C/C++ interpreter? Wouldn't that be much easier? I'd like something on the DS that runs C/C++ code just to quickly try something, or to play around with it. I'd be happy with just console output and keyboard input, so it could be ported to DSlinux.
Here's a C/C++ interpreter I found on Google: http://root.cern.ch/twiki/bin/view/ROOT/CINT
_________________
viewsourcecode
#160736 - silent_code - Mon Jul 21, 2008 10:28 am
Anyone seen Alice? It's a programming system based on top of Java and is build to help new computer science students to learn programming.
It's all visual and easy to use, as you simply click your source code together and everything gets propperly arranged in (colored!) blocks (yes, they have colored blocks! ;^p ) for you.
Migh be interesting to creat a similar interface that could work well on the NDS. :^D
I think the LEGO programming system (Brainstorm or something) was / is also visual, much like a graph (I have only seen screenshots of it and that was many years ago.)
_________________
July 5th 08: "Volumetric Shadow Demo" 1.6.0 (final) source released
June 5th 08: "Zombie NDS" WIP released!
It's all on my page, just click WWW below.
Last edited by silent_code on Mon Jul 21, 2008 11:32 am; edited 1 time in total
#160740 - hacker013 - Mon Jul 21, 2008 11:20 am
Quote: |
A DS compiler would be a port of devkitARM to DS, most likely. But, IMO, porting that would be a lot of work, and most of the time it wouldn't get much use. So a lot of work, with hardly any payoff, equals hardly anybody even trying to do it. One of the things that would be difficult, is the processes. GNU has multiple processes running, sequentially, I think. But still, that would be difficult to get working on DS. GNU normally uses IPC pipes for the processes communicating. However, files can be used instead, optionally. And there's probably many other obstacles also. |
i think a port of devkitARM is the most likely thing but everything must be 1 program or 1 program with plugins like moonshell so a multitasking lib must do the trick. so the main .nds can emulated the IPC pipes or something like that.
_________________
Website / Blog
Let the nds be with you.
#160742 - silent_code - Mon Jul 21, 2008 11:40 am
If someone successfully ported a threating library like pthreads (Posix) I could imagine it might be possible. But really, I don't see devkitARM coming for NDS, yet. Simply said (as other have already done as well), it's an insane amount of work for little benefit.
Given that you already need a rather decent PC / Mac for program compilation, the NDS seems too restriced to me - at least for a fully fledged gcc + tools (make etc.) port.
A simple visual scripting IDE would be far more likely. Maybe something along the likes of Maya's or blender's (etc) rendering / material node editor, only with programming structures. :^)
_________________
July 5th 08: "Volumetric Shadow Demo" 1.6.0 (final) source released
June 5th 08: "Zombie NDS" WIP released!
It's all on my page, just click WWW below.
#160753 - keldon - Mon Jul 21, 2008 2:35 pm
@musturd: you said could; I never said I *would* ^_^
I was able to happily compile c++ on my 2MB 80286 and a 20MB hard-drive with TurboC++6! I wonder what the easiest language to code with a stylus and keypad is?
#160754 - silent_code - Mon Jul 21, 2008 2:40 pm
@ keldon: The OS you were using had virtual memory, right? ;^)
Well, judging from the NDS' specs alone, it could be done,. The problem is, that we have no OS to build upon. ... Except for the DSLinux port. Does that come with gcc? I couldn't spot it anywhere.
_________________
July 5th 08: "Volumetric Shadow Demo" 1.6.0 (final) source released
June 5th 08: "Zombie NDS" WIP released!
It's all on my page, just click WWW below.
#160761 - yellowstar - Mon Jul 21, 2008 4:34 pm
silent_code wrote: |
Except for the DSLinux port. Does that come with gcc? I couldn't spot it anywhere. |
I don't know if gcc comes with DSLinux, but I remember somebody tried running devkitARM Linux, and got errors. I don't remember what those errors were though.
This wouldn't work very well for a compiler on DS when on the go, host computer(s) turned off, or if you don't have Wifi, but: How bout a sort of Devkitpro "server"?(I said Devkitpro because perhaps devkitARM, PPC, and others could be used as well)
The host program on the computer would compile any programs sent to it. If compiling succeeds, it will send back the compiled binary to the client, along with the console output from make. And if it fails, it will send back the compiling errors to the client.
The client would send the program's source code, and data files and such, to the host when the user wants to compile. It would then receive console output from the host, and it would receive the compiled binary.
Of course it would be better to compile directly on DS, but this method would be far easier than a devkitARM port.(Not that this server software would be easy to make - it would be much easier than a devkitARM port however, most likely.)
I was thinking about making this software, but for Wii. Of course you'd need a USB keyboard so you could type properly... If you'd be stuck with just the Wiimote, well, that would a pain. Don't worry - if I do start this project for Wii, I'll probably attempt to make a version for DS, also. No guarantees about an real graphical IDE though...
#160762 - naleksiev - Mon Jul 21, 2008 4:35 pm
Once I install Python on Nokia S60 phone. And using a text editor I wrote a simple IDE for Python. It just had the standard File options like New, Open, Save, but also Run. And was printing out all the errors in a console.
I think writing on phone is way harder then on NDS. So someone may actually write a program longer then 100 lines (I don't think mine was) using software like this :).
#160764 - hacker013 - Mon Jul 21, 2008 4:46 pm
silent_code wrote: |
@ keldon: The OS you were using had virtual memory, right? ;^)
Well, judging from the NDS' specs alone, it could be done,. The problem is, that we have no OS to build upon. ... Except for the DSLinux port. Does that come with gcc? I couldn't spot it anywhere. |
mighty max has build a very basic os. http://forum.gbadev.org/viewtopic.php?t=11820&highlight=operating+system
maybe we can use this??
_________________
Website / Blog
Let the nds be with you.
#160900 - tepples - Thu Jul 24, 2008 4:46 am
yellowstar wrote: |
How bout a sort of Devkitpro "server"?(I said Devkitpro because perhaps devkitARM, PPC, and others could be used as well)
The host program on the computer would compile any programs sent to it. If compiling succeeds, it will send back the compiled binary to the client, along with the console output from make. And if it fails, it will send back the compiling errors to the client. |
Something like distcc?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#160904 - hacker013 - Thu Jul 24, 2008 9:18 am
tepples wrote: |
yellowstar wrote: | How bout a sort of Devkitpro "server"?(I said Devkitpro because perhaps devkitARM, PPC, and others could be used as well)
The host program on the computer would compile any programs sent to it. If compiling succeeds, it will send back the compiled binary to the client, along with the console output from make. And if it fails, it will send back the compiling errors to the client. |
Something like distcc? |
How do we port this?? I think i take the challenge:) But can someone explain how do i start?? And can someone explain DSWifi and Liblobby and how to use it together, i hope it can.
_________________
Website / Blog
Let the nds be with you.
#160920 - yellowstar - Thu Jul 24, 2008 3:21 pm
You wouldn't be using liblobby. That's only used for DS<->DS communications, not DS<->PC communications. DSWifi can be used for the latter. Sorry, I can't help much with DSWifi - I never made any Wifi apps myself.(yet)
#160929 - sgeos - Thu Jul 24, 2008 4:46 pm
Like everyone else, I don't see the point as basically everyone has access to a computer.
keldon wrote: |
I was able to happily compile c++ on my 2MB 80286 and a 20MB hard-drive with TurboC++6! |
With a keyboard, no doubt.
keldon wrote: |
I wonder what the easiest language to code with a stylus and keypad is? |
Probably some sort of assembler like language that can be entered using push buttons.
*pop* *r3* *cmp* *r3* *value* *0* *0* *0* *0* *ok* *bze* *b0*
Code: |
POP R3
CMP R3, 0x0000
BZE B0 |
Although I suppose anything that could be made with just a limited number of keywords would work just as well.
-Brendan
#160930 - silent_code - Thu Jul 24, 2008 5:01 pm
Like Brainf*ck? :^D
Or even better Ook!. (Yes, it's "Ook!" - for real! ;^D )
Imho, C has already a quite small set of keywords. (What was it? 30 something? Of which only a hand full is used most of the time...)
_________________
July 5th 08: "Volumetric Shadow Demo" 1.6.0 (final) source released
June 5th 08: "Zombie NDS" WIP released!
It's all on my page, just click WWW below.
#160937 - sgeos - Thu Jul 24, 2008 6:39 pm
silent_code wrote: |
Like Brainf*ck? :^D
Or even better Ook!. (Yes, it's "Ook!" - for real! ;^D )
Imho, C has already a quite small set of keywords. (What was it? 30 something? Of which only a hand full is used most of the time...) |
The problem is, you need to key in variable names and a lot of constant literals. BF strikes me as the perfect language for a DS tool chain. It is a write only language and I think you would only need a few buttons.
-Brendan
#160945 - hacker013 - Thu Jul 24, 2008 7:59 pm
sgeos wrote: |
silent_code wrote: | Like Brainf*ck? :^D
Or even better Ook!. (Yes, it's "Ook!" - for real! ;^D )
Imho, C has already a quite small set of keywords. (What was it? 30 something? Of which only a hand full is used most of the time...) |
The problem is, you need to key in variable names and a lot of constant literals. BF strikes me as the perfect language for a DS tool chain. It is a write only language and I think you would only need a few buttons.
-Brendan |
Easy to port i think but difficult to learn :( maybe we can create our own little program language?? a dos based system maybe??
_________________
Website / Blog
Let the nds be with you.
#161018 - keldon - Sat Jul 26, 2008 8:58 am
Maybe ZX like keyboard would make programming easier (may require scrolling) :)
http://www.nvg.ntnu.no/sinclair/computers/zxspectrum/gallery/images/speckeys_jpg.jpg
And we are able to program on [some] calculators; I remember doing it on my Psion 3c palmtop (before it got crushed *cry*cry*cry* :( )
#161909 - hacker013 - Mon Aug 18, 2008 2:25 pm
i'm buzy(trying , trying) with Mighty Max's very basic os to make this possible but i've some problems with it. See the topic about that os for the problem. (page 15)
_________________
Website / Blog
Let the nds be with you.
#161932 - hacker013 - Tue Aug 19, 2008 9:43 am
Hey,
Is somebody else trying something or am i the only one?
_________________
Website / Blog
Let the nds be with you.
#166154 - hacker013 - Sat Jan 31, 2009 6:43 pm
i think it would be possible if we made a basis os and use the dsli plugin system.
_________________
Website / Blog
Let the nds be with you.