Difference between revisions of "Nintendo DS"

From Lazarus wiki
(Nintendo DS port)
Line 4: Line 4:
  
 
== Status ==
 
== Status ==
*ARM CPU is supported.
+
*The 2.1.x compiler has compiler support for Nintendo DS.
*ASM THUMB mode is not supported.
+
*ARM7 and ARM9 CPU are supported.
*Development is in it's early stages.
+
*ASM THUMB mode is not supported yet.
 +
*Base RTL is working, though it needs some optimizations
 +
 
 +
== Port notes ==
 +
Nintendo DS can run executables made for ARM9 and/or ARM7 cpu. The Free Pascal compiler can switch between ARM9 and ARM7 by using
 +
<pre>{$apptype arm9}
 +
and
 +
{$apptype arm7}</pre>
 +
that generates .arm9.bin and .arm7.bin binaries. If not specified, fpc assumes arm9 as default apptype. In order to make them working on Nintendo DS, it is necessary to convert them with ndstool.exe (a tool you can find as part of [http://www.devkitpro.org devkitPro]) in this way:
 +
<pre>ndstool -c myprog.nds -9 myprog.arm9.bin -7 myprog.arm7.bin</pre>
 +
The current NDS port is tested and reported as working with the latest [http://www.devkitpro.org devkitPro] arm-eabi binutils.
  
 
== Documentation ==
 
== Documentation ==
 
* [http://fpc4gba.pascalgamedevelopment.com FPC4GBA initiative site]: Here you can find more infos on FPC 4 GBA.
 
* [http://fpc4gba.pascalgamedevelopment.com FPC4GBA initiative site]: Here you can find more infos on FPC 4 GBA.
 +
* [http://sourceforge.net/projects/libndsfpc libnds for Freepascal]: Here you can find the last converted headers for [http://www.devkitpro.org libnds].
  
 
== Links ==
 
== Links ==
Line 15: Line 26:
 
* [http://www.gbadev.org GBADev]: a great GBA developers community.
 
* [http://www.gbadev.org GBADev]: a great GBA developers community.
 
* [http://www.pascalgamedevelopment.com Pascal Game Development]: the biggest pascal game development community.
 
* [http://www.pascalgamedevelopment.com Pascal Game Development]: the biggest pascal game development community.
* [http://www.devkitpro.org devkitPro]: the home page of the GBA development toolkit.
+
* [http://www.devkitpro.org devkitPro]: the home page of the GBA, NDS, Gamecube, GP32 and PSP development toolkit.

Revision as of 20:41, 14 December 2006

NDS port is still in heavy development, but is gaining progress rather quickly. Port began and was created by Francesco Lombardi with the knowledge gained from the making of the GBA port. This endeavor is an extension of the original goals of the FPC 4 GBA project.

Nintendo DS port

Status

  • The 2.1.x compiler has compiler support for Nintendo DS.
  • ARM7 and ARM9 CPU are supported.
  • ASM THUMB mode is not supported yet.
  • Base RTL is working, though it needs some optimizations

Port notes

Nintendo DS can run executables made for ARM9 and/or ARM7 cpu. The Free Pascal compiler can switch between ARM9 and ARM7 by using

{$apptype arm9} 
and
{$apptype arm7}

that generates .arm9.bin and .arm7.bin binaries. If not specified, fpc assumes arm9 as default apptype. In order to make them working on Nintendo DS, it is necessary to convert them with ndstool.exe (a tool you can find as part of devkitPro) in this way:

ndstool -c myprog.nds -9 myprog.arm9.bin -7 myprog.arm7.bin

The current NDS port is tested and reported as working with the latest devkitPro arm-eabi binutils.

Documentation

Links