TWiLight Menu++ عبارة عن ترقية/استبدال لقائمة DSi مفتوحة المصدر للبطاقات التعليمية Nintendo DSi وNintendo 3DS وNintendo DS. يمكنه تشغيل Nintendo DS(i)، وSNES، وNES، وGameBoy (Color)، وGameBoy Advance، وSega GameGear/Master System، وSG-1000/SC-3000، وMega Drive/Genesis، وAtari 2600/5200/7800/XEGS، وMSX. و Intellivision و Neo Geo Pocket و Sord M5 و PC Engine/TurboGrafx-16 و WonderSwan و ColecoVision ROMs، بالإضافة إلى مكونات DSTWO الإضافية (إذا كنت تستخدم DSTWO).
يتطلب تجميع هذا التطبيق وجود devkitARM وlibnds وgrit وmmutil الخاصين بـ devkitPro. يمكن تثبيتها باستخدام devkitPro pacman باستخدام الأمر التالي:
sudo dkp-pacman -S nds-dev
(ملاحظة: سيختلف الأمر باختلاف نظام التشغيل، وقد لا تكون هناك حاجة إلى sudo وقد يكون مجرد pacman
بدلاً من ذلك.)
يحتوي المستودع على وحدات فرعية، لذلك تحتاج إلى استنساخها بشكل متكرر:
git clone --recursive https://github.com/DS-Homebrew/TWiLightMenu.git
إذا قمت بالاستنساخ دون سحب الوحدات الفرعية، فيمكنك تحديثها بعد ذلك:
git submodule update --init --recursive
بمجرد تثبيت سلاسل أدوات devkitPro، يمكنك إنشاء TWiLight Menu ++ بالكامل عن طريق تشغيل make package
في جذر المستودع. إذا كنت تريد فقط إنشاء جزء معين من TWiLight Menu++، فيمكنك cd
على هذا المجلد وتشغيل make dist
.
بمجرد الانتهاء من البناء، ستكون ملفات الإخراج في المجلد 7zfile
متبعًا نفس بنية الدليل مثل إنشاء TWiLightMenu.7z
الرسمي.
باستخدام صورة Docker المضمنة، يمكنك بسهولة تجميع TWiLight Menu++ دون الحاجة إلى إعداد الإصدار المطلوب من devkitARM يدويًا باستخدام البرامج النصية PowerShell ( .ps1
) المتوفرة.
يقبل البرنامج النصي make
الحجج أيضًا. على سبيل المثال، سيقوم .compile_docker.ps1 clean
بتنظيف الدلائل الخاصة بجميع التعليمات البرمجية المترجمة. إذا كنت ترغب في إنشاء كافة العناصر، قم بتشغيل .compile_docker.ps1 package
.
يرجى ملاحظة أن تجميع Docker غير متوافق مع التجميع الأصلي على Windows. يجب عليك تشغيل .compile_docker.ps1 clean
لتنظيف العناصر قبل محاولة الإنشاء باستخدام Docker. إذا ظهر إشعار يطلب منك مشاركة محرك الأقراص الخاص بك، فيجب عليك اختيار تمكين مشاركة محرك الأقراص حتى يعمل Docker على نظام التشغيل Windows.
يتم تخزين صفحات الدليل في مستودع منفصل ويتم تنزيلها من الإصدار عند إنشاء TWiLight Menu++. لمزيد من المعلومات، راجع مستودع دليل الشفق.
تتكون TWiLight Menu++ من "مشاريع فرعية" متعددة تعمل جميعها معًا لإنشاء بديل قائمة DSi. تحتوي معظم المجلدات الفرعية الموجودة في المستودع على التعليمات البرمجية الخاصة بها والتي ستجمع ملف xxx.nds
، والذي يتم نسخه عمومًا إلى /_nds/TWiLightMenu/xxx.srldr
داخل ملف 7z
(أو مجلد 7zfile
).
3dssplash : يفتح ملفات 3ds و cia (؟)
تم التجميع إلى /_nds/TWiLightMenu/3dssplash.srldr
booter : نقطة الدخول الرئيسية، وهو الملف الأول الذي يتم تحميله بواسطة وحدة التحكم في حالة استخدام بطاقة SD أو CFW
ينشئ /BOOT.nds
و /title/00030004/53524c41/content/00000000.app
(نفس الملف).
booter_fc : نقطة الدخول الرئيسية للبطاقات التعليمية
إنشاء _DS_MENU.dat
و dsedgei.dat
و akmenu4.nds
و _DSMENU.nds
و SCFW.SC
وغيرها.
com.gbapatcher
imageview : عارض صور مشابه لكاميرا DSi (gif، png، bmp)
/_nds/TWiLightMenu/imageview.srldr
دليل : دليل التعليمات لقائمة TWiLight ++
يقوم بإنشاء /_nds/TWiLightMenu/manual.srldr
القائمة السريعة : قائمة DS Lite، واجهة المستخدم الكلاسيكية القديمة
يقوم بإنشاء /_nds/TWiLightMenu/mainmenu.srldr
الموارد : يدمج تصحيحات مكافحة القرصنة والشاشة العريضة في ملف حزمة
/_nds/TWiLightMenu/extras/apfix.pck
و /_nds/TWiLightMenu/extras/widescreen.pck
romsel_aktheme : قائمة لموضوع Wood UI
يقوم بإنشاء /_nds/TWiLightMenu/akmenu.srldr
romsel_dsimenutheme : قائمة لموضوع DSi الذي تستخدمه "Nintendo DSi" و"Nintendo 3DS" و"SEGA Saturn" و"Homebrew Launcher"
يقوم بإنشاء /_nds/TWiLightMenu/dsimenu.srldr
romsel_r4theme : قائمة لموضوع R4 الذي يستخدمه "R4 Original" و"Gameboy Color"
يقوم بإنشاء /_nds/TWiLightMenu/r4menu.srldr
الإعدادات : قائمة الإعدادات
يقوم بإنشاء /_nds/TWiLightMenu/settings.srldr
فتحة1لاونش :
يقوم بإنشاء /_nds/TWiLightMenu/slot1launch.srldr
العنوان : شاشة البداية للتمهيد (شعار نينتندو افتراضيًا)
يقوم بإنشاء /_nds/TWiLightMenu/main.srldr
يمكنك المساعدة في ترجمة TWiLight Menu++ في مشروع Crowdin. إذا كنت ترغب في طلب إضافة لغة جديدة، فيرجى السؤال على خادم Discord.
روكيت روبز: المطور الرئيسي
chyyran: نقل واجهة المستخدم akMenu/Wood إلى TWiLight Menu++ وإضافة القدرة على تحميل السمات الفرعية من بطاقة SD لموضوعات DSi/3DS
Pk11: إضافة القدرة على تحميل الأسطح من بطاقة SD لموضوع R4، والفرز المطبق وجعل الأدلة تستخدم PNG، وتحسين عرض الخطوط، وتوفير خلفية مخصصة لـ Unlaunch، وإدارة الترجمات، وإصلاحات الأخطاء المتنوعة
DieGo: إضافة دعم لأيقونات ROM/المجلدات المخصصة وتحسينات للجلود المخصصة
lifehackerhansol: تحسين الدعم للتشغيل التلقائي للبطاقات التعليمية وتحميل kernel، وشوكة libnds32 لدعم برنامج تشغيل DLDI بسعة 32 كيلو بايت
NightScript: تنظيف التعليمات البرمجية، وتحديد معايير التعليمات البرمجية، وإضافة وظائف البطاقات التعليمية لموضوع Wood UI، والصفحات اليدوية
ahezard وshutterbug2000 وRocket Robz: nds-bootstrap (يستخدم لتشغيل أقراص Nintendo DS(i) ROM من بطاقة SD)
Alekmaul: AmeDS (يستخدم لإطلاق ROM Amstrad CPC)
Alekmaul وwavemotion: StellaDS، وA5200DS، وA7800DS، وA8DS (يستخدم لإطلاق ROMs Atari 2600/5200/7800/XEGS)، وColecoDS (يستخدم لإطلاق ROMs ColecoVision، وMSX، وSord M5، وSega SG-1000/SC-3000)
الأرشيف: SNEmulDS (يستخدم لتشغيل SNES ROM)
كوتو: إحياء SNEmulDS
chishm: tuna-viDS (يستخدم لتشغيل مقاطع فيديو Xvid)
Drenn: GameYob (يستخدم لتشغيل أقراص Gameboy ROM)
FluBBaOfWard: S8DS (يستخدم لإطلاق Sega Master System وGame Gear وSG-1000/SG-3000 وColecoVision ROMs)، NitroGrafx (يستخدم لإطلاق PC Engine/TurboGrafx-16 ROMs)، NitroSwan (يستخدم لإطلاق ROM WonderSwan)، و NGPDS (المستخدم لإطلاق أقراص Neo Geo Pocket ROM)
FluBBaOfWard، وCoto، وLoopy: nesDS (يستخدم لتشغيل NES ROMs)
Apache Thunder: إصدار TWL من nesDS
Gericom: FastVideoDSPlayer (يستخدم لتشغيل مقاطع فيديو FastVideoDS) وGBARunner2 (يستخدم لتشغيل GameBoy Advance ROMs خارج وضع GBA الخاص بـ DS Phat/Lite)
Realteamplayer: تم دمج إصدارات Hicode+DSP من GBARunner2 المضمنة في DSi/3DS
رمز لم يتم حله: تم تضمين إصدارات rom3M+master "DSL-Enhanced" من GBARunner2 للعب Pokémon: Emerald Version على البطاقات التعليمية
Lordus: jEnesisDS (يستخدم لإطلاق Sega Mega Drive/Genesis ROMs)
xonn83: إصدار GBMacro من jEnesisDS
redbug26: CrocoDS (يستخدم لتشغيل ROM Amstrad CPC)
Ryan FB وRocket Robz وxonn83: PicoDriveTWL (يستخدم لإطلاق أقراص Sega Mega Drive/Genesis ROM الكبيرة)
wavemotion: Nintellivision/NINTV-DS (يستخدم لإطلاق أقراص Intellivision ROM)
الواقع الغائب: أيقونة الذكاء
davi: موضوع Border for GBC (في الأصل لـ GameYob)
Fail0verflow وFluto وArkhandar: رسومات قناة Homebrew/Launcher
FlameKat53: رمز يدوي لقائمة SELECT
الخاصة بموضوع DSi
السيد ستارت: شاشة البداية Super Nintendo DS
PW5190: شاشة البداية TWLMenu++ ذات سمة Kirby
الحبل الشوكي: رسومات DSi4DS وDsision2
StarvingArtist: أيقونات وحدة التحكم في الألعاب
BlastoiseVeteran: نسخة مُعاد تصميمها من متجر موسيقى Nintendo DSi
IkaMusumeYiyaRoxie: General N64 MIDI Soundfont، يُستخدم لضجة العنوان في الإصدارات القديمة
dbry: كود فك ترميز IMA-ADPCM عالي الجودة من adpcm-xq.
Firexploit: أصوات 3DS UI لموضوع 3DS، والتي يستخدم بعضها أيضًا في موضوع DSi.
ahezard: رمز NDMA من nds-bootstrap
عالم آخر وعفريت الخشب الأصفر: واجهة المستخدم الأصلية لـ akMenu/Wood
Arisotura: قائمة ROM من melonDS، ورمز تفريغ BIOS من dsibiosdumper
Dartz150: تم توفير الإصلاح لألعاب Iridion II و Top Gun: Combat Zones GBA
devkitPro: الكود المستخدم في قائمة nds-hb، واستخدام أداة تحميل التشغيل وdevkitARM وlibnds وlibfat
edo9300: رمز التحقق من DS Phat
Gericom وTrolleyDave وFAST6191: رمز تصحيح GBA SRAM، المستخدم في gbapatcher (خيط تصحيح SRAM في GBAtemp)
Gericom & profi200: كود تصحيح الألوان GBA، المستخدم في GBARunner3
Nikokaro: تم العثور على تصحيحات غير قابلة للإمالة لـ WarioWare: Twisted! و يوشي توبسي تورفي . (موضوع GBAtemp)
profi200: كود SD محسّن من fastboot3DS
RadDude McCoolguy، fintogive، KazoWAR، Vague Rant، gamemasterplc، Rocket Robz، ChampionLeake، DeadSkullzJr، Spellboundtriangle، LedyBacer: غش على الشاشة العريضة
retrogamefan & Rudolph: تم تضمين تصحيحات AP لـ nds-bootstrap
enler: إصلاح تصحيح AP لـ Pokemon Black 2 (اليابان) للتوافق مع وضع DS⁽ⁱ⁾
Rocket Robz: إصلاح بعض تصحيحات AP للعبة DS⁽ⁱ⁾ المحسنة للتوافق مع وضع DS⁽ⁱ⁾
SNBeast: إطلاق التصحيحات
Taiju Yamada: الكود المستخدم لتجاوز حماية ملف التمهيد R4i-SDHC
العربية: كين براون، SLG3
البلغارية: Peter0x44، تيسكو
الكاتالونية:
الصينية المبسطة: cai_miao، Chris، Forbidden، James-Makoto، R-YaTian، Yukino Song، 曾国立، 天天地地人人، 百地 希留耶
الصينية التقليدية: cai_miao، ccccchoho، جيمس ماكوتو، رينتيم، 奇诺比奥
التشيكية: Štěpán Dolský
الدنماركية: جوناتا، مايكل ميليت، نادية بيدرسن
الهولندية: آرثر، guusbuk، Mikosu، Minionguyjpro، Xtremegamer007
الفرنسية: Arcky، cooolgamer، Dhalian، Maximesharp، Ghost0159، Léo، LinuxCat، Martinez، NightScript، SLG3، SombrAbsol، TM-47، Yolopix
الألمانية: ariebe9115، Blurry Knight، Christian Schuhmann، Dubsenbert Reaches، Fırat Tay، hehe، ILke Hür Eyiol، Julian، Kazuto، Malekairmaroc7، Michael Brey، Oleh Hatsenko، SkillLP، SuperSaiyajinStackZ، Tcm0، TheDude، TM-47، Uriki
اليونانية: Anestis1403
العبرية: باراور، يانيف ليفين
المجرية: فيكتور فارغا، ハトヴィング -- ハット
الإندونيسية: أجنحة سيروز، فريد إيروان، هيدوتدوت، شيوري
الإيطالي: أليساندرو تافوليري، ليوناردو ليدا، ماتيا، TM-47، فينديكاتوريالاتو، زافيميل
اليابانية: Chromaryu، inucat، Pk11، kuragehime، rinrinrin2002، Rintim، Ronny Chan، Uriki
الكورية: DDinghoya، lifehackerhansol، أنا لا أبكي، Myebyeol_NOTE، Oleh Hatsenko، 그그기그
النرويجية: الكتلة الملغاة
البولندية: Avginike، gierkowiec tv، Kipi000، Konrad Borowski، MaksCROWDIN0، Mateusz Tobiasz، Michał Słonina، RedstonekPL، TheCasachii
البرتغالية (البرازيل): سيزار ميمير، جيف سوزا، themasterf، فيكتور كورونادو
البرتغالية (البرتغال): برويفن، كريستوفر رودريغز، غابز ألميدا، جيم، جويرف، ليتيكا 1234، رودريغو تافاريس، تياغو سيلفا، ودسون دي أندرادي، ودسون دي أندرادي، زاك
الرومانية: تيسكو
الروسية: أليكسي بارسوكوف، Ckau، manwithnoface، mbhz، MMR Marler، Nikita، Молодая Кукунуза
ريوكيوان: كوراجيهيمي
الإسبانية: Adrin Ramen، Adrian Rodriguez، Allinxter، beta215، ccccmark، dimateos، Kaede159، KplyAsteroid، mschifino، Nicolás Herrera Concha، Nintendo R، nuxa17، Radriant، SofyUchiha، TM-47، Uriki، XxPhoenix1996xX
السويدية: ماكس هامبرايوس، Nullified Block، TM-47، فيكتور أهلين، والتر ليندل
التركية: Alp، Egehan.TWL، Emir، GlideGuy06، Grandmaquil، imbeegboi22، ILke Hür Eyiol، rewix32، rewold20، Yağmur Celep
الأوكرانية: Oleh Hatsenko، Mykola Pukhalskyi، TM-47، вухаста гитара
بلنسية: تسولو
الفيتنامية: Chử Tiến Bình، daicahuyoi Đỗ Minh Hiếu، hotungkhanh، Trương Hồng Sơn