More porting tips:
Many programs are written in a language (like C, C++, Assembly) and use a library to draw the graphics (like SDL, OpenGL, DirectDraw, Allegro, Direct3D)
As long as the application is written in either C or C++ it should work.
99% of the "porting" of any application or game to the Xbox is this:
Find the code that draws the screen, plays sounds, and reads the input.
Then replace this code with Xbox compatable code.
For example, if the game had a RenderScreen() method that made all the calls to OpenGL, you could look for all the calls to "RenderScreen()" and replace it with your drawScreen() method. your drawScreen method would take the same screen data that RenderScreen used, but instead make Direct3D calls to draw the screen.
This applies to sound and input (replace the keybaord code with Xbox controller code).
If an application is using SDL as the library to draw the graphics, then that's one entire category you don't have to touch because lantus has provided the SDLx (SDL Xbox version). You would then only focus on the other categories.
This is my suggestion on how to proceed:
1) I STRONGLY reccomend the first step be compile it (and run it) on windows.
2) Then comment out all the input and sound code.
3) If it uses SDL, ou can link to the SDLx libraries so you shouldn't have to change anything regarding the graphics.
4) Create the new Xbox application, link to the SDLx libraries, and compile it. This will generate the xbe.
So in theory, you should be able to compile and run an SDL application on the Xbox without changing or writing one line of code (just commenting out any code that gives a compile error like Windows Code, DirectInput code, ect..).
5) After it is running on the Xbox, start looking at replacing the keyboard code with Xbox controller code.
6) When input is working, make any changes that need to be made to get the sound working
7) That's it.
You do not have to be a coding master, but you should have a basic understanding of programming in C. For example, you need to know how all of this works:
variables (local, global)
loops (for, while)
data types (int, float, char)
arrays
functions (passing parameters, returning values, pass by reference)
pointers
structs
switch statements
if/else statements
how to write and read a text file (fopen, fprintf, fclose)
How to set a pixel color on a texture using Direct3D
Don't even begin the port until you understand all of these concepts. I reccomend learning them in the context of C (and porting apps written in C). That will make things a lot easier. There are lots of C tutorials on the net that cover all of these concepts.