Porting From Nintendo Ds And Gameboy Advance


scyzor

Still Fresh
Joined
Oct 12, 2009
Messages
47
Age
49
Location
Mid-Hudson Valley
Is it will be possible to port code from Nintendo DS and Gameboy Advance? How big are differences between Pandora (ARM8) and GBA (ARM7) code? Some librares was written with ASM for ARM7.
 
JackTheKnife said:
Is it will be possible to port code from Nintendo DS and Gameboy Advance? How big are differences between Pandora (ARM8) and GBA (ARM7) code? Some librares was written with ASM for ARM7.
What, do you actually have access to the source code for some GBA titles?

Anyways, the answer is most probably no, since
1. instructions for the ARM7TDMI are vastly different from the Pandora's instruction set afaik
2. GBA/NDS games write directly to the frame buffer, pick up interrupts and deal with devices and memory directly (or through Nintendo drivers, w/e), which can't happen on the Pandora since Linux is the system that deals with those things there.
3. having access to the assembly "source code" of a game won't mean that it'll become easier to port, most probably.
 
Last edited by a moderator:
I have source code for some homebrew games for DS and GBA, but anyway it looks like not possible to port them.
 
JackTheKnife said:
I have source code for some homebrew games for DS and GBA, but anyway it looks like not possible to port them.

It's certainly "possible" to port homebrew titles from DS/GBA to Pandora, but you have to understand the code in both source and target platforms. It will not be a straight recompile.
GBA/NDS has to use different areas of RAM to draw different things and the Pandora is more like a general linux system... so thinking, understanding and more thinking required.
 
Last edited by a moderator:
dflemstr said:
1. instructions for the ARM7TDMI are vastly different from the Pandora's instruction set afaik
That's not true :) Most instructions will behave in exactly the same way.
It's not true for the system part but I guess the OP doesn't want to port an OS.
 
Last edited by a moderator:
Interesting topic... I'm making some DS homebrew with PAlib, and I suppose it wouldn't be too hard to rewrite it it there was a library similar to PAlib. Then again, from my experience PAlib is very different to the major libraries people are going to be using with the Pandora, like SDL. Unfortunately DS scripting engines like MicroLUA aren't widely used. If they were then you'd only have to rewrite the engine to be Pandora-compatable, and bam! A vast array of DS homebrew available without the use of an emulator!
 
It depends on the nature of the software. If it's using the GL-like 3D of libnds and is limited to features that are present in OpenGL ES 1.1 then you might not have too difficult of a time. You'll still need to rewrite all the other libnds (or whatever) stuff, and if it accesses hardware directly for anything, and I think a good deal of DS software will, then you'll need to rewrite that too.

If it uses the DS's 2D in any capacity - and most games will since one of the screens is 2D-only - then you'll have your work cut out for you.

It could be possible for someone to release a sort of porting kit that helps, but it wouldn't be easy. What are you trying to port?
 
I was searching for some developer kits for ARM and found this http://dev-scene.com/DevkitPro and following that topic I found few good looking games for DS and GBA.
 
GBA games can be emulated, they don't need to be ported.

Maybe DS ones too c_c
 
dflemstr said:
JackTheKnife said:
Is it will be possible to port code from Nintendo DS and Gameboy Advance? How big are differences between Pandora (ARM8) and GBA (ARM7) code? Some librares was written with ASM for ARM7.
What, do you actually have access to the source code for some GBA titles?

I do.
Hardcore Pinball GBA

dflemstr said:
Anyways, the answer is most probably no, since
1. instructions for the ARM7TDMI are vastly different from the Pandora's instruction set afaik

false

dflemstr said:
2. GBA/NDS games write directly to the frame buffer, pick up interrupts and deal with devices and memory directly (or through Nintendo drivers, w/e), which can't happen on the Pandora since Linux is the system that deals with those things there.

writing to a RAM frame buffer and then calling glDrawPixels is not really that much different from writing to the VRAM frame buffer directly.
if the game uses a frame buffer its really easy to port then.
if the game uses hardware sprites and tile-based scrolling you got to translate/emulate those, which isn't too troublesome if the original graphic engine was well designed.

dflemstr said:
3. having access to the assembly "source code" of a game won't mean that it'll become easier to port, most probably.

non-system ARM7 assembler source code will run on any more capable ARM processors.
 
Last edited by a moderator:
Back
Top