Homebrew


Pengembangan #

Homebrew Nintendo DS biasanya dikembangkan dengan alat devkitPro; seperti devkitARM, libnds, dan libfat. Namun, boleh juga merambah ke peranti lunak lain sebagai alternatif:

  • Pustaka kartu SD: libfat yang ada di libnds umumnya dianjurkan, sementara libslim bisa lebih baik tapi terkadang tidak stabil
  • Pustaka grafis: easyGL2D yang ada di libnds dianjurkan, tapi NightFox Lib juga bisa digunakan
  • Seluruh rantai alat: devkitARM dan libnds dianjurkan karena berkompatibilitas DSi dan berekosistem lebih besar, sedangkan ToolchainGenericDS untuk pengembangan khusus flashcard

Bagi pemula, baca utas GBAtemp ini yang berisi banyak sumber daya bagus. Untuk informasi DS(i) lebih teknis, lihat GBATEK.

Flashcard #

Flashcard mode DS adalah cara menjalankan aplikasi Nintendo DS dari Slot-1. Flashcard bisa menyimpan berkas konsol dan berkas portabel secara terpisah, bisa digunakan tanpa perlu memodif konsol, dan bisa digunakan di konsol DS Phat/Lite. Tapi, tidak seperti memodif konsol langsung, harus pintar memilih flashcard di pasaran dengan kernel berbeda-beda. Ketahui dan cadangkan juga kernel yang digunakan.

DLDI #

Slot kartu SD lain (sering kali) punya papan fisik berbeda, dan kode untuk suatu flashcard belum tentu bisa di flashcard lain. DLDI (singkatan dari Dynamically Linked Device Interface) akan mengatasinya dengan menambal kode handling kartu SD dari cara luar. Loader (pemuat) seperti YSMenu, Wood R4, dan TWiLight Menu++ bisa otomatis menambal DLDI ke homebrew, tapi jika ingin menambal sendiri, gunakan DLDI Patcher di komputer.

Time bomb #

Di kernel flashcard tertentu, ada beragam tenggat kedaluwarsa (dikenal sebagai time bomb) oleh para pengembang kernel agar konsumen membeli produk baru mereka. Berikut cara kerjanya:

  1. Flashcard diluncurkan lalu berkas kernel di kartu SD akan dimuat tanpa memeriksa itu kernel dari pengembang apa bukan
  2. Setiap kali berkas kernel dimuat dari kartu SD, tanggal sistem akan diperiksa apakah lewat tenggat

Jika cara kedua hasilnya positif, kernel tidak akan dimuat. Ini bisa diuji dengan memajukan tanggal sistem ke paling ujung. Namun, keamanannya lemah dan hasilnya tidak di-cache, berarti ada cara lain menyiasatinya:

Jika ingin menggunakan kernel bawaan yang dibuat produsen flashcard, jam sistem harus dimundurkan di aplikasi System Settings konsol. Perlu diingat, ini bisa mengacau permainan apa pun yang bergantung jam sistem (seperti Animal Crossing: Wild World).

Namun, kernel yang disertakan dengan flashcard ini memang kurang bagus dan lebih baik langsung diganti. Untungnya, pengembang pihak ke-3 telah membuat alternatif berikut:

  • YSmenu - menu + pemuat permainan - Walaupun tidak ada keunggulan menu semua-satu ubah suai, kompatibilitas pemuat permainan ini lebih bagus dan mendukung cheat action-replay
  • TWiLight Menu++ dengan nds-bootstrap - Menu semua-satu ubah suai ini mendukung cheat, tapi mode B4DS (mode saat tidak ada akses ke fitur DSi) berkompatibilitas lemah, beberapa permainan bahkan perlu Memory Expansion Pak
  • TWiLight Menu++ dengan YSmenu - Menu semua-satu ubah suai ini berkompatibilitas tinggi, tapi tidak mendukung cheat

Dukungan ARGV #

ARGV adalah pemancar informasi antara dua aplikasi homebrew Nintendo DS. Bisa digunakan sebagai forwarder atau menu alternatif.

  • Homebrew perlu ditata olah atau diprogram untuk memanfaatkannya. Contoh: GBARunner2, NesDS, dan GameYob sudah ada dukungan ARGV
  • Lalu, perlu ada cara untuk mengatur peubah ARGV. TWiLight Menu++ dan HBMenu mampu mengatur argument ARGV