for debugging the ds: print() is your friend,
i have the hope to improve this situation once wifi is working.
also as you've got one .nds (r98) which works and another .nds (r136)
which doesn't maybe you could use the method of bisection,
to track down exactly which exact revision between ]98,136[ introduced
changes [1]
which made the .nds file stop working on you homebrew cartridge.
About the cartridges we have used are: r4ds and dstt.
using an emulator can speed up development a bit;
as you can quickly check your changes/modifications, without reseting the ds.
The wiki [2] contains some information about the development,
technical background, ideas and the DSContrib lists some of the
emulators available.
hth
[1] http://code.google.com/p/inferno-ds/source/list
[2] http://code.google.com/p/inferno-ds/w/list
--
salva
Having never run Inferno natively, I'm not familiar with its support
of local file systems, but it appears my load problem(s) are related
to this. I suspect once I figure out how to append a local file system
to the generated NDS image, I'll be up and running.
Regards.
--
Mark F Rodriguez
a few things about desmume:
- undefined instructions:
desmume doesn't implement correctly 'undefined exceptions',
this means that when it encounters a floating point instruction [0],
it won't generate a undefined instruction exception that we can trap
and emulate.
anyway you can still run the nds files, pausing & resuming the emulation twice.
you can also take a look at [1] which is a personal change i made to
fix desmume's behaviour.
- accessing nds rom (0x08000000) see devnds.c/^ndsinit()
i had the misconception that it was possible to access data appended
to the end of the .nds file,
this is only true for some specific slot2 homebrew devices [2].
This will work under desmume as it emulates those slot2 devices
but won't work on the most common slot1 devices (r4ds, dstt).
The proper way to access storage seems to be using the Chishm dldi interface
there's devdldi.c (work in progress) which provides i/o functions to
access to storage,
the functions are device dependent provided by the nds loader
by means of auto-patching (watch out!) the .nds file.
It would be also worth to take a look at the DSContrib wiki,
which now contains a section about reporting bugs.
[0] http://groups.google.com/group/inferno-ds/browse_thread/thread/2053198167d994aa
[1] http://inferno-ds.googlecode.com/files/desmume-undf.patch
[2] http://www.double.co.nz/nintendo_ds/nds_develop6.html
--
salva