gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

Patater's Introduction to Nintendo DS Programming > Tutorial and DSi

#169567 - sipstation - Fri Jul 24, 2009 1:20 am

Hi,

I'm new to NDS programming, teaching my son how to program on his DSi

We've downloaded devkitpro and the source for the game. The game compiles OK with only warnings, and runs, but we are unable to control or move the spaceship.

Everything I've read indicates that the DSi is backwards compatible with DSlite code, but am I missing something??

Any help greatly appreciated...

Thanks,
Alan

#169575 - vuurrobin - Sat Jul 25, 2009 12:51 am

AFAIK, the code should compile without any warnings, so what are the warnings you get.

also, have you compiled and tried the libnds examples? if they don't work, then something is probably wrong with your instalation, and if they do work, its something with either the tutorial or the code.


and make sure that you compile the correct spaceship program. one version does have the spaceship but doesn't have the controls yet.

#169579 - hacker013 - Sat Jul 25, 2009 10:56 am

I read that the libnds isn't DSi compitable yet
_________________
Website / Blog

Let the nds be with you.

#169582 - sipstation - Sat Jul 25, 2009 1:59 pm

Thanks hacker013. Where did you read that?

Thanks vurroobin. Here's what I get when I compile part 8:


C:\devkitPro\manual\code\chapter_8-input>make
grit /c/devkitPro/manual/code/chapter_8-input/gfx/moon.png -fts -omoon
STATUS: ---grit v0.8.4 ---
STATUS: Individual runs.
STATUS: Input file c:/devkitPro/manual/code/chapter_8-input/gfx/moon.png
STATUS: Output file: 'moon'.
STATUS: Started run at: 2009-07-25, 07:50:58
STATUS: Validatating gr.
WARNING: No explicit symbol name. In overwrite mode, so using dst title.
STATUS: Validation succeeded.
STATUS: Preparing data.
STATUS: Work-DIB creation.
WARNING: converting from 4 bpp to 4 bpp.
STATUS: Work-DIB creation complete: 32x32@8.
STATUS: Tile preparation.
STATUS: tiling to 8x8 tiles.
STATUS: Tile preparation complete.
STATUS: Graphics preparation.
STATUS: Bitpacking: 8 -> 4.
STATUS: Graphics preparation complete.
STATUS: Palette preparation.
STATUS: Palette preparation complete.
STATUS: Data preparation complete.
STATUS: Export to GNU asm: moon into moon.s .
STATUS: Run completed :).
STATUS: Done!
moon.s
arm-eabi-gcc -MMD -MP -MF /c/devkitPro/manual/code/chapter_8-input/build/moon.d
-x assembler-with-cpp -g -mthumb -mthumb-interwork -c moon.s -o moon.o
grit /c/devkitPro/manual/code/chapter_8-input/gfx/orangeShuttle.png -fts -oorang
eShuttle
STATUS: ---grit v0.8.4 ---
STATUS: Individual runs.
STATUS: Input file c:/devkitPro/manual/code/chapter_8-input/gfx/orangeShuttle.pn
g
STATUS: Output file: 'orangeShuttle'.
STATUS: Started run at: 2009-07-25, 07:50:58
STATUS: Validatating gr.
WARNING: No explicit symbol name. In overwrite mode, so using dst title.
STATUS: Validation succeeded.
STATUS: Preparing data.
STATUS: Work-DIB creation.
WARNING: converting from 4 bpp to 4 bpp.
STATUS: Work-DIB creation complete: 64x64@8.
STATUS: Tile preparation.
STATUS: tiling to 8x8 tiles.
STATUS: Tile preparation complete.
STATUS: Graphics preparation.
STATUS: Bitpacking: 8 -> 4.
STATUS: Graphics preparation complete.
STATUS: Palette preparation.
STATUS: Palette preparation complete.
STATUS: Data preparation complete.
STATUS: Export to GNU asm: orangeShuttle into orangeShuttle.s .
STATUS: Run completed :).
STATUS: Done!
orangeShuttle.s
arm-eabi-gcc -MMD -MP -MF /c/devkitPro/manual/code/chapter_8-input/build/orangeS
huttle.d -x assembler-with-cpp -g -mthumb -mthumb-interwork -c orangeShuttle.s -
o orangeShuttle.o
grit /c/devkitPro/manual/code/chapter_8-input/gfx/planet.png -fts -oplanet
STATUS: ---grit v0.8.4 ---
STATUS: Individual runs.
STATUS: Input file c:/devkitPro/manual/code/chapter_8-input/gfx/planet.png
STATUS: Output file: 'planet'.
STATUS: Started run at: 2009-07-25, 07:50:59
STATUS: Validatating gr.
WARNING: No explicit symbol name. In overwrite mode, so using dst title.
STATUS: Validation succeeded.
STATUS: Preparing data.
STATUS: Work-DIB creation.
WARNING: converting from 24 bpp to 16 bpp.
STATUS: converting to: 16bpp BGR, alpha=1, except for 0x0000.
STATUS: Work-DIB creation complete: 128x128@16.
STATUS: Tile preparation.
STATUS: Tile preparation complete.
STATUS: Graphics preparation.
STATUS: Graphics preparation complete.
STATUS: Data preparation complete.
STATUS: Export to GNU asm: planet into planet.s .
STATUS: Run completed :).
STATUS: Done!
planet.s
arm-eabi-gcc -MMD -MP -MF /c/devkitPro/manual/code/chapter_8-input/build/planet.
d -x assembler-with-cpp -g -mthumb -mthumb-interwork -c planet.s -o planet.o
grit /c/devkitPro/manual/code/chapter_8-input/gfx/splash.png -fts -osplash
STATUS: ---grit v0.8.4 ---
STATUS: Individual runs.
STATUS: Input file c:/devkitPro/manual/code/chapter_8-input/gfx/splash.png
STATUS: Output file: 'splash'.
STATUS: Started run at: 2009-07-25, 07:50:59
STATUS: Validatating gr.
WARNING: No explicit symbol name. In overwrite mode, so using dst title.
STATUS: Validation succeeded.
STATUS: Preparing data.
STATUS: Work-DIB creation.
WARNING: converting from 24 bpp to 16 bpp.
STATUS: converting to: 16bpp BGR, alpha=1, except for 0x0000.
STATUS: Work-DIB creation complete: 256x192@16.
STATUS: Tile preparation.
STATUS: Tile preparation complete.
STATUS: Graphics preparation.
STATUS: Graphics preparation complete.
STATUS: Data preparation complete.
STATUS: Export to GNU asm: splash into splash.s .
STATUS: Run completed :).
STATUS: Done!
splash.s
arm-eabi-gcc -MMD -MP -MF /c/devkitPro/manual/code/chapter_8-input/build/splash.
d -x assembler-with-cpp -g -mthumb -mthumb-interwork -c splash.s -o splash.o
grit /c/devkitPro/manual/code/chapter_8-input/gfx/starField.png -fts -ostarField

STATUS: ---grit v0.8.4 ---
STATUS: Individual runs.
STATUS: Input file c:/devkitPro/manual/code/chapter_8-input/gfx/starField.png
STATUS: Output file: 'starField'.
STATUS: Started run at: 2009-07-25, 07:51:00
STATUS: Validatating gr.
WARNING: No explicit symbol name. In overwrite mode, so using dst title.
STATUS: Validation succeeded.
STATUS: Preparing data.
STATUS: Work-DIB creation.
WARNING: converting from 24 bpp to 16 bpp.
STATUS: converting to: 16bpp BGR, alpha=1.
STATUS: Work-DIB creation complete: 256x192@16.
STATUS: Tile preparation.
STATUS: Tile preparation complete.
STATUS: Graphics preparation.
STATUS: Graphics preparation complete.
STATUS: Data preparation complete.
STATUS: Export to GNU asm: starField into starField.s .
STATUS: Run completed :).
STATUS: Done!
starField.s
arm-eabi-gcc -MMD -MP -MF /c/devkitPro/manual/code/chapter_8-input/build/starFie
ld.d -x assembler-with-cpp -g -mthumb -mthumb-interwork -c starField.s -o starFi
eld.o
main.cpp
arm-eabi-g++ -MMD -MP -MF /c/devkitPro/manual/code/chapter_8-input/build/main.d
-g -Wall -O2 -march=armv5te -mtune=arm946e-s -fomit-frame-pointer -ffast-math -m
thumb -mthumb-interwork -I/c/devkitPro/manual/code/chapter_8-input/include -I/c/
devkitPro/libnds/include -I/c/devkitPro/libnds/include -I/c/devkitPro/manual/cod
e/chapter_8-input/build -DARM9 -fno-rtti -fno-exceptions -c /c/devkitPro/manual/
code/chapter_8-input/source/main.cpp -o main.o
linking chapter_8-input.elf
built ... chapter_8-input.arm9

Nintendo DS rom tool 1.41 - May 1 2009
by Rafael Vuijk, Dave Murphy, Alexei Karpenko
built ... chapter_8-input.nds

C:\devkitPro\manual\code\chapter_8-input>

Thanks!
sipstation

Here is the installed.ini for devkitpro

[mirror]
url=

[msys]
Version=1.0.11-RC2

[devkitARM]
Version=26

[devkitPPC]
Version=17

[devkitPSP]
Version=0

[libgba]
Version=20090222

[libnds]
Version=1.3.7

[libmirko]
Version=0.9.7

[pnotepad]
Version=2.0.8.718

[insight]
Version=6.8.50-20080425

[ndsexamples]
Version=20090531

[gbaexamples]
Version=20090222

[cubeexamples]
Version=20050509

[pspdoc]
Version=0
[libgbafat]
Version=1.0.4
[maxmodgba]
Version=1.0.6
[libndsfat]
Version=1.0.4
[defaultarm7]
Version=0.5.6
[filesystem]
Version=0.9.2
[dswifi]
Version=0.3.10
[maxmodds]
Version=1.0.6
[libogc]
Version=1.7.1a
[libogcfat]
Version=1.0.4
[gp32examples]
Version=20051021
[wiiexamples]
Version=20090509
[gcube]
Version=0.4.0

#169583 - vuurrobin - Sat Jul 25, 2009 2:01 pm

afaik, there is currently no way to run code in dsi mode, all the dsi cards work on the dsi, but are being run in ds mode.

so the programs should work on the dsi, but they don't have acces to the camera and other dsi specific stuff.

edit1: crossposted with sipstation.

edit2: there aren't any warnings in the code, and the warnings of grit usealy mean nothing, so compiling goes correctly. I also can't see anything wrong with the versions. did you try to run the program in an emulator, like no$gba?

http://nocash.emubase.de/gba.htm

#169584 - GugloPWN - Sat Jul 25, 2009 3:37 pm

I have a DSi and am able to compile and run most everything (in DS mode). I use an Acekard 2i and have had some compatability issues with NitroFS EFS and AmplituDS. Most stuff runs fine.

#169588 - SteveH - Sat Jul 25, 2009 7:46 pm

Any NitroFS compatibility issues comes down to the lack of nitroFS support in most cart manufacturures default launcher. The only garunteed way to use NitroFS at the moment on any cart is to use the homebrew menu, and at the moment the only way to get that is from the SVN for devkitPro.

#172271 - mikedpw0 - Thu Jan 28, 2010 5:28 am

It might be worth noting that there is some DS homebrew that will run fine on a regular DS or DS lite but will not run, or will run with problems on a DSi. Logically it would seem like this should not be the case, but it is.

DSOrganize can't connect to the internet and the touch screen won't function on a DSi. Both work fine on a DS or DSlite.

The sega genesis emulator "jenesisDS" will open but will freeze when trying to open roms on a DSi. Again, works fine on a regular DS/lite.

I don't know if the DSi is the problem in your case or not. All I'm saying is it seems entirely possible.