Wednesday, January 18, 2006

Dragon's Lair on DSEmu 0.4.10

DSLair, a Nintendo DS port of Dragon's Lair, runs on DSEmu 0.4.10, but at about 20 frames per second (60fps is normal).

The other Caimans video code samples also work, again slowly.

Does anyone know of a good up to date resource of Nintendo DS homebrew applications? Something easy to download from and get information as to whether special hardware is needed (supercard, etc)?

Categories: , ,

Tuesday, January 17, 2006

DSEmu 0.4.10 is out!

I've done a new build of DSEmu, the open source Nintendo DS and Gameboy Advance emulator. This version, 0.4.10, has sprite support which increases the number of homebrew demos it can run quite a bit.

I added three new working homebrew as starting examples which demonstrate this. The first is the devkit pro example displaying three rotating sprites. The other two are playable games. The latter are older versions of the games I use for testing.

Also new is support for some 8 bit graphics modes. The console text in DSLinux now displays correctly with this fix. So do a few other homebrews.

A few bug fixes to correct crashes and one ugly workaround for a ARM/Thumb emulation bug that appears when emulating some devkitpro r17 compilde programs. This workaround will hopefully corrected in a future release. The actual bug is the main reason why a number of demo's 'black screen' or crash. If the demo's are recompiled without thumb then they sometimes work.

I fixed things out of order from what I mentioned in my last post mainly because I was already in the graphics mindset I was able to get sprite support up relatively quickly.

I haven't implemented everything the DS can do with sprites or graphics yet but it's slowly getting there.

Categories: , ,

DSEmu bug fixes

I've pushed some patches through to the DSEmu Nintendo DS emulator source code repository to fix some graphics bugs reported here.

The patches fix the following problems:
  • 256 colour mode 5 now works. Previously the bitmaps displayed incorrectly.
  • 16 bit mode 5 now works. This was broken in 0.4.9.
  • A crash when scrolling beyond the bounds of a bitmap in mode 5 has been corrected.
Unfortunately I had to roll back the thumb emulation fix from 0.4.9 as it caused problems with mode5 rendering in some demos. This has the effect of making some other demos crash that use thumb at various points. I'll have this fixed before the release of 0.4.10 in about a week.

I've also started working on getting the other graphics modes and sprites working. Although that is likely to be 0.4.11.

Categories: , ,

Tuesday, January 10, 2006

Python runs on the Nintendo DS

I mentioned previously that there was progress on a Python port on the Nintendo DS.

It looks like the developer has had some success. This post on the gbadev forums announces a working Python 2.4.2 implementation for the Nintendo DS handheld console.

The Nintendo DS Python page outlines how to compile Python with a sample program using it to run a Python console.

Categories: ,

Monday, January 02, 2006

Compiling homebrew demos

I've had emails from people having trouble compiling the demos from my Nintendo DS homebrew tutorials.

The problem is usually not having the GCC compiler in the path and shows the following error when you run 'make'.

This error causes a 'arm-elf-g++: Command not found' to happen:

c:\example\demo1>make
arm-elf-g++ -g -Wall -O2 ...
make: arm-elf-g++: Command not found
make: *** [arm7_main.o] Error 127

For some reason the devkitpro installer does not always add the path to the GCC compiler to the system path. It does add the path for MSYS which is why 'make' works. To fix things ensure that you add the path. If your devkitpro is installed on the C: drive this can be done with the following command from a DOS prompt:
set PATH=c:\devkitpro\msys\bin;c:\devkitpro\devkitarm\bin

Once that is done you can use 'make' to build the files and then use the tool for your Gameboy Advance Flash Cartridge or GBA linker software to copy it to the cartridge. Then follow the WifiMe steps to get things going. This is all covered in tutorial one.

Two new tutorials are coming up. One is a simple 3D example and the other is using wireless from the DS. Keep an eye out for them!

Categories: