Start Developing With Ms Visual Studio 2008


Atako

Still Fresh
Joined
Oct 12, 2008
Messages
25
Hey!

I would like to write programs for the Pandora in MS Visual Studio 2008.
Could you give me a tutorial on how to do that? All I know is that I would need to integrate a so called "Cross-Compiler" to Visual Studio because now I can't create an ARM compatible executable.
I'm a total newb to this and have only developed win32 applications before.

Thanks a lot!
Greets
 
Have a look at how to dev for the GP2X using the same dev environment, the pandora isn't much different (and you can actually use the same compiler if you wish)
 
For the simplest development environment, you can use the same as the GP2X, which means the same compiler.

Yes, the Pandora will run .gpe files. In fact, if you use the gp2x build environment then your programs will run under both the gp2x and Pandora (the exact same executable) without modification.

Obviously, if you use Gp2X specific things like the arm940, or depend on the 320x240 screen rather than asking the OS about the screen size then your bound to have problems when running your app on the Pandora, but since you are targetting the P anyway, you are unlikely to make those kind of mistakes.

You will however need a Pandora version of SDL, which isn't released yet. You can use the GP2X one for now (for testing on a GP2X) and just swap the library over and recompile for the Pandora.
 
Aren't there disadvantages on running a .gpe file on a Pandora?
For me it sounds like running a .gba file on a Nintendo DS console instead of a .nds file...
I don't really understand, what exactly does this .gpe file mean? Isn't there a standard executable file extension for linux?

I would like to have the environment dedicated to the Pandora only, gpx frightens me off somehow.

:wacko:
 
Squidge said:
For the simplest development environment, you can use the same as the GP2X, which means the same compiler.

Yes, the Pandora will run .gpe files. In fact, if you use the gp2x build environment then your programs will run under both the gp2x and Pandora (the exact same executable) without modification.

Obviously, if you use Gp2X specific things like the arm940, or depend on the 320x240 screen rather than asking the OS about the screen size then your bound to have problems when running your app on the Pandora, but since you are targetting the P anyway, you are unlikely to make those kind of mistakes.

You will however need a Pandora version of SDL, which isn't released yet. You can use the GP2X one for now (for testing on a GP2X) and just swap the library over and recompile for the Pandora.
Aha... I wish someone had told me this sooner... I just assumed not to assume that it would work.
I'll see if I can get a "test" release of PandoraPanic! out for those with devboards. Is SDL dynamically linked on Pandora?
 
Last edited by a moderator:
Thanks for the link but I want to avoid makefiles as for me they are more than outdated. For what do we have IDE's :rolleyes:

So I would like to know how to integrate a cross compiler into Visual Studio to build executables for Linux/ARM without a gp2xkit or whatever.
 
devkitGP2X is just the name of a compiler/linker suite for the GP2X. Really, it's just a compiler for ARM. If the name is really what's scaring you, then download the compiler/linker suite for ARM from CodeSourcery. Then use that wiki article, but replace references to the devkitGP2X tools with the CodeSourcery tools.

Visual Studio can not create ARM executables on its own. You need an ARM compiler and linker, which is what devkitGP2X and CodeSourcery provide.
 
Atako said:
Aren't there disadvantages on running a .gpe file on a Pandora?
For me it sounds like running a .gba file on a Nintendo DS console instead of a .nds file...

It just means you'll not be using some instructions introduced with better ARM chip in the Pandora. If you are writing an emulator then you can download the better compiler from CodeSourcery (which gives you access to stuff like NEON). For most homebrew stuff however, targetting ARM4T (GP2X) will be fine.

So, for the simplest dev environment, use the GP2X one.

Or you can try updating the environment with the new compiler.

Or you can just wait until the Pandora is released and someone builds a Pandora native environment.

Personally, I would just develope using the GP2X environment until someone releases something better for the Pandora.

PokeParadox said:
Is SDL dynamically linked on Pandora?

Yes.
Atako said:
Thanks for the link but I want to avoid makefiles as for me they are more than outdated. For what do we have IDE's :rolleyes:
We have IDE's because people are lazy :)

You'll never get the power you get from makefiles from an IDE.
 
Last edited by a moderator:
Mhm okay.

Squidge said:
Or you can just wait until the Pandora is released and someone builds a Pandora native environment.

Yea, will do that.
Squidge said:
You'll never get the power you get from makefiles from an IDE.
Ah okay, could you give me an example? I just think that you can do most or even all important things with an IDE not needing these strange makefiles :)


Thanks!
Greets
 
Last edited by a moderator:
Sure, a typical homebrew application is usually fine in an IDE. Specially if you write it yourself from scratch. If you take someone elses code however, chances are they are either using a different ide or not using an ide at all. You can't include project files for every single possible ide, so you need to settle on a standard.

A Makefile is quite simple: You tell it what files to look for, and if they don't exist or are out of date, how to build them. Due to the last part, you can specify something different for every file. Some people don't like lots of typing, so they create a c or other file that does it for them, and then when that file is compiled, it can be executed to generate files that are needed for other parts of the application.

For example, I include all the graphics with my game as the original graphics file format, but I want the graphics built into the game rather than external as its faster and more resource friendly to have one large file than 100. You just type 'make', and the tool goes away and converts all your graphics to .obj files ready to link with your main program once compiled. They'll only be converted again if the graphics files themselves change, and cleanup command will delete all the big source files which are no longer needed, so you can distribute your source code in smaller archives. After all, theres no point including the images twice.

If you develop on Linux, makefiles can be far faster than IDEs, type 'make', and it compiles all your code (generating where necessary, eg, binary data to object code or source code), links it together using the latest libraries (by using things like 'sdl-config'), and then if it was all successfull, even copying the executable and any changed data files over to your sd card or test environment and getting the target device to run the newly built executable.

But yes, you can usually do without them, but remember that they take little time to learn, and can actually speed up development :)
 
I thought gp2x was using OABI vs Pandora EABI. If that indeed is the case, you might have subtle issues using gp2x cross-compiler.
 
Back
Top