cu DLDI 非官方简体中文网

官方网站

动态链接烧录卡接口 for libfat

下载

DLDI 补丁

名称 下载 源码 作者 读/写 测试 网站 更新
默认(无烧录卡) DLDI 源码 Chishm -/- - Chishm 2007-01-12
AceKard+ DLDI --- AceKard 读/写 AceKard 2007-01-31
DSLink (microSD) DLDI --- MoonLight 读/写 DSLink 2006-12-30
旧版 源码 Rudolph (ported by Lick) 读/写 失败 2006-12-26
v3 源码 Diddl 读/写 2007-03-02
DS-X DLDI 源码 DS-Xtreme Team 读/写 DS-X 2007-02-12
Ewin2 (SD) DLDI 源码 Moonlight 读/写 Ewin flash 2006-12-29
EZ Flash 4 (SD) DLDI 源码 Rudolph (原版 by EZ Team (aladdin)) 读/写 EZ Flash 2006-12-27
EZ Flash 5 (SD) (见注释) DLDI 源码 Cory1942 读/写 EZ Flash 2007-01-13
G6 Flash (0.15版) DLDI 源码 viruseb 读/写 G6 Flash 2007-01-11
M3 (CF) DLDI 源码 Chishm 读/写 M3 2006-12-25
M3 (SD) DLDI 源码 Chishm 读/写 M3 Adapter 2006-12-25
Alt 源码 agentq 读/写 2007-01-20
Max Media Dock (CF) DLDI 源码 Chishm 读/写 Code Junkies 2007-01-07
GBA Movie Player (CF) DLDI 源码 Chishm 读/写 Movie Advance 2006-12-25
GBA Movie Player (SD) DLDI 源码 Movie Advance 读/- Movie Advance 2006-12-25
NEO Flash MK2 & MK3 (SD) DLDI 源码 NEO Flash Team 读/写 NEO Flash 2006-12-25
NEO Flash MK5 (NAND Flash) DLDI 源码 NEO Flash Team 读/- NEO Flash 2007-02-07
NEO2 (SD) DLDI --- NEO Flash Team 读/写 NEO Flash 2006-12-28
Ninja DS (SD) DLDI 源码 NinjaMod Team 读/写 NinjaDS 2006-12-25
Ninjapass X9 ZIP 网页 CJ Bell 读/- Ninjapass 2006-02-05
R4(DS)
M3 Simply
DLDI 源码 R4DS 读/写 R4 (R4DS) 2006-12-25
SuperCard (CF) DLDI 源码 Chishm 读/写 SuperCard 2006-12-26
SuperCard DS (Slot-1) DLDI 源码 SuperCard Team (ported by Lick) 读/写 SuperCard 2006-12-25
SuperCard (SD) DLDI 源码 Chishm 读/写 SuperCard 2006-12-25
SuperCard Lite (SD) DLDI 源码 brisssou 读/写 SuperCard 2007-01-19

注释

在自制软件模式下,无法从 EZ5 菜单中运行 ROM。游戏码为 "PASS" 除外。Cory1942 编写一款同时修正header及打补丁的软件。官方下载本地下载

补丁工具(dlditool)

名称 下载 更新 版本 作者
源码 CVS 2007-01-28 1.23 Chishm / WinterMute
Win32 下载 2007-02-05 1.23 Chishm
Win32 汉化版 下载 2007-02-05 1.23 yeyezai
Win32 GUI 下载 2007-01-13 1.23 Adam Hodson (bob_fossil) / Maxim
Win32 Right Click 安装包 2007-01-31 0.3 PsychoWood
Linux-x86 下载 2007-01-08 1.10 LiraNuna
MacOS X 下载 2007-01-11 1.10 Björn Giesler
MacOS X DLDI Drop 网页 2007-01-30 1.23 Jan Kampling

用户指南

首先,先在您的烧录卡上测试 ROM 是否能运行。如果能运行,就不需要打补丁。如果不能运行,则需要打补丁。
为 ROM 打补丁需要补丁工具对应的补丁

将补丁及补丁工具解压缩到 ROM 的目录下。
运行 命令提示符 进入当前目录,并输入:

dlditool <name_of_patch> <rom_file>
<name_of_patch> 为补丁(如:"mpcf.dldi") , <rom_file> 为ROM(如:"libfat_tests.nds")。

接着即可看到以下类似的信息:

C:\rom_dir\>dlditool mpcf.dldi libfat_tests.nds
Dynamically Linked Disk Interface patch tool by Michael Chisholm (Chishm)

Old driver:          Default (No interface)
New driver:          GBA Movie Player (CF)

Position in file:    0x000062C0
Position in memory:  0x02000000
Patch base address:  0xBF800000
Relocation offset:   0x428060C0

Patched successfully

为 ROM 打好补丁后,即要将 ROM 复制到存储卡上运行了。

测试指南

以上列出的部分接口未经测试,可能无法使用。如果您想测试这些接口,请先下载DLDI 测试工具
将文件全部解压缩到测试卡的根目录下,按上面的方法给打上补丁。
请您备份好您存储卡上资料,对于测试过程中发生的资料丢失,本人不负任何责任。
理解显示上的提示和观察结果。 请将未测试的烧录卡测试结果,或者将与上述表中不同的测试结果发送给我。

开发指南

Libfat 内置了 DLDI IO_INTERFACE。如果您在您的工程中使用了 libfat,也会包含有 DLDI IO_INTERFACE。

如果您想使用g gba_nds_fat,您可以使用 backported IO_INTERFACE
将 gba_nds_fat 复制到您的源码目录下,并在初始化列表中将 io_dldi 做为首选驱动。

在您的 makefile 中添加补丁步骤即可,请见 用户指南.

烧录卡开发指南

  1. DLDI Template已内置在 DevkitARM r20中,请使用 DevkitPro Updater 获取DLDI Template。
  2. 安装NDS示例做为DevkitARM的一部分。
  3. <path_to_devkitPro>/examples/nds/templates/ 复制dldi文件夹
  4. 然后将 dldi文件夹 重命名为驱动的四字符码。
  5. source/iointerface.c 里替换一个设备专用的函数。
  6. 修改 specs/dldi_crt0.s
    1. 找到 "Name of driver goes here" 并改为适应的烧录卡说明。
    2. 找到 "XXXX" 并改为驱动的四字符码。
    3. 找到 IO_INTERFACE 段, 确认 FEATURE_SLOT_GBAFEATURE_SLOT_NDS 已被定义,定义内容由设备决定。
  7. 在驱动器的最顶层级目录下运行 make
  8. 如果遇到 "overlaps previous sections" 的错误信息,则说明驱动占用空间过大。因为 DLDI补丁 只分配32Kib的空间,因此必须减小驱动的大小。 可以试着减小global arrays的大小,或者由某些烧录卡完成设备固件初始化。
  9. 测试指南 进行测试。
  10. 如果能正常运行,请发布吧!联系我(电邮见首页),并将接口公布于本页。

鸣谢

以下人士直接或间接地协助编写 DLDI 接口:

翻译说明

本说明由 TGB汉化工作室 实验小白鼠(yeyezai)翻译,翻译不当之处,请指正。
感谢以下朋友提供翻译协助: