DSVideo is using the ARM7 processor in the NDS for all file operations. This is slightly different from most other homebrew, which uses the ARM9, and it means that standard DLDI patches may not work. In order to create a working patch, the build process for DLDI needs to be modified.
Download the DLDI source for your card from Chishm’s DLDI page, and open the Makefile in the root directory of the source code in a text editor. The contents should look like the section below, and the lines that need changes have been highlighted.
#---------------------------------------------------------------------------------
# options for code generation
#---------------------------------------------------------------------------------
ARCH := -mthumb-interwork
CFLAGS := -g -Wall -O2\
-mcpu=arm7tdmi -mtune=arm7tdmi -fomit-frame-pointer\
-ffast-math \
$(ARCH)
CFLAGS += $(INCLUDE) -DARM9 -fPIC
CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions
ASFLAGS := -g $(ARCH)
LDFLAGS = -specs=$(CURDIR)/../$(SPECS)/dldi.specs -T $(CURDIR)/../$(SPECS)/dldi.ld -g $(ARCH) -mno-fpu -Wl,-Map,$(TARGET).map
LIBS := -lnds9
The highlighted lines should be changed to read:
CFLAGS += $(INCLUDE) -DARM7 -fPIC
... and …
LIBS := -lnds7
Once changed, compile as normal, and the patch is now compatible with DSVideo. The downloads page has been updated with ARM7 DLDI patches for popular cards, such as the Supercard DS, M3CF and M3SD. If you come across a card which doesn’t work, please post to the DSVideo DLDI forum topic.

Comments are closed